The suite

The suite.

Eight plugins for Claude Code, and dojo-suite, which installs all eight. Each plugin makes a rule of the protocol true by a mechanism: a hook, a pinned agent, a workflow or a meter. The anchors on this page are the homepages the plugins link to.

Tested with Claude Code 2.1.286 on 2026-10-02. Mods rely on function hooks, a Claude Code surface that may change between versions.

dojo-suite — all eight

bundle

All eight plugins in one install. It has no skills, agents, hooks or commands of its own: it only lists the eight below as dependencies, so installing it installs them, and it adds nothing to your always-on context.

Components
  • Dependencies: dojo-protocol, dojo-gates, dojo-router, dojo-meter, dojo-verify, dojo-flow, dojo-doctor, dojo-settle
  • Contents: a plugin manifest and nothing else
Install
In Claude Code
/plugin install dojo-suite@dojo-genesis
Or one at a time, for example
/plugin install dojo-gates@dojo-genesis
Kill switch
DOJO_OFF=1 turns off every hook in the suite. dojo-suite has no hooks and no switch of its own; each plugin's switch is on its card below.

early access Mods are early access. Enable them with export CLAUDE_CODE_ENABLE_FUNCTION_HOOKS=1 (or add it under env in ~/.claude/settings.json), then restart Claude Code. They load from dojo-router, dojo-meter and dojo-verify; dojo-suite includes all three, and if you installed plugins one at a time you need those three. Everything classic works without them.

dojo-protocol — session protocol

classic

The Dojo Protocol for Claude Code: ten rules at session start, a scout→contract→build→verify spine, and role agents pinned to the right model.

Components
  • Hook: hooks/session_start.py (SessionStart) adds the ten rules to the session's context; a project's ./DOJO.md replaces the text
  • Agents: dojo-protocol:scout (haiku), dojo-protocol:builder (sonnet), dojo-protocol:reviewer (sonnet), dojo-protocol:judge (opus)
  • Skills: protocol, scout-first, contract, refute, delegate
  • Output style: status-and-path (a status line first; big deliverables go to a file and come back as a path)
Install
In Claude Code
/plugin install dojo-protocol@dojo-genesis
Kill switch
DOJO_OFF=1 or DOJO_PROTOCOL_OFF=1. A project's ./DOJO.md replaces the text.

dojo-gates — tool guards

classic

Deterministic guards for the mistakes that waste a day: blanket staging, rewriting pushed commits, printing secrets, oversized reads, silent probes.

Components
  • Skill: gates (what each guard does, the ids, the overrides)
  • Hooks: the guards listed below, each with an id
Guards
  • staging refuses blanket staging (git add with -A, --all or a dot, and git commit -a) and suggests explicit paths
  • pushed-rewrite refuses amend, rebase, hard reset and force-push when the commits are already on a remote; allows them when they aren't
  • secret-print refuses commands that print secret-shaped environment variables or read .env files
  • token-url refuses token-shaped strings inside URLs and arguments to git and curl
  • big-read refuses a whole-file read of a large file and suggests grep or an offset and limit
  • mac-timeout on macOS, refuses the timeout command when it isn't installed and says the fix
  • masked-exit warns when a test or build piped into tail, head or grep is followed by a commit or push, because the pipe hides the exit code
  • config-first after a 401, a refused connection or a missing command, adds a note to check env, settings and credentials before logic (once per session per pattern)
  • empty-probe after a search or probe that printed nothing, adds a note: prove it can see a known positive before trusting the negative (once per session)
  • claude-md-reach off by default (the claude_md_reach setting turns it on); when enabled, denies the first edit under a directory whose nearest CLAUDE.md was never loaded this session, once, and names the file to read
Install
In Claude Code
/plugin install dojo-gates@dojo-genesis
Kill switch
DOJO_OFF=1 or DOJO_GATES_OFF=1. Skip single guards with DOJO_GATES_SKIP=<id>,<id>.

dojo-router — model router

classic + mod

No subagent silently inherits your most expensive model. Warns or blocks unpinned dispatches; the mod routes them by role.

Components
  • Hook: hooks/agent_model.py (PreToolUse on Agent and Task) warns, or blocks in block mode, when a subagent names no model
  • Hook: hooks/workflow_models.py (PreToolUse on Workflow) lists workflow agents that name no model
  • Mod: hooks/register.ts fills in the model by role and shows the routed model in the status line
  • Skill: router (the role table, and how to set model on a call and in a workflow)
  • Settings: mode, default_tier, explore_tier, auto_route, opus_cap
Install
In Claude Code
/plugin install dojo-router@dojo-genesis
Kill switch
DOJO_OFF=1 or DOJO_ROUTER_OFF=1. The mode setting takes warn, block or off; auto_route turns the mod's routing off.

early access Mod: early access. It needs function hooks (CLAUDE_CODE_ENABLE_FUNCTION_HOOKS=1); the classic hooks above work without them.

dojo-meter — cost report

classic + mod

See what each turn, agent and model costs, and how big your context is: a cost report from your transcripts, and a live band with the mod.

Components
  • Command: /dojo-meter:cost reads your transcripts and prints a table by model and by main thread versus subagents. It's an estimate at list prices; unknown models show as unpriced, never as zero
  • Mod: hooks/register.ts keeps a live band (session estimate, context size, cache-read share) and warns near a budget or a large context
  • Command: /dojo-meter:band toggles the band
  • Settings: show_band, budget_usd, context_warn_tokens
Install
In Claude Code
/plugin install dojo-meter@dojo-genesis
Kill switch
DOJO_OFF=1 or DOJO_METER_OFF=1. The show_band setting hides the band.

early access Mod: early access. It needs function hooks (CLAUDE_CODE_ENABLE_FUNCTION_HOOKS=1); the /dojo-meter:cost command above works without them.

dojo-verify — evidence check

classic + mod

"Done" means a check ran and passed in this session. Flags claims of success with no evidence behind them.

Components
  • Hook: hooks/stop_evidence.py (Stop) blocks a final message that claims success when no check has passed since your last edit, and never blocks twice in a row
  • Skill: evidence (a report is a claim; load the real page after a deploy; empty output isn't evidence)
  • Mod: hooks/register.ts shows an UNVERIFIED status and a dispatched, returned and failed tally for agents
  • Settings: mode, show_status, toast_unverified
Install
In Claude Code
/plugin install dojo-verify@dojo-genesis
Kill switch
DOJO_OFF=1 or DOJO_VERIFY_OFF=1. The mode setting takes block, warn or off; show_status and toast_unverified quiet the mod.

early access Mod: early access. It needs function hooks (CLAUDE_CODE_ENABLE_FUNCTION_HOOKS=1); the classic hooks above work without them.

dojo-flow — workflow DAGs

workflows

Parallel builds that stay independent: a contract gate, scouts on small models, builders in the middle, judges at the ends, and a scorecard that counts returns.

Components
  • Workflow: build runs Contract, Scout, Advise, Build, Integrate and Audit; its Contract phase refuses tracks that overlap
  • Workflow: converge runs audit lenses, adversarial verification of each finding, optional fixes and a gate
  • Commands: /dojo-flow:build, /dojo-flow:converge
  • Skill: dag-plan (how to cut a goal into independent tracks, and report returns instead of dispatches)
  • Script: scripts/dag_ops.py (validate, width, critical path, cone)
Install
In Claude Code
/plugin install dojo-flow@dojo-genesis
Kill switch
No hooks. Nothing runs unless you call it. To turn it off, disable or uninstall it with /plugin.

dojo-doctor — config doctor

classic

Find the hooks and settings that fail or cost you silently: broken interpreters, noisy injections, always-on token weight, flags that are off.

Components
  • Command: /dojo-doctor:check runs scripts/doctor.py, which only reads. It never runs your hook commands
  • Sections: interpreters, hook failures in recent transcripts, injection weight, always-on weight (an estimate), the function-hooks flag, the python3 version
  • Skill: doctor (when to run it, how to read it)
Install
In Claude Code
/plugin install dojo-doctor@dojo-genesis
Kill switch
No hooks. Nothing runs unless you call it. To turn it off, disable or uninstall it with /plugin.

dojo-settle — decision experiments

classic

Settle claims with evidence: pre-registered experiments, with/without baselines and decision gates before anything becomes a number.

Components
  • Skills: settle, decision-gate, eval-kit
  • Script: scripts/prereg.py writes a pre-registration file with a hash of the decision rule, and verifies it later
  • Templates: templates/case.yaml, templates/prereg.md. They are scaffolds; the with/without eval hasn't been run
Install
In Claude Code
/plugin install dojo-settle@dojo-genesis
Kill switch
No hooks. Nothing runs unless you call it. To turn it off, disable or uninstall it with /plugin.
Library

The library.

Before the suite there was a practice library: plugins of skills you can install one at a time. The suite doesn't depend on them.

  • strategic-thinking — scouting options before you commit, and positioning a product
  • specification-driven-development — specs and implementation prompts grounded in the codebase
  • wisdom-garden — turning session context into notes and reusable skills
  • system-health — audits of repository, documentation and hook health
  • continuous-learning — retrospectives, research and structured debugging
  • agent-orchestration — handoffs and coordination between agents
  • skill-forge — creating and maintaining skills
  • dojo-craft — single-file variants of a handful of library skills, for quick output
  • pretext-pdf — exporting code, Markdown and HTML as typeset PDFs

Install any of them the same way: /plugin install <name>@dojo-genesis.

github.com/DojoGenesis/plugins

Companions.

  • bring-loop — surfaces one outward action a day from a queue, stages it, and logs the outcome when you say so.
  • kata-harness — extends bring-loop's queue with bounded sessions.