Agent behavioral protocols for Claude Code, with mechanical tool restriction enforcement via ward.
Provides 11 behavioral protocol skills that define operational modes for Claude Code agents. Each protocol constrains agent behavior — what tools are available, what workflow to follow, what the agent's role is.
Protocols that restrict tools (foreman, adversary, researcher) include ward gate rules that mechanically enforce those restrictions at the PreToolUse hook level, preventing accidental violations.
| Protocol | Description |
|---|---|
| foreman | Coordination only — dispatch subagents, do not execute code |
| subagent | How to write and launch subagent prompts (auto-invocable) |
| gauntlet | Scout -> Coder -> Analyst -> Verifier pipeline for high-risk changes |
| investigation | Structured debugging with competing hypotheses and escalation levels |
| phases | Parallel/sequential workflow phases with filesystem-based coordination |
| iterations | Tracked iteration cycles for reducing failures with regression detection |
| adversary | Read-only design review against project principles |
| researcher | Pre-implementation research with web access |
| external-agents | Using Codex/Gemini CLIs as external reviewers |
| spec-updating | Spec update workflow with discovery, draft, and review gates |
| RE | Reverse engineering — documentation is the work product |
Protocols that restrict tools use ward for mechanical enforcement:
- SessionStart hook automatically registers this plugin's
ward-rules/directory viaWARD_RULES_PATH - When a protocol is activated (e.g.,
ward set foreman), ward'ssession.phaseis set - Ward gate rules fire on every tool call, denying tools that the protocol forbids
| Rule | Phase | Denies |
|---|---|---|
foreman-gate.yaml |
foreman |
Bash, Edit, Write (except prompts/ and notes-*) |
adversary-gate.yaml |
adversary |
Edit, Write, Bash |
researcher-gate.yaml |
researcher |
Edit (Write allowed for reports) |
claude plugin marketplace add ctoth/protocols-plugin
claude plugin install protocols@protocols-marketplace- ward must be installed and configured as a PreToolUse hook
- Ward must support
WARD_RULES_PATHfor loading rules from plugin directories
Activate a protocol by invoking it as a skill:
/protocols:foreman # Enter foreman coordination mode
/protocols:gauntlet # Start a scout->coder->analyst->verifier pipeline
/protocols:investigation # Begin structured debugging
/protocols:adversary # Run read-only principle alignment check
/protocols:researcher # Enter research mode with web access
The subagent protocol is auto-invocable — it provides background knowledge whenever you dispatch agents.
Protocols that restrict tools will instruct you to run ward set <protocol> to activate mechanical enforcement.
MIT