flow-cc 0.8.0 → 0.8.1

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,24 @@ 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.1] - 2026-02-14
9
+
10
+ ### Changed
11
+ - All 8 active skill files compressed in-place — 67.5KB → 46KB total (-31.7%)
12
+ - `flow-spec.md` reduced 49% (17.4KB → 8.9KB) — condensed PRD template, coverage areas, codebase scan table
13
+ - `flow-go.md` reduced 37% (11.2KB → 7.0KB) — merged wave failure blocks, compressed agent prompt template
14
+ - `flow-done.md` reduced 26% (10.1KB → 7.5KB) — tightened STATE template, PR body, review polling
15
+ - `flow-setup.md` reduced 25% (6.4KB → 4.9KB) — compressed templates and question descriptions
16
+ - `flow-task.md` reduced 29% (6.1KB → 4.3KB) — compressed scope guard, verification, session template
17
+ - `flow-status.md` reduced 28% (5.1KB → 3.6KB) — condensed routing decision tree, status block
18
+ - `flow-intro.md` reduced 14% (4.7KB → 4.0KB) — removed GSD compat line, trimmed command descriptions
19
+ - `flow-triage.md` reduced 16% (4.5KB → 3.8KB) — fewer example rows, general tightening
20
+ - Skill boundary warning standardized to 1 line across all files
21
+ - Plan mode + skill boundary merged into single `**Constraints:**` line in flow-spec and flow-go
22
+
23
+ ### Fixed
24
+ - Deleted stray `nul` file (Windows artifact) from repo root
25
+
8
26
  ## [0.8.0] - 2026-02-14
9
27
 
10
28
  ### Changed
package/VERSION CHANGED
@@ -1 +1 @@
1
- 0.8.0
1
+ 0.8.1
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "flow-cc",
3
- "version": "0.8.0",
3
+ "version": "0.8.1",
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",
@@ -1,42 +1,37 @@
1
1
  ---
2
2
  name: flow:done
3
- description: Session-end documentation — updates STATE.md, ROADMAP.md, lessons.md, generates handoff prompt. Handles project-complete PR creation and Linear status management.
3
+ description: Session-end documentation — updates STATE.md, ROADMAP.md, lessons.md. Handles project-complete PR creation, automated review, and Linear status management.
4
4
  user_invocable: true
5
5
  ---
6
6
 
7
7
  # /flow:done — Session End + Handoff
8
8
 
9
- You are executing the `/flow:done` skill. This finalizes the current session by updating all planning documents and generating a handoff prompt for the next session.
9
+ You are executing the `/flow:done` skill. This finalizes the current session by updating all planning documents and routing to the next action.
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.
13
+ **Skill boundary:** Only use `/flow:*` commands. Never invoke or suggest `/lisa:*`, `/gsd:*`, `/superpowers:*` or any non-flow skill.
14
14
 
15
15
  ## Steps
16
16
 
17
17
  ### 1. Gather Context
18
18
 
19
- Read these files (in parallel where possible):
20
- - `.planning/STATE.md` current state
21
- - `.planning/ROADMAP.md` project/milestone progress
22
- - `tasks/lessons.md` — active lessons (max 10)
23
- - `CLAUDE.md` — project rules
24
- - Active PRD from `.planning/prds/` (resolve via STATE.md "Active PRD" field, or fall back to legacy `PRD.md` at root)
25
- - `.claude/memory/session.md` (if exists) — personal session state
19
+ Read in parallel:
20
+ - `.planning/STATE.md`, `.planning/ROADMAP.md`, `tasks/lessons.md`, `CLAUDE.md`
21
+ - Active PRD from `.planning/prds/` (resolve via STATE.md "Active PRD" field, or legacy root `PRD.md`)
22
+ - `.claude/memory/session.md` (if exists)
26
23
 
27
- Also gather:
28
- - Run `git log --oneline -20` to see commits this session
29
- - Run `git diff --stat` to check for uncommitted changes
30
- - Run `git config user.name` to get developer identity
31
- - If uncommitted changes exist, warn the user before proceeding
24
+ Also run:
25
+ - `git log --oneline -20` commits this session
26
+ - `git diff --stat` uncommitted changes (warn user if any exist)
27
+ - `git config user.name` developer identity
32
28
 
33
29
  ### 2. Update STATE.md (Project Boundaries Only)
34
30
 
35
- **Determine if a project was completed this session** by checking ROADMAP.md progress and commits.
31
+ Check ROADMAP.md progress and commits to determine if a project completed this session.
36
32
 
37
- **IF project completed this session** — REPLACE the entire file (do NOT append). Keep under 80 lines.
33
+ **IF project completed** — REPLACE the entire file (do NOT append). Keep under 80 lines:
38
34
 
39
- Structure:
40
35
  ```
41
36
  # [Project Name] — Project State
42
37
 
@@ -44,167 +39,139 @@ Structure:
44
39
  - **Project:** [name]
45
40
  - **Milestone:** [current milestone status]
46
41
  - **Branch:** [current branch]
47
- - **Active PRD:** [path to active PRD, or "None" if project complete]
42
+ - **Active PRD:** [path or "None" if project complete]
48
43
  - **Last Session:** [today's date]
49
44
 
50
45
  ## Milestone Progress
51
-
52
46
  | Milestone | Name | Status |
53
47
  |-----------|------|--------|
54
48
  | 1 | [name] | Complete (date) |
55
- | 2 | [name] | Complete (date) |
56
- | 3 | [name] | In Progress |
57
- | 4 | [name] | Pending |
49
+ | 2 | [name] | In Progress |
58
50
 
59
51
  ## What Was Built (This Session)
60
- - [Bullet list of what was accomplished]
61
- - [Include file counts, key components, commit SHAs]
52
+ - [Bullet list file counts, key components, commit SHAs]
62
53
 
63
54
  ## Key Decisions
64
- - [Any architectural or design decisions made]
55
+ - [Architectural or design decisions made]
65
56
 
66
57
  ## Next Actions
67
- 1. [Specific next step — usually "Run /flow:go for Milestone N"]
58
+ 1. [Specific next step]
68
59
  ```
69
60
 
70
- **IF normal session (no project completed)** — SKIP STATE.md entirely. Print: "Normal session — STATE.md skipped (project boundaries only)."
61
+ **IF normal session** — SKIP STATE.md. Print: "Normal session — STATE.md skipped (project boundaries only)."
71
62
 
72
63
  ### 2.5. Write session.md (Every Session)
73
64
 
74
- This step ALWAYS runs, regardless of whether a project was completed.
75
-
76
- Create `.claude/memory/` directory if it doesn't exist.
77
-
78
- Write `.claude/memory/session.md` with the following content:
65
+ Always runs. Create `.claude/memory/` if needed. Write `.claude/memory/session.md`:
79
66
 
80
67
  ```
81
68
  # Session State
82
-
83
- **Date:** [today's date]
84
- **Developer:** [git config user.name result]
85
- **Branch:** [current git branch]
86
- **Working On:** [Linear issue ID + description if detectable from branch name, or PRD milestone, or "standalone task"]
87
- **Status:** [what was accomplished this session — bullet list of key items]
88
- **Next:** [what to pick up next session]
69
+ **Date:** [today]
70
+ **Developer:** [git config user.name]
71
+ **Branch:** [current branch]
72
+ **Working On:** [Linear issue ID + desc, or PRD milestone, or "standalone task"]
73
+ **Status:** [bullet list of accomplishments]
74
+ **Next:** [what to pick up next]
89
75
  **Blockers:** [any blockers, or "None"]
90
76
  ```
91
77
 
92
78
  ### 3. Update ROADMAP.md (Project Boundaries Only)
93
79
 
94
- **IF project completed this session:**
95
-
96
- - Mark completed milestones with completion date
97
- - Ensure pending milestones have enough detail that the next session can start with a one-line prompt
98
- - **Archive check:** If the current project is fully complete:
99
- - If `.planning/` does not exist, skip archiving entirely — there's nothing to archive
100
- - Create `.planning/archive/` if it doesn't already exist (use `mkdir -p` or equivalent)
101
- - Move project milestone details to `.planning/archive/project-{slug}.md`
102
- - Keep only the summary row in the ROADMAP project table
103
- - Archive the project's PRD: move `.planning/prds/{slug}.md` to `.planning/archive/PRD-{slug}.md`. If using legacy root `PRD.md`, move it to `.planning/archive/PRD-{slug}.md` instead.
104
- - Clear STATE.md "Active PRD" field (set to "None")
105
- - Mark the project as "Complete" in the ROADMAP table
106
- - **Project transition:** Check ROADMAP.md for the NEXT project with status "Planned":
107
- - **If a next project exists:** Update its status from "Planned" to "Pending — needs `/flow:spec`". Update STATE.md current project to point to the new project.
108
- - **If no next project exists:** No transition needed all planned projects are done.
109
-
110
- **IF normal session (no project completed)** — SKIP ROADMAP.md entirely. Print: "Normal session — ROADMAP.md skipped (project boundaries only)."
80
+ **IF project completed:**
81
+ - Mark completed milestones with dates
82
+ - Ensure pending milestones have enough detail for a one-line-prompt start
83
+ - **Archive check** (if project fully complete):
84
+ - Skip if `.planning/` doesn't exist
85
+ - Create `.planning/archive/` if needed (`mkdir -p`)
86
+ - Move milestone details to `.planning/archive/project-{slug}.md`
87
+ - Keep only summary row in ROADMAP table
88
+ - Archive PRD: move `.planning/prds/{slug}.md` (or legacy root `PRD.md`) to `.planning/archive/PRD-{slug}.md`
89
+ - Clear STATE.md "Active PRD" "None"; mark project "Complete" in ROADMAP
90
+ - **Project transition:** Check for next "Planned" project:
91
+ - If exists: update to "Pending — needs `/flow:spec`", update STATE.md current project
92
+ - If none: no transition needed
93
+
94
+ **IF normal session** SKIP ROADMAP.md. Print: "Normal sessionROADMAP.md skipped (project boundaries only)."
111
95
 
112
96
  ### 4. Update lessons.md
113
97
 
114
- - Review the session for mistakes, corrections, or discovered issues
115
- - Auto-suggest lessons based on errors encountered (if any)
116
- - Ask the user: "Any lessons from this session?" using AskUserQuestion with options:
117
- - "No new lessons"
118
- - "Yes, let me add some" (user types them)
119
- - "Use your suggestions" (if you auto-suggested any)
120
- - Add new lessons as one-liners: `- **[topic]** The rule`
121
- - **Hard cap enforcement (max 10 active):**
122
- - If lessons.md already has 10 items and a new one needs to be added:
123
- 1. Identify the most battle-tested/internalized lesson
124
- 2. Promote it to `CLAUDE.md ## Learned Rules` section
125
- 3. Delete it from lessons.md
126
- 4. Add the new lesson
127
- - If `CLAUDE.md ## Learned Rules` hits 15 items, delete the most obvious/internalized rule to make room
98
+ - Review session for mistakes, corrections, or discovered issues
99
+ - Auto-suggest lessons from errors encountered
100
+ - AskUserQuestion: "Any lessons from this session?" with options: "No new lessons" / "Yes, let me add some" / "Use your suggestions"
101
+ - Format: `- **[topic]** The rule`
102
+ - **Hard cap (max 10):** If at 10, promote the most battle-tested to `CLAUDE.md ## Learned Rules`, delete from lessons.md, then add new. If Learned Rules hits 15, delete the most obvious rule to make room.
128
103
 
129
104
  ### 5. Commit Doc Updates
130
105
 
131
- **Normal session (no project completed):**
132
- - Only stage `tasks/lessons.md` if it changed
133
- - Skip STATE.md and ROADMAP.md (they were not modified)
134
- - Do NOT stage `.claude/memory/session.md` (it is gitignored)
135
- - If nothing needs staging (no changes to shared docs), skip the commit. Print: "No shared doc changes to commit."
136
- - Otherwise commit with message: `docs: session-end updates — [brief summary]`
106
+ **Normal session:** Only stage `tasks/lessons.md` if changed. Skip STATE.md/ROADMAP.md. Never stage `.claude/memory/session.md` (gitignored). If no shared doc changes, print "No shared doc changes to commit." Otherwise: `docs: session-end updates — [brief summary]`
137
107
 
138
- **Project boundary session:**
139
- - Stage STATE.md, ROADMAP.md, lessons.md, and any archived files
140
- - Do NOT stage `.claude/memory/session.md` (it is gitignored)
141
- - Commit with message: `docs: session-end updates — [brief summary]`
108
+ **Project boundary session:** Stage STATE.md, ROADMAP.md, lessons.md, archived files. Never stage session.md. Commit: `docs: session-end updates — [brief summary]`
142
109
 
143
- - Do NOT push unless the user asks
110
+ Do NOT push unless user asks.
144
111
 
145
112
  ### 5.25. Auto-Create PR (Project Complete Only)
146
113
 
147
- - Check if ALL milestones in the PRD are marked "Complete" in ROADMAP.md
148
- - If all complete AND no PR exists for this branch (`gh pr list --head [branch] --state open` returns empty):
149
- - Parse the PRD for all Linear issue IDs (e.g., MSIG-34, MSIG-35, ...)
150
- - Push the branch: `git push -u origin [branch]`
114
+ - Check if ALL milestones in PRD are "Complete" in ROADMAP.md
115
+ - If all complete AND no open PR for branch (`gh pr list --head [branch] --state open`):
116
+ - Parse PRD for all Linear issue IDs
117
+ - Push branch: `git push -u origin [branch]`
151
118
  - Auto-generate PR body:
152
119
  ```
153
120
  ## Summary
154
- [Project name] — [one-line description from PRD overview]
155
-
121
+ [Project name] — [one-line from PRD]
156
122
  ## Milestones Completed
157
123
  - Milestone 1: [Name] (completed [date])
158
- - Milestone 2: [Name] (completed [date])
159
- ...
160
-
161
124
  ## Linear Issues
162
- Closes MSIG-34, Closes MSIG-35, Closes MSIG-36, ...
163
- [one "Closes MSIG-XX" per issue found in PRD]
164
-
125
+ Closes MSIG-34, Closes MSIG-35, ...
165
126
  ## Verification
166
127
  - `npx tsc --noEmit` — passed
167
128
  - `npx biome check` — passed
168
129
  ```
169
- - Create PR: `gh pr create --title "[project name]" --body "[auto-generated body]"`
170
- - Print: "PR created: [PR URL]"
171
- - Print: "Linear: [N] issues will auto-close on merge"
172
- - If milestones remain OR PR already exists: skip silently
130
+ - `gh pr create --title "[project name]" --body "[body]"`
131
+ - Print: "PR created: [URL]" and "Linear: [N] issues will auto-close on merge"
132
+ - If milestones remain OR PR exists: skip silently
133
+
134
+ ### 5.3. Await Automated Review (Project Complete Only)
135
+
136
+ Runs when 5.25 created a PR (or one already exists for this branch).
137
+
138
+ 1. Get PR number from `gh pr create` output or `gh pr list --head [branch]`
139
+ 2. Parse repo owner/name from `git remote get-url origin`
140
+ 3. Poll every 2 min, up to 10 min (5 checks max):
141
+ - `gh api repos/{owner}/{repo}/pulls/{N}/reviews` — non-empty reviews
142
+ - `gh api repos/{owner}/{repo}/pulls/{N}/comments` — bot/review comments
143
+ 4. **Reviews arrive:** Read all, address each, push fixes. Print: "Automated review: [N] comments addressed, fixes pushed."
144
+ 5. **No reviews after 10 min:** Print: "No comments after 10 min. Proceeding." Write "Automated review pending" in session.md Blockers.
145
+ 6. **Pre-existing PR:** Check for unaddressed review comments from prior sessions; address before proceeding.
173
146
 
174
147
  ### 5.5. Linear Status Update + Progress Comment
175
148
 
176
- - Check if Linear MCP tools are available
177
- - If available:
178
- - Parse the active PRD for `**Linear Project:**` field
179
- - If found:
180
- - Check for open PR: `gh pr list --head [branch] --state open`
181
- - If PR exists:
182
- - Find all issues in the Linear project that are "In Progress"
183
- - Move them to "In Review": `mcp__linear__update_issue` with `state: "In Review"`
184
- - Print: "Linear: [N] issues → In Review (PR open)"
185
- - If no PR: issues stay In Progress (normal mid-project session end)
186
- - Post progress comment on any branch-linked Linear issue (existing behavior)
187
- - If not available: skip silently
188
-
189
- ### 6. Generate Handoff Prompt
190
-
191
- Determine the next action and generate a copyable handoff prompt. Include the developer name in the prompt.
192
-
193
- - If next milestone exists in PRD:
194
- ```
195
- [Developer Name] Milestone [N]: [Name] [short description]. Read STATE.md, ROADMAP.md, and .planning/prds/{slug}.md (US-X).
196
- [One sentence of context]. [One sentence of what NOT to do if relevant].
197
- ```
198
- - If project is complete AND a next project was transitioned to (from Step 3):
199
- ```
200
- [Developer Name] Project [name] complete. Next: [next project name]. Run /flow:spec to plan it.
201
- ```
202
- - If project is complete AND no next project exists:
203
- ```
204
- [Developer Name] — All projects complete! Run /flow:triage to plan what's next, or enjoy the win.
205
- ```
206
-
207
- Print the handoff prompt in a fenced code block so the user can copy it.
149
+ - Check if Linear MCP tools are available; skip silently if not
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)
155
+ - Post progress comment on any branch-linked Linear issue
156
+
157
+ ### 6. Route Next Action
158
+
159
+ **Mid-project (milestones remain):**
160
+ ```
161
+ Next steps:
162
+ /flow:go execute Milestone [N+1]: [Name]
163
+ → /clear + /flow:go — if context is heavy
164
+ ```
165
+
166
+ **Project complete + next project exists:**
167
+ ```
168
+ Project complete! Review + merge PR #[N] /flow:spec plan [next project]
169
+ ```
170
+
171
+ **Project complete + no next project:**
172
+ ```
173
+ All projects complete! Review + merge PR #[N] /flow:triage plan what's next
174
+ ```
208
175
 
209
176
  ### 7. Print Summary
210
177
 
@@ -215,7 +182,9 @@ Session complete.
215
182
  - session.md: updated
216
183
  - lessons.md: [N]/10 active, [N] promoted to CLAUDE.md
217
184
  - Committed: [SHA | nothing to commit]
185
+ - PR: [created #N | skipped (milestones remain)]
186
+ - Review: [N comments addressed | pending | skipped]
187
+ - Linear: [N issues → In Review | skipped]
218
188
 
219
- Handoff prompt:
220
- [the prompt in a code block]
189
+ Next: [routing from Step 6]
221
190
  ```