anti-cheatScans diffs for cheats and stubs — TODO/FIXME, NotImplementedError, hardcoded fakes, skipped tests, mock leakage into prod paths, demo data references at runtime, env fallback masking missing config. Used by Ralph Loop gate and PostToolUse hook.
architecture-reviewerArchitecture-fitness gate. Sister agent to anti-cheat — where anti-cheat catches lies about behavior (NotImplementedError, hardcoded fakes), this catches lies about shape (god objects, shotgun surgery, distributed coupling). Runs as Ralph Loop gate, Phase 3 CI check, and on-demand `/forge:status` he
blast-radius-mapperPhase 1 refactor-path entry point. Scans git history + AST + import graph to map the blast radius of a proposed change. Restricts downstream context to only the files that matter. Replaces full dual-interrogation for /forge:new --fix.
code-simplifierPhase 2 Stage 11. Refactors passing implementation for DRY and readability WITHOUT changing behavior. Runs after all Ralph Loop tasks pass. Tests are immutable — if a simplification breaks a locked test, the simplification is wrong.
context-researcherStage 2 parallel researcher. Scans existing codebase for reuse opportunities — similar features, established patterns, utilities. Output feeds PRD and technical designer.
contract-generatorPhase 2 Stage 8. Writes black-box adversarial validation scripts — Playwright for UI journeys, Postman for API contracts, Docker bash for service-level. These are the outer gate of the Ralph Loop's adversarial sandbox.
criticCheap critic agent. Reviews a draft diff against task acceptance criteria and locked test names BEFORE expensive gates run. Returns pass/concerns/block + line-specific findings. One haiku call saves multiple expensive gate cycles when the draft is obviously wrong.
design-interrogatorCreative/UX lead. Co-equal with pm-interrogator in Stage 1. Owns user journeys, mental models, empty/error/loading states, naming, affordances, accessibility. Forces UX decisions via AskUserQuestion before code.
general-reviewerInter-stage sanity gate. Fires between every Phase 1 stage. Checks for logical gaps, scope drift, contradictions with earlier artifacts, output completeness. Returns pass/concerns/block.
lessons-keeperReflexion writer. Runs after ralph-coder completes a task (pass OR block). Distills 1-3 short, generalizable lessons from the run and appends to .forge/lessons.md. Also adds recipes to .forge/recipes.jsonl when a blocker was resolved.
pattern-researcherStage 2 parallel researcher (UX side). Scans existing UI, design system, components, prior UX decisions. Paired with context-researcher.
pm-interrogatorAdversarial PM. Extracts edge cases, acceptance criteria, scope boundaries, deps, deadlines. Forces decisions via AskUserQuestion. Co-equal with design-interrogator in Stage 1.
prd-writerSpec-anchored PRD writer. Consumes PM + Design interviews + Context + Pattern research. Emits .forge/prd.md (the constitution) — testable acceptance criteria, scope locks, UX contract refs.
ralph-coderInner Ralph Loop agent. Implements ONE task from .forge/prd.json. Reads lessons + recipes before coding, writes plan, codes, runs static + anti-cheat + test + adversarial gates, commits on green. Dispatches lessons-keeper post-task. Self-invokes until prd.json all green or blocked.
skeleton-scaffolderPhase 2 Stage 6. Generates dirs, interface stubs, and failing unit tests from shared.md. TDD enforcer — code must be written against tests, not vice versa.
task-sequencerPhase 2 Stage 9. Translates PRD + scaffold into .forge/prd.json — ordered task array, each tied to specific failing tests and acceptance criteria. All marked passes:false initially.
technical-designerStage 4. Translates PRD into architectural contract — components, data flow, interfaces, file layout, UX contract section. Emits .forge/shared.md.