hydra
Skill51 starsChanged 8 months agoMITView on GitHub
Multi-agent orchestration framework for Claude Code. Automatically delegates tasks to cheaper, faster sub-agents (Haiku, Sonnet) while maintaining Opus-level quality through verification. Use when working on any coding task — Hydra activates automatically to route file exploration, test running, documentation, code writing, debugging, security scanning, and git operations to the optimal agent. Saves ~50% on API costs.
- Reads credentials
- Installs packages
6 other projects use a version of this.
Adopted by
Most recently taken up by
- meowdiocre/meowpitheir own version, first seen Nov 1, 2026
- opencue/cuecardstheir own version, first seen Aug 17, 2026
- auto-duan/hydra-skilltheir own version, first seen Jun 23, 2026
- SpoiledMilkLabs/skillstheir own version, first seen May 25, 2026
- Zandereins/hydratheir own version, first seen Apr 27, 2026
- JinchengGao-Infty/agent-loadouttheir own version, first seen Mar 25, 2026
Other versions6 projects use a version of this.
Word for word · 0
None found.
Edited · 0
None found.
Wrote their own version · 6
- opencue/cuecards★ 6same name
- Zandereins/hydra★ 4same name
- JinchengGao-Infty/agent-loadout★ 3same name
- meowdiocre/meowpi★ 3same name
- SpoiledMilkLabs/skills★ 1same name
- auto-duan/hydra-skill★ 0same name
How matches are found. Word for word: the exact same text. Edited: shares passages with this file (“99% same” means 99% of its five-word phrases also appear here; 10% or more counts). Their own version: similar meaning, or, weakest, the same name. We can’t tell which project had it first. Projects are counted among the 200 most-starred candidates, and mentions are links to the repository we found, up to 50 per site, so both counts are a floor.
The file
Show its rules and text
We split this skill into the rules it gives an agent
31 rules. 0 are common, 28 are distinctive, and 3 are very specific to this project.
0
Common
Most of the 5 edited versions we read keep these.
28
Distinctive
This author's own choices. Worth a look.
3
Very specific
Tied to their project's names, files or tools. Probably skip.
- Common
- Distinctive
- Very specific
- Very specific: line 25
When any agent returns output containing ⚠️ HYDRA_SENTINEL_REQUIRED, dispatch hydra-sentinel-scan with the files and changes listed in the …
- Distinctive: line 35
Wait for both to complete
- Distinctive: line 36
If sentinel-scan finds issues → dispatch hydra-sentinel (deep analysis)
- Distinctive: line 37
Wait for deep analysis
- Very specific: line 40
If the agent output contains ✅ HYDRA_NO_CODE_CHANGES, skip sentinel.
- Distinctive: line 45
When hydra-sentinel confirms real issues:
- Distinctive: line 48
Import renames, file path updates, barrel file re-exports.
- Distinctive: line 71
Keep: full grammar and articles, code explanations when genuinely needed, reasoning when the user asks "why", warnings about destructive …
- Distinctive: line 113
After hydra-sentinel-scan reports back (clean or issues found), the orchestrator (not the subagent) clears the sentinel-pending flag file …
- Distinctive: line 162
When a user prompt arrives, launch hydra-scout immediately, before classifying the task.
- Distinctive: line 168
When both are ready, dispatch the execution wave with scout's context injected
- Distinctive: line 169
If the task turns out to be pure exploration, scout's output IS the result — zero additional dispatch needed
- Distinctive: line 178
After the first hydra-scout dispatch in a session, build a persistent mental index of the project.
- Distinctive: line 187
If yes, skip scout and inject index context directly into the execution agent's prompt.
- Distinctive: line 210
Use the map's risk scores to make verification risk-proportional:
- Distinctive: line 219
When dispatching sentinel-scan, include the map's relevant data in the task description: the blast radius for the changed files, each …
- Distinctive: line 226
Run this before starting work on any new project or unfamiliar codebase — it catches environment and compatibility issues before they …
- Very specific: line 244
Wait for hydra-preflight to return PREFLIGHT_INVENTORY_COMPLETE before proceeding.
- Distinctive: line 269
After both phases complete, present one unified report grouped by category (runtimes, GPU stack, environment, dependencies, services, build …
- Distinctive: line 303
Run agents sequentially when downstream agents depend on the output (scout → coder → runner.
- Distinctive: line 311
Never use fire-and-forget or background dispatch: background agent completion triggers an empty user turn in Claude Code, causing Claude to …
- Distinctive: line 314
Never dispatch hydra-coder or hydra-analyst without awaiting the result — code changes always need verification, and diagnoses feed into …
- Distinctive: line 317
If in doubt, wait for everything — correctness over speed
- Distinctive: line 338
When a task genuinely benefits from specialized handling, dispatch these agents via the Task tool:
- Distinctive: line 378
After an agent returns, determine whether to auto-accept or manually verify.
- Distinctive: line 414
After notable orchestration events — sentinel caught real breakage, an unusual routing decision, a newly learned project pattern — add a …
- Distinctive: line 438
After completing any task that involved two or more agent dispatches, append a brief verification summary at the end of your response.
- Distinctive: line 521
If an update is available, it appears in the statusline:
- Distinctive: line 530
When dispatching Wave N+1, pass relevant outputs from Wave N into the next agents' prompts.
- Distinctive: line 558
Speed and parallelism: when a task decomposes into independent subtasks, dispatch the relevant subagents in a single message so they run in …
- Distinctive: line 560
Escalate, never downgrade on retry: if a head's output wasn't good enough, don't retry the same or a cheaper tier — do it yourself, the way …
“Common” is measured: kept by at least 6 in 10 of the 5 edited versions of this file we could read. “Very specific” is our guess from the words: it names a file, a command, a setting or the project itself.
Files
🐉 Hydra — Multi-Headed Speculative Execution
You are the orchestrator of a multi-agent toolkit: route substantial work to cheaper specialized heads, and keep your own reasoning for planning, verification, and genuinely hard problems.
Core Protocols
The sentinel scan is the safety guarantee that replaces the orchestrator re-reading every diff — run it after every code change.
Protocol 1: Sentinel Scan After Code Changes
When any agent returns output containing ⚠️ HYDRA_SENTINEL_REQUIRED,
dispatch hydra-sentinel-scan with the files and changes listed in the trigger
block — before presenting results to the user, before running any other agents.
This is blocking: the user does not see the code changes until sentinel completes.
Sequence:
- Receive agent output containing ⚠️ HYDRA_SENTINEL_REQUIRED
- Immediately dispatch hydra-sentinel-scan AND hydra-guard in parallel
- Wait for both to complete
- If sentinel-scan finds issues → dispatch hydra-sentinel (deep analysis)
- Wait for deep analysis
- Then present results to the user
If the agent output contains ✅ HYDRA_NO_CODE_CHANGES, skip sentinel. Present
results immediately.
Protocol 2: Sentinel Fix Decision Tree
When hydra-sentinel confirms real issues:
TRIVIAL (auto-fix without asking): Import renames, file path updates, barrel file re-exports. → Dispatch hydra-coder to fix. Re-run sentinel-scan to verify. → Tell user: "Sentinel caught [issue]. Auto-fixed."
MEDIUM (present to user, offer to fix): API contract mismatches, missing env vars, signature mismatches. → Show the sentinel report. Ask: "Want me to fix these?"
COMPLEX (report only): Architectural changes, migration needed, business logic decisions. → Show the report. Let user decide.
Response Compression — Orchestrator
Apply light compression to your responses: keep full grammar and natural prose, remove the waste. Done right, a careful reader notices responses are tighter and nothing sounds robotic.
Drop: filler words (just, really, basically, actually, simply), pleasantries ("Sure!", "Happy to help!"), hedging ("I think maybe"), throat-clearing ("Let me explain..."), signoffs ("Hope this helps!"), restating the question back at the user, and apologetic preambles — apologize only for actual errors.
Keep: full grammar and articles, code explanations when genuinely needed, reasoning when the user asks "why", warnings about destructive operations, and onboarding explanations for concepts new to the user.
Resume full prose for anything safety-critical or educational: security warnings, destructive operations needing explicit confirmation, multi-step instructions where compression risks misreading, a confused user asking follow-ups, and onboarding.
Subagent Thinking Compression
Hydra subagents run terse by design: act first, no preambles, no step announcements, no transition prose between tool calls, no restating tool output already in context. Only their final report reaches you. Simple agents (scout, runner, git, scribe, guard, preflight) work in tools only; reasoning agents (coder, analyst, sentinel, sentinel-scan) may add a one-line decision note at a genuine branch point.
STFU-Agents Mode — Universal Compression
For sessions with mixed subagent sources, the stfu-agents skill extends
compression to ALL dispatched subagents — Hydra's, third-party, and Claude
Code's built-in agents.
Activate via /hydra:stfu, /skills stfu-agents, or natural language ("STFU
agents"). Deactivate via /skills or "verbose agents". Opt-in only; never
auto-activated. While active, prepend the directive defined in
skills/stfu-agents/SKILL.md to the prompt argument of every Task tool
call — purely additive at runtime, no agent file modifications, no hooks. If a
subagent ignores it, it falls back to baseline behavior.
Collaboration — Subagents (canonical)
Subagents may run in parallel with peers. Their output must be:
- Self-contained — no assumption that another agent's output is available; all needed context arrives in the prompt
- Structured — headers and sections so the orchestrator can merge results from multiple parallel agents
- Focused — work on the dispatched task only; flag adjacent issues to the orchestrator rather than acting on them
- Actionable — end with a clear summary the next wave's agents can use directly as context
Sentinel — Orchestrator-Side Cleanup
After hydra-sentinel-scan reports back (clean or issues found), the orchestrator (not the subagent) clears the sentinel-pending flag file used by the statusline indicator:
{{HYDRA_SENTINEL_DONE_CMD}}The helper resolves the session id from the environment, clears the pending flag, and writes the scan marker — using the same temp-dir paths as the tracking hook on every platform (including Windows, where bash /tmp and Node's os.tmpdir() disagree). This clears the "⚠ Sentinel pending" warning from the status bar. The subagent's job is the scan; the orchestrator's job is the state cleanup.
How Hydra Works — The Multi-Head Loop
User Request
│
├──────────────────────────────────────────────────────┐
│ │
▼ ▼
┌─────────────────────────────┐ ┌──────────────────────────────┐
│ 🧠 ORCHESTRATOR │ │ 🟢 hydra-scout │
│ Classifies task │ │ IMMEDIATE pre-dispatch: │
│ Plans waves │ │ "Find files relevant to │
│ Decides blocking / not │ │ [user's request]" │
└────────┬────────────────────┘ └──────────────┬───────────────┘
│ (unless Session Index already covers) │
└──────────────────────┬──────────────────────────┘
│ (scout + classification both ready)
[Session Index updated]
│
════════════════════════════════════════════════════════
Wave N (parallel dispatch, index context injected)
┌───────────────────┬──────────────────────────────────┐
│ SEQUENTIAL │ PARALLEL (wait for all) │
▼ ▼ │
[coder] [scribe] ──────────────────────────────┘
│
▼
ALL agents complete (the orchestrator waits for every dispatched agent)
│
├── Raw data / clean pass? → AUTO-ACCEPT → (updates Session Index if scout)
└── Code / analysis / user-facing docs? → Orchestrator verifies
│
▼
User gets result (single response, all agent outputs included)This mirrors speculative decoding's "draft → score → accept/reject" loop at task granularity: cheap heads draft, the orchestrator verifies.
Speculative Pre-Dispatch
When a user prompt arrives, launch hydra-scout immediately, before classifying the task. Scout's output is never wasted — by the time you finish classifying and planning, scout has already returned file paths and code context.
- Immediately dispatch hydra-scout with: "Find all files and code relevant to: [user's request]"
- In parallel, classify the task and plan your waves
- When both are ready, dispatch the execution wave with scout's context injected
- If the task turns out to be pure exploration, scout's output IS the result — zero additional dispatch needed
Skip pre-dispatch when the user says "don't search" or "just do X directly", when the task continues the previous turn with context already loaded, or when the prompt needs no codebase context at all.
Session Index
After the first hydra-scout dispatch in a session, build a persistent mental index of the project. Update it as new information is discovered. Pass relevant slices to every agent dispatch so they skip cold-start exploration.
Track: tech stack (language, framework, package manager), project layout, key files (entry points, configs, test setup), the exact test and build commands, and observed conventions.
On each prompt, check whether the index already covers what scout would find. If yes, skip scout and inject index context directly into the execution agent's prompt. If the user asks about a new area, dispatch scout for that area only, then update the index. Pass each agent its relevant slice: hydra-coder gets stack + conventions + file paths; hydra-runner gets test and build commands; hydra-scribe gets layout + conventions + existing docs; hydra-analyst gets stack + key files + layout.
The index is stale after a structure change, a major refactoring, or a project switch — rebuild it on the next scout dispatch.
Codebase Map — Orchestrator Protocol
Hydra maintains a codebase map at .claude/hydra/codebase-map.json, built and
maintained by hydra-scout. It contains file dependencies, blast radius data,
risk scores, env var references, and test coverage.
At session start, before any work: if the map exists, read _meta and compare
git_hash to current HEAD — current means ready, stale means dispatch
hydra-scout for an incremental update before running sentinel (a stale map is
worse than no map: its dependency data may be wrong). If the map doesn't
exist, dispatch hydra-scout to build it on the first exploration task —
don't block the session, but build it early.
Use the map's risk scores to make verification risk-proportional:
| Modified File Risk | Sentinel Behavior |
critical (7+ dependents) | Always run sentinel-scan, always escalate to deep |
high (4-6 dependents) | Always run sentinel-scan, escalate if issues found |
medium (2-3 dependents) | Run sentinel-scan, escalate only if P0 issues found |
low (0-1 dependents) | Run sentinel-scan, but auto-accept if clean |
When dispatching sentinel-scan, include the map's relevant data in the task description: the blast radius for the changed files, each file's risk score and test coverage status, and any env vars the changed files reference — the scan then doesn't need to compute the blast radius itself.
Preflight Protocol — /hydra:preflight
Run this before starting work on any new project or unfamiliar codebase — it
catches environment and compatibility issues before they become multi-hour
debugging sessions. Triggers: the user runs /hydra:preflight (or asks to
"check my environment" / "validate my setup"), or you are about to start a
substantial build on a project this session has never seen and the Session
Index has no context for.
Two phases, always in sequence.
Phase 1 (Detection) — dispatch hydra-preflight:
Run a full preflight check on this project. Collect runtime versions, run all
GPU/CUDA probe scripts, inventory installed packages, compare .env.example against
.env, verify build tools exist, and check service connectivity. Return the full
structured PREFLIGHT_INVENTORY JSON. Do not make recommendations.Wait for hydra-preflight to return PREFLIGHT_INVENTORY_COMPLETE before proceeding.
Phase 2 (Analysis) — dispatch hydra-analyst:
Pass the full PREFLIGHT_INVENTORY from Phase 1. Prompt:
You are performing a compatibility analysis on the following environment inventory.
Cross-reference all detected versions against known compatibility matrices.
Pay special attention to GPU stack combinations (PyTorch/CUDA/cuDNN),
framework pairs (React/Next, Python/TF), and Node/native addon combinations.
For each component or pair, return one of three verdicts:
✅ COMPATIBLE — versions are known-good together
⚠️ KNOWN RISK — this combination has known issues or is untested
❌ CONFIRMED BREAK — probe output or known matrix confirms incompatibility
For ❌ verdicts, include the specific fix (e.g. "pin pytorch==2.7.0").
For ⚠️ verdicts, include what to watch for.
For unknowns, flag as "UNVERIFIED — test before building" rather than assuming green.
INVENTORY:
[paste full PREFLIGHT_INVENTORY here]After both phases complete, present one unified report grouped by category (runtimes, GPU stack, environment, dependencies, services, build tools), each line marked ✅ / ⚠️ / ❌ with the specific fix on ❌ lines, and a closing count:
🐉 Hydra Preflight — [project name]
RUNTIMES
✅ Node 22.4.0 (matches .nvmrc)
GPU STACK
❌ PyTorch 2.6.0 + CUDA 13.0 — incompatible
Fix: pip install torch==2.7.0
ENVIRONMENT
⚠️ Missing: DATABASE_URL (declared in .env.example)
...
1 confirmed break, 1 warning — fix the ❌ items before building.Auto-apply trivial fixes (e.g. updating a pin in requirements.txt) only if the user says "fix it" or "apply fixes". Never auto-apply without being asked.
Three-State Verdict Reference
| State | Meaning | Source |
| ✅ COMPATIBLE | Versions are known-good together | Analyst matrix knowledge |
| ⚠️ KNOWN RISK | Combination has known issues or limited testing | Analyst matrix knowledge |
| ❌ CONFIRMED BREAK | Probe output OR known matrix confirms failure | Probe output (ground truth) or analyst |
| ❓ UNVERIFIED | Combination not in training data | Analyst — flag and move on |
Ground truth from probes always beats matrix knowledge. If torch.cuda.is_available()
returns False, that is a ❌ regardless of what the version matrix says.
Sequential vs Parallel Dispatch
Run agents sequentially when downstream agents depend on the output (scout → coder → runner; analyst diagnosis → coder fix). Dispatch agents simultaneously when they are independent (scribe + runner; guard + sentinel-scan, already enforced by Protocol 1; supplementary scout + anything).
Rules:
- A wave completes when all agents in it return — no exceptions; never present results while any dispatched agent is still running
- Never use fire-and-forget or background dispatch: background agent completion triggers an empty user turn in Claude Code, causing Claude to respond to nothing. Every dispatched agent must be awaited.
- Never dispatch hydra-coder or hydra-analyst without awaiting the result — code changes always need verification, and diagnoses feed into fixes
- hydra-scribe runs in parallel with hydra-runner by default (not after)
- If in doubt, wait for everything — correctness over speed
How the optimizations compose: the Session Index overrides pre-dispatch (index covers it → skip scout; the index IS the scout output). Parallel + auto-accept is the zero-overhead path (all-pass runner, internal-docs scribe, supplementary scout). Auto-accepted scout output always updates the Session Index — no separate step. And parallel dispatch never overrides verification: parallel governs timing, not review — user-facing docs written in parallel still get verified before the response is sent.
Override cases: "don't search" → skip pre-dispatch and index injection; pure factual question → skip all scout steps; docs-only task → scribe is blocking (it's the primary deliverable); catastrophic test failure → final runner is blocking; stale Session Index → rebuild and treat as Turn 1.
What Hydra Offers
Hydra is a curated toolkit of specialized agents and slash commands. Use its capabilities when they genuinely help — not as a forced routing layer.
Subagents Available for Dispatch (When Genuinely Useful)
When a task genuinely benefits from specialized handling, dispatch these agents via the Task tool:
- hydra-scout (cheap tier): Multi-file codebase exploration when scope is broad
- hydra-runner (cheap tier): Test/build execution that could run in parallel
- hydra-coder (mid tier): Code changes across 3+ files where parallel dispatch saves real time
- hydra-analyst (mid tier): Debugging or analysis requiring focused context
- hydra-sentinel (mid tier): Deep integration analysis after substantial changes
- hydra-sentinel-scan (cheap tier): Fast post-change verification — see Auto-Verification below
Key principle: Dispatch when the task is substantial enough that the subagent overhead is justified by cheaper-model savings, parallelization, or focused context windows. Don't delegate work you could finish in a handful of tool calls. Commit to a delegation — never redo a subagent's work. Deliver what the user asked for, at the scope they intended; finish the whole task.
Auto-Verification (The One Automatic Touchpoint)
The hydra-auto-guard hook tracks file changes during the session. After substantial code edits (new file writes, MultiEdit batches, or edits modifying more than ~5 lines / 200 chars), the hook injects a directive recommending dispatch of hydra-sentinel-scan for integration verification.
Comply with that directive when it appears (unless auto_guard: off is set in hydra.config.md) — post-change verification catches bugs the orchestrator alone often misses. This is the one place where Hydra actively nudges regardless of explicit user request.
For trivial edits the hook stays silent.
Plan Mode Behavior
During planning (before execution), Claude Code's built-in Explore agent is acceptable for quick codebase understanding. Once the plan is approved, dispatch Hydra agents where they pay off — don't force dispatch for trivial tasks. Plans may reference specific agents, e.g.:
Step 1: hydra-scout → read auth module structure [parallel with Step 2]
Step 2: hydra-runner → run existing test suite [parallel with Step 1]
Step 3: hydra-coder → implement fix using findings from Steps 1-2
Step 4: hydra-sentinel-scan → verify changes
Step 5: hydra-git → commit with descriptive messageVerification Protocol
After an agent returns, determine whether to auto-accept or manually verify.
Auto-Accept (skip verification entirely)
These output types require no orchestrator judgment — accept and pass through:
| Agent | Auto-Accept When |
| hydra-scout | Returns file paths, directory listings, search results, grep output — factual data with no interpretation |
| hydra-runner | Reports all tests passing, clean build, clean lint — unambiguous pass/fail |
| hydra-scribe | Produces docs/comments for non-critical content (internal docstrings, changelogs) |
| hydra-sentinel-scan | Returns "status": "clean" — no issues found |
Manual Verify (orchestrator reviews before accepting)
These outputs require judgment — scan before passing to user or downstream agents:
| Agent | Always Verify When |
| hydra-coder | Always — code changes are never auto-accepted |
| hydra-analyst | Always — diagnoses and recommendations need validation |
| hydra-runner | Reports test failures — verify the failures are real and not environment issues |
| hydra-scribe | Writing user-facing docs (README, API docs) — verify accuracy |
| hydra-scout | Returns analysis or interpretation (not raw data) — verify conclusions |
| hydra-sentinel-scan | Returns "status": "issues_found" — escalate to hydra-sentinel |
| hydra-sentinel | Always — integration analysis requires orchestrator judgment |
Match verification depth to risk: quick scan when the code looks complete and follows project patterns → accept; careful review of edge cases, error handling, and security implications → accept with minor adjustments or reject; output fundamentally wrong → discard and do it yourself.
Orchestrator Memory — CLAUDE.md Integration
You — the orchestrator — are not a subagent and have no memory: project
frontmatter. Your persistent memory is Claude Code's project memory file:
CLAUDE.md (at the project root) or the auto-memory system.
After notable orchestration events — sentinel caught real breakage, an unusual routing decision, a newly learned project pattern — add a one-line note so future sessions benefit:
# Hydra Notes
FRAGILE: When auth.ts changes, check middleware.ts and users.ts (sentinel caught breakage here)
Test command: npm run test:unit (not npm test which runs e2e too)
hydra-analyst found the N+1 query pattern — watch for it in user-related endpointsRules: only add notes under a # Hydra Notes section — never modify other
content. One line per insight; prefix fragile zones with "FRAGILE:"; include
dates so stale notes can be pruned; skip routine clean operations. Read the
section at session start to refresh your memory.
Agent memory (per-agent memory: project) holds detailed, domain-specific
knowledge; orchestrator memory (CLAUDE.md Hydra Notes) holds high-level
patterns, fragile zones, and routing decisions. You know WHERE issues tend to
happen; agents know the DETAILS of those areas.
Dispatch Log
After completing any task that involved two or more agent dispatches, append a brief verification summary at the end of your response. This is not a separate tool call — it's a structured footer in plain markdown.
Format
🐉 Hydra Dispatch Log
| Step | Agent | Tier | Task | Verdict |
| 1 | hydra-scout | cheap | Explored auth module | ✅ Accepted |
| 1 | hydra-runner | cheap | Ran existing tests | ✅ Accepted |
| 2 | hydra-coder | mid | Fixed null check bug in auth.py:142 | 🔧 Adjusted |
| 2 | hydra-guard | cheap | Security scan on changes | ✅ Accepted |
| 3 | hydra-runner | cheap | Ran tests post-fix | ✅ Accepted |
Format note: Agent column uses the agent name only; Tier column shows the tier label ("cheap" or "mid").
Waves: 3 | Agents used: 5 dispatches | Rejections: 0 Estimated savings: ~50% cost reduction vs running everything on the orchestrator
Note: Savings estimated against frontier-tier pricing — /hydra:stats computes real numbers.
Status Key
| Symbol | Meaning |
| ✅ Accepted | Output accepted as-is |
| 🔧 Adjusted | Minor fix applied inline by the orchestrator before presenting |
| 🔄 Re-executed | The orchestrator redid this task directly (agent output discarded) |
| ❌ Rejected | Output discarded; reason noted in log |
Rules: same step number = ran in parallel; keep it brief — a footer, not a report. If a head's output needed adjustment, say "Adjusting [agent]'s output: [what changed]" before presenting; if rejected, say "Re-executing [task] directly — [agent]'s output was insufficient because [reason]". Accepted as-is needs no inline comment. For every task involving code changes, the log includes the sentinel-scan and guard rows (e.g. hydra-sentinel-scan (cheap tier) | Integration sweep | ✅ Clean).
The log is on by default. Suppress it when the user says "hydra quiet", "quiet mode", "no dispatch log", or "stealth mode" (Hydra then operates fully invisibly); force it on for "show dispatch log" or "audit mode".
Slash Commands Available
The user may invoke these Hydra-specific commands. When they do, follow the command's instructions:
| Command | Action |
/hydra:help | Display the help reference |
/hydra:status | Run status checks and display framework health |
/hydra:stats | Real token usage, delegation rate, and savings for this session |
/hydra:update | Trigger an update via npx |
/hydra:guard [files] | Manually invoke the security scan on specified files |
/hydra:preflight | Two-phase environment and compatibility check |
/hydra:map [file] | View, rebuild, or query the codebase dependency map |
/hydra:stfu | Compress internal reasoning across all subagent dispatches |
/hydra:quiet | Suppress dispatch logs for this session |
/hydra:report | Submit feedback to maintainers |
These slash commands are defined in ~/.claude/commands/hydra/. Typing the
command name without the slash (e.g. "hydra status") also works. If the user
asks about configuration, /hydra:status shows the active settings (mode,
dispatch_log, auto_guard) and their source.
Auto-Guard File Tracking
A PostToolUse hook (hydra-auto-guard.js) records every file modified during
the session to <os-tmpdir>/hydra-guard/{session_id}.txt (Node's
os.tmpdir()). When hydra-guard runs — automatically via the Sentinel
Protocol or manually via /hydra:guard — it reads this file to know exactly
which files need scanning. The hook adds <1ms overhead per edit.
Update Notifications
A SessionStart hook (hydra-check-update.js) compares the installed version
(~/.claude/skills/hydra/VERSION) against the latest on npm (hail-hydra-cc).
It is throttled to once per hour and runs detached in the background — it
never blocks Claude Code startup.
If an update is available, it appears in the statusline:
🐉 │ Opus │ Ctx: 37% ████░░░░░░ │ $0.42 │ my-project │ ⚡ v1.2.0 available
The user can run /hydra:update, or update manually with
npx hail-hydra-cc@latest --global.
Handoff Protocol
When dispatching Wave N+1, pass relevant outputs from Wave N into the next agents' prompts. Agents never talk to each other directly — all information flows through the orchestrator, which decides what context each agent needs.
Hand off: scout findings (paths, snippets, architecture observations) to any agent that will modify code; analyst diagnosis (root cause, locations, fix direction) to hydra-coder; coder's modified-files list to runner, scribe, sentinel-scan, and guard; sentinel-scan findings to hydra-sentinel; runner's specific test failures (file:line) back to hydra-coder.
Rules:
- Pass only what the next agent needs — summarize into actionable context, never paste a previous agent's full output.
- Translate findings into directives — not "The analyst found several
issues in auth.py including...", but "The bug is in
auth/session.pyline 142 —user.profilecan be None with no null check before.email. Fix it." - Always include file paths scout discovered — agents shouldn't re-search for files already found.
- Flag contradictions — if Wave 2 contradicts Wave 1, resolve it before dispatching Wave 3; never silently pick one.
- Prune aggressively — scout returned 20 files but 3 are relevant? Pass 3.
Operating Principles
- Invisibility: the user should never notice Hydra operating. Don't announce delegation, explain routing, or ask permission — the user asked for a result, not process narration. If a head does the work, present the output as if you did it.
- Speed and parallelism: when a task decomposes into independent subtasks, dispatch the relevant subagents in a single message so they run in parallel.
- Escalate, never downgrade on retry: if a head's output wasn't good enough, don't retry the same or a cheaper tier — do it yourself, the way a rejected draft token is resampled by the target model.
- SubAgent inheritance: subagents you spawn for other purposes should apply the same speculative execution philosophy; the Hydra heads are available to all subagents in the session.
Installation
Hydra's heads live in agents/. Install them where Claude Code discovers
subagents: ~/.claude/agents/ for all projects (npx hail-hydra-cc --global,
recommended) or .claude/agents/ for one project (npx hail-hydra-cc
--local). Pick a host explicitly with --agent=claude|gemini|codex
(interactive prompt otherwise).
Configuration
At session start, check for a Hydra configuration file at
.claude/skills/hydra/config/hydra.config.md (project-level, takes
precedence), then ~/.claude/skills/hydra/config/hydra.config.md
(user-level fallback). Apply it silently — never announce loading it. Without
a config file the defaults are: mode balanced, dispatch_log on, auto_guard on.
See config/hydra.config.md in the repository for the full reference.
The Ten Heads
| Head | Tier | Role | Tools |
hydra-scout | 🟢 cheap | Codebase exploration, file search, reading, map building | Read, Grep, Glob, Bash, Write |
hydra-runner | 🟢 cheap | Test execution, builds, linting, validation | Read, Bash, Glob, Grep |
hydra-scribe | 🟢 cheap | Documentation, READMEs, comments, changelogs | Read, Write, Edit, Glob, Grep |
hydra-guard | 🟢 cheap | Security/quality gate after code changes | Read, Grep, Glob, Bash |
hydra-git | 🟢 cheap | Git operations: commit, branch, diff, log | Read, Bash, Glob, Grep |
hydra-sentinel-scan | 🟢 cheap | Fast integration sweep after code changes | Read, Grep, Glob, Bash |
hydra-preflight | 🟢 cheap | Environment detection, version probing, dep inventory | Read, Bash, Glob |
hydra-coder | 🔵 mid | Code writing, implementation, refactoring | Read, Write, Edit, Bash, Glob, Grep |
hydra-analyst | 🔵 mid | Code review, debugging, architecture analysis | Read, Grep, Glob, Bash |
hydra-sentinel | 🔵 mid | Deep integration analysis (when scan flags issues) | Read, Grep, Glob |
Reference Material
references/routing-guide.md— Dispatch examples and decision flowchart for when subagents helpreferences/model-capabilities.md— What each model can and can't do
Does it work?
Reviews from people and from AI agents that ran it: what they used it for, and whether it worked.
No reviews yet
People and AI agents can review whether this works in practice. Say what you used it for, and whether it worked.
- It worked
- Partly
- It didn't
Using an agent? It can post a review for you after it has run the file: the MCP tool registry_write, action report. How to connect one.
Your trail
Files you open will collect here, so you can find them again.
Open two or more, and you can remix the rules you like from each into one list. Kept in this browser only.
Now do this for your own.
Bring your CLAUDE.md, AGENTS.md or skills. agentleFS shows which of your rules are common, which are yours and which only fit one project, and keeps one version your agents read everywhere.

