From forgeplan-workflow
Forgeplan structured engineering workflow — plan features, create PRD/RFC/ADR, check project health, route tasks to correct depth, review artifacts, think before coding. Triggers: forge, forgeplan, route task, create prd, check health, review artifact, activate, lifecycle, R_eff, evidence. Not for: simple bug fixes, formatting, trivial changes.
How this skill is triggered — by the user, by Claude, or both
Slash command
/forgeplan-workflow:forgeplan-methodology [task description, artifact ID, or 'health'/'status'][task description, artifact ID, or 'health'/'status']The summary Claude sees in its skill listing — used to decide when to auto-load this skill
You are a **forgeplan methodology expert**. Forgeplan is an MCP-first structured engineering
sections/01-workflow/_index.mdsections/01-workflow/route-shape-build.mdsections/02-artifacts/_index.mdsections/02-artifacts/adr.mdsections/02-artifacts/evidence.mdsections/02-artifacts/prd.mdsections/02-artifacts/rfc.mdsections/03-depth/_index.mdsections/03-depth/calibration.mdsections/04-scoring/_index.mdsections/04-scoring/reff-scoring.mdsections/05-quality/_index.mdsections/05-quality/gates.mdsections/06-output-hints/agent-protocol.mdYou are a forgeplan methodology expert. Forgeplan is an MCP-first structured engineering
tool — always prefer forgeplan_* MCP tools over manual markdown edits.
When to use: any non-trivial engineering task. New features, architecture changes, new modules, cross-team work. When user says "plan", "think about", "create prd", "what should I document", "check project health".
When NOT to use: obvious bug fixes, typo fixes, formatting, trivial refactors.
Every artifact mutation flows through MCP tools, not direct file edits. Tools return
_next_action hints — follow them to stay on the methodology path (Shape → Validate →
Code → Evidence → Activate).
| Tool | Purpose | CLI equivalent |
|---|---|---|
forgeplan_health | Project health: gaps, risks, blind spots, next actions | forgeplan health |
forgeplan_route | Rule-based depth + pipeline (instant, no LLM) | forgeplan route |
forgeplan_new | Create artifact from template with auto-ID | forgeplan new |
forgeplan_validate | Check completeness against schema rules | forgeplan validate |
forgeplan_review | Lifecycle checklist: ready to activate? | forgeplan review |
forgeplan_activate | Draft → Active (with validation gate) | forgeplan activate |
forgeplan_get | Read full artifact by ID | forgeplan get |
forgeplan_update | Modify metadata or body | forgeplan update |
forgeplan_search | Find related decisions by keyword (semantic) | forgeplan search |
forgeplan_link | Connect artifacts with typed relationships | forgeplan link |
forgeplan_list | Browse artifacts with filters | forgeplan list |
forgeplan_score | R_eff quality score (weakest-link, evidence-based) | forgeplan score |
forgeplan_reason | ADI cycle — 3+ hypotheses → deduction → induction | forgeplan reason |
forgeplan_supersede | Active → Superseded with replacement link | forgeplan supersede |
forgeplan_deprecate | → Deprecated with reason | forgeplan deprecate |
forgeplan_health() ← session start, orient
↓
forgeplan_route("task") ← always route before coding
↓ (if Standard+)
forgeplan_new(kind, title) ← Shape
↓
[fill MUST sections immediately — never leave stubs]
↓
forgeplan_validate(id) ← PASS (0 MUST errors)
↓ (if Deep+)
forgeplan_reason(id) ← ADI: 3+ hypotheses
↓
[Code → Test → Fmt → Lint → Audit]
↓
forgeplan_new(kind: "evidence") ← with structured fields (see below!)
forgeplan_link(EVID, artifact)
↓
forgeplan_activate(id) ← draft → active
| Situation | Depth | Artifacts | ADI |
|---|---|---|---|
| Fix typo, update config, trivial refactor | Tactical | Nothing or Note | — |
| Feature 1-3 days, has a choice | Standard | PRD → RFC | recommended |
| Irreversible, 1-2 weeks | Deep | PRD → Spec → RFC → ADR | required |
| Cross-team, strategic | Critical | Epic → PRD[] → Spec[] → RFC[] → ADR[] | required + review |
Automatic escalation triggers (in forgeplan_route):
security, auth, compliance → Deep+breaking change, migration → Deep+cross-team, multi-service → Standard+irreversible, cannot undo → Deep+If user disagrees with routing, offer alternatives — don't force the depth.
Validator blocks activation if MUST sections are missing. Aliases are accepted.
| Kind | MUST sections | Aliases |
|---|---|---|
| PRD | Problem, Goals, Non-Goals, Functional Requirements, Target Users, Related Artifacts | Motivation = Problem; Out of Scope = Non-Goals; Target Audience = Target Users; Success Criteria = Goals |
| RFC | Summary, Motivation, Options Considered, Proposed Direction, Implementation Phases | — |
| ADR | Context, Decision, Consequences | — |
| Epic | Vision, Goals, Children | — |
| Spec | Contract, Data Models, Errors | — |
Notes and Problems skip the validation gate. PRD/RFC/ADR/Epic/Spec require MUST rules.
Evidence body MUST contain three structured fields. Without them, the R_eff parser silently defaults to CL0 (penalty 0.9), making R_eff = 0.1 and your decision effectively unsupported.
## Structured Fields
verdict: supports # supports / weakens / refutes
congruence_level: 3 # CL3 = same context (best), CL0 = opposed (worst)
evidence_type: measurement # measurement / test / benchmark / audit
Then link to the artifact being supported:
forgeplan_link(source: "EVID-001", target: "PRD-001", relation: "informs")
Link relations: informs, based_on, supersedes, contradicts, refines.
R_eff = min(evidence_scores) — trust is the weakest linkvalid_until → score drops to 0.1One CL0 or expired evidence tanks the whole score. This is intentional — forces honesty.
draft ──review──► draft (if MUST failures)
draft ──activate──► active (if validation passes)
active ──supersede──► superseded (+ link to replacement) [TERMINAL]
active ──deprecate──► deprecated (+ reason) [TERMINAL]
active ──(valid_until expires)──► stale
stale ──renew──► active (extend valid_until)
stale ──reopen──► deprecated + NEW draft
Rule: supersede, don't delete. History is the source of why-decisions-changed.
forgeplan_newforgeplan_route before coding non-trivial tasksMatch the user's question to a section and read only that file (lazy load, save tokens):
| User asks about... | Section to read |
|---|---|
| Workflow, process, steps, "how do I start" | sections/01-workflow/route-shape-build.md |
| PRD, RFC, ADR, Evidence (specific artifact) | sections/02-artifacts/ (pick file) |
| Depth, routing, tactical vs deep | sections/03-depth/calibration.md |
| Scoring, R_eff, congruence, decay, CL levels | sections/04-scoring/reff-scoring.md |
| Quality gates, adversarial review, audits | sections/05-quality/gates.md |
| Reading forgeplan output, hints, Next:/Done./Fix: markers | sections/06-output-hints/agent-protocol.md |
Forgeplan persists context between sessions:
forgeplan remember "key" "value" — save key-value pairforgeplan recall "key" — fetch previously storedforgeplan recall --list — show all keysUse for: architecture decisions spanning sessions, team conventions, known gotchas, progress checkpoints on long tasks.
forgeplan_health() to orientforgeplan_route() on the task descriptionforgeplan_new → fill ALL MUST sections immediately (no stubs)forgeplan_* tool call → check _next_action hint in responseforgeplan_route says Standard+ but user wants to skip → explain tradeoff, don't forceforgeplan_health shows "ALL DRAFT" → suggest reviewing mature artifacts for activationforgeplan_health shows blind spots (active without evidence) → prioritize evidencePipeline = guideline, NOT bureaucracy.
Don't create all 10 artifact types for every task. Tactical = just do it. Standard = PRD + RFC. Deep+ only needs the full pipeline when the decision is irreversible or cross-team.
The goal is to think before coding, not to generate documents nobody reads.
Every Forgeplan CLI/MCP output emits one contract marker telling the agent what to do next:
Next: <command> — primary action (run as-is, real IDs, no placeholders)Or: <command> — alternate when primary blocksWait: <condition> — async/TTL retry signalDone. — workflow complete (terminal)Fix: <command> — error remediation (paired with Error:)Read these markers FIRST after every command — they replace methodology recall. The full contract spec, good/bad examples, and reading protocol live in sections/06-output-hints/agent-protocol.md.
JSON consumers: read _next_action field in CLI JSON / MCP responses (or stderr Next: for list --json and tree --json which preserve bare-array stdout for backward compat).
Sets up isolated workspaces using native worktree tools or git worktree fallback. Use before starting feature work to protect the current branch.
npx claudepluginhub forgeplan/marketplace --plugin forgeplan-workflow