flow-cc 0.6.0 → 0.7.0

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.
@@ -28,7 +28,7 @@ You are executing the `/flow:spec` skill. This is the KEYSTONE skill of the flow
28
28
 
29
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
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`.
31
+ 3. **Derive the PRD slug:** Take the milestone name (e.g., "Dashboard Analytics"), lowercase it, replace spaces and special characters with hyphens, collapse consecutive hyphens. Result: `dashboard-analytics`. The PRD path is `.planning/prds/{slug}.md`.
32
32
 
33
33
  4. **Check for existing PRD at that path:**
34
34
  - **If PRD exists** → Use AskUserQuestion: "A PRD already exists for this milestone at `.planning/prds/{slug}.md`. What would you like to do?"
@@ -171,9 +171,9 @@ Write the PRD to `.planning/prds/{slug}.md` (create `.planning/prds/` directory
171
171
  ```markdown
172
172
  # [Milestone Name] — Specification
173
173
 
174
- **Milestone:** [full milestone name, e.g., "v3: Dashboard Analytics"]
174
+ **Milestone:** [full milestone name, e.g., "Dashboard Analytics"]
175
175
  **Status:** Ready for execution
176
- **Branch:** feat/[milestone-slug]
176
+ **Branch:** feat/{milestone-slug}
177
177
  **Created:** [today's date]
178
178
  **Assigned To:** [developer name or "unassigned"]
179
179
 
@@ -57,7 +57,7 @@ Use this explicit decision tree:
57
57
 
58
58
  **IF all phases are complete AND no next milestone exists:**
59
59
  → Primary: `/flow:done` to finalize this milestone
60
- → Then: `/flow:milestone` to add the next milestone
60
+ → Then: `/flow:triage` to add the next milestone
61
61
  → Alt: `/flow:task` for quick fixes or cleanup (no PRD needed)
62
62
 
63
63
  **IF no phases exist in ROADMAP (milestone defined but not planned):**
@@ -32,6 +32,7 @@ For each distinct item in the brain dump, classify into one of:
32
32
  - **Linear Issue** — actionable task, bug, or feature → will become a Linear issue
33
33
  - **ROADMAP Entry** — future milestone or phase idea → append to ROADMAP.md Future section
34
34
  - **Lesson** — learning, pattern, or rule → append to tasks/lessons.md
35
+ - **Milestone** — milestone-sized work item → add to ROADMAP.md as a planned milestone
35
36
  - **Discard** — not actionable, already done, duplicate, or too vague to action
36
37
 
37
38
  ## Step 4 — Present Plan
@@ -45,6 +46,7 @@ Show the full categorization in a table:
45
46
  | 2 | "Never use git add ." | Lesson | "Always stage specific files" |
46
47
  | 3 | "Maybe add dark mode" | ROADMAP | Future/Unscheduled |
47
48
  | 4 | "Had a thought about..." | Discard | Too vague to action |
49
+ | 5 | "Student leasing rate modeling" | Milestone | Add to ROADMAP as planned milestone |
48
50
  ```
49
51
 
50
52
  Use AskUserQuestion: "Here's how I'd categorize your brain dump. Review and approve, or tell me what to change."
@@ -71,6 +73,14 @@ For approved items:
71
73
  - If that section doesn't exist, create it at the bottom of the file
72
74
  - Format: `| [name] | Unscheduled | — |`
73
75
 
76
+ **Milestones:**
77
+ - Add to `.planning/ROADMAP.md` main milestone table with status "Planned"
78
+ - Add a section with the milestone goal: `## [Milestone Name]\n\n**Goal:** [goal]\n\n**Phases:** Run /flow:spec when this milestone is active.`
79
+ - If no active milestone exists (all existing milestones are "Complete" or none exist):
80
+ - Set the first new milestone's status to "Pending — needs `/flow:spec`"
81
+ - Update STATE.md to point to the new milestone as current
82
+ - Optionally create a Linear project (if Linear MCP tools available via `mcp__linear__list_teams`)
83
+
74
84
  **Lessons:**
75
85
  - Append to `tasks/lessons.md` as one-liners: `- **[topic]** The rule`
76
86
  - Enforce max 10 cap (promote most battle-tested to `CLAUDE.md ## Learned Rules` if full)
@@ -86,6 +96,7 @@ Print a compact completion block:
86
96
  Triage complete:
87
97
  - [N] Linear issues created (in [project names])
88
98
  - [N] ROADMAP entries added
99
+ - [N] milestones added to ROADMAP
89
100
  - [N] lessons captured
90
101
  - [N] items discarded
91
102
  ```
@@ -1,18 +1,18 @@
1
- # {{PROJECT_NAME}} — Roadmap
2
-
3
- ## Milestones
4
-
5
- | Version | Milestone | Status | Phases |
6
- |---------|-----------|--------|--------|
7
- | v1 | {{FIRST_MILESTONE}} | Pending — needs `/flow:spec` | TBD |
8
- {{ADDITIONAL_MILESTONES_TABLE}}
9
-
10
- ---
11
-
12
- ## v1: {{FIRST_MILESTONE}}
13
-
14
- **Goal:** {{MILESTONE_GOAL}}
15
-
16
- **Phases:** Run `/flow:spec` to define implementation phases.
17
-
18
- {{ADDITIONAL_MILESTONES_SECTIONS}}
1
+ # {{PROJECT_NAME}} — Roadmap
2
+
3
+ ## Milestones
4
+
5
+ | Milestone | Status | Phases |
6
+ |-----------|--------|--------|
7
+ | {{FIRST_MILESTONE}} | Pending — needs `/flow:spec` | TBD |
8
+ {{ADDITIONAL_MILESTONES_TABLE}}
9
+
10
+ ---
11
+
12
+ ## {{FIRST_MILESTONE}}
13
+
14
+ **Goal:** {{MILESTONE_GOAL}}
15
+
16
+ **Phases:** Run `/flow:spec` to define implementation phases.
17
+
18
+ {{ADDITIONAL_MILESTONES_SECTIONS}}
@@ -1,24 +1,24 @@
1
- # {{PROJECT_NAME}} — Project State
2
-
3
- ## Current Position
4
- - **Milestone:** {{FIRST_MILESTONE}} (v1)
5
- - **Phase:** Not started — run `/flow:spec` to build PRD
6
- - **Branch:** main
7
- - **Active PRD:** None — run `/flow:spec` to create
8
- - **Last Session:** {{DATE}}
9
-
10
- ## Milestone Progress
11
-
12
- | Phase | Name | Status |
13
- |-------|------|--------|
14
- | — | Run `/flow:spec` to define phases | — |
15
-
16
- ## What Was Built (This Session)
17
- - Project initialized with `/flow:setup`
18
- - Created: CLAUDE.md, STATE.md, ROADMAP.md, tasks/lessons.md
19
-
20
- ## Key Decisions
21
- - (none yet)
22
-
23
- ## Next Actions
24
- 1. Run `/flow:spec` to interview and generate PRD for {{FIRST_MILESTONE}}
1
+ # {{PROJECT_NAME}} — Project State
2
+
3
+ ## Current Position
4
+ - **Milestone:** {{FIRST_MILESTONE}}
5
+ - **Phase:** Not started — run `/flow:spec` to build PRD
6
+ - **Branch:** main
7
+ - **Active PRD:** None — run `/flow:spec` to create
8
+ - **Last Session:** {{DATE}}
9
+
10
+ ## Milestone Progress
11
+
12
+ | Phase | Name | Status |
13
+ |-------|------|--------|
14
+ | — | Run `/flow:spec` to define phases | — |
15
+
16
+ ## What Was Built (This Session)
17
+ - Project initialized with `/flow:setup`
18
+ - Created: CLAUDE.md, STATE.md, ROADMAP.md, tasks/lessons.md
19
+
20
+ ## Key Decisions
21
+ - (none yet)
22
+
23
+ ## Next Actions
24
+ 1. Run `/flow:spec` to interview and generate PRD for {{FIRST_MILESTONE}}
@@ -1,78 +0,0 @@
1
- ---
2
- name: flow:milestone
3
- description: Add new milestones to the roadmap
4
- user_invocable: true
5
- ---
6
-
7
- # /flow:milestone — Add New Milestones
8
-
9
- You are executing the `/flow:milestone` skill. This adds new milestones to the project roadmap.
10
-
11
- ## Guard: Project Must Exist
12
-
13
- Check if `.planning/STATE.md` exists:
14
- - **If it does NOT exist** → Print: "No project found. Run `/flow:setup` first." and **STOP.**
15
- - **If it exists** → Continue.
16
-
17
- ## Step 1: Read Context
18
-
19
- Read `.planning/STATE.md` and `.planning/ROADMAP.md` to understand:
20
- - Current milestone status (what's active, what's complete, what's planned)
21
- - What version numbers are already used
22
-
23
- ## Step 2: Show Current Status
24
-
25
- Print a summary of the roadmap:
26
- - List all milestones with their status (Complete, Pending, Planned, In Progress)
27
- - Highlight the currently active milestone (if any)
28
-
29
- ## Step 3: Check for Active Work
30
-
31
- If there is a milestone with status "Pending" or with incomplete phases (In Progress):
32
- - Print: "Note: [milestone name] is currently active. New milestones will be added after existing planned milestones."
33
-
34
- ## Step 4: Gather New Milestones
35
-
36
- Use AskUserQuestion:
37
- - "How would you like to add milestones?" with options:
38
- - "I'll paste or describe them"
39
- - "One at a time (guided)"
40
-
41
- **If paste/describe:**
42
- - Accept free text (bullet list, paragraph, pasted doc — any format)
43
- - Parse into milestones, each with a name + brief goal
44
- - Print back: "Here's what I got:" followed by the parsed list
45
- - Use AskUserQuestion to confirm: "Does this look right?" with options:
46
- - "Yes — looks good"
47
- - "Let me adjust" (user re-enters)
48
-
49
- **If guided:**
50
- - Ask: "What's this milestone called?" (name) and "What's the goal?" (one-sentence description)
51
- - Then: "Add another milestone?" with options:
52
- - "Yes — add another"
53
- - "That's all"
54
- - Repeat until user says that's all
55
-
56
- ## Step 5: Update Planning Docs
57
-
58
- **ROADMAP.md:**
59
- - Determine the next available version number (after existing milestones)
60
- - Add new milestone rows to the table with status "Planned"
61
- - Add new milestone sections with goals and "Run `/flow:spec` when this milestone is active."
62
-
63
- **If no active milestone** (all existing milestones are "Complete" or there are none):
64
- - Set the first new milestone's status to "Pending — needs `/flow:spec`"
65
- - Update STATE.md to point to the new milestone as current
66
-
67
- ## Step 6: Print Completion Message
68
-
69
- ```
70
- Added [N] milestone(s) to the roadmap:
71
- [list of added milestones with version numbers]
72
-
73
- [If a milestone was activated:]
74
- v[X] [name] is now active. Run /flow:spec to plan it.
75
-
76
- [If milestones were just queued:]
77
- These will activate in order as you complete current milestones.
78
- ```