flow-cc 0.5.5 → 0.5.7
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/VERSION +1 -1
- package/package.json +1 -1
- package/skills/flow-done.md +2 -0
- package/skills/flow-go.md +11 -10
- package/skills/flow-spec.md +22 -22
- package/skills/flow-status.md +2 -0
- package/skills/flow-task.md +2 -0
package/VERSION
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
0.5.
|
|
1
|
+
0.5.7
|
package/package.json
CHANGED
package/skills/flow-done.md
CHANGED
|
@@ -10,6 +10,8 @@ You are executing the `/flow:done` skill. This finalizes the current session by
|
|
|
10
10
|
|
|
11
11
|
**This is the most important skill for sustainability.** Without proper session-end docs, the next session starts blind.
|
|
12
12
|
|
|
13
|
+
**Skill boundary:** You are inside the `/flow:*` workflow. NEVER invoke, suggest, or reference skills from other workflow systems (`/lisa:*`, `/gsd:*`, `/superpowers:*`, etc.). Only suggest `/flow:*` commands as next steps. Do NOT use the Skill tool to call any non-flow skill.
|
|
14
|
+
|
|
13
15
|
## Steps
|
|
14
16
|
|
|
15
17
|
### 1. Gather Context
|
package/skills/flow-go.md
CHANGED
|
@@ -12,26 +12,27 @@ You are executing the `/flow:go` skill. This reads the PRD, identifies the next
|
|
|
12
12
|
|
|
13
13
|
**Plan mode warning:** Do NOT use this skill with plan mode enabled. `/flow:go` is execution — plan mode's read-only constraint prevents it from creating files, running agents, and committing work. The PRD is your plan; run `/flow:go` in normal mode.
|
|
14
14
|
|
|
15
|
+
**Skill boundary:** You are inside the `/flow:*` workflow. NEVER invoke, suggest, or reference skills from other workflow systems (`/lisa:*`, `/gsd:*`, `/superpowers:*`, etc.). Only suggest `/flow:*` commands as next steps. Do NOT use the Skill tool to call any non-flow skill. If the user needs a different workflow, they will invoke it themselves.
|
|
16
|
+
|
|
15
17
|
## Step 1 — Orient
|
|
16
18
|
|
|
17
19
|
Read these files (in parallel):
|
|
18
20
|
- `.planning/STATE.md` — current position
|
|
19
21
|
- `.planning/ROADMAP.md` — phase progress
|
|
20
|
-
- The active PRD (see PRD Resolution below)
|
|
21
22
|
- `tasks/lessons.md` — active lessons (max 10 one-liners)
|
|
22
23
|
- `CLAUDE.md` — execution rules and verification commands
|
|
23
24
|
|
|
24
|
-
### PRD
|
|
25
|
+
### PRD Selection
|
|
26
|
+
|
|
27
|
+
The user must always select which PRD to execute. No silent auto-resolution.
|
|
28
|
+
|
|
29
|
+
1. **If the user passed an argument** (e.g., `/flow:go v3-payments`) — match it against files in `.planning/prds/` by slug or by the `**Milestone:**` header field. If an exact match is found, use it directly. If no match, show available PRDs and ask.
|
|
25
30
|
|
|
26
|
-
|
|
31
|
+
2. **If no argument** — list all PRD files in `.planning/prds/`. For each PRD, read its `**Status:**` and `**Milestone:**` header fields. Use AskUserQuestion to let the user pick which PRD to execute. Pre-select the first PRD with status "Ready for execution" as the first option. Always show the picker, even if only one PRD exists — the user may want to confirm or run `/flow:spec` instead. Also check for legacy `PRD.md` at root (backward compat) and include it in the list if found.
|
|
27
32
|
|
|
28
|
-
|
|
29
|
-
2. **STATE.md Active PRD:** Read the "Active PRD" field from STATE.md's Current Position section. If it points to a valid file, use it.
|
|
30
|
-
3. **Slug derivation:** Derive a slug from STATE.md's current milestone name — version-prefix + lowercase name, spaces/special chars → hyphens, collapse consecutive hyphens (e.g., "v2: Dashboard Analytics" → `v2-dashboard-analytics`). Check `.planning/prds/{slug}.md`.
|
|
31
|
-
4. **Legacy fallback:** If `.planning/prds/` is empty or missing but `PRD.md` exists at the project root, use it. Print: "Using legacy PRD.md at project root. Future specs will use `.planning/prds/`."
|
|
32
|
-
5. **Not found:** "No PRD found for [current milestone name]. Available PRDs: [list files in `.planning/prds/`]. Run `/flow:spec` first."
|
|
33
|
+
3. **No PRDs found** — "No PRDs found in `.planning/prds/`. Run `/flow:spec` first." Stop here.
|
|
33
34
|
|
|
34
|
-
**
|
|
35
|
+
**After selection:** Read the chosen PRD. If its `**Milestone:**` doesn't match STATE.md's current milestone, warn: "PRD milestone ([PRD milestone]) doesn't match current milestone ([STATE milestone]). Continuing, but verify you're executing the right spec."
|
|
35
36
|
|
|
36
37
|
**Identify the next phase:** Find the first phase in ROADMAP.md with status "Pending" or the first unstarted phase in the PRD.
|
|
37
38
|
|
|
@@ -39,7 +40,7 @@ Resolve the PRD file to use, in this order:
|
|
|
39
40
|
|
|
40
41
|
Run these checks before executing. If any fail, stop and tell the user what to do:
|
|
41
42
|
|
|
42
|
-
1. **PRD
|
|
43
|
+
1. **PRD selected?** If PRD Selection (above) reached step 3 (no PRDs found): stop with the "No PRDs found" message.
|
|
43
44
|
2. **Phase detailed enough?** The phase section in the PRD must have:
|
|
44
45
|
- Wave structure with agent assignments
|
|
45
46
|
- Explicit file lists per agent
|
package/skills/flow-spec.md
CHANGED
|
@@ -12,7 +12,9 @@ You are executing the `/flow:spec` skill. This is the KEYSTONE skill of the flow
|
|
|
12
12
|
|
|
13
13
|
**Plan mode warning:** Do NOT use this skill with plan mode enabled. Plan mode's read-only constraint prevents the PRD from being written during the interview. `/flow:spec` IS the planning phase — plan mode on top of it is redundant and breaks the workflow.
|
|
14
14
|
|
|
15
|
-
|
|
15
|
+
**Skill boundary:** You are inside the `/flow:*` workflow. NEVER invoke, suggest, or reference skills from other workflow systems (`/lisa:*`, `/gsd:*`, `/superpowers:*`, etc.). Only suggest `/flow:*` commands as next steps. Do NOT use the Skill tool to call any non-flow skill. If the user needs a different workflow, they will invoke it themselves.
|
|
16
|
+
|
|
17
|
+
## Phase 1 — Context Gathering
|
|
16
18
|
|
|
17
19
|
1. Read `.planning/STATE.md` and `.planning/ROADMAP.md` — understand current milestone and what's done
|
|
18
20
|
2. Read `CLAUDE.md` — understand project rules and tech stack
|
|
@@ -20,7 +22,24 @@ You are executing the `/flow:spec` skill. This is the KEYSTONE skill of the flow
|
|
|
20
22
|
- List `.planning/prds/` directory (if it exists) for existing PRD files
|
|
21
23
|
- Also check for legacy `PRD.md` at project root (backward compat)
|
|
22
24
|
- If a PRD exists for the target milestone, note it for resume/extend flow
|
|
23
|
-
4. **
|
|
25
|
+
4. **Milestone Targeting** — determine which milestone this PRD targets before scanning the codebase:
|
|
26
|
+
|
|
27
|
+
1. **If the user passed an argument** (e.g., `/flow:spec v3: Payments`) — match against ROADMAP.md milestones. If no match, print available milestones and ask which one.
|
|
28
|
+
|
|
29
|
+
2. **If no argument** — read ROADMAP.md and list all incomplete milestones. Use AskUserQuestion to let the user pick which milestone to spec. Pre-select the next unspecced milestone as the first option. Always show the picker, even if only one milestone is listed — the user may want to confirm or choose "Other" to define a new milestone first.
|
|
30
|
+
|
|
31
|
+
3. **Derive the PRD slug:** Take the milestone's version prefix and name (e.g., "v3: Dashboard Analytics"), lowercase it, replace spaces and special characters with hyphens, collapse consecutive hyphens. Result: `v3-dashboard-analytics`. The PRD path is `.planning/prds/{slug}.md`.
|
|
32
|
+
|
|
33
|
+
4. **Check for existing PRD at that path:**
|
|
34
|
+
- **If PRD exists** → Use AskUserQuestion: "A PRD already exists for this milestone at `.planning/prds/{slug}.md`. What would you like to do?"
|
|
35
|
+
- "Resume editing" — load the existing PRD and continue the interview from where it left off
|
|
36
|
+
- "Start fresh" — delete the existing PRD and start a new interview
|
|
37
|
+
- "Pick a different milestone" — show available milestones
|
|
38
|
+
- **If no PRD exists** → Proceed with a fresh interview
|
|
39
|
+
|
|
40
|
+
5. **Future milestone detection:** If the target milestone is NOT the current milestone in STATE.md, note this — the PRD will be written but STATE.md's "Active PRD" field will NOT be updated (it stays pointing at the current milestone's PRD). Print: "Speccing future milestone [name]. STATE.md will not be updated — this PRD will be available when you reach this milestone."
|
|
41
|
+
|
|
42
|
+
5. **Codebase scan** (brownfield projects) — spawn **3 parallel Explore subagents** via the Task tool to scan the codebase without consuming main context:
|
|
24
43
|
|
|
25
44
|
| Agent | Focus | Looks For |
|
|
26
45
|
|-------|-------|-----------|
|
|
@@ -35,26 +54,7 @@ You are executing the `/flow:spec` skill. This is the KEYSTONE skill of the flow
|
|
|
35
54
|
- **15-line summary max** — structured as: key files found, patterns observed, reusable code/components, notes
|
|
36
55
|
- **Explicit instruction:** Do NOT return raw file contents — return only structured summaries
|
|
37
56
|
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
## Milestone Targeting
|
|
41
|
-
|
|
42
|
-
Before starting the interview, determine which milestone this PRD targets:
|
|
43
|
-
|
|
44
|
-
1. **If the user passed an argument** (e.g., `/flow:spec v3: Payments`) — match against ROADMAP.md milestones. If no match, print available milestones and ask which one.
|
|
45
|
-
|
|
46
|
-
2. **If no argument** — read ROADMAP.md and list all incomplete milestones. Use AskUserQuestion to let the user pick which milestone to spec. Pre-select the next unspecced milestone as the first option. Always show the picker, even if only one milestone is listed — the user may want to confirm or choose "Other" to define a new milestone first.
|
|
47
|
-
|
|
48
|
-
3. **Derive the PRD slug:** Take the milestone's version prefix and name (e.g., "v3: Dashboard Analytics"), lowercase it, replace spaces and special characters with hyphens, collapse consecutive hyphens. Result: `v3-dashboard-analytics`. The PRD path is `.planning/prds/{slug}.md`.
|
|
49
|
-
|
|
50
|
-
4. **Check for existing PRD at that path:**
|
|
51
|
-
- **If PRD exists** → Use AskUserQuestion: "A PRD already exists for this milestone at `.planning/prds/{slug}.md`. What would you like to do?"
|
|
52
|
-
- "Resume editing" — load the existing PRD and continue the interview from where it left off
|
|
53
|
-
- "Start fresh" — delete the existing PRD and start a new interview
|
|
54
|
-
- "Pick a different milestone" — show available milestones
|
|
55
|
-
- **If no PRD exists** → Proceed with a fresh interview
|
|
56
|
-
|
|
57
|
-
5. **Future milestone detection:** If the target milestone is NOT the current milestone in STATE.md, note this — the PRD will be written but STATE.md's "Active PRD" field will NOT be updated (it stays pointing at the current milestone's PRD). Print: "Speccing future milestone [name]. STATE.md will not be updated — this PRD will be available when you reach this milestone."
|
|
57
|
+
6. **Assemble summaries:** Collect the 3 agent summaries into a brief context block (~45 lines total). Print to user: "Here's what I found in the codebase: [key components, patterns, data layer]. Starting the spec interview."
|
|
58
58
|
|
|
59
59
|
## Phase 2 — Adaptive Interview
|
|
60
60
|
|
package/skills/flow-status.md
CHANGED
|
@@ -8,6 +8,8 @@ user_invocable: true
|
|
|
8
8
|
|
|
9
9
|
You are executing the `/flow:status` skill. This is a READ-ONLY operation. Do NOT modify any files.
|
|
10
10
|
|
|
11
|
+
**Skill boundary:** You are inside the `/flow:*` workflow. NEVER invoke, suggest, or reference skills from other workflow systems (`/lisa:*`, `/gsd:*`, `/superpowers:*`, etc.). Only suggest `/flow:*` commands as next steps. Do NOT use the Skill tool to call any non-flow skill.
|
|
12
|
+
|
|
11
13
|
## Step 1 — Read Context Files
|
|
12
14
|
|
|
13
15
|
Read ALL of the following in parallel:
|
package/skills/flow-task.md
CHANGED
|
@@ -8,6 +8,8 @@ user_invocable: true
|
|
|
8
8
|
|
|
9
9
|
You are executing the `/flow:task` skill. This is for small, focused work — bug fixes, cleanup, one-off features — that doesn't warrant a full PRD. Understand the task, execute it, verify it works, commit it, and document it.
|
|
10
10
|
|
|
11
|
+
**Skill boundary:** You are inside the `/flow:*` workflow. NEVER invoke, suggest, or reference skills from other workflow systems (`/lisa:*`, `/gsd:*`, `/superpowers:*`, etc.). Only suggest `/flow:*` commands as next steps. Do NOT use the Skill tool to call any non-flow skill.
|
|
12
|
+
|
|
11
13
|
RULES:
|
|
12
14
|
- NO AGENT TEAMS. NO PRD. Single execution context.
|
|
13
15
|
- Exception: ONE Task agent for an isolated subtask to prevent context bloat.
|