flow-cc 0.8.1 → 0.8.3

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/CHANGELOG.md CHANGED
@@ -5,6 +5,21 @@ All notable changes to this project will be documented in this file.
5
5
  The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.1.0/),
6
6
  and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.html).
7
7
 
8
+ ## [0.8.3] - 2026-02-15
9
+
10
+ ### Fixed
11
+ - `/flow:spec` now writes `**Linear Project:**` field to PRD header — downstream skills (`flow:go`, `flow:done`) depend on it
12
+ - `/flow:spec` now sets `projectMilestoneId` on every Linear issue — fixes milestone progress showing 0% despite issues existing
13
+ - `/flow:spec` PRD template includes `**Linear Project:**` field (was missing, causing silent Linear skips)
14
+ - `/flow:go` Step 6 now moves completed milestone issues to "Done" in Linear (were stuck at "In Progress" forever)
15
+ - `/flow:done` Step 5.5 now handles interim milestone completion — moves completed milestone issues to "Done" before checking PR/project status
16
+
17
+ ## [0.8.2] - 2026-02-14
18
+
19
+ ### Fixed
20
+ - `/flow:done` now moves Linear **project** to Completed when all milestones are done (previously only moved issues to In Review)
21
+ - `/flow:triage` now always creates a Linear project for project-sized items when MCP is available (was "optionally", causing skips)
22
+
8
23
  ## [0.8.1] - 2026-02-14
9
24
 
10
25
  ### Changed
package/VERSION CHANGED
@@ -1 +1 @@
1
- 0.8.1
1
+ 0.8.3
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "flow-cc",
3
- "version": "0.8.1",
3
+ "version": "0.8.3",
4
4
  "description": "Structured workflow system for Claude Code — spec interviews, agent-team execution, session handoffs, compounding knowledge",
5
5
  "author": "Troy Hoffman",
6
6
  "license": "MIT",
@@ -148,10 +148,18 @@ Runs when 5.25 created a PR (or one already exists for this branch).
148
148
 
149
149
  - Check if Linear MCP tools are available; skip silently if not
150
150
  - Parse active PRD for `**Linear Project:**` field
151
- - If found and open PR exists (`gh pr list --head [branch] --state open`):
152
- - Move all "In Progress" issues to "In Review" via `mcp__linear__update_issue`
153
- - Print: "Linear: [N] issues In Review (PR open)"
154
- - If no PR: issues stay In Progress (normal mid-project session end)
151
+ - If found:
152
+ - Find project, list milestones via `mcp__linear__list_milestones`
153
+ - Cross-reference ROADMAP.md: for each milestone marked "Complete", find matching Linear milestone
154
+ - For each completed milestone: list its issues, move non-Done issues to "Done" via `mcp__linear__update_issue`
155
+ - Print: "Linear: [N] issues → Done ([milestone name])" per milestone; if 0 issues: "Linear: [milestone name] — no issues to update"
156
+ - If open PR exists (`gh pr list --head [branch] --state open`):
157
+ - Move remaining "In Progress" issues to "In Review" via `mcp__linear__update_issue`
158
+ - Print: "Linear: [N] issues → In Review (PR open)"
159
+ - If no PR: remaining in-progress issues stay (normal mid-project session end)
160
+ - **If project complete** (all milestones done):
161
+ - Move project to Completed: `mcp__linear__update_project` with `state: "Completed"`
162
+ - Print: "Linear: project → Completed"
155
163
  - Post progress comment on any branch-linked Linear issue
156
164
 
157
165
  ### 6. Route Next Action
@@ -184,7 +192,7 @@ Session complete.
184
192
  - Committed: [SHA | nothing to commit]
185
193
  - PR: [created #N | skipped (milestones remain)]
186
194
  - Review: [N comments addressed | pending | skipped]
187
- - Linear: [N issues → In Review | skipped]
195
+ - Linear: [N issues → Done (milestone) | N → In Review (PR) | project → Completed | skipped]
188
196
 
189
197
  Next: [routing from Step 6]
190
198
  ```
package/skills/flow-go.md CHANGED
@@ -137,6 +137,8 @@ Atomic commit for this milestone. Stage only files from this milestone's agents.
137
137
 
138
138
  **ROADMAP.md (ALWAYS):** Mark milestone as "Complete ([date])"
139
139
 
140
+ **Linear milestone (ALWAYS):** If `**Linear Project:**` in PRD and Linear MCP available: find completed milestone in Linear via `mcp__linear__list_milestones`, list its issues, move non-Done issues to "Done" via `mcp__linear__update_issue`. Print: "Linear: [N] issues → Done ([milestone name])". If 0 issues: print "Linear: [milestone name] — no issues to update". Skip silently if no Linear Project or MCP unavailable.
141
+
140
142
  **STATE.md (LAST MILESTONE ONLY):** Update only if this was the LAST milestone (project complete): files created/modified count, commit SHA, milestone completion note. Keep "Active PRD" pointing to resolved path. Skip STATE.md for non-final milestones.
141
143
 
142
144
  ## Step 7 — Route Next Action (MANDATORY — FINAL STEP)
@@ -94,6 +94,7 @@ Write to `.planning/prds/{slug}.md` (create dir if needed) with this structure:
94
94
  **Branch:** feat/{project-slug}
95
95
  **Created:** [date]
96
96
  **Assigned To:** [developer or "unassigned"]
97
+ **Linear Project:** [Linear project name if linked, or blank]
97
98
 
98
99
  ## Overview
99
100
  [One paragraph summary]
@@ -161,10 +162,13 @@ After writing the PRD:
161
162
  4. **Linear Integration (optional):**
162
163
  - Check if Linear MCP tools are available (`mcp__linear__list_teams`)
163
164
  - If available: search for matching Linear project (`mcp__linear__list_projects`)
164
- - Found: create one **Linear milestone** per implementation milestone, one **Linear issue** per user story/task (not per milestone)
165
- - Not found: AskUserQuestion to pick project or skip
165
+ - Found: use it. Not found: AskUserQuestion to pick existing project or skip Linear
166
+ - Add `**Linear Project:** [project name]` to the PRD header (after `**Assigned To:**`)
167
+ - For each implementation milestone: create a **Linear milestone** (`mcp__linear__create_milestone`) under the project
168
+ - For each user story: create a **Linear issue** (`mcp__linear__create_issue`) with BOTH `projectId` AND `projectMilestoneId` set — assign to the milestone whose `**Acceptance:**` field references that story. Title: "US-N: [story name]"
169
+ - **Critical:** Every issue MUST have `projectMilestoneId` set. Issues without milestone assignment break downstream status tracking.
166
170
  - If MCP unavailable: skip silently
167
- - Print: "[N] milestones + [M] issues created under project [name]"
171
+ - Print: "[N] milestones + [M] issues created under [project name]"
168
172
 
169
173
  5. Print handoff prompt in a fenced code block.
170
174
 
@@ -76,7 +76,8 @@ For approved items:
76
76
  - If no active project exists (all "Complete" or none):
77
77
  - Set first new project status to "Pending — needs `/flow:spec`"
78
78
  - Update STATE.md to point to new project as current
79
- - Optionally create a Linear project (if MCP available)
79
+ - If Linear MCP available: create project via `mcp__linear__create_project` (team: "Monument Square", state: "planned"). Print: "Linear: project '[name]' created"
80
+ - If MCP unavailable: print project details for manual creation
80
81
 
81
82
  **Lessons:**
82
83
  - Append to `tasks/lessons.md` as one-liners: `- **[topic]** The rule`