conjure-hook

conjure-hook is a command for coding agents from john-farina/claude-plugins. It costs 32 tokens per session (3,864 once invoked), scanned B, original, MIT.

A command for creating or updating a Claude Code hook, which is a script that runs automatically when an event such as a file edit, tool call, or session start occurs.

In plain words
What is it for?
Use it to run scripts on specified events, such as checking files after edits or performing setup when a session begins.
Why use it?
It turns repeated event-based actions into configured automation instead of requiring you to start them manually.

Command

Installs and runs on its own, but its text points at files inside its plugin — anything it tells you to read at a ${CLAUDE_PLUGIN_ROOT} path is only there once the plugin is installed. Installing the plugin gets both.

Part of the conjure plugin — 7 commands shipped together

Install

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.

agentmods
npx agentmods add commands/john-farina/claude-plugins/conjure-hook
Clone the repo
git clone --depth 1 https://github.com/john-farina/claude-plugins

Or install conjure, the plugin that ships this one along with the rest of its 7 commands.

Wrote 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.

agentmods badge for conjure-hook

README.md
[![agentmods](https://agentmods.dev/badge/commands/john-farina/claude-plugins/conjure-hook.svg)](https://agentmods.dev/commands/john-farina/claude-plugins/conjure-hook)
Your own site
<a href="https://agentmods.dev/commands/john-farina/claude-plugins/conjure-hook"><img src="https://agentmods.dev/badge/commands/john-farina/claude-plugins/conjure-hook.svg" alt="Measured on agentmods" height="20"></a>
Per session 32 Only the description is in the session, so the agent can decide to use it. The body loads when it is invoked.
When invoked 3,864 The whole file, excluding the scripts and references it only reads on demand.
Security scan B 1 finding. Scan, not verified.
Origin original No closer match found in the catalogue.
Token cost

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.

ModelPer sessionOnce invoked
Fable 5 $0.00032 $0.03864
Opus 5 $0.00016 $0.01932
Sonnet 5 $0.00006 $0.00773
Haiku 4.5 $0.00003 $0.00386

Measured 3d ago against content hash 68eec6a9c194, method: parsed. Prices are Anthropic first-party input rates as of 2026-08-30, from the pricing page.

Security

Grade B, and why

conjure-hook scanned grade B 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 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.

Reads agent configuration directoriesmediumAgent snooping

.claude/, .codex/, .gemini/ hold keys, settings and other credentials a mod has no legitimate need for.

cat ~/.claude/conjure-config.md 2>/dev/null
plugins/conjure/commands/conjure-hook.md · 375 lines

How it starts

The opening of the file, as written. The whole thing — 375 lines — stays where its author put it; the contents beside it link to each section on GitHub.

Phase 0: Route the Request

Before building anything, verify a hook is the right artifact.

Question If YES → use instead
Does the user trigger this explicitly via /command? Skill → run /conjure-skill <name>
Does Claude spawn this with isolated context or a different model? Agent → run /conjure-agent <description>
Should this fire automatically on an event without the user asking? Hook → continue ✅

Common mislabels:

Request sounds like… Actually is…
"hook to commit my changes" Skill — user-triggered
"hook to search the codebase" Agent — isolated, spawned by Claude
"hook that fires whenever I edit a file" Hook ✅
"hook that runs on session start" Hook ✅
"hook to review my PR" Skill — user-triggered workflow

If it's clearly a skill or agent, stop and say: "This is better as a [skill/agent] — run /conjure-skill or /conjure-agent instead."


Phase 0.5: Load User Preferences

Before doing anything else, read both conjure config files if they exist:

cat ~/.claude/conjure-config.md 2>/dev/null
cat .claude/conjure-config.md 2>/dev/null

Follow all instructions found in ## hooks and ## global sections throughout every phase of this command. Project-local instructions (.claude/conjure-config.md) take precedence over global ones when they conflict. If neither file exists, proceed with defaults.


Phase 1: Parse Arguments + Detect Mode

Parse $ARGUMENTS:

Pattern Mode
empty Create — ask what the hook should do
description only (no slug) Create — use description as intent
<slug> only, found in settings.json Update — read entry + script, refine
<slug> only, not found Create — use slug as intended name
<slug> review Review — audit script + settings entry, report issues
<slug> add-event Extend — add a new event to an existing hook's script
help Stop and print the Phase 1 argument table above, then stop

Read the full file on GitHub · 375 lines

Changes

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.

  1. 3d ago First seen · 375 lines · 32 tokens per session scan B 68eec6a9c194

Subscribe to this mod's changes

conjure-hook is a command published in the GitHub repository john-farina/claude-plugins (1 stars, last pushed 3mo ago), licensed MIT. It adds 32 tokens to every session and 3,864 once invoked, about $0.0002 per session on Opus 5. A static security scan graded it B with 1 finding (reads agent configuration directories). No closer match exists in the catalogue, so it is treated as the original; first seen 2026-08-31.

Related

Other commands, from other repositories