You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
description: Devflow wrapper for the upstream brainstorming skill. Use when starting any creative work — creating features, building components, adding functionality, or modifying behavior — to explore user intent, requirements, and design before implementation. Always invoke `/devflow:brainstorming` rather than the upstream skill directly so devflow can layer in project-specific behavior (recall hooks, phase-handoff entry points) without callers ever needing to know about the upstream.
3
+
---
4
+
5
+
You are the devflow wrapper for the upstream brainstorming workflow. The wrapper exists so the rest of the devflow pipeline (new-feature, spec-feature, etc.) has a single canonical entry point (`/devflow:brainstorming`) and never reaches past it to the upstream skill directly.
6
+
7
+
## Steps
8
+
9
+
1.**Delegate to the upstream brainstorming skill.** Invoke `superpowers:brainstorming` via the Skill tool. Pass through `$ARGUMENTS` verbatim so the upstream skill receives the user's original input.
10
+
11
+
2.**Let the upstream skill drive.** Do NOT layer additional questions, gates, or prompts on top of the upstream flow inside this wrapper — the upstream skill already runs the full requirements/design/approach exploration loop with `AskUserQuestion` gates. Your job is to be a transparent pass-through.
12
+
13
+
3.**On completion, return control.** The upstream brainstorming skill's terminal state is invoking `superpowers:writing-plans`. Devflow does NOT short-circuit that — when the user is ready to spec, they invoke `/devflow:spec-feature` (devflow's spec-writing wrapper) directly. Brainstorming → spec-feature happens in the SAME session (no `phase-handoff` between them — the phase handoff fires only at spec → plan, plan → lock-tests, and lock-tests → impl boundaries).
14
+
15
+
## Why this wrapper exists
16
+
17
+
-**Single canonical entry point.** All devflow callers (new-feature.md, future skills) invoke `/devflow:brainstorming` instead of `/brainstorming` or `superpowers:brainstorming`. If devflow ever needs to layer in project context (Hindsight recall, prior-feature memory) before brainstorming starts, that layering happens here without touching call sites.
18
+
-**Consistency with the rest of the devflow pipeline.** Other devflow phases (`writing-plans`, `executing-plans`, `lock-tests`, `phase-handoff`) all have explicit devflow surface. Brainstorming gets the same treatment for symmetry.
19
+
-**Decoupling from upstream API changes.** If `superpowers:brainstorming` is renamed/moved/replaced, only this wrapper needs to update — call sites stay stable.
20
+
21
+
## Fallback if upstream is unavailable
22
+
23
+
If `superpowers:brainstorming` is not loaded in the current session (older Claude Code, plugin disabled, etc.), search the available-skills list for variants matching `*brainstorm*`. If none found, surface a clear error: `Upstream brainstorming skill not found. Verify the superpowers plugin is installed (re-run the OMC setup flow or check ~/.claude/plugins/).` Then exit — do NOT attempt to re-implement the brainstorming logic inline.
24
+
25
+
## Important
26
+
27
+
- This wrapper is intentionally thin. Resist the temptation to add custom phases here — that lives in the upstream skill, or in dedicated devflow skills (`spec-feature`, `writing-plans`, etc.).
28
+
- Do NOT auto-invoke `/devflow:spec-feature` from inside the brainstorming flow — the upstream skill's HARD-GATE forbids invoking implementation skills before user-approved design exists, and devflow respects that.
description: Devflow wrapper for the upstream executing-plans skill. Use when you have a written implementation plan to execute task-by-task. ALWAYS invoke `/devflow:executing-plans` rather than the upstream skill directly — this wrapper guarantees that the post-implementation handoff goes to `/devflow:finish-feature` (devflow's verification + PR/MR creation flow) instead of `superpowers:finishing-a-development-branch` (the upstream default, which doesn't integrate with devflow's VCS-coherent finish flow).
3
+
---
4
+
5
+
You are the devflow wrapper for the upstream executing-plans workflow. The wrapper exists for TWO reasons:
6
+
7
+
1.**Forced finish-feature handoff.** Upstream `executing-plans` natively chains to `superpowers:finishing-a-development-branch` after the last task. Devflow has its own `/devflow:finish-feature` flow that runs verification, creates a PR/MR via devflow's VCS-coherent logic, and retains learnings to Hindsight. This wrapper intercepts the terminal handoff so the devflow finish flow runs instead.
8
+
2.**Single canonical entry point.** All devflow callers (`lock-tests.md` Phase 2, `phase-handoff.md`'s impl-phase invocation, the resume prompt in a spawned implementation session) invoke `/devflow:executing-plans` instead of `/executing-plans` or `superpowers:executing-plans`. If the upstream skill is renamed/moved/replaced, only this wrapper updates.
9
+
10
+
## Phase 0 — Locate the upstream skill
11
+
12
+
1. Try invoking `superpowers:executing-plans` via the Skill tool. If it loads, proceed to Phase 1.
13
+
14
+
2.**If the upstream skill is missing**, search the available-skills list for variants matching `*executing*plans*` or `*implementing*plans*`. If a variant matches (rename case), use it and warn the user inline: `Note: superpowers:executing-plans renamed to <variant>. Update devflow:executing-plans skill body to point at the new name.`
15
+
16
+
3.**If still missing**, check `~/.devflow/cache/superpowers-changelog.md`:
17
+
- If the file exists AND is < 24h old → read it for skill-rename or removal notes.
18
+
- Else, invoke the `defuddle` skill on `https://github.com/obra/superpowers/blob/main/CHANGELOG.md` and write the result to `~/.devflow/cache/superpowers-changelog.md`. (If `defuddle` is unavailable, skip this step.)
19
+
- Surface any relevant rename notes to the user.
20
+
21
+
4.**If all of the above fail**, emit:
22
+
```
23
+
Upstream `superpowers:executing-plans` skill not found and no cached changelog clue. Either:
24
+
- Verify the superpowers plugin is installed (`claude plugins list | grep superpowers`)
25
+
- Re-run the OMC setup flow to refresh plugins
26
+
- Or fetch the latest superpowers CHANGELOG manually to check if the skill was renamed
27
+
```
28
+
Then exit. Do NOT reimplement the executing-plans logic inline.
29
+
30
+
## Phase 1 — Delegate to upstream
31
+
32
+
Hand off to the located skill. Pass through `$ARGUMENTS` verbatim. Let the upstream skill drive its red-green-refactor loop, per-task review checkpoints, and TodoWrite tracking.
33
+
34
+
## Phase 2 — Force finish-feature handoff
35
+
36
+
**CRITICAL OVERRIDE:** When the upstream skill reports completion (status DONE, DONE_WITH_CONCERNS, or its equivalent terminal state), **devflow takes over the finish handoff**.
37
+
38
+
Do **NOT** invoke `superpowers:finishing-a-development-branch` even if the upstream skill instructs you to. Devflow's finish flow lives in `/devflow:finish-feature` and:
39
+
40
+
- runs verification (`devflow check`)
41
+
- detects the VCS provider (GitHub vs GitLab) and creates a PR/MR with the devflow PR template
42
+
- retains session learnings to Hindsight
43
+
- defers worktree cleanup to the terminal (not the agent)
44
+
45
+
Invoke `/devflow:finish-feature` directly. Pass any `BLOCKED` / `NEEDS_CONTEXT` status from the upstream skill into the finish-feature flow so the user is aware of incomplete work before PR creation.
46
+
47
+
## Important
48
+
49
+
- This wrapper is the ONLY place where the "intercept finishing-a-development-branch" override lives. If you find that override repeated in another devflow skill, that's drift — remove it and rely on this wrapper.
50
+
- The wrapper does NOT skip the upstream skill's per-task discipline (TDD red-green, review checkpoints). It only overrides the FINAL handoff target.
51
+
- If the user explicitly asks for `superpowers:finishing-a-development-branch` (or invokes it directly), respect that. The wrapper's override applies only when control returns from the upstream skill via the normal completion path.
Copy file name to clipboardExpand all lines: devflow-plugin/commands/lock-tests.md
+3-3Lines changed: 3 additions & 3 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -48,7 +48,7 @@ You are at the test-locking phase of devflow's new-feature pipeline. Your job is
48
48
- If user skips: invoke `devflow:phase-handoff --phase lock-tests --next-phase impl --no-handoff`. Then print:
49
49
50
50
```
51
-
Trivial change — lock-tests gate skipped. Context is already small; no new session needed for the implementation phase. Invoke `/executing-plans` here (Claude Code auto-exposes the superpowers skill as a slash command; if the picker doesn't surface it on older installs, use the natural-language trigger `Use the superpowers:executing-plans skill to implement the plan task by task` instead).
51
+
Trivial change — lock-tests gate skipped. Context is already small; no new session needed for the implementation phase. Invoke `/devflow:executing-plans` here (devflow's wrapper around the upstream executing-plans skill; the wrapper forces the post-implementation handoff to go to `/devflow:finish-feature` instead of the upstream's `finishing-a-development-branch`).
52
52
```
53
53
54
54
Then exit.
@@ -155,11 +155,11 @@ Use `AskUserQuestion` with:
155
155
156
156
## Phase 2 — GREEN (delegated)
157
157
158
-
After approval, invoke `devflow:phase-handoff --phase lock-tests --next-phase impl`. The handoff skill writes the frozen-state file, gates on a one-click `AskUserQuestion`, then spawns a new Claude Desktop session via `mcp__ccd_session__spawn_task` titled `[<TICKET>] [MR#<N>] Implementation` (visible in the sidebar). The spawned session starts cold; its initial prompt points at the frozen-state file plus absolute artefact paths and instructs it to invoke `/executing-plans` (the superpowers skill auto-exposed as a slash command by Claude Code's plugin runtime), which drives per-task red/green against the tests already locked in this phase.
158
+
After approval, invoke `devflow:phase-handoff --phase lock-tests --next-phase impl`. The handoff skill writes the frozen-state file, gates on a one-click `AskUserQuestion`, then spawns a new Claude Desktop session via `mcp__ccd_session__spawn_task` titled `[<TICKET>] [MR#<N>] Implementation` (visible in the sidebar). The spawned session starts cold; its initial prompt leads with the slash-command invocation `/devflow:executing-plans` (devflow's wrapper around the upstream executing-plans skill — guarantees the post-implementation handoff goes to `/devflow:finish-feature`) and hands it absolute paths to the frozen-state file plus the locked test inventory, which drives per-task red/green against the tests already locked in this phase.
159
159
160
160
## Phase 3 — REFACTOR (delegated)
161
161
162
-
Handled per-task inside `superpowers:executing-plans`, not centrally.
162
+
Handled per-task inside `/devflow:executing-plans` (the devflow wrapper, which delegates to the upstream executing-plans flow), not centrally.
Copy file name to clipboardExpand all lines: devflow-plugin/commands/new-feature.md
+1-1Lines changed: 1 addition & 1 deletion
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -65,7 +65,7 @@ You have been launched inside a feature worktree. Your job is to orient yourself
65
65
66
66
If yes, invoke the `codebase-walkthrough` skill with the feature context. After the walkthrough completes, continue to brainstorming.
67
67
68
-
6.**Transition to brainstorming.** Once you understand the feature (and optionally completed the walkthrough), invoke the `brainstorming` skill to explore requirements, design, and approach before writing any code.
68
+
6.**Transition to brainstorming.** Once you understand the feature (and optionally completed the walkthrough), invoke `/devflow:brainstorming` (devflow's thin wrapper around the upstream brainstorming skill — always use the devflow surface, never `/brainstorming`or the upstream skill directly) to explore requirements, design, and approach before writing any code.
**Note on `impl`:**Claude Code's plugin runtime auto-exposes superpowers skills as `/`-prefixed slash commands, so `/executing-plans`resolves to the upstream `superpowers:executing-plans` skill at invocation time. If the slash picker doesn't surface it in a given install (older Claude Code, plugin disabled, etc.), the natural-language fallback is `Use the superpowers:executing-plans skill to implement the plan task by task`.
96
+
**Why every entry uses a `/devflow:` wrapper:**devflow's policy is that no skill in the pipeline ever invokes an upstream skill directly — all calls go through a devflow wrapper. `/devflow:executing-plans`is the wrapper for the upstream executing-plans skill; it delegates the per-task red-green-refactor loop to the upstream flow AND intercepts the terminal handoff so it goes to `/devflow:finish-feature` instead of the upstream default. If the wrapper is missing on a given install, the user can fall back to invoking the upstream skill directly — but the wrapper is the canonical entry point.
97
97
98
98
8.**Detect MR/PR number for the current branch.** Optional — included in the spawned-session title when available:
99
99
@@ -121,10 +121,14 @@ If `--no-handoff` is present, print "phase-handoff skipped" and exit.
-`prompt`: self-contained initial message for the new session. The new session has ZERO conversational memory; the prompt must include everything it needs. Format:
124
+
-`prompt`: self-contained initial message for the new session. The new session has ZERO conversational memory; the prompt must include everything it needs.
125
+
126
+
**CRITICAL ordering: the FIRST LINE of the prompt MUST be the slash-command invocation for the next phase.** Claude Code's plugin runtime triggers a slash command only when it is the leading content of the user message. If the slash command is buried mid-body, the spawned session treats the prompt as a conversational request — reads the files, then waits for further input — instead of auto-invoking the next-phase skill. Lead with the slash, then provide the context as supporting paths the wrapper skill reads next. Format:
125
127
126
128
```
127
-
You are picking up the <next-phase-label> phase of <TICKET-ID>. Read these source-of-truth artefacts (absolute paths — readable from any cwd):
129
+
<invocation slash command from step 7's table>
130
+
131
+
You are continuing devflow's new-feature pipeline for <TICKET-ID> at the <next-phase-label> phase. The slash command above is your first action — invoke it now, then read these absolute paths inside the invoked skill:
128
132
129
133
- Frozen state (entry point — read first): <worktree-root>/.devflow/state/${branch_slug}/<current-phase>.md
@@ -136,9 +140,27 @@ If `--no-handoff` is present, print "phase-handoff skipped" and exit.
136
140
Ticket: <TICKET-ID>
137
141
<If mr_num: MR/PR: #<mr_num>>
138
142
139
-
After reading the artefacts above, invoke: <invocation text from step 7's table>
143
+
Do NOT carry over assumptions from any prior session — the frozen-state file and artefact paths above are the only authoritative inputs.
144
+
```
145
+
146
+
**Example for an `impl` phase handoff on ticket MES-4282, MR #29:**
147
+
148
+
```
149
+
/devflow:executing-plans
150
+
151
+
You are continuing devflow's new-feature pipeline for MES-4282 at the Implementation phase. The slash command above is your first action — invoke it now, then read these absolute paths inside the invoked skill:
152
+
153
+
- Frozen state (entry point — read first): /Users/foo/dev/.worktrees/messaging/MES-4282/.devflow/state/MES-4282/lock-tests.md
0 commit comments