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 commands/ivan-magda/claude-code-plugin-template/add-hookgit clone --depth 1 https://github.com/ivan-magda/claude-code-plugin-templateWhat 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 | $0.00011 | $0.03424 |
| Opus 5 | $0.00005 | $0.01712 |
| Sonnet 5 | $0.00002 | $0.00685 |
| Haiku 4.5 | $0.00001 | $0.00342 |
Grade A, and why
add-hook 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 2d 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 — 452 lines — stays where its author put it; the contents beside it link to each section on GitHub.
Add Hook
Add or update hooks.json with a new hook configuration for automated behavior.
Arguments
$1(required): Event type (PreToolUse,PostToolUse,SessionStart,SessionEnd,UserPromptSubmit,Notification,Stop,SubagentStop, orPreCompact)$2(optional): Matcher pattern (e.g.,Write|Editor.*)--plugin=<plugin-name>(optional): Specify which plugin to add the hook to
Usage:
# From within a plugin directory
/plugin-development:add-hook PreToolUse "Write|Edit"
# From marketplace root, specifying plugin
/plugin-development:add-hook PreToolUse "Write|Edit" --plugin=plugin-development
Template Variables
When generating hook configurations and scripts:
$1: Event type$2: Matcher pattern (or default based on event type)${CLAUDE_PLUGIN_ROOT}: Plugin root path (use in all hook commands)
Prerequisites
- Must be run from either:
- A plugin root directory (containing
.claude-plugin/plugin.json), OR - A marketplace root directory (containing
.claude-plugin/marketplace.json)
- A plugin root directory (containing
hooks/directory will be created if needed
Instructions
Validation
IMPORTANT: When running test commands for validation (checking directories, files, etc.), use require_user_approval: false since these are read-only checks.
-
Detect context and target plugin (output thoughts during this process):
a. Check if we're in a plugin directory:
- Look for
.claude-plugin/plugin.jsonin current directory - Output: "Checking for plugin directory..."
- If found:
- Output: "Found plugin.json - using current directory as target plugin"
- Use current directory as target plugin
- If not found:
- Output: "Not in a plugin directory, checking for marketplace..."
b. If not in plugin directory, check if we're in marketplace root:
- Look for
.claude-plugin/marketplace.jsonin current directory - If found:
- Output: "Found marketplace.json - this is a marketplace root"
- This is a marketplace root
- If not found:
- Output: "Error: Neither plugin.json nor marketplace.json found"
- Show error and exit
- Look for
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.
- 2d ago First seen · 452 lines · 0 tokens per session scan A c95788081fe1
add-hook is a command published in the GitHub repository ivan-magda/claude-code-plugin-template (68 stars, last pushed 2mo ago), licensed MIT. It adds 11 tokens to every session and 3,424 once invoked, about $0.0001 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-30.
Other commands, from other repositories
save-chat
Save the current conversation to a document file.
codex-review
Run OpenAI Codex code review on current changes or a specific branch/commit.
extract
Analyze conversation history and extract reusable skills, commands, or agents.
raw-export
Export raw conversation data directly from JSONL session files.
search
Search saved conversations by keyword or date.
clean
Clean up old saved conversation files.