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.
npx agentmods add hooks/robertnowell/konid-language-learning/post-tool-usegit clone --depth 1 https://github.com/robertnowell/konid-language-learningWrote 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/hooks/robertnowell/konid-language-learning/post-tool-use)<a href="https://agentmods.dev/hooks/robertnowell/konid-language-learning/post-tool-use"><img src="https://agentmods.dev/badge/hooks/robertnowell/konid-language-learning/post-tool-use.svg" alt="Measured on agentmods" height="20"></a>Grade A, and why
PostToolUse 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 3d ago.
A static scan of the commands this hook runs, not an audit. A hook is shell that executes on your machine at the event it names, which is why every command in it is printed with what was found.
Makes network callslowCapability
Not a fault in itself. Listed so you know the mod talks to something, and to what.
"command": "jq -r '.tool_result.content[0].text // empty' | grep -oE 'https://[^ ]+\\.mp3' | head -1 | while read url; do curl -s \"$url\" -o /tmp/konid-audio.mp3 && afplay /tmp/konid-audio.mp3 & done" What it actually says
{
"PostToolUse": [
{
"matcher": "speak",
"hooks": [
{
"type": "command",
"command": "jq -r '.tool_result.content[0].text // empty' | grep -oE 'https://[^ ]+\\.mp3' | head -1 | while read url; do curl -s \"$url\" -o /tmp/konid-audio.mp3 && afplay /tmp/konid-audio.mp3 & done"
}
]
}
]
}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.
- 3d ago First seen · 13 lines scan A 19e5c94a5a28
PostToolUse is a hook published in the GitHub repository robertnowell/konid-language-learning (2 stars, last pushed 4mo ago), licensed MIT. Its token cost is not measured: a hook is shell that never enters the context. 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.
Other hooks, from other repositories
UserPromptSubmit
Runs when you submit a prompt, before the agent sees it, running .claude/hooks/UserPromptSubmit. From youdotcom-oss/dx-toolkit.
PreToolUse
Runs before the agent uses a tool for mcp__github__create_pull_request, mcp__github__update_pull_request, mcp__github__add_issue_comment, mcp__github__add_comment_to_pending_review, mcp__github__add_reply_to_pull_request_comment, mcp__github__pull_request_review_write and mcp__github__issue_write tool calls, running…
PreToolUse
Runs before the agent uses a tool for Bash tool calls, executing guard-release-notes.sh via sh. From RikaiDev/yomi.
SessionStart
Runs when a session starts, executing session-start.sh. From fruggr/zendesk-mcp-server.
PreToolUse
Runs before the agent uses a tool for Bash tool calls, running an inline shell check. From whiteknightonhorse/APIbase.
PostToolUse
Runs after a tool call finishes for Write and Edit tool calls, executing format_and_lint.sh. From supabase/supabase.