observe-whatsapp — independently scanned and version-tracked by SaferSkills.
SaferSkills independently audited observe-whatsapp (Agent Skill) and scored it 100/100 (green). The audit ran 55 deterministic rules across Security, Supply Chain, Maintenance, Transparency, and Community; it found 0 high-severity and 0 lower-severity findings. The full rule-by-rule trace and per-finding evidence are below. Free, methodology-open.
Findings & checks · 0 flagged
Every scanned point with the score it earned and what moved between them.
First recorded scan — no prior version to compare against.
The primary manifest — the file an agent reads to learn what this artifact does.
Use this skill for operational diagnostics: message delivery investigation, webhook delivery debugging, error triage, and WhatsApp health checks.
Preferred path:
kapso login)kapso status to confirm project access and available WhatsApp numbersFallback path: Env vars:
KAPSO_API_BASE_URL (host only, no /platform/v1)KAPSO_API_KEYPreferred path:
kapso whatsapp numbers resolve --phone-number "<display-number>" --output jsonkapso whatsapp messages list --phone-number "<display-number>" --limit 50 --output jsonkapso whatsapp messages get <message-id> --phone-number-id <id> --output jsonkapso whatsapp conversations list --phone-number "<display-number>" --output jsonFallback path:
node scripts/messages.js --phone-number-id <id>node scripts/message-details.js --message-id <id>node scripts/lookup-conversation.js --phone-number <e164>Preferred path:
kapso statuskapso whatsapp numbers health --phone-number "<display-number>" --output humankapso whatsapp templates list --phone-number "<display-number>" --output jsonFallback path:
node scripts/errors.jsnode scripts/api-logs.jsnode scripts/webhook-deliveries.jsPreferred path:
kapso statuskapso whatsapp numbers health --phone-number "<display-number>" --output humanFallback path:
node scripts/overview.jsnode scripts/whatsapp-health.js --phone-number-id <id>| Script | Purpose |
|---|---|
messages.js | List messages |
message-details.js | Get message details |
lookup-conversation.js | Find conversation by phone or ID |
| Script | Purpose |
|---|---|
errors.js | List message errors |
api-logs.js | List external API logs |
webhook-deliveries.js | List webhook delivery attempts |
| Script | Purpose |
|---|---|
overview.js | Project overview |
whatsapp-health.js | Phone number health check |
| Script | Purpose |
|---|---|
openapi-explore.mjs | Explore OpenAPI (search/op/schema/where) |
Install deps (once):
npm iExamples:
node scripts/openapi-explore.mjs --spec platform search "webhook deliveries"
node scripts/openapi-explore.mjs --spec platform op listWebhookDeliveries
node scripts/openapi-explore.mjs --spec platform schema WebhookDeliveryintegrate-whatsapp.phone_number_id before deep debugging.integrate-whatsapp - Onboarding, webhooks, messaging, templates, flowsautomate-whatsapp - Workflows, agents, and automations<!-- FILEMAP:BEGIN -->
[observe-whatsapp file map]|root: .
|.:{package.json,SKILL.md}
|assets:{health-example.json,message-debugging-example.json,triage-example.json}
|references:{health-reference.md,message-debugging-reference.md,triage-reference.md}
|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}
|scripts/lib/messages:{args.js,kapso-api.js}
|scripts/lib/status:{args.js,kapso-api.js}
|scripts/lib/triage:{args.js,kapso-api.js}<!-- FILEMAP:END -->
~30 seconds. Free. No account. Every finding cites a rule and a line of evidence.