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/friedbotstudio/baseline/approve-directiongit clone --depth 1 https://github.com/friedbotstudio/baselineWhat 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.00079 | $0.01052 |
| Opus 5 | $0.00039 | $0.00526 |
| Sonnet 5 | $0.00016 | $0.00210 |
| Haiku 4.5 | $0.00008 | $0.00105 |
Grade A, and why
approve-direction 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 yesterday.
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.
What it actually says
The user has reviewed and approved the DIRECTION of the workflow referenced by $ARGUMENTS — the problem, goal, and acceptance criteria in the intake, plus the CO-A evidence (demonstrated understanding + risk acceptance). Record approval. This single gate authorizes the whole build direction; the spec and implementation between here and the commit are machine-reviewed (spec-traceability, checker fan-out, shippability, drift-check, design-calls), never human-eyeballed.
How this works structurally: when the user typed /approve-direction <arg>, the consent_gate_grant UserPromptSubmit hook ran before this body was passed to Claude and wrote a short-lived consent marker at .claude/state/.direction_approval_grant whose slug is the bare slug derived from <arg>. The direction_approval_guard PreToolUse hook reads that marker on the approval-token Write and allows it when the marker is fresh and the approval filename's bare slug matches. Claude cannot forge the marker — that's what makes the gate structural.
State-write discipline (binding — see .claude/CONSTITUTION.md §2 "State-write discipline"). The approval token at .claude/state/spec_approvals/<slug>.approval is a Tier 1 consent artifact: it SHALL be written with the Write tool only. (The token path is spec_approvals/ for continuity — epic_approval_guard and track_guard derive their forge-proof root from it; D-2.) You SHALL NOT write it via Bash (no >/>> redirect, heredoc, tee, cp, or sed -i) — destructive_cmd_guard blocks Bash writes to consent paths, and the direction_approval_guard marker is validated only on the Write tool. Use Bash solely to compute the two scalar values below (date +%s, git log, and the content hash). Resolve and verify the intake path with the Read tool, never shell dirname/basename/[ -f ].
Steps:
- Derive the bare slug from
$ARGUMENTSin-context (no shell needed): strip any directory prefix and a trailing.md. E.g.docs/intake/foo.md→foo,foo→foo. The same canonicalization runs insideconsent_gate_grant, so the marker slug and the expected slug always agree. - Resolve the intake path:
- If
$ARGUMENTScontains a/, treat it as a path (absolute or relative to repo root). - Otherwise the path is
docs/intake/<slug>.md. Confirm the intake file exists by reading it with the Read tool. If the Read fails, stop and ask for the correct slug or path.
- If
- Write the approval token with the Write tool to
.claude/state/spec_approvals/<slug>.approval(the Write tool creates the parent directory). Contents:- Line 1:
APPROVED - Line 2: epoch timestamp (run
date +%s) - Line 3: absolute path to the intake file
- Line 4: git short SHA of the intake file at this moment (if in a git repo; run
git log -1 --format=%h -- "<resolved-path>", otherwiseN/A) - Line 5: the intake content hash —
computeSpecContentHashof the intake bytes from.claude/hooks/lib/spec-content-hash.mjs(the hasher is content-agnostic; D-4). Compute it in Bash (read-only):node -e "import('./.claude/hooks/lib/spec-content-hash.mjs').then(m=>import('node:fs').then(fs=>console.log(m.computeSpecContentHash(fs.readFileSync('<resolved-path>')))))". This line lets the harness resume detect a post-approval intake amendment and re-yield.
- Line 1:
- Confirm to the user: "Approved direction
<slug>. Approval token written to.claude/state/spec_approvals/<slug>.approval. The spec and implementation now proceed under machine review; the next human gate is /grant-commit (approve-landing)."
Do NOT mark any spec or intake as "Approved" inside the markdown — the Direction Approval Guard hook blocks that. The approval token is the authoritative record.
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.
- yesterday First seen · 30 lines · 79 tokens per session scan A 7744282e65b2
approve-direction is a command published in the GitHub repository friedbotstudio/baseline (11 stars, last pushed 5d ago), licensed Apache-2.0. It adds 79 tokens to every session and 1,052 once invoked, about $0.0004 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
audit-agents-skills
Audit quality of agents, skills, and commands in a Claude Code project.
security-audit
Comprehensive security audit of your project AND Claude Code configuration. Analyzes secrets exposure, injection surfaces, dependencies, hook security, and produces a scored security posture assessment.
audit-quiz-coverage
Find quiz coverage gaps from recent guide/CHANGELOG/CC-releases changes and propose new questions.
worktree
Create a git worktree for isolated feature/fix work.
sync
Check guide/landing synchronization status.
init-docs
Fetch official Anthropic Claude Code docs and store as local baseline snapshot.