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 skills add avmnu-sng/sutra --skill hooks-cookbookgit clone --depth 1 https://github.com/avmnu-sng/sutraWrote 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/skills/avmnu-sng/sutra/hooks-cookbook)<a href="https://agentmods.dev/skills/avmnu-sng/sutra/hooks-cookbook"><img src="https://agentmods.dev/badge/skills/avmnu-sng/sutra/hooks-cookbook/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/skills/avmnu-sng/sutra/hooks-cookbook"><img src="https://agentmods.dev/badge/skills/avmnu-sng/sutra/hooks-cookbook.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.00050 | $0.04162 |
| Opus 5 | $0.00025 | $0.02081 |
| Sonnet 5 | $0.00010 | $0.00832 |
| Haiku 4.5 | $0.00005 | $0.00416 |
Grade A, and why
hooks-cookbook 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 10d 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.
How it starts
The opening of the file, as written. The whole thing — 347 lines — stays where its author put it; the contents beside it link to each section on GitHub.
Hooks cookbook
A hook runs on every matching event, in the user's critical path. The one rule
that makes hooks safe to ship: a hook reports, but it never breaks the flow
when its tooling is absent. No interpreter, no jq, wrong tool, wrong target,
unreadable file -- every one of those is a clean exit 0, not an error. Earn the
right to block only for a rule you are certain about, and even then translate
the failure into a structured response instead of a raw crash.
Build every hook in this order: parse the event, early-return unless it is relevant, run the checker, translate the result into an advisory or a block. Sections 1-3 are the contract; the recipe gallery applies it.
When to use
- Authoring a new hook (PreToolUse, PostToolUse, SessionStart, UserPromptSubmit, Stop, or a git pre-commit script).
- Turning an ad-hoc checker script into something safe to run on every edit.
- Deciding whether a check should warn or hard-block, and wiring the response.
When not to use
- Wiring an existing, finished hook -- that is a settings.json edit, not
authoring. See
examples/hooks/README.md. - A one-off manual check you run by hand. Hooks are for the automatic path.
1. The contract you are coding against
A hook is a command. Claude Code sends it a JSON event on stdin and reads its exit code and stdout.
Stdin fields you will use (all events carry session_id, cwd,
hook_event_name):
| Event | Key fields on stdin |
|---|---|
PreToolUse |
tool_name, tool_input (args the tool will run) |
PostToolUse |
tool_name, tool_input, tool_response |
UserPromptSubmit |
prompt (the text the user just submitted) |
SessionStart |
source (startup|resume|clear|compact) |
Exit codes -- the coarse channel:
| Exit | Meaning | Effect |
|---|---|---|
0 |
success | flow proceeds; stdout is consumed (see below) |
2 |
blocking error | stderr is fed back to the agent; the action is stopped |
| other | non-blocking error | stderr is shown to the user; flow proceeds |
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.
- 10d ago First seen · 347 lines · 50 tokens per session scan A 74088c148ae9
hooks-cookbook is a skill published in the GitHub repository avmnu-sng/sutra (2 stars, last pushed 1mo ago), licensed MIT. It adds 50 tokens to every session and 4,162 once invoked, about $0.0003 per session on Opus 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-08-31.
Other skills, from other repositories
memstack-business-gdpr
Use this skill when the user says 'GDPR', 'data protection', 'privacy compliance', 'DPA', 'DSAR', 'data subject request', 'cookie consent', 'privacy audit', 'CCPA', or asks 'do I need GDPR for this repo'. Scans the repository to detect what personal data is collected, classifies sensitivity, determines whether GDPR…
memstack-deployment-domain-ssl
Use this skill when the user says 'setup domain', 'configure DNS', 'SSL certificate', 'domain-ssl', 'custom domain', 'HTTPS setup', or needs to configure DNS records, SSL certificates, and custom domains for any hosting provider. Do NOT use for full deployment workflows.
memstack-development-refactor-planner
Use this skill when the user says 'refactor', 'refactoring plan', 'code cleanup', 'reduce duplication', 'simplify code', 'tech debt', 'god class', 'tight coupling', or needs to systematically improve existing code. Identifies targets, assesses risk, and builds incremental execution plans. Do NOT use for writing new…
memstack-product-feedback-analyzer
Use this skill when the user says 'analyze feedback', 'feedback analysis', 'what are customers asking for', or has support tickets, reviews, or survey data to categorize, score, and prioritize into actionable reports. Do NOT use for competitor analysis or market research.
memstack-seo-meta-tag-optimizer
Use this skill when the user says 'meta tags', 'title tag', 'meta description', 'optimize meta', 'SERP preview', or needs to write or optimize HTML meta tags for better search visibility and click-through rates. Do NOT use for schema markup or full site audits.
familiar
Use when the user says 'dispatch', 'send familiar', 'split task', or needs work split across parallel CC sessions.