A structured multi-agent orchestration system for Zoo Code
A hierarchical pipeline of specialized AI modes β from strategic planning to atomic execution.
Jump to: Overview Β· Pipeline Β· Modes Β· Commands Β· Native Rules Β· Installation Β· MCP Servers Β· Contributing
Before installing, enable the Run Slash Command experimental feature in Zoo Code β the entire pipeline depends on it:
- Open Zoo Code settings (gear icon)
- Go to Experimental Settings
- Enable "Run Slash Command"
- Restart VS Code if prompted
Without this setting, agents cannot execute
/plan,/delegate,/blueprint, or any other slash command. See run_slash_command docs for details.
This project provides a curated set of custom mode export files, slash commands, and a Forge skill that together define a disciplined, multi-layered agent orchestration workflow for Zoo Code. Each mode is a specialist with a clearly defined role, connected by standardized commands that cascade into each other to eliminate duplication.
flowchart TD
U["π€ User"] -->|"request"| O["π― Orchestrator"]
O -->|"/forge-init"| INIT["π» Code<br/>init"]
INIT -->|"workspace ready"| O
O -->|"/plan [PLAN]"| SO_P["βοΈ Subtask Orchestrator<br/>planning"]
SO_P -->|"Blueprint"| O
O -->|"/execute [EXEC]"| SO_E["βοΈ Subtask Orchestrator<br/>execution"]
SO_E -->|"phase result"| O
O -->|"/delegate"| G["π¦ Git<br/>commit phase"]
G -->|"committed"| O
O -->|"all phases done"| F["π― Orchestrator<br/>finalize"]
F -->|"result"| U
style U fill:#95A5A6,color:#fff,stroke:#7F8C8D
style O fill:#4A90D9,color:#fff,stroke:#2C5F8A
style F fill:#4A90D9,color:#fff,stroke:#2C5F8A
style INIT fill:#8E44AD,color:#fff,stroke:#5B2D6E
style SO_P fill:#27AE60,color:#fff,stroke:#1A7A42
style SO_E fill:#27AE60,color:#fff,stroke:#1A7A42
style G fill:#F39C12,color:#fff,stroke:#B8750E
flowchart TD
SO["βοΈ Subtask Orchestrator"] -->|"/clarify"| U["π€ User"]
U -->|"answers"| SO
SO -->|"/research"| A["π Ask"]
A -->|"State of Intel"| SO
SO -->|"/delegate"| AR["ποΈ Architect"]
AR -->|"/clarify"| U
U -->|"scope"| AR
AR -->|"/blueprint"| B["π Blueprint"]
B -->|"summary"| SO
style U fill:#95A5A6,color:#fff,stroke:#7F8C8D
style SO fill:#27AE60,color:#fff,stroke:#1A7A42
style A fill:#7B68EE,color:#fff,stroke:#4B3F8A
style AR fill:#E67E22,color:#fff,stroke:#A05A15
style B fill:#2C3E50,color:#fff,stroke:#1A252F
flowchart TB
O["π― Orchestrator"] -->|"/execute"| SO["βοΈ Subtask Orchestrator"]
SO -->|"/delegate"| C["π» Code"]
C -->|"/debug"| D["πͺ² Debug"]
D -->|"fix"| C
C -->|"done"| SO
SO -->|"phase result"| O
O -->|"/delegate"| G["π¦ Git"]
G -->|"committed"| O
SO -->|"/debug"| D
D -->|"bugfix result"| SO
style O fill:#4A90D9,color:#fff,stroke:#2C5F8A
style SO fill:#27AE60,color:#fff,stroke:#1A7A42
style C fill:#8E44AD,color:#fff,stroke:#5B2D6E
style D fill:#C0392B,color:#fff,stroke:#8A2520
style G fill:#F39C12,color:#fff,stroke:#B8750E
| Phase | Owner | Purpose |
|---|---|---|
| 0 - Init | Code | Create .memory/, .gitignore, AGENTS.md, and initialize git if missing |
| 1 - Plan | Subtask Orchestrator | Clarify scope, research intel, delegate to Architect, return Blueprint |
| 2 - Execute | Subtask Orchestrator | Decompose Blueprint tasks and delegate to Code/Debug |
| 3 - Commit | Git | Commit each completed execution phase before the next phase starts |
All modes share .memory/ as working memory β gitignored, local only. Read via codebase_search, write via /memory.
| File Pattern | Purpose | Behavior |
|---|---|---|
.memory/phase-{N}-{name}.md |
One file per Blueprint phase | Append only β never duplicate |
.memory/research-{topic}-{date}.md |
One file per research run (ask mode) | New file per topic |
.memory/blocker-{desc}.md |
One file per blocker | Standalone, resolvable |
.memory/memory.md |
General fallback (no phase context) | Append only |
.memory/blueprint-{date}.md |
Auto-created by /blueprint |
Overwrite if same date |
| Mode | File | Description |
|---|---|---|
| Orchestrator | agents/orchestrator-export.yaml |
Strategic entry point. Navigates Blueprint phases, delegates to subtask-orchestrator, and commits after each phase via Git. |
| Ask | agents/ask-export.yaml |
Intelligence specialist. Performs web research, PDF acquisition, codebase analysis, and generates "State of Intel" reports. |
| Architect | agents/architect-export.yaml |
Technical leader. Creates detailed blueprints, system designs, and structured plans from gathered intelligence. |
| Subtask Orchestrator | agents/subtask-orchestrator-export.yaml |
Dual-role specialist. (1) Planning: coordinates clarify β research β architect to produce Blueprint. (2) Execution: decomposes tasks into atomic subtasks for Code/Debug. |
| Code | agents/code-export.yaml |
Implementation specialist. Writes, modifies, and refactors code. Delegates errors to Debug mode. |
| Git | agents/git-export.yaml |
Version control specialist. Handles branch creation (on main), pull/sync, conventional commits with user identity. |
Standardized tool call formats that cascade into each other, eliminating duplication across agent files.
| Command | Purpose |
|---|---|
/complete |
attempt_completion format β run when work is done |
/delegate |
new_task format β run before delegating to any mode |
| Command | Purpose | Used By |
|---|---|---|
/clarify |
User clarification via ask_followup_question (loads grill-me) |
Architect, Subtask Orchestrator |
/blueprint |
Phased planning methodology β phases with individual tasks | Architect |
/planning |
Full planning lifecycle β clarify, research, architect, Blueprint | Subtask Orchestrator |
/finalize |
Human-readable final output | Orchestrator |
| Command | Purpose | Used By |
|---|---|---|
/web |
Web search + URL reader via SearXNG MCP | Ask |
/pdf |
PDF download via curl MCP + read via pdf-reader-mcp | Ask |
/git |
Git operations (MCP-first, CLI fallback) | Git |
| Command | Target Mode | Purpose |
|---|---|---|
/research |
ask |
Intel gathering |
/plan |
subtask-orchestrator |
Planning lifecycle (clarify β research β architect β Blueprint) |
/execute |
subtask-orchestrator |
Phase-based task execution |
/debug |
debug |
Error resolution |
/memory |
self (direct edit) | Phase-based memory persistence |
/forge-init |
code |
Project initialization |
See the Slash Commands section above for the command tables and cascading architecture.
All modes load skills/forge/SKILL.md on startup. It immediately loads skills/caveman/SKILL.md for token-efficient communication.
| Skill | Trigger | Purpose |
|---|---|---|
skills/forge/SKILL.md |
Startup, all modes | Pipeline orientation: flow, command registry, mode roles, conventions |
skills/caveman/SKILL.md |
Auto-loaded by forge | Token-efficient communication (full intensity default) |
skills/grill-me/SKILL.md |
/clarify command |
Relentless user interview β stress-test every design decision until shared understanding reached. Mandatory on every /clarify invocation. (source) |
skills/planning-and-task-breakdown/SKILL.md |
/blueprint command |
Structured planning methodology for phased task breakdown. |
skills/deep-research/SKILL.md |
Auto-loaded by ask mode (after forge) | Exhaustive deep research protocol β 10+ iteration search loop, recursive reflection, markdown-native reports. Source: moweme |
skills/conventional-commits/SKILL.md |
/git command |
Conventional Commits v1.0.0 format reference β types, SemVer mapping, breaking changes, revert rules |
Zoo Code native rules installed to ~/.roo/rules-git/. Loaded automatically when the rule's file pattern matches.
| Rule | Install Path | Purpose |
|---|---|---|
rules/git/mandatory-commit-guardrail.md |
~/.roo/rules-git/ |
Git commit subject enforcement β anti-pattern detection, pipeline jargon ban, DO/DON'T guardrails. Supplements /git. |
git clone https://github.com/weselben/RooForge.git
cd RooForge
mkdir -p ~/.roo/commands ~/.roo/skills ~/.roo/rules-git ~/.roo/mcp
cp -rf commands/* ~/.roo/commands/
# Only remove known RooForge skills β never rm -rf ~/.roo/skills/* to protect user-installed skills
rm -rf ~/.roo/skills/caveman ~/.roo/skills/forge ~/.roo/skills/grill-me ~/.roo/skills/planning-and-task-breakdown ~/.roo/skills/conventional-commits
# Only remove known RooForge rules β never rm -rf ~/.roo/rules-git/* to protect user-installed rules
rm -rf ~/.roo/rules-git/mandatory-commit-guardrail.md
rm -f ~/.roo/mcp/pdf-curl-server.sh
cp -rf skills/* ~/.roo/skills/
cp -rf rules/git/* ~/.roo/rules-git/
cp -rf mcp/* ~/.roo/mcp/
chmod +x ~/.roo/mcp/pdf-curl-server.shTo install a specific version, clone by tag instead:
git clone --branch v1.2.3 --depth 1 https://github.com/weselben/RooForge.git
cd RooForge
mkdir -p ~/.roo/commands ~/.roo/skills ~/.roo/rules-git ~/.roo/mcp
cp -rf commands/* ~/.roo/commands/
# Only remove known RooForge skills β never rm -rf ~/.roo/skills/* to protect user-installed skills
rm -rf ~/.roo/skills/caveman ~/.roo/skills/forge ~/.roo/skills/grill-me ~/.roo/skills/planning-and-task-breakdown ~/.roo/skills/conventional-commits
# Only remove known RooForge rules β never rm -rf ~/.roo/rules-git/* to protect user-installed rules
rm -rf ~/.roo/rules-git/mandatory-commit-guardrail.md
rm -f ~/.roo/mcp/pdf-curl-server.sh
cp -rf skills/* ~/.roo/skills/
cp -rf rules/git/* ~/.roo/rules-git/
cp -rf mcp/* ~/.roo/mcp/
chmod +x ~/.roo/mcp/pdf-curl-server.shWhy remove specific skills, not all? The
rm -rftargets only known RooForge skills (caveman,conventional-commits,forge,grill-me,planning-and-task-breakdown). This prevents accidental deletion of user-installed skills (e.g. vianpx skills addor manual installs). If you add a new skill to this repo, you must add it to therm -rfline in both install commands above.See Zoo Code Slash Commands docs, Skills docs, and Rules docs for details on global directories.
- Download the export YAML files from the latest release.
- Open Zoo Code in VS Code.
- Navigate to Zoo Code Settings β Custom Modes.
- Click Import and select the downloaded
.yamlfile(s). - The modes will appear in your mode selector.
Tip: Import all six modes for the full orchestration pipeline experience.
See MCP Servers below for required server setup.
πͺ Windows Installation (PowerShell)
# Clone the repo
$repo = "$env:USERPROFILE\RooForge"
if (-not (Test-Path $repo)) {
git clone https://github.com/weselben/RooForge.git $repo
}
# Create directories and copy files
New-Item -ItemType Directory -Force -Path "$env:USERPROFILE\.roo\commands" | Out-Null
New-Item -ItemType Directory -Force -Path "$env:USERPROFILE\.roo\skills" | Out-Null
New-Item -ItemType Directory -Force -Path "$env:USERPROFILE\.roo\rules-git" | Out-Null
New-Item -ItemType Directory -Force -Path "$env:USERPROFILE\.roo\mcp" | Out-Null
# Copy commands (flat files)
Copy-Item -Path "$repo\commands\*" -Destination "$env:USERPROFILE\.roo\commands\" -Force
# Only remove known RooForge skills β never rm -rf ~/.roo/skills/* to protect user-installed skills
Remove-Item -Recurse -Force "$env:USERPROFILE\.roo\skills\caveman" -ErrorAction SilentlyContinue
Remove-Item -Recurse -Force "$env:USERPROFILE\.roo\skills\forge" -ErrorAction SilentlyContinue
Remove-Item -Recurse -Force "$env:USERPROFILE\.roo\skills\grill-me" -ErrorAction SilentlyContinue
Remove-Item -Recurse -Force "$env:USERPROFILE\.roo\skills\planning-and-task-breakdown" -ErrorAction SilentlyContinue
Remove-Item -Recurse -Force "$env:USERPROFILE\.roo\skills\conventional-commits" -ErrorAction SilentlyContinue
# Copy skills (with subdirectories β Get-ChildItem avoids Copy-Item wildcard flattening bug)
Get-ChildItem "$repo\skills" | ForEach-Object {
Copy-Item -Path $_.FullName -Destination "$env:USERPROFILE\.roo\skills\" -Recurse -Force
}
# Only remove known RooForge rules
Remove-Item -Recurse -Force "$env:USERPROFILE\.roo\rules-git\mandatory-commit-guardrail.md" -ErrorAction SilentlyContinue
# Copy rules and mcp (flat files)
Copy-Item -Path "$repo\rules\git\*" -Destination "$env:USERPROFILE\.roo\rules-git\" -Force
Copy-Item -Path "$repo\mcp\*" -Destination "$env:USERPROFILE\.roo\mcp\" -ForceWindows users: The
curl-downloadMCP server also ships as a PowerShell script (pdf-curl-server.ps1). Copy it alongside the shell script and use the Windows config shown inmcp.md.
This repository uses automated semantic versioning powered by Conventional Commits:
flowchart LR
P["β¬οΈ Push to main"] --> W["βοΈ GitHub Actions Workflow"]
W --> V["π’ Compute next version<br/>from commit messages"]
V --> T["π·οΈ Create git tag<br/>(e.g. v1.2.3)"]
T --> R["π Publish GitHub Release<br/>with YAML assets"]
style P fill:#95A5A6,color:#fff,stroke:#7F8C8D
style W fill:#4A90D9,color:#fff,stroke:#2C5F8A
style V fill:#E67E22,color:#fff,stroke:#A05A15
style T fill:#27AE60,color:#fff,stroke:#1A7A42
style R fill:#8E44AD,color:#fff,stroke:#5B2D6E
| Prefix | Version Bump | Example |
|---|---|---|
feat: |
Minor | feat: add debug mode export |
fix: |
Patch | fix: correct orchestrator role definition |
feat!: or BREAKING CHANGE: |
Major | feat!: redesign pipeline architecture |
docs: |
None | docs: update README |
style: |
None | style: fix indentation in agent yaml |
refactor: |
None | refactor: simplify subtask logic |
perf: |
None | perf: optimize memory search |
test: |
None | test: add validation for exports |
build: |
None | build: update release workflow |
ci: |
None | ci: add linting step |
chore: |
None | chore: update workflow |
revert: |
None | revert: undo broken refactor |
The orchestration pipeline requires the following MCP (Model Context Protocol) servers for full functionality. These servers extend the capabilities of specific modes in the pipeline.
| Server | Required By | Purpose |
|---|---|---|
| SearXNG | Ask | Web search & URL reading |
| curl-download | Ask | PDF download from URLs (1 tool) |
| pdf-reader-mcp | Ask | Extract and parse text from PDFs (7 tools) |
| Git MCP | Git | Git operations (CLI fallback) |
π‘ See
mcp.mdfor full setup instructions, configuration details, and usage examples.
.
βββ .github/
β βββ workflows/
β β βββ release.yml # Auto-versioning & release workflow
β βββ ISSUE_TEMPLATE/ # Bug reports, features, questions
βββ agents/
β βββ orchestrator-export.yaml # Orchestrator mode
β βββ subtask-orchestrator-export.yaml # Subtask Orchestrator mode
β βββ architect-export.yaml # Architect mode
β βββ ask-export.yaml # Ask (research) mode
β βββ code-export.yaml # Code (implementation) mode
β βββ git-export.yaml # Git mode
βββ commands/
β βββ complete.md # /complete β attempt_completion format (includes blocked variant)
β βββ delegate.md # /delegate β new_task format
β βββ clarify.md # /clarify β user clarification protocol
β βββ blueprint.md # /blueprint β phased planning methodology
β βββ planning.md # /planning β SO planning lifecycle (clarify β research β architect)
β βββ finalize.md # /finalize β human-readable output
β βββ web.md # /web β web search + URL reader
β βββ pdf.md # /pdf β PDF download via curl MCP
β βββ git.md # /git β git operations (MCP + CLI + branch setup)
β βββ research.md # /research β intel delegation
β βββ plan.md # /plan β routing to SO for planning
β βββ execute.md # /execute β phase-based task execution
β βββ debug.md # /debug β error resolution
β βββ memory.md # /memory β phase-based memory persistence
β βββ forge-init.md # /forge-init β project initialization
βββ rules/
β βββ git/
β βββ mandatory-commit-guardrail.md # Git commit guardrails (installed to ~/.roo/rules-git/)
βββ skills/
β βββ forge/
β β βββ README.md # Forge skill overview
β β βββ SKILL.md # Pipeline orientation skill
β βββ caveman/
β β βββ SKILL.md # Token-efficient communication skill
β βββ deep-research/
β β βββ SKILL.md # Deep research protocol skill (moweme)
β βββ conventional-commits/
β β βββ SKILL.md # Conventional Commits v1.0.0 spec reference
β βββ grill-me/
β β βββ SKILL.md # Relentless user interview skill
β βββ planning-and-task-breakdown/
β βββ SKILL.md # Planning methodology skill
βββ mcp/
β βββ pdf-curl-server.sh # POSIX shell script for PDF download MCP
β βββ pdf-curl-server.ps1 # PowerShell script for PDF download MCP (Windows)
βββ mcp.md # MCP server configuration (SearXNG + curl-download + pdf-reader-mcp + Git MCP)
βββ CONTRIBUTING.md # Contribution guidelines
βββ LICENSE # Apache License 2.0
βββ README.md # This file
We welcome community involvement! However, please note that pull requests are not automatically accepted. All contributions go through an evaluation process.
See CONTRIBUTING.md for full details on:
- Our PR evaluation process
- Conventional Commits (extended) requirements
- Feature branch workflow
- Testing expectations
Licensed under the Apache License 2.0.
Copyright 2026 weselben
Licensed under the Apache License, Version 2.0 (the "License");
you may not use this file except in compliance with the License.
You may obtain a copy of the License at
http://www.apache.org/licenses/LICENSE-2.0
Unless required by applicable law or agreed to in writing, software
distributed under the License is distributed on an "AS IS" BASIS,
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
See the License for the specific language governing permissions and
limitations under the License.
- Built for Zoo Code - an AI-powered coding assistant for VS Code.
- Inspired by hierarchical task decomposition and multi-agent orchestration patterns.
- Caveman by JuliusBrussee - token-efficient communication skill for AI agents.