Skip to content

weselben/RooForge

Folders and files

NameName
Last commit message
Last commit date

Latest commit

Β 

History

34 Commits
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 

Repository files navigation

🎯 RooForge

A structured multi-agent orchestration system for Roo Code

A hierarchical pipeline of specialized AI modes β€” from strategic planning to atomic execution.

License: Apache 2.0 GitHub release Conventional Commits


Jump to: Overview Β· Pipeline Β· Modes Β· Commands Β· Installation Β· MCP Servers Β· Contributing


⚠️ Prerequisites

Before installing, enable the Run Slash Command experimental feature in Roo Code β€” the entire pipeline depends on it:

  1. Open Roo Code settings (gear icon)
  2. Go to Experimental Settings
  3. Enable "Run Slash Command"
  4. 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.


πŸ“‹ Overview

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 Roo Code. Each mode is a specialist with a clearly defined role, connected by standardized commands that cascade into each other to eliminate duplication.

πŸ”„ The Pipeline

flowchart TD
    User["πŸ‘€ User Request"] --> O
    O["🎯 Orchestrator"] -->|"/research"| A
    A["πŸ” Ask<br/><i>/web β†’ search + read</i>"] -->|"State of Intel"| O
    O -->|"/plan"| AR
    AR["πŸ—οΈ Architect<br/><i>/clarify β†’ /blueprint</i>"] -->|"Phased Blueprint"| O
    O -->|"/execute"| SO
    SO["βš™οΈ Subtask Orchestrator"] -->|"/delegate"| C
    SO -->|"/delegate"| D["πŸͺ² Debug"]
    SO -->|"/delegate"| G
    C["πŸ’» Code<br/><i>Implementation</i>"] -->|"result"| SO
    C -->|"on error β†’ /debug"| D
    D --> SO
    G["πŸ“¦ Git<br/><i>/git β†’ commit</i>"] --> SO
    SO -->|"/memory"| M["πŸ’Ύ .memory/"]
    SO -->|"task result"| O
    O -->|"/finalize"| User2["πŸ‘€ User<br/><i>Final result</i>"]

    style O fill:#4A90D9,color:#fff,stroke:#2C5F8A
    style A fill:#7B68EE,color:#fff,stroke:#4B3F8A
    style AR fill:#E67E22,color:#fff,stroke:#A05A15
    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
    style M fill:#2C3E50,color:#fff,stroke:#1A252F
    style User fill:#95A5A6,color:#fff,stroke:#7F8C8D
    style User2 fill:#95A5A6,color:#fff,stroke:#7F8C8D
Loading

Pipeline Phases

Phase Mode Purpose
1 - Intel Ask Eliminate unknowns via web research & codebase analysis
2 - Design Architect Produce a phased Blueprint with individual tasks
3 - Execute Orchestrator Navigate Blueprint phases, delegate tasks sequentially
4 - Atomize Subtask Orchestrator Break tasks into atomic subtasks
5 - Implement Code / Debug Write or fix code
6 - Commit Git Validate, stage, and commit with conventional messages

Working Memory

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

πŸ€– Modes

Mode File Description
Orchestrator agents/orchestrator-export.yaml Strategic entry point. Performs high-level task bounding, enforces the pipeline, and delegates to specialized modes.
Ask agents/ask-export.yaml Intelligence specialist. Performs web research, 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 Execution manager. Decomposes tasks into the smallest atomic units and delegates to implementation specialists.
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 conventional commits, branch management, and repository integrity.

⚑ Slash Commands

Standardized tool call formats that cascade into each other, eliminating duplication across agent files.

Base Commands

Command Purpose
/complete attempt_completion format β€” run when work is done
/delegate new_task format β€” run before delegating to any mode

Flow Commands

Command Purpose Used By
/clarify User clarification via ask_followup_question Architect
/blueprint Phased planning methodology β€” phases with individual tasks Architect
/finalize Human-readable final output Orchestrator

Tool Commands

Command Purpose Used By
/web Web search + URL reader via SearXNG MCP Ask
/git Git operations (MCP-first, CLI fallback) Git

Delegation Commands (cascade to /delegate)

Command Target Mode Purpose
/research ask Intel gathering
/plan architect Blueprint creation
/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.

🧠 Forge Skill + Caveman

All modes load two skills on startup:

  1. skills/forge/SKILL.md β€” Pipeline orientation: flow, command registry, mode roles, conventions
  2. skills/caveman/SKILL.md β€” Token-efficient communication (auto-loaded by forge skill, full intensity)

Additional skill: skills/planning-and-task-breakdown/SKILL.md β€” Loaded by architect during /blueprint for structured planning methodology.

🧩 Mode Interaction Flow

flowchart TD
    U["πŸ‘€ User"] -->|"Submit request"| O1["🎯 Orchestrator"]
    O1 -->|"/forge-init"| INIT["πŸ’» Code<br/><i>Init workspace</i>"]
    INIT -->|"initialized"| O1
    O1 -->|"/research β†’ /delegate"| A["πŸ” Ask<br/><i>/web for search + read</i>"]
    A -->|"State of Intel"| O2["🎯 Orchestrator<br/><i>Assemble Master Context</i>"]
    O2 -->|"/plan β†’ /delegate"| AR["πŸ—οΈ Architect<br/><i>/clarify β†’ /blueprint</i>"]
    AR -->|"Phased Blueprint"| O3["🎯 Orchestrator"]
    O3 -->|"/execute β†’ /delegate"| SO["βš™οΈ Subtask Orchestrator"]
    SO -->|"/delegate"| C["πŸ’» Code / Debug"]
    C -->|"result"| SO
    SO -->|"/memory"| M["πŸ’Ύ .memory/"]
    SO -->|"/delegate"| G["πŸ“¦ Git<br/><i>/git for commit</i>"]
    G -->|"committed"| SO
    SO -->|"task result"| O4["🎯 Orchestrator<br/><i>Evaluate & next task</i>"]
    O4 -->|"/finalize"| U2["πŸ‘€ User<br/><i>Final result</i>"]

    style U fill:#95A5A6,color:#fff,stroke:#7F8C8D
    style U2 fill:#95A5A6,color:#fff,stroke:#7F8C8D
    style O1 fill:#4A90D9,color:#fff,stroke:#2C5F8A
    style O2 fill:#4A90D9,color:#fff,stroke:#2C5F8A
    style O3 fill:#4A90D9,color:#fff,stroke:#2C5F8A
    style O4 fill:#4A90D9,color:#fff,stroke:#2C5F8A
    style INIT fill:#8E44AD,color:#fff,stroke:#5B2D6E
    style A fill:#7B68EE,color:#fff,stroke:#4B3F8A
    style AR fill:#E67E22,color:#fff,stroke:#A05A15
    style SO fill:#27AE60,color:#fff,stroke:#1A7A42
    style C fill:#8E44AD,color:#fff,stroke:#5B2D6E
    style G fill:#F39C12,color:#fff,stroke:#B8750E
    style M fill:#2C3E50,color:#fff,stroke:#1A252F
Loading

πŸš€ Installation

Install / Update (CLI)

git clone https://github.com/weselben/RooForge.git
cd RooForge
mkdir -p ~/.roo/commands ~/.roo/skills
cp -rf commands/* ~/.roo/commands/
rm -rf ~/.roo/skills/caveman ~/.roo/skills/forge ~/.roo/skills/planning-and-task-breakdown
cp -rf skills/* ~/.roo/skills/

To 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
cp -rf commands/* ~/.roo/commands/
rm -rf ~/.roo/skills/caveman ~/.roo/skills/forge ~/.roo/skills/planning-and-task-breakdown
cp -rf skills/* ~/.roo/skills/

Why rm -rf before copy? If you previously installed a skill via npx skills add (e.g. caveman), it may exist as a single file. The repo ships skills as directories, so cp -rf would fail with "cannot overwrite non-directory with directory." Removing the old versions first ensures a clean copy. The mkdir -p ensures target directories exist on fresh installs.

See Roo Code Slash Commands docs and Skills docs for details on global directories.

Import Agent Modes

  1. Download the export YAML files from the latest release.
  2. Open Roo Code in VS Code.
  3. Navigate to Roo Code Settings β†’ Custom Modes.
  4. Click Import and select the downloaded .yaml file(s).
  5. The modes will appear in your mode selector.

Tip: Import all six modes for the full orchestration pipeline experience.

Configure MCP Servers

See MCP Servers below for required server setup.

πŸ”„ Automated Releases

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"]
Loading

Commit Convention

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
chore: None chore: update workflow
refactor: None refactor: simplify subtask logic
test: None test: add validation for exports

πŸͺ¨ Caveman β€” Token-Efficient Communication

Caveman enforces ultra-terse communication across the entire orchestration stack. Cuts ~65% of output tokens while keeping full technical accuracy. Auto-loaded by the Forge skill on startup** β€” installed as part of the skills directory (see Installation step 3).

Manual install (if not using the skills directory):

npx skills add JuliusBrussee/caveman
# Select "Roo Code" when prompted

Caveman defaults to full intensity. Switch levels anytime: "caveman ultra", "caveman lite", "stop caveman".

πŸ”Œ MCP Servers

The orchestration pipeline requires two MCP (Model Context Protocol) servers for full functionality. These servers extend the capabilities of specific modes in the pipeline.

Server File Required By Purpose
SearXNG mcp/searxng.md Ask Web search & URL reading
Git MCP mcp/git-mcp-server.md Git Git operations (CLI fallback)

πŸ’‘ See each server's documentation for full setup instructions, configuration details, and usage examples.

πŸ“ Repository Structure

.
β”œβ”€β”€ .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
β”‚   β”œβ”€β”€ finalize.md                  # /finalize β€” human-readable output
β”‚   β”œβ”€β”€ web.md                       # /web β€” web search + URL reader
β”‚   β”œβ”€β”€ git.md                       # /git β€” git operations (MCP + CLI)
β”‚   β”œβ”€β”€ research.md                  # /research β€” intel delegation
β”‚   β”œβ”€β”€ plan.md                      # /plan β€” architectural grounding
β”‚   β”œβ”€β”€ 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
β”œβ”€β”€ skills/
β”‚   β”œβ”€β”€ forge/
β”‚   β”‚   β”œβ”€β”€ README.md                # Forge skill overview
β”‚   β”‚   └── SKILL.md                 # Pipeline orientation skill
β”‚   β”œβ”€β”€ caveman/
β”‚   β”‚   └── SKILL.md                 # Token-efficient communication skill
β”‚   └── planning-and-task-breakdown/
β”‚       └── SKILL.md                 # Planning methodology skill
β”œβ”€β”€ mcp/
β”‚   β”œβ”€β”€ searxng.md                   # SearXNG MCP server setup (Ask mode)
β”‚   └── git-mcp-server.md            # Git MCP server setup (Git mode)
β”œβ”€β”€ CONTRIBUTING.md                  # Contribution guidelines
β”œβ”€β”€ LICENSE                          # Apache License 2.0
└── README.md                        # This file

🀝 Contributing

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

πŸ“„ License

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.

⭐ Acknowledgments

  • Built for Roo 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.

About

A structured multi-agent orchestration stack for Roo Code - hierarchical pipeline of specialized AI modes from strategic planning to atomic execution, with automated semantic versioning and releases. Runs way past 48 Hrs with latest long running Models!

Topics

Resources

License

Contributing

Stars

Watchers

Forks

Contributors