whatsapp-triage

whatsapp-triage is a skill for Claude Code from philipyaz/cos. It costs 144 tokens per session (16,928 once invoked), scanned A, original, MIT.

A reconciliation skill that reads recent WhatsApp conversations and updates a case board. WhatsApp is a messaging service; a case board is a workspace for tracking matters, tasks, labels, and appointments.

In plain words
What is it for?
Use it to connect messages to cases, update tasks and case stages, apply labels, record confirmed appointments, and save useful facts in the knowledge vault.
Why use it?
It brings inbound and sent messages from direct and group chats into the matching case, while avoiding duplicate cases. It does not send or draft WhatsApp messages.

Skill for Claude Code

Written for Claude Code: installed under .claude/.

Good fit Use it to connect messages to cases, update tasks and case stages, apply labels, record confirmed appointments, and save useful facts in the knowledge vault.

Compare 6 skills from other repositories ↓
Install with agentmods
npx agentmods add skills/philipyaz/cos/whatsapp-triage
Install

Getting it into your agent

One page per mod, every tool's command on it. A separate URL per tool would split the same page into five that compete with each other.

Any agent
npx skills add philipyaz/cos --skill whatsapp-triage
Clone the repo
git clone --depth 1 https://github.com/philipyaz/cos

Made for: Claude Code.

Wrote this? Show the measurements

A badge with what this costs and how it scanned, read live from this page, so it follows the numbers instead of freezing them. Markdown for a README, HTML for a documentation site or a project page.

agentmods badge for whatsapp-triage

README.md
[![agentmods](https://agentmods.dev/badge/skills/philipyaz/cos/whatsapp-triage/github.svg)](https://agentmods.dev/skills/philipyaz/cos/whatsapp-triage)
Your own site
<a href="https://agentmods.dev/skills/philipyaz/cos/whatsapp-triage"><img src="https://agentmods.dev/badge/skills/philipyaz/cos/whatsapp-triage/github.svg" alt="Measured on agentmods" height="20"></a>

Or the 80×15 button, for a site that already has a row of RSS and ATOM ones. Only the verdict fits; the numbers stay here.

agentmods 80×15 button for whatsapp-triage

Your own site · 80×15
<a href="https://agentmods.dev/skills/philipyaz/cos/whatsapp-triage"><img src="https://agentmods.dev/badge/skills/philipyaz/cos/whatsapp-triage.svg" alt="Reviewed on agentmods" width="80" height="20"></a>
Per session 144 Skills are progressive disclosure: only the name and description are preloaded; the body loads when the skill is used.
When invoked 16,928 The whole file, excluding the scripts and references it only reads on demand.
Security scan A 1 finding. A grade says what 26 rules found in the file — not that it is safe. Third-party audits
  • NVIDIA SkillSpector warn 7 Sept 2026
SkillSpector: 2 findings, up to medium

These are SkillSpector’s own severities. On a checked sample its high-severity flags on skills were ~96% false positives — a documented command, a public API, a “never do X” rule — so we show them as a caution to read, not a verdict. Why →

  • medium Excessive Agency · line 58
    Skill enables autonomous high-impact decisions without human-in-the-loop verification. Critical operations (destructive commands, financial transactions, data deletion) should require explicit user confirmation.
    Fix: Add human-in-the-loop confirmation for destructive, irreversible, or high-impact operations. Never auto-execute commands that modify files, send data, or alter system state.
  • medium Excessive Agency · line 65
    Skill enables autonomous high-impact decisions without human-in-the-loop verification. Critical operations (destructive commands, financial transactions, data deletion) should require explicit user confirmation.
    Fix: Add human-in-the-loop confirmation for destructive, irreversible, or high-impact operations. Never auto-execute commands that modify files, send data, or alter system state.
How audits are shown
Origin original No closer match found in the catalogue.
Token cost

What it costs to keep this loaded

Counted locally with the o200k_base tokenizer, which is exact for GPT models; Claude uses its own tokenizer and its counts differ. Treat this as one consistent yardstick across the catalogue rather than a bill. Prices are per million input tokens.

ModelPer sessionOnce invoked
Fable 5.1 $0.00144 $0.16928
Opus 5 $0.00072 $0.08464
Sonnet 5 $0.00029 $0.03386
Haiku 4.5 $0.00014 $0.01693

Measured 8d ago against content hash 036946f58a81, method: parsed. Prices are Anthropic first-party input rates as of 2026-09-12, from the pricing page.

Security

Grade A, and why

whatsapp-triage scanned grade A with 1 finding against 26 rules in 11 categories — prompt injection, anti-refusal, data exfiltration, privilege escalation, supply chain, agent snooping, system-prompt leakage, SSRF and excessive agency — measured 8d ago.

A static scan of the body, not an audit. Every finding is printed with the line that produced it so you can judge whether it matters here. A mod is markdown that instructs an agent; that is exactly why what it instructs is worth reading.

Makes network callslowCapability

Not a fault in itself. Listed so you know the mod talks to something, and to what.

4.5)** — never `bash`/`curl` (Cowork's sandbox blocks outbound HTTP; the tools exist
board/.claude/skills/whatsapp-triage/SKILL.md · 894 lines

How it starts

The opening of the file, as written. The whole thing — 894 lines — stays where its author put it; the contents beside it link to each section on GitHub.

WhatsApp → Board (the WhatsApp reconciler)

This skill reconciles WhatsApp with the board. For every chat with recent activity — DMs and groups, inbound and the user's own sent messages — it links the message onto the right case, closes or adds tasks, moves the lane, sets labels, puts any confirmed appointment on the board calendar (Step 4), and keeps one card per matter. It writes only through the chief-of-staff MCP tools — the board MCP for cases / tasks / reminders / messages / labels, the calendar MCP for events, and the nutrition MCP for shopping items (STEP 4.5) — never bash/curl (Cowork's sandbox blocks outbound HTTP; the tools exist for exactly this).

This skill is BOARD-ONLY. It uses only the READ tools of the whatsapp MCP — search_contacts, get_contact, list_chats, get_chat, list_messages, get_message_context, get_last_interaction, get_direct_chat_by_contact, get_contact_chats, download_media. It never calls send_message, send_file, or send_audio_message; it never sends or drafts a WhatsApp message, ever. It owns the board side only: the knowledge in a message (a fact, a decision, new context about a sender) is submitted to the vault through the vault MCP's async ingest, driven per /vault-operations; the vault synthesizes knowledge, this skill reconciles cases. (The vault is knowledge-only — never write task checkboxes into wiki pages; open work lives on the board.)

The headline guardrail. The board is a shared surface: the human edits it by hand in the UI, the agent edits it via this skill. A message can make the agent think a matter is open when the user has already closed it by hand. The agent must never undo a manual action. STEP 3 is the contract; read it before any write.

The JID gotcha — keep it visible the whole sweep. WhatsApp identifies a chat in three forms: a DM is <phone>@s.whatsapp.net, a group is <id>@g.us, and an anonymous link-id is <id>@lid. The same person can appear as both a @s.whatsapp.net phone and a @lid — most "this person has two cards" bugs trace back to not collapsing those two forms (Step 7). Always think about which form you're holding.


Read the full file on GitHub · 894 lines

Changes

What this file has done since we first saw it

Hashed on every crawl. A supply-chain change to an agent config is a question of when, not whether, so the history is kept rather than the latest state alone.

  1. 8d ago Changed · +114 lines 036946f58a81
  2. 12d ago First seen · 780 lines · 144 tokens per session scan A f2cb86e3ea94

Subscribe to this mod's changes

whatsapp-triage is a skill published in the GitHub repository philipyaz/cos (4 stars, last pushed 2d ago), licensed MIT. It adds 144 tokens to every session and 16,928 once invoked, about $0.0007 per session on Opus 5. A static security scan graded it A with 1 finding (makes network calls). No closer match exists in the catalogue, so it is treated as the original; first seen 2026-08-31.

Related

Other skills, from other repositories

wiki-fold

Roll up the wiki's journal.md entries into structured fold pages — like 2^k log compaction. Reads the last 2, 4, 8, 16... entries and writes a fold page that summarizes them by extractive summarization (no invention), with backlinks to children. Idempotent at the structural level — re-running with the same window…

tboome33/obsidian-mcp-router · 125 tokens

decision-consolidate

Consolidate a SETTLED decision page (accepted / superseded / rejected — never proposed): compress the body to canon (verdict byte-intact, minimal why, alternatives as a table) and move the deliberation chronicle to a verified archives/ note (type: decision-archive) excluded from recall and search. Compress + archive…

tboome33/obsidian-mcp-router · 221 tokens

fizzy-tasks

Fetch open Fizzy cards assigned to the user, open bugs, and unassigned tasks. Presents a prioritised digest with deep links. Use when user says "fizzy tasks", "my fizzy cards", "what are my open tasks in fizzy", "fizzy action items", "bugs in fizzy", "show my tasks", or wants a digest of current Fizzy workload.

Rijul1204/rashedul-agentic-engineering · 87 tokens

fizzy-write

Create cards, create boards, update cards, close/reopen cards, add comments, assign users, or move cards to a column in Fizzy. Use when user says "create card", "create board", "add task to fizzy", "close fizzy card", "comment on fizzy card", "assign fizzy card", "move card to column", or anything involving writing to…

Rijul1204/rashedul-agentic-engineering · 90 tokens

fizzy-board-monitor

Show an on-demand Kanban overview of a Fizzy board — cards grouped by column with counts. Default board is the QA board. Use when user says "show fizzy board", "fizzy board overview", "list fizzy cards", "what's on the board", "show [board name] board", or wants to see the current state of any Fizzy board.

Rijul1204/rashedul-agentic-engineering · 84 tokens

fizzy-product-manager

Product management knowledge for Fizzy Kanban boards — Kanban principles, API workflows, triage, hygiene, and reporting.

Rijul1204/rashedul-agentic-engineering · 30 tokens