By alp82
Run a deterministic multi-stage pipeline that triages requests, routes to specialized agents for code review, testing, prototyping, planning, implementation, and shipping, with safety gates at decision points.
Fire the review wave over a change - standing lenses always, conditional lenses by trigger, a different-model worker alongside. The ad-hoc review verb for any diff, branch, or file set.
Run a code-modifying request end to end - triage with detection detours, plan, challenge, implement test-first, review wave, fix. Every code-modifying request enters here.
Install forge's bare skill names into ~/.claude/skills - symlink, version-stamped copy where symlinks fail - and write this repo's tracker conventions if absent. Run once after plugin install; re-run when the stale-skills nag says so.
Executes bash commands
Hook triggers when Bash tool is used
Modifies files
Hook triggers on file write and edit operations
Own this plugin?
Verify ownership to unlock analytics, metadata editing, and a verified badge. GitHub access is read-only (username + org membership).
Sign in to claimOwn this plugin?
Verify ownership to unlock analytics, metadata editing, and a verified badge. GitHub access is read-only (username + org membership).
Sign in to claimnpx claudepluginhub alp82/forge --plugin forgeBased on adoption, maintenance, documentation, and repository signals. Not a security audit or endorsement.
A code-change workflow for Claude Code. Your request gets planned, the plan gets attacked, the code gets written with tests, and a panel of reviewers shoots at it before you ever see it.
Site: alp82.github.io/forge — live demos: the full run, every stage, the crossfire wave
Featured in: Alper Ortac's AI Stack
/plugin marketplace add alp82/forge
/plugin install forge@alperortac
/forge:setup-forge
The setup runs once, plugin-prefixed; it installs the bare command names, so from then on it's /setup-forge everywhere. Plugin updates propagate on their own — no re-run needed.
Upgrading from alp-river? Three steps in the 2.0.0 changelog entry.
[!TIP] Run the main session on a top-tier model at high effort. The orchestrator drives every routing decision, so a weaker main model degrades the whole pipeline.
One verb. Describe the change you want in your own words.
/forge add rate limiting to the public API
/forge #482 # or point it at a ticket
/crossfire # review what's already there

Per-stage micro-casts and the standalone crossfire wave play on the site.
| Stage | What it does |
|---|---|
| triage | Sizes the request and detects what's missing: unknowns get interviewed, unproven externals get prototyped, missing knowledge gets researched, a bug gets diagnosed before anything is built. |
| plan | Writes the approach to a file, not the chat — the next stage reads a document, and a fresh agent can pick it up after compaction. |
| challenge | A second agent tries to break the plan before a line is written. Cheapest possible place to be wrong. |
| tests | Writes the red tests first, aimed at the behavior the request asked for — then a second agent hunts for false green: the test that passes with the feature deleted, the mock asserting on itself. Code waits until the tests prove something. |
| implement | Makes the change against the surviving plan and turns the tests green. |
| crossfire | Independent reviewers hit the diff at once, each carrying one lens, blind to the others. Also runs standalone as /crossfire on any diff, branch, or file set. |
| fix | Works the findings until the diff survives a clean re-run of the wave. |
With a worker CLI on PATH (codex, gemini, opencode), the challenge and the crossfire wave each get a different-model second opinion — read-only, failure visible, never blocking.
Prompts get forgotten under compaction; hooks don't. Forge ships six of them. If code changed and the review never ran, the session refuses to end.
No agent definitions, no config language, no signal vocabulary. Every stage is a markdown file you can read in one sitting and edit with your own opinions — start at skills/forge/SKILL.md. The plugin is a delivery mechanism, nothing more.
Point /forge at a ticket and it reads the ticket as the request, then posts the verdict back and closes it. No tracker? Nothing is missing — the contract lies dormant.
Contributing / internals → CONTRIBUTING.md
Alper Ortac · x.com/alperortac
Adversarial multi-agent pipeline for Claude Code. GAN-style loops where generators produce artifacts, discriminators validate them, and feedback drives convergence.
Autonomous session orchestrator for Claude Code - manages multi-phase development workflows
Use the Pi coding agent from Claude Code to review code or delegate tasks.
Multi-agent orchestration for code that matters.
Context-Driven Development: draft specs and plans before implementation. Structured workflows for features and fixes.
Plan iron, verify real. Ironclad planning with independent verification chain. Turns any input into a bulletproof plan, executes with TDD, verifies with independent agents.