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.
git 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/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/agents/skyf0xx/hedgehog/planner"><img src="https://agentmods.dev/badge/agents/skyf0xx/hedgehog/planner.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.00114 | $0.09400 |
| Opus 5.5 | $0.00046 | $0.03760 |
| Sonnet 5.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 1mo 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 — 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.
- 1mo ago Changed · +31 lines 07f04ca9c8d4
- 1mo ago First seen · 608 lines · 114 tokens per session scan A 91aa947b39ea
planner is an agent published in the GitHub repository skyf0xx/hedgehog (46 stars, last pushed yesterday), licensed MIT. It adds 114 tokens to every session and 9,400 once invoked, about $0.0005 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-30.
Other agents, from other repositories
plastic-enforcer
Use as the auto team's lead: it takes the intent, writes the Why and How record, has the plan reviewed before code, dispatches one executor, reviews by risk, and closes.
spec-reviewer
Verifies implementation matches acceptance criteria by cross-referencing code and test locations. Validates story format and Definition of Ready compliance. Simple PASS/FAIL classification per criterion.
runtime-architect
Use when building or updating runtime layouts under runtimes/, the MCP single-source-of-truth, or cross-vendor sync utilities under tools/. Owns the six copy-pasteable layouts at runtimes/.claude/, runtimes/.codex/, runtimes/.gemini/, runtimes/.kiro/, runtimes/.cursor/, and runtimes/.devin/, plus runtimes/mcp/…
command-author
Use when drafting or reviewing slash commands under commands/. Owns vendor-specific command templates - command-template.claude.md (markdown body + frontmatter), command-template.gemini.toml (TOML command file with prompt + description). Documents Codex's "skill with user-invocable - true" approach. Ensures per-vendor…
prd-author
Use when drafting, reviewing, or extending PRD content under prds/. Owns the full 23-section enterprise PRD template, the lightweight PRD template, the platform-SRS template, the PRD lifecycle directories (active/deprecated/archive), and example PRDs. Triggers - "draft a PRD template", "fill out prd-template.md"…
integration-test-generator
Integration / E2E test author for the user-search feature. Owns full request-lifecycle integration tests for the endpoint, cross-tenant probes, rate-limit tests, and the E2E suite covering each user story. Triggers - "write integration tests for task.