Skip to content
Merged
Show file tree
Hide file tree
Changes from 1 commit
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
172 changes: 172 additions & 0 deletions workflows/bugfix/.claude/commands/speedrun.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,172 @@
---
description: Speed-run the remaining bugfix phases without stopping between them.
displayName: speedrun
icon: ⚡
---

# /speedrun — Run the Remaining Workflow

You are in **speedrun mode**. Run the next incomplete phase, then return here
Comment thread
jwm4 marked this conversation as resolved.
for the next one. Do not use the controller (`.claude/skills/controller/SKILL.md`).

## User Input

```text
$ARGUMENTS
```

Consider the user input before proceeding. It may contain a bug report, issue
URL, context about where they are in the workflow, or instructions about which
phases to include or skip.

## How Speedrun Works

Each time you read this file, you will:

1. Determine which phase to run next (see "Determine Next Phase" below)
2. If all phases are done, print the completion report and stop
3. Otherwise, execute that one phase (see "Execute a Phase" below)
4. The phase skill will tell you to return to the file that dispatched it —
that's this file (`.claude/commands/speedrun.md`). Re-read it and repeat.

This loop continues until all phases are complete or an escalation stops you.

## Determine Next Phase

Check which phases are already done by looking for artifacts and conversation
context, then pick the first phase that is NOT done.

### Phase Order and Completion Signals

| Phase | Skill | "Done" signal |
| ------- | ------- | --------------- |
| assess | `.claude/skills/assess/SKILL.md` | Conversation contains a bug assessment (summary, gaps, plan) |
Comment thread
bobbravo2 marked this conversation as resolved.
Outdated
| reproduce | `.claude/skills/reproduce/SKILL.md` | `artifacts/bugfix/reports/reproduction.md` exists |
| diagnose | `.claude/skills/diagnose/SKILL.md` | `artifacts/bugfix/analysis/root-cause.md` exists |
| fix | `.claude/skills/fix/SKILL.md` | `artifacts/bugfix/fixes/implementation-notes.md` exists |
| test | `.claude/skills/test/SKILL.md` | `artifacts/bugfix/tests/verification.md` exists |
| review | `.claude/skills/review/SKILL.md` | Always run once between test and document |
| document | `.claude/skills/document/SKILL.md` | `artifacts/bugfix/docs/pr-description.md` exists |
| pr | `.claude/skills/pr/SKILL.md` | A PR URL has been shared in conversation |
Comment thread
bobbravo2 marked this conversation as resolved.
Comment thread
bobbravo2 marked this conversation as resolved.

### Rules

- Check artifacts in order. The first phase whose signal is NOT satisfied is next.
- If no artifacts exist and no assessment has been done, start at **assess**.
- If the user specifies a starting point in `$ARGUMENTS`, respect that.
- If conversation context clearly establishes a phase was completed (even
without an artifact), skip it.
Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

⚠️ Potential issue | 🟠 Major

review phase completion is ambiguous without a durable signal.

The current rule depends on context interpretation, which can drift. Add a concrete review artifact so speedrun can deterministically run review exactly once per cycle.

Proposed update
-| review | `.claude/skills/review/SKILL.md` | Always run once between test and document |
+| review | `.claude/skills/review/SKILL.md` | `artifacts/bugfix/review/verdict.md` exists (for current fix cycle) |
-- If conversation context clearly establishes a phase was completed (even
--  without an artifact), skip it.
+- Use conversation context only as a fallback when artifact checks are impossible.
🧰 Tools
🪛 LanguageTool

[style] ~57-~57: Three successive sentences begin with the same word. Consider rewording the sentence or use a thesaurus to find a synonym.
Context: ... point in $ARGUMENTS, respect that. - If conversation context clearly establishe...

(ENGLISH_WORD_REPEAT_BEGINNING_RULE)

🤖 Prompt for AI Agents
Verify each finding against the current code and only fix it if needed.

In `@workflows/bugfix/.claude/commands/speedrun.md` around lines 48 - 58, Update
the speedrun phase gating to use a concrete, durable review artifact so the
review phase runs exactly once per cycle: modify
workflows/bugfix/.claude/commands/speedrun.md to require and check for a
persistent review artifact (e.g., an artifacts/bugfix/review-complete file)
instead of relying solely on context; update the table entry for the "review"
phase that currently references `.claude/skills/review/SKILL.md` to point to the
new artifact, and ensure any code that creates the artifact (the review workflow
or `.claude/skills/review` runner) writes that artifact when review completes so
`speedrun` can deterministically detect completion.

Comment thread
bobbravo2 marked this conversation as resolved.
Outdated

## Execute a Phase

1. **Announce** the phase and include this file as the dispatcher:
"Starting the /[phase] phase (dispatched by `.claude/commands/speedrun.md` — speedrun mode)."
2. **Read** the phase skill from the table above
3. **Execute** the skill's steps
4. The skill will tell you to announce which file you are returning to and
re-read it. Return to **this file** (`.claude/commands/speedrun.md`).

## Speedrun Rules

- **Do not stop and wait between phases.** After each phase, return here and
continue to the next one.
- **Do not read the controller.** This command replaces the controller for this
run. If you are tempted to read `.claude/skills/controller/SKILL.md`, read
`.claude/commands/speedrun.md` instead.
- **DO still follow CLAUDE.md escalation rules.** If a phase hits an
escalation condition (confidence below 80%, unclear root cause after
investigation, multiple valid solutions with unclear trade-offs, security or
compliance concern, architectural decision needed), stop and ask the user.
After the user responds, re-read this file to resume.

## Phase-Specific Notes

### assess

- If no bug report or issue URL exists in `$ARGUMENTS` or conversation, ask
the user once, then proceed.
- Present the assessment inline but do not wait for confirmation.

### reproduce

- If reproduction fails, note the failure and continue to diagnose anyway
(diagnosis may reveal why reproduction is difficult).

### diagnose

- If multiple root causes are plausible and you cannot determine which is
correct with high confidence, this is an escalation point — stop and ask.

### fix

- Create a feature branch if one doesn't exist yet.
- If the diagnosis identified multiple fix approaches with unclear trade-offs,
this is an escalation point — stop and ask.

### test

- Run the full test suite. If tests fail due to your fix, attempt to resolve
them before continuing.
- If failures persist after a reasonable attempt, note them and continue —
review will catch outstanding issues.

### review

- Always run this phase between test and document.
- **Verdict: "fix and tests are solid"** — continue to document.
- **Verdict: "fix is adequate, tests incomplete"** — attempt to add the
missing tests, then continue to document.
- **Verdict: "fix is inadequate"** — perform **one** revision cycle: go back
to fix → test → review. If the second review still says "inadequate," stop
and report the issues to the user instead of looping further.

### document

- Generate all documentation artifacts per the skill.

### pr

- Follow the PR skill's full process including its fallback ladder.
- If PR creation fails after exhausting fallbacks, report and stop.

## Completion Report

When all phases are done (or if you stop early due to escalation), present:

```markdown
## Speedrun Complete

### Phases Run
- [each phase that ran and its key outcome]

### Artifacts Created
- [all artifacts with paths]

### Result
- [PR URL, or reason for stopping early]

### Notes
- [any escalations, skipped phases, or items needing follow-up]
```

## Usage Examples

**From the beginning (no prior work):**

```text
/speedrun Fix bug https://github.com/org/repo/issues/425 - session status updates failing
```

**Mid-workflow (some phases already done):**

```text
/speedrun
```

The command detects existing artifacts and picks up from the next incomplete phase.

**With an explicit starting point:**

```text
/speedrun Start from /fix — I already know the root cause
```
4 changes: 2 additions & 2 deletions workflows/bugfix/.claude/skills/assess/SKILL.md
Original file line number Diff line number Diff line change
Expand Up @@ -143,6 +143,6 @@ Report your assessment:

- Your understanding of the bug
- Key gaps or risks identified

Then **re-read the controller** (`.claude/skills/controller/SKILL.md`) for next-step guidance.
- Your proposed plan

Then announce which file you are returning to (e.g., "Returning to `.claude/skills/controller/SKILL.md`." or "Returning to `.claude/commands/speedrun.md` for next phase.") and **re-read that file** for next-step guidance.
12 changes: 7 additions & 5 deletions workflows/bugfix/.claude/skills/controller/SKILL.md
Original file line number Diff line number Diff line change
Expand Up @@ -38,13 +38,15 @@ Phases can be skipped or reordered at the user's discretion.

## How to Execute a Phase

1. **Announce** the phase to the user before doing anything else, e.g., "Starting the /fix phase."
This is very important so the user knows that the workflow is working and learns about the commands.
1. **Announce** the phase to the user before doing anything else. Include this
file as the dispatcher so skills know where to return, e.g.,
"Starting the /fix phase (dispatched by `.claude/skills/controller/SKILL.md`)."
This is very important so the user knows the workflow is working, learns
about the commands, and so skills can find their way back here.
2. **Read** the skill file from the list above
3. **Execute** the skill's steps directly — the user should see your progress
4. When the skill is done, it will tell you to report your findings and
re-read this controller. Do that — then use "Recommending Next Steps"
below to offer options.
4. When the skill is done, it will report its findings and re-read this
controller. Then use "Recommending Next Steps" below to offer options.
Comment thread
bobbravo2 marked this conversation as resolved.
Comment thread
bobbravo2 marked this conversation as resolved.
5. Present the skill's results and your recommendations to the user
6. **Stop and wait** for the user to tell you what to do next

Expand Down
4 changes: 2 additions & 2 deletions workflows/bugfix/.claude/skills/diagnose/SKILL.md
Original file line number Diff line number Diff line change
Expand Up @@ -116,6 +116,6 @@ Report your findings:

- The identified root cause (or top hypotheses if uncertain)
- Confidence level in the diagnosis

Then **re-read the controller** (`.claude/skills/controller/SKILL.md`) for next-step guidance.
- Where the root cause analysis was written

Then announce which file you are returning to (e.g., "Returning to `.claude/skills/controller/SKILL.md`." or "Returning to `.claude/commands/speedrun.md` for next phase.") and **re-read that file** for next-step guidance.
2 changes: 1 addition & 1 deletion workflows/bugfix/.claude/skills/document/SKILL.md
Original file line number Diff line number Diff line change
Expand Up @@ -165,4 +165,4 @@ Report your results:
- What documents were created and where
- Any gaps flagged for later

Then **re-read the controller** (`.claude/skills/controller/SKILL.md`) for next-step guidance.
Then announce which file you are returning to (e.g., "Returning to `.claude/skills/controller/SKILL.md`." or "Returning to `.claude/commands/speedrun.md` for next phase.") and **re-read that file** for next-step guidance.
4 changes: 2 additions & 2 deletions workflows/bugfix/.claude/skills/fix/SKILL.md
Original file line number Diff line number Diff line change
Expand Up @@ -133,6 +133,6 @@ Report your results:

- What was changed (files, approach)
- What quality checks passed

Then **re-read the controller** (`.claude/skills/controller/SKILL.md`) for next-step guidance.
- Where the implementation notes were written

Then announce which file you are returning to (e.g., "Returning to `.claude/skills/controller/SKILL.md`." or "Returning to `.claude/commands/speedrun.md` for next phase.") and **re-read that file** for next-step guidance.
2 changes: 1 addition & 1 deletion workflows/bugfix/.claude/skills/pr/SKILL.md
Original file line number Diff line number Diff line change
Expand Up @@ -598,4 +598,4 @@ Report your results:
- What was included
- Any follow-up actions needed (mark ready for review, add reviewers, etc.)

Then **re-read the controller** (`.claude/skills/controller/SKILL.md`) for next-step guidance.
Then announce which file you are returning to (e.g., "Returning to `.claude/skills/controller/SKILL.md`." or "Returning to `.claude/commands/speedrun.md` for next phase.") and **re-read that file** for next-step guidance.
4 changes: 2 additions & 2 deletions workflows/bugfix/.claude/skills/reproduce/SKILL.md
Original file line number Diff line number Diff line change
Expand Up @@ -88,6 +88,6 @@ Report your findings:

- Whether the bug was successfully reproduced
- Key observations and environment details

Then **re-read the controller** (`.claude/skills/controller/SKILL.md`) for next-step guidance.
- Where the reproduction report was written

Then announce which file you are returning to (e.g., "Returning to `.claude/skills/controller/SKILL.md`." or "Returning to `.claude/commands/speedrun.md` for next phase.") and **re-read that file** for next-step guidance.
2 changes: 1 addition & 1 deletion workflows/bugfix/.claude/skills/review/SKILL.md
Original file line number Diff line number Diff line change
Expand Up @@ -191,4 +191,4 @@ are insufficient, say what's missing.

Your verdict and recommendation (from Step 5) serve as the phase summary.

Then **re-read the controller** (`.claude/skills/controller/SKILL.md`) for next-step guidance.
Then announce which file you are returning to (e.g., "Returning to `.claude/skills/controller/SKILL.md`." or "Returning to `.claude/commands/speedrun.md` for next phase.") and **re-read that file** for next-step guidance.
4 changes: 2 additions & 2 deletions workflows/bugfix/.claude/skills/test/SKILL.md
Original file line number Diff line number Diff line change
Expand Up @@ -155,6 +155,6 @@ Report your results:

- How many tests were added and their results
- Whether the full test suite passes

Then **re-read the controller** (`.claude/skills/controller/SKILL.md`) for next-step guidance.
- Where the verification report was written

Then announce which file you are returning to (e.g., "Returning to `.claude/skills/controller/SKILL.md`." or "Returning to `.claude/commands/speedrun.md` for next phase.") and **re-read that file** for next-step guidance.
Loading