brainstorming
Interactive spec generation — turn ideas into concrete specs with R-numbered requirements and testable acceptance criteria
Trace runtime bugs back to spec gaps — identify missing acceptance criteria, update specs, generate regression tests, and detect patterns
$ npx -y skills add LucasDuys/forge --skill backpropagation --agent claude-codeHow it fires
How this skill gets triggered: by you, by Claude, or both.
/backpropagationContext preview
The summary Claude sees to decide when to auto-load this skill.
Trace runtime bugs back to spec gaps — identify missing acceptance criteria, update specs, generate regression tests, and detect patterns
name: backpropagation description: Trace runtime bugs back to spec gaps — identify missing acceptance criteria, update specs, generate regression tests, and detect patterns
You are running the Forge backpropagation workflow. Your job is to trace a runtime bug back to a specification gap, update the spec to close that gap, generate a regression test, and log the correction for systemic pattern detection.
You will receive:
Find the spec and requirement that should have prevented this bug.
1. Read all spec files in `.forge/specs/`. For each spec, extract:
2. Analyze the bug description (and test failure output if available) to determine:
3. Match the bug to the most relevant spec and requirement:
4. If no spec appears to cover this area at all, note this as a potential "missing requirement" gap and pick the closest spec by domain.
5. Present your finding to the user: > **Traced to:** `spec-{domain}.md` > **R{NNN}: {requirement name}** > **Reasoning:** {why this requirement is the match}
Determine exactly what the spec's acceptance criteria failed to cover.
1. Read the identified requirement's acceptance criteria in full.
2. For each criterion, ask: "If this criterion were perfectly implemented and tested, would this bug still have occurred?"
3. Classify the gap into one of three types:
| Gap Type | Definition | Example | |----------|------------|---------| | **Missing criterion** | The requirement exists but has no criterion covering this case | R001 requires user registration but no criterion tests duplicate email with different casing | | **Incomplete criterion** | A criterion exists but is too vague to catch this edge case | Criterion says "validate email format" but doesn't specify which RFC or edge cases | | **Missing requirement** | No requirement in any spec covers this behavior at all | No spec covers rate limiting, but the bug is a rate limit bypass |
4. Determine if this is a one-off edge case or a systemic pattern. Check:
5. Present the analysis: > **Gap type:** {missing_criterion | incomplete_criterion | missing_requirement} > **What was missed:** {specific description of what the acceptance criteria should have covered} > **Pattern category:** {input_validation | concurrency | error_handling | integration | other}
Write the proposed spec change and get user approval.
1. Draft the spec update based on gap type:
2. Present the proposed change clearly, showing before and after:
**For missing criterion:** > **Proposed addition to R{NNN}:** > ``` > - [ ] {New specific, testable criterion} > ```
**For incomplete criterion:** > **Proposed replacement in R{NNN}:** > ``` > Before: - [ ] {old vague criterion} > After: - [ ] {new specific criterion} > ```
**For missing requirement:** > **Proposed new requirement in spec-{domain}.md:** > ```markdown > ### R{NNN}: {Requirement Name} > {Description} > **Acceptance Criteria:** > - [ ] {Criterion 1} > - [ ] {Criterion 2} > ```
3. **Wait for explicit user approval.** Do NOT modify the spec file until the user says yes, approves, or confirms. If the user suggests edits, incorporate them and re-present.
4. Once approved, apply the change to the spec file using the Edit tool. Preserve all existing content — only add or modify the specific criterion/requirement.
Write a test that would have caught this bug before it happened.
1. Determine the correct test location:
2. Write the regression test:
Turn a one-line idea into a branch with tested, reviewed, committed code. The brainstorm-to-commit pipeline for Claude Code.
Repo: LucasDuys/forge
Interactive spec generation — turn ideas into concrete specs with R-numbered requirements and testable acceptance criteria
Internal token optimization for Forge agent artifacts (handoff notes, artifact summaries, review notes). NOT exposed as a user-facing /caveman command.
Hackathon-native multiplayer collaboration mode -- brain-dump together, claim tasks across machines, flag decisions async. Drives the subcommands of…
DESIGN.md integration for Forge — ensures visual consistency across all UI tasks through standardized design specifications
Autonomous task implementation workflow — implement, test, review, commit for each task in the frontier
Graph-aware planning and research using codebase knowledge graphs — enables architecture-aware task decomposition, dependency discovery, and context reduction