skills/forge-fix/SKILL.md
[writes] Fix a bug using root cause investigation and targeted repair. Use when you have a bug report, failing test, error message, ticket ID, or Linear issue to resolve. Trigger: /forge-fix, fix this bug, investigate failure, debug this error, resolve ticket
npx skillsauth add quantumbitcz/dev-pipeline forge-fixInstall this skill globally with one command. Works with Claude Code, Cursor, and Windsurf.
3 of 9 scanners reported clean
Some scanners were skipped, did not run, or reported a non-clean status. Review each row below.
See shared/skill-contract.md for the standard exit-code table.
Before any action, verify:
git rev-parse --show-toplevel 2>/dev/null. If fails: report "Not a git repository. Navigate to a project directory." and STOP..claude/forge.local.md exists. If not: report "Forge not initialized. Run /forge-init first." and STOP.After dispatch, fg-100-orchestrator (bugfix mode) will:
Total time: 3-15 minutes. You may be asked to clarify reproduction steps or confirm the root cause.
You are a thin launcher. Your ONLY job is to resolve the bug source and dispatch the forge orchestrator in bugfix mode.
Parse $ARGUMENTS to determine the bug source. If no input is provided after stripping flags, ask the user: "What bug should I fix? Provide a ticket ID (e.g., FG-005), --linear <ID>, or a plain bug description."
Supported forms:
/forge-fix {PREFIX}-{NNN} — kanban ticket ID (matches pattern like FG-005, BUG-012). Resolve title and description from tracking store./forge-fix --linear {ID} — Linear issue ID. Bug description sourced from Linear./forge-fix <plain description> — free-text bug description. A tracking ticket will be created during PREFLIGHT.Ticket Resolution (kanban):
If the sole argument (or first argument before flags) matches the {PREFIX}-{NNN} pattern:
shared/tracking/tracking-ops.shfind_ticket ".forge/tracking" "{ticket_id}" to locate the ticket filetitle and ## Description section as the bug descriptionticket_id and ticket_file_path to the orchestratorLinear Resolution:
If --linear {ID} is provided:
source=linear and source_id={ID}Plain Description:
If input is free text (not a ticket pattern and no --linear flag):
source=descriptionDetect available MCPs per shared/mcp-detection.md detection table. For each MCP, check if its probe tool is available. Mark unavailable MCPs as degraded and apply the documented degradation behavior.
Build a comma-separated list of detected integrations (e.g., Linear, Playwright). If none detected, use none.
Use the Agent tool to invoke fg-100-orchestrator with the following prompt:
Execute the bugfix workflow for:
{bug_description}Mode: bugfix
Bug source:
{source}(one of: kanban, linear, description)Source ID:
{source_id}(omit if source=description)Ticket file:
{ticket_file_path}(include only if source=kanban and ticket was resolved)Available MCPs:
{detected_mcps}
Where {bug_description} is the resolved bug text (from ticket title+description if kanban, otherwise raw user input), and {detected_mcps} is the list from step 2.
When the orchestrator completes, relay its final output (PR URL, escalation, or abort message) back to the user unchanged. Do not add commentary or interpretation.
| Condition | Action |
|-----------|--------|
| Prerequisites fail | Report specific error message and STOP |
| Empty input (no bug description or ticket ID) | Ask user for bug description or ticket ID before dispatching |
| Kanban ticket not found | Warn user and ask for bug description directly |
| Linear issue fetch fails | Fall back to description-based mode. Log WARNING about Linear unavailability |
| Orchestrator dispatch fails | Report "Bugfix orchestrator failed to start. Check plugin installation." and STOP |
| Orchestrator returns error | Relay the error unchanged. Suggest /forge-recover diagnose for state issues |
| State corruption | Suggest /forge-recover repair to fix state, then retry |
/forge-run -- Full pipeline entry point (use bugfix: prefix for quick bugfix routing)/forge-recover diagnose -- Diagnose pipeline health if the bugfix run fails/forge-shape -- Shape a complex bug investigation into a structured spec first/forge-recover resume -- Resume an aborted bugfix run from its last checkpointdevelopment
[writes] Build, fix, deploy, review, or modify code in this project. Universal entry for the forge pipeline. Auto-bootstraps on first run; brainstorms before planning when given a feature description. Use when you want to take any productive action: implementing features, fixing bugs, reviewing branches, deploying, committing, running migrations.
tools
[writes] Manage forge state and configuration: recovery, abort, config edits, session handoff, automations, playbooks, output compression, knowledge graph maintenance. Use when you need to recover from broken pipeline state, edit settings, or manage long-lived state.
development
[writes] Create, list, show, resume, or search forge session handoffs. Use when context is getting heavy and you want to transfer a forge run or conversation into a fresh Claude Code session, or to resume from a prior handoff artefact. Subcommands - no args (write), list, show, resume, search.
development
[writes] Manage the Neo4j knowledge graph. Subcommands: init, rebuild (writes); status, query <cypher>, debug (read-only). Requires Docker. No default — an explicit subcommand is required. Use when setting up the graph for the first time, rebuilding after major refactors, checking graph health, or running ad-hoc Cypher diagnostics.