{"id":"658fb730-8a0a-434e-a266-9d90fcd8f4ad","shortId":"4FkckC","kind":"skill","title":"Observe Whatsapp","tagline":"Agent Skills skill by Gokapso","description":"# Observe WhatsApp\n\n## When to use\n\nUse this skill for operational diagnostics: message delivery investigation, webhook delivery debugging, error triage, and WhatsApp health checks.\n\n## Setup\n\nPreferred path:\n- Kapso CLI installed and authenticated (`kapso login`)\n- Start with `kapso status` to confirm project access and available WhatsApp numbers\n\nFallback path:\nEnv vars:\n- `KAPSO_API_BASE_URL` (host only, no `/platform/v1`)\n- `KAPSO_API_KEY`\n\n## How to\n\n### Investigate message delivery\n\nPreferred path:\n1. Resolve the number: `kapso whatsapp numbers resolve --phone-number \"<display-number>\" --output json`\n2. List recent messages: `kapso whatsapp messages list --phone-number \"<display-number>\" --limit 50 --output json`\n3. Inspect a specific message: `kapso whatsapp messages get <message-id> --phone-number-id <id> --output json`\n4. Inspect the conversation: `kapso whatsapp conversations list --phone-number \"<display-number>\" --output json`\n\nFallback path:\n1. List messages: `node scripts/messages.js --phone-number-id <id>`\n2. Inspect message: `node scripts/message-details.js --message-id <id>`\n3. Find conversation: `node scripts/lookup-conversation.js --phone-number <e164>`\n\n### Triage errors\n\nPreferred path:\n1. Confirm project and number state: `kapso status`\n2. Run number health: `kapso whatsapp numbers health --phone-number \"<display-number>\" --output human`\n3. Inspect related templates when relevant: `kapso whatsapp templates list --phone-number \"<display-number>\" --output json`\n\nFallback path:\n1. Message errors: `node scripts/errors.js`\n2. API logs: `node scripts/api-logs.js`\n3. Webhook deliveries: `node scripts/webhook-deliveries.js`\n\n### Run health checks\n\nPreferred path:\n1. Project overview: `kapso status`\n2. Phone number health: `kapso whatsapp numbers health --phone-number \"<display-number>\" --output human`\n\nFallback path:\n1. Project overview: `node scripts/overview.js`\n2. Phone number health: `node scripts/whatsapp-health.js --phone-number-id <id>`\n\n## Scripts\n\n### Messages\n\n| Script | Purpose |\n|--------|---------|\n| `messages.js` | List messages |\n| `message-details.js` | Get message details |\n| `lookup-conversation.js` | Find conversation by phone or ID |\n\n### Errors and logs\n\n| Script | Purpose |\n|--------|---------|\n| `errors.js` | List message errors |\n| `api-logs.js` | List external API logs |\n| `webhook-deliveries.js` | List webhook delivery attempts |\n\n### Health\n\n| Script | Purpose |\n|--------|---------|\n| `overview.js` | Project overview |\n| `whatsapp-health.js` | Phone number health check |\n\n### OpenAPI\n\n| Script | Purpose |\n|--------|---------|\n| `openapi-explore.mjs` | Explore OpenAPI (search/op/schema/where) |\n\nInstall deps (once):\n```bash\nnpm i\n```\n\nExamples:\n```bash\nnode scripts/openapi-explore.mjs --spec platform search \"webhook deliveries\"\nnode scripts/openapi-explore.mjs --spec platform op listWebhookDeliveries\nnode scripts/openapi-explore.mjs --spec platform schema WebhookDelivery\n```\n\n## Notes\n\n- For webhook setup (create/update/delete, signature verification, event types), use `integrate-whatsapp`.\n- Prefer resolving a display phone number to the canonical `phone_number_id` before deep debugging.\n- Keep the scripts as the fallback path when the CLI is unavailable or when you need API-log or webhook-delivery inspection.\n\n## References\n\n- [references/message-debugging-reference.md](references/message-debugging-reference.md) - Message debugging guide\n- [references/triage-reference.md](references/triage-reference.md) - Error triage guide\n- [references/health-reference.md](references/health-reference.md) - Health check guide\n\n## Related skills\n\n- `integrate-whatsapp` - Onboarding, webhooks, messaging, templates, flows\n- `automate-whatsapp` - Workflows, agents, and automations\n\n<!-- FILEMAP:BEGIN -->\n```text\n[observe-whatsapp file map]|root: .\n|.:{package.json,SKILL.md}\n|assets:{health-example.json,message-debugging-example.json,triage-example.json}\n|references:{health-reference.md,message-debugging-reference.md,triage-reference.md}\n|scripts:{api-logs.js,errors.js,lookup-conversation.js,message-details.js,messages.js,openapi-explore.mjs,overview.js,webhook-deliveries.js,whatsapp-health.js}\n|scripts/lib/messages:{args.js,kapso-api.js}\n|scripts/lib/status:{args.js,kapso-api.js}\n|scripts/lib/triage:{args.js,kapso-api.js}\n```\n<!-- FILEMAP:END -->","tags":["observe","whatsapp","agent","skills","gokapso"],"capabilities":["skill","source-gokapso","category-agent-skills"],"categories":["agent-skills"],"synonyms":[],"warnings":[],"endpointUrl":"https://skills.sh/gokapso/agent-skills/observe-whatsapp","protocol":"skill","transport":"skills-sh","auth":{"type":"none","details":{"install_from":"skills.sh"}},"qualityScore":"0.300","qualityRationale":"deterministic score 0.30 from registry signals: · indexed on skills.sh · published under gokapso/agent-skills","verified":false,"liveness":"unknown","lastLivenessCheck":null,"agentReviews":{"count":0,"score_avg":null,"cost_usd_avg":null,"success_rate":null,"latency_p50_ms":null,"narrative_summary":null,"summary_updated_at":null},"enrichmentModel":"deterministic:skill:v1","enrichmentVersion":1,"enrichedAt":"2026-04-22T08:40:30.357Z","embedding":null,"createdAt":"2026-04-18T20:36:20.720Z","updatedAt":"2026-04-22T08:40:30.357Z","lastSeenAt":"2026-04-22T08:40:30.357Z","tsv":"'/platform/v1':64 '1':75,133,162,200,220,240 '2':88,142,170,205,225,245 '3':103,150,183,210 '4':118 '50':100 'access':48 'agent':3,419 'api':58,66,206,285,382 'api-log':381 'api-logs.js':282,440 'args.js':450,453,456 'asset':431 'attempt':291 'authent':38 'autom':416,421 'automate-whatsapp':415 'avail':50 'base':59 'bash':313,317 'canon':358 'category-agent-skills' 'check':30,217,302,403 'cli':35,374 'confirm':46,163 'convers':121,124,152,268 'create/update/delete':341 'debug':24,364,393 'deep':363 'deliveri':20,23,72,212,290,324,387 'dep':311 'detail':265 'diagnost':18 'display':353 'env':55 'error':25,159,202,273,281,397 'errors.js':278,441 'event':344 'exampl':316 'explor':307 'extern':284 'fallback':53,131,198,238,370 'file':426 'find':151,267 'flow':414 'get':111,263 'gokapso':7 'guid':394,399,404 'health':29,173,177,216,228,232,248,292,301,402 'health-example.json':432 'health-reference.md':436 'host':61 'human':182,237 'id':115,141,149,254,272,361 'inspect':104,119,143,184,388 'instal':36,310 'integr':348,408 'integrate-whatsapp':347,407 'investig':21,70 'json':87,102,117,130,197 'kapso':34,39,43,57,65,79,92,108,122,168,174,189,223,229 'kapso-api.js':451,454,457 'keep':365 'key':67 'limit':99 'list':89,95,125,134,192,260,279,283,288 'listwebhookdeliveri':330 'log':207,275,286,383 'login':40 'lookup-conversation.js':266,442 'map':427 'messag':19,71,91,94,107,110,135,144,148,201,256,261,264,280,392,412 'message-debugging-example.json':433 'message-debugging-reference.md':437 'message-details.js':262,443 'message-id':147 'messages.js':259,444 'need':380 'node':136,145,153,203,208,213,243,249,318,325,331 'note':337 'npm':314 'number':52,78,81,85,98,114,128,140,157,166,172,176,180,195,227,231,235,247,253,300,355,360 'observ':1,8,424 'observe-whatsapp':423 'onboard':410 'op':329 'openapi':303,308 'openapi-explore.mjs':306,445 'oper':17 'output':86,101,116,129,181,196,236 'overview':222,242,297 'overview.js':295,446 'package.json':429 'path':33,54,74,132,161,199,219,239,371 'phone':84,97,113,127,139,156,179,194,226,234,246,252,270,299,354,359 'phone-numb':83,96,126,155,178,193,233 'phone-number-id':112,138,251 'platform':321,328,334 'prefer':32,73,160,218,350 'project':47,164,221,241,296 'purpos':258,277,294,305 'recent':90 'refer':389,435 'references/health-reference.md':400,401 'references/message-debugging-reference.md':390,391 'references/triage-reference.md':395,396 'relat':185,405 'relev':188 'resolv':76,82,351 'root':428 'run':171,215 'schema':335 'script':255,257,276,293,304,367,439 'scripts/api-logs.js':209 'scripts/errors.js':204 'scripts/lib/messages':449 'scripts/lib/status':452 'scripts/lib/triage':455 'scripts/lookup-conversation.js':154 'scripts/message-details.js':146 'scripts/messages.js':137 'scripts/openapi-explore.mjs':319,326,332 'scripts/overview.js':244 'scripts/webhook-deliveries.js':214 'scripts/whatsapp-health.js':250 'search':322 'search/op/schema/where':309 'setup':31,340 'signatur':342 'skill':4,5,15,406 'skill.md':430 'source-gokapso' 'spec':320,327,333 'specif':106 'start':41 'state':167 'status':44,169,224 'templat':186,191,413 'text':422 'triag':26,158,398 'triage-example.json':434 'triage-reference.md':438 'type':345 'unavail':376 'url':60 'use':12,13,346 'var':56 'verif':343 'webhook':22,211,289,323,339,386,411 'webhook-deliveri':385 'webhook-deliveries.js':287,447 'webhookdeliveri':336 'whatsapp':2,9,28,51,80,93,109,123,175,190,230,349,409,417,425 'whatsapp-health.js':298,448 'workflow':418","prices":[{"id":"dcf87403-f18c-4168-9612-6102510b183a","listingId":"658fb730-8a0a-434e-a266-9d90fcd8f4ad","amountUsd":"0","unit":"free","nativeCurrency":null,"nativeAmount":null,"chain":null,"payTo":null,"paymentMethod":"skill-free","isPrimary":true,"details":{"org":"gokapso","category":"agent-skills","install_from":"skills.sh"},"createdAt":"2026-04-18T20:36:20.720Z"}],"sources":[{"listingId":"658fb730-8a0a-434e-a266-9d90fcd8f4ad","source":"github","sourceId":"gokapso/agent-skills/observe-whatsapp","sourceUrl":"https://github.com/gokapso/agent-skills/tree/master/skills/observe-whatsapp","isPrimary":false,"firstSeenAt":"2026-04-18T22:11:59.957Z","lastSeenAt":"2026-04-22T06:55:28.021Z"},{"listingId":"658fb730-8a0a-434e-a266-9d90fcd8f4ad","source":"skills_sh","sourceId":"gokapso/agent-skills/observe-whatsapp","sourceUrl":"https://skills.sh/gokapso/agent-skills/observe-whatsapp","isPrimary":true,"firstSeenAt":"2026-04-18T20:36:20.720Z","lastSeenAt":"2026-04-22T08:40:30.357Z"}],"details":{"listingId":"658fb730-8a0a-434e-a266-9d90fcd8f4ad","quickStartSnippet":null,"exampleRequest":null,"exampleResponse":null,"schema":null,"openapiUrl":null,"agentsTxtUrl":null,"citations":[],"useCases":[],"bestFor":[],"notFor":[],"kindDetails":{"org":"gokapso","slug":"observe-whatsapp","source":"skills_sh","category":"agent-skills","skills_sh_url":"https://skills.sh/gokapso/agent-skills/observe-whatsapp"},"updatedAt":"2026-04-22T08:40:30.357Z"}}