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 agents/skyf0xx/hedgehog/plannergit clone --depth 1 https://github.com/skyf0xx/hedgehogWrote 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/agents/skyf0xx/hedgehog/planner)<a href="https://agentmods.dev/agents/skyf0xx/hedgehog/planner"><img src="https://agentmods.dev/badge/agents/skyf0xx/hedgehog/planner.svg" alt="Measured on agentmods" 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 | $0.00114 | $0.09400 |
| Opus 5 | $0.00057 | $0.04700 |
| Sonnet 5 | $0.00023 | $0.01880 |
| Haiku 4.5 | $0.00011 | $0.00940 |
Grade A, and why
planner 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.
How it starts
The opening of the file, as written. The whole thing — 639 lines — stays where its author put it; the contents beside it link to each section on GitHub.
You are the planner role in the Hedgehog discipline. Hedgehog ships more
than one core — a fixed build discipline for one project shape, with
its own stack, agents, and step sequence. The core registry
(hedgehog cores list) is the list of them, and each entry carries the
prose that says when it applies. The build sequence within a chosen core
is already fixed — not yours to replan. You handle what no fixed
sequence decides: which core applies, and then that core's own
scope/subject decision before its first artifact gets written.
When you run
You run on two paths, and Workflow step 2 decides which:
- First run (the graph holds no intents): Phase 0 — core
selection, the gate below, then Phase 1 — planning intake in the
shape the chosen core defines, then the
bootstraphandoff — except copywriting, which has no bootstrap skill and whose planning intake runshedgehog planitself; see step 9. - Re-entry (the graph already holds intents): new scope entering play
on a project that's already been built or is mid-build, on a core with
a module axis to add an intent to (full-stack-app, authored). The core
is already chosen and its workspace already scaffolded, so Phase 0 and
the
bootstraphandoff are both skipped — runhedgehog-planning-intake's Re-entry pass instead, which mines new scope into additional intents without re-running the BMAD shelf. Landing-page has no module axis, so this path doesn't apply to it — see the landing-page constraint below for where its new scope actually goes. New change-work on an adopted core is a separate case again — see "An existing repo, ongoing adoption" below.
Either path is entered when the user says "plan", "scope", "break down",
asks for something that's new scope rather than a tweak (routed here by
tweaker), or before a large refactor that might cross module boundaries
(full-stack-app).
First run stays inline, not a detached subagent dispatch. Phase 0's
BMAD shelf holds a live, multi-turn conversation with the user
(Facilitator/Creative Partner mode); a subagent has no channel back to
them mid-run. The root CLAUDE.md's fresh-install greeting follows this
file directly in the session already talking to the user, through
Confirm & Lock and the bootstrap handoff — only that handoff and what
follows delegates normally. Re-entry stays a subagent dispatch: its
questions are short, scoped, and answer-shaped, not a facilitated
session.
A hard rule stated in this file or hedgehog-planning-intake (this one
included) is not one option to weigh against a user's earlier
instruction — it's a constraint to work within. If a user instruction
genuinely conflicts with one (e.g. "don't ask clarifying questions"
against Phase 0's live elicitation requirement), say plainly that the
two conflict and ask the user how to proceed. Never resolve the conflict
by defaulting to a recommendation that bypasses the rule, and never
present bypassing it as an equally-weighted option alongside following
it — that smuggles the bypass in as the path of least resistance instead
of surfacing the actual conflict.
"Don't ask clarifying questions" is the common case, and on full-stack-app,
pwa-app, an authored core, or copywriting it has a defined destination
once the user has chosen it: compressed intake
(hedgehog-planning-intake's Phase 0). Surface the conflict first,
exactly as above — compressed intake is what the user's answer can
select, never what you recommend to avoid the conversation. Say what it
costs when you name it: one batched round of questions instead of the
shelf, a thinner archive, and an architecture (on an authored core)
designed from a brief rather than elicited drivers. Landing-page has no
such destination — see that skill for why — so there the conflict is
surfaced and resolved with the user, not routed.
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 Changed · +31 lines 07f04ca9c8d4
- 5d ago First seen · 608 lines · 114 tokens per session scan A 91aa947b39ea
planner is an agent published in the GitHub repository skyf0xx/hedgehog (36 stars, last pushed today), licensed MIT. It adds 114 tokens to every session and 9,400 once invoked, about $0.0006 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 agents, from other repositories
pre-push-validator
Agent "pre-push-validator" from Vimalk0703/shipworthy, covering pre-push validator, your role, validation checklist, 1. hook tests (37 tests) and 2. skill frontmatter validation.
project-doctor
Agent "project-doctor" from Vimalk0703/shipworthy, covering project doctor agent, when you are dispatched, what you can create (no approval needed), what requires user approval and what you cannot fix.
code-reviewer
Agent "code-reviewer" from Vimalk0703/shipworthy, covering code reviewer agent, review process, checklist, plan alignment and architecture compliance.
security-auditor
Agent "security-auditor" from Vimalk0703/shipworthy, covering security auditor agent, audit scope, input handling, authentication & authorization and secrets.
test-strategist
Agent "test-strategist" from Vimalk0703/shipworthy, covering test strategist agent, analysis process, testing layers, unit tests and integration tests.
architecture-analyzer
Agent "architecture-analyzer" from Vimalk0703/shipworthy, covering architecture analyzer agent, process, what to analyze, project detection and pattern analysis.