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 avizmarlon/agent-skills --skill hooks-for-enforcementgit clone --depth 1 https://github.com/avizmarlon/agent-skillsWrote 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/avizmarlon/agent-skills/hooks-for-enforcement)<a href="https://agentmods.dev/skills/avizmarlon/agent-skills/hooks-for-enforcement"><img src="https://agentmods.dev/badge/skills/avizmarlon/agent-skills/hooks-for-enforcement/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/avizmarlon/agent-skills/hooks-for-enforcement"><img src="https://agentmods.dev/badge/skills/avizmarlon/agent-skills/hooks-for-enforcement.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.00079 | $0.01181 |
| Opus 5.5 | $0.00032 | $0.00472 |
| Sonnet 5.5 | $0.00016 | $0.00236 |
| Haiku 4.5 | $0.00008 | $0.00118 |
Grade A, and why
hooks-for-enforcement 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 2mo 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 — 88 lines — stays where its author put it; the contents beside it link to each section on GitHub.
Hooks as Enforcement Mechanism for AI Behavior
When AI behavior requires enforcement (preventing a repeated failure mode despite written rules), hooks are the structural solution — not additional rules, not wrapper skills, not optional validators.
Why Hooks Matter
- Written rules are interpreted during generation and depend on the AI's inference loop. The same attention/pattern-matching mechanism that fails under load may skip the rule.
- Skills and wrapper agents are invoked by the AI. If the AI is failing to invoke them or forgetting to apply them, adding more rules about invoking them repeats the problem.
- Hooks are invoked by the system at fixed lifecycle points, outside the generation loop. The AI cannot skip them, forget them, or pattern-match around them.
When to Use Hooks: Decision Tree
| Problem | Wrong Approach | Right Approach |
|---|---|---|
| AI breaks a rule in generation despite rule being written | Add more detailed rule text to instructions | Hook that executes at a fixed lifecycle point (e.g., before output) |
| AI forgets to invoke a critical skill | Write "remember to invoke skill X" | Hook that blocks/gates generation until invoked, or hook that injects the skill's effect |
| AI needs to check a fact every turn | Add fact to instructions as a bullet | Hook that injects the fact into context at SessionStart or UserPromptSubmit |
| AI must stop before producing incorrect output | Write "verify before responding" | Hook that audits the response text at Stop, before delivery |
Implementation Pattern
A hook executes at a known lifecycle event with access to the AI system state:
- SessionStart — inject context, prime state, load reference data
- UserPromptSubmit — validate/enrich the user's message before sending to model
- PreToolUse — gate or validate tool invocations
- PostToolUse — audit tool output, detect failure modes
- Stop — audit response text before delivery to user, block unsafe outputs
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.
- 2mo ago First seen · 88 lines · 79 tokens per session scan A 3cc6b0367756
hooks-for-enforcement is a skill published in the GitHub repository avizmarlon/agent-skills (2 stars, last pushed 4mo ago), licensed MIT. It adds 79 tokens to every session and 1,181 once invoked, about $0.0003 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-08-31.
Other skills, from other repositories
subagent-driven-development
Execute plans via delegatetask subagents (2-stage review).
duckduckgo-search
Free keyless web, news, and image search via ddgs.
mcporter
List, auth, and call MCP servers/tools from the terminal.
article-writing
Write articles, guides, blog posts, tutorials, newsletter issues, and other long-form content in a distinctive voice derived from supplied examples or brand guidance. Use when the user wants polished written content longer than a paragraph, especially when voice consistency, structure, and credibility matter.
mem0-oss-to-platform
Plan, then execute, a migration of a project from the mem0 open-source / self-hosted SDK (local Memory class) to the mem0 Platform / hosted SDK (MemoryClient). TRIGGER when: the developer wants to move, switch, or migrate mem0 off OSS/self-hosted to the hosted API, e.g. "migrate my mem0 setup to the platform", "switch…
safe-refactor
Restructure code while preserving behavior. Use for extraction, consolidation, ownership moves, or cleanup where verification must bracket structural edits.