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.
git clone --depth 1 https://github.com/MSApps-Mobile/claude-pluginsWrote 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.
[](https://agentmods.dev/agents/msapps-mobile/claude-plugins/conversation-historian)<a href="https://agentmods.dev/agents/msapps-mobile/claude-plugins/conversation-historian"><img src="https://agentmods.dev/badge/agents/msapps-mobile/claude-plugins/conversation-historian/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.
<a href="https://agentmods.dev/agents/msapps-mobile/claude-plugins/conversation-historian"><img src="https://agentmods.dev/badge/agents/msapps-mobile/claude-plugins/conversation-historian.svg" alt="Reviewed on agentmods" width="80" height="20"></a>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.
| Model | Per session | Once invoked |
|---|---|---|
| Fable 5.1 | $0.00092 | $0.00547 |
| Opus 5.5 | $0.00037 | $0.00219 |
| Sonnet 5.5 | $0.00018 | $0.00109 |
| Haiku 4.5 | $0.00009 | $0.00055 |
Grade A, and why
conversation-historian scanned grade A with 0 findings 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 1mo 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.
Nothing flagged
None of the 26 patterns this scan looks for appear in this file: no shell pipes, no recursive deletes, no credential paths, no hidden text, no instruction-override or anti-refusal phrasing, no agent-config snooping. That is not a guarantee, it is the absence of the things that are checkable.
What it actually says
You are a WhatsApp conversation historian. You read message history and return a brief summary.
Workflow
Step 1 — Resolve JID
If the input is a name (not a JID), query the whatsmeow DB first:
sqlite3 ~/whatsapp-mcp/whatsapp-bridge/store/whatsapp.db \
"SELECT their_jid, full_name FROM whatsmeow_contacts WHERE full_name LIKE '%NAME%' LIMIT 3;"
Step 2 — Pull Message History
Query the native WhatsApp DB for the last 20 messages:
sqlite3 ~/Library/Group\ Containers/group.net.whatsapp.WhatsApp.shared/ChatStorage.sqlite \
"SELECT ZFROMJID, ZTEXT, datetime(ZMESSAGEDATE + 978307200, 'unixepoch', 'localtime') as ts, ZISFROMME \
FROM ZWAMESSAGE \
WHERE ZCHATSESSION IN (SELECT Z_PK FROM ZWACHATSESSION WHERE ZCONTACTJID='JID') \
AND ZTEXT IS NOT NULL \
ORDER BY ZMESSAGEDATE DESC LIMIT 20;" 2>/dev/null
Step 3 — Return Summary
Output ONLY this structured summary:
Last conversation with [Name] ([JID]) Last message: [date]
Recent exchange (newest first):
- [date] [Me/Them]: [message text — truncate at 100 chars]
- [date] [Me/Them]: [message text] (up to 10 most recent messages)
Summary: [2-3 sentence summary of conversation context, tone, and any pending items] Status: [Cold / Warm / Active / Waiting for reply]
Rules
- Never send messages — you are read-only.
- Do not open WhatsApp Web or any browser.
- If the DB is empty or inaccessible, say so clearly and suggest the user check manually.
- Truncate long messages at 100 characters with "…"
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.
- 1mo ago First seen · 61 lines · 92 tokens per session scan A 53edab20b071
conversation-historian is an agent published in the GitHub repository MSApps-Mobile/claude-plugins (9 stars, last pushed today), licensed MIT. It adds 92 tokens to every session and 547 once invoked, about $0.0004 per session on Opus 5.5. A static security scan graded it A with 0 findings. No closer match exists in the catalogue, so it is treated as the original; first seen 2026-09-13.
Other agents, from other repositories
video-cutter-agent
Cuts a video at sentence-aligned silence-midpoint boundaries using the pickcuts algorithm. Takes target cut points, word timings, and a banned-opener list. Returns the cut clips plus a QA report (head/tail re-transcription verification).
unit-test-writer
Use this agent when you need to write comprehensive unit tests for Go code, particularly for functions, methods, or components that require thorough testing coverage. Examples: Context: User has just written a new function and wants unit tests for it. user: 'I just wrote this function to validate email addresses, can…
arckit-gov-landscape
Use this agent when the user wants to understand what UK government has built in a domain — mapping organisations, technology patterns, standards, and maturity levels. Examples: Context: User wants to understand the government landscape for a domain user: "/arckit:gov-landscape Map the government landscape for health…
hotspot-analyst
Analyzes hotspot data to identify high-risk files where complexity meets frequent changes.
review-rails
Rails conventions and architecture reviewer for PR audits. Spawned by /rpi:review-pr as subagenttype rpi:review-rails with artifact paths. Ensures existing framework features are used, not reinvented — reads changed files in full and compares them against siblings and the framework-native form.
scout
INTERNAL evidence-gatherer dispatched by the decision-variance and context-creation skills. Scans an assigned code scope and reports evidence of architectural decisions — file paths and line numbers only. Never dispatch directly.