learnship 1.9.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.
Files changed (171) hide show
  1. package/.claude-plugin/plugin.json +26 -0
  2. package/.cursor-plugin/plugin.json +26 -0
  3. package/LICENSE +21 -0
  4. package/README.md +791 -0
  5. package/SKILL.md +86 -0
  6. package/agents/debugger.md +102 -0
  7. package/agents/executor.md +115 -0
  8. package/agents/learnship-debugger.md +146 -0
  9. package/agents/learnship-executor.md +155 -0
  10. package/agents/learnship-phase-researcher.md +128 -0
  11. package/agents/learnship-plan-checker.md +119 -0
  12. package/agents/learnship-planner.md +146 -0
  13. package/agents/learnship-verifier.md +157 -0
  14. package/agents/planner.md +109 -0
  15. package/agents/researcher.md +80 -0
  16. package/agents/verifier.md +114 -0
  17. package/bin/install.js +1242 -0
  18. package/bin/learnship.js +56 -0
  19. package/commands/learnship/add-phase.md +22 -0
  20. package/commands/learnship/add-tests.md +24 -0
  21. package/commands/learnship/add-todo.md +21 -0
  22. package/commands/learnship/audit-milestone.md +21 -0
  23. package/commands/learnship/check-todos.md +22 -0
  24. package/commands/learnship/cleanup.md +22 -0
  25. package/commands/learnship/complete-milestone.md +22 -0
  26. package/commands/learnship/debug.md +27 -0
  27. package/commands/learnship/decision-log.md +22 -0
  28. package/commands/learnship/diagnose-issues.md +23 -0
  29. package/commands/learnship/discovery-phase.md +24 -0
  30. package/commands/learnship/discuss-milestone.md +23 -0
  31. package/commands/learnship/discuss-phase.md +23 -0
  32. package/commands/learnship/execute-phase.md +27 -0
  33. package/commands/learnship/execute-plan.md +26 -0
  34. package/commands/learnship/health.md +20 -0
  35. package/commands/learnship/help.md +19 -0
  36. package/commands/learnship/insert-phase.md +22 -0
  37. package/commands/learnship/knowledge-base.md +21 -0
  38. package/commands/learnship/list-phase-assumptions.md +21 -0
  39. package/commands/learnship/ls.md +20 -0
  40. package/commands/learnship/map-codebase.md +23 -0
  41. package/commands/learnship/milestone-retrospective.md +21 -0
  42. package/commands/learnship/new-milestone.md +23 -0
  43. package/commands/learnship/new-project.md +24 -0
  44. package/commands/learnship/next.md +22 -0
  45. package/commands/learnship/pause-work.md +21 -0
  46. package/commands/learnship/plan-milestone-gaps.md +22 -0
  47. package/commands/learnship/plan-phase.md +24 -0
  48. package/commands/learnship/progress.md +20 -0
  49. package/commands/learnship/quick.md +27 -0
  50. package/commands/learnship/reapply-patches.md +21 -0
  51. package/commands/learnship/release.md +21 -0
  52. package/commands/learnship/remove-phase.md +23 -0
  53. package/commands/learnship/research-phase.md +23 -0
  54. package/commands/learnship/resume-work.md +21 -0
  55. package/commands/learnship/set-profile.md +21 -0
  56. package/commands/learnship/settings.md +21 -0
  57. package/commands/learnship/transition.md +21 -0
  58. package/commands/learnship/update.md +21 -0
  59. package/commands/learnship/validate-phase.md +22 -0
  60. package/commands/learnship/verify-work.md +23 -0
  61. package/cursor-rules/learnship.mdc +60 -0
  62. package/gemini-extension.json +10 -0
  63. package/hooks/hooks-claude.json +15 -0
  64. package/hooks/hooks-cursor.json +10 -0
  65. package/hooks/session-start +43 -0
  66. package/install.sh +254 -0
  67. package/learnship/references/design-commands.md +119 -0
  68. package/learnship/references/git-integration.md +249 -0
  69. package/learnship/references/learning-design.md +142 -0
  70. package/learnship/references/model-profiles.md +90 -0
  71. package/learnship/references/planning-config.md +184 -0
  72. package/learnship/references/questioning.md +162 -0
  73. package/learnship/references/ui-brand.md +160 -0
  74. package/learnship/references/verification-patterns.md +608 -0
  75. package/learnship/templates/agents.md +166 -0
  76. package/learnship/templates/context.md +72 -0
  77. package/learnship/templates/plan.md +202 -0
  78. package/learnship/templates/project.md +184 -0
  79. package/learnship/templates/requirements.md +231 -0
  80. package/learnship/templates/state.md +176 -0
  81. package/learnship/templates/uat.md +80 -0
  82. package/learnship/workflows/add-phase.md +84 -0
  83. package/learnship/workflows/add-tests.md +191 -0
  84. package/learnship/workflows/add-todo.md +108 -0
  85. package/learnship/workflows/audit-milestone.md +178 -0
  86. package/learnship/workflows/check-todos.md +138 -0
  87. package/learnship/workflows/cleanup.md +107 -0
  88. package/learnship/workflows/complete-milestone.md +191 -0
  89. package/learnship/workflows/debug.md +245 -0
  90. package/learnship/workflows/decision-log.md +131 -0
  91. package/learnship/workflows/diagnose-issues.md +145 -0
  92. package/learnship/workflows/discovery-phase.md +183 -0
  93. package/learnship/workflows/discuss-milestone.md +136 -0
  94. package/learnship/workflows/discuss-phase.md +244 -0
  95. package/learnship/workflows/execute-phase.md +345 -0
  96. package/learnship/workflows/execute-plan.md +149 -0
  97. package/learnship/workflows/health.md +171 -0
  98. package/learnship/workflows/help.md +153 -0
  99. package/learnship/workflows/insert-phase.md +106 -0
  100. package/learnship/workflows/knowledge-base.md +168 -0
  101. package/learnship/workflows/list-phase-assumptions.md +129 -0
  102. package/learnship/workflows/ls.md +145 -0
  103. package/learnship/workflows/map-codebase.md +142 -0
  104. package/learnship/workflows/milestone-retrospective.md +178 -0
  105. package/learnship/workflows/new-milestone.md +200 -0
  106. package/learnship/workflows/new-project.md +340 -0
  107. package/learnship/workflows/next.md +100 -0
  108. package/learnship/workflows/pause-work.md +122 -0
  109. package/learnship/workflows/plan-milestone-gaps.md +160 -0
  110. package/learnship/workflows/plan-phase.md +288 -0
  111. package/learnship/workflows/progress.md +118 -0
  112. package/learnship/workflows/quick.md +256 -0
  113. package/learnship/workflows/reapply-patches.md +130 -0
  114. package/learnship/workflows/release.md +217 -0
  115. package/learnship/workflows/remove-phase.md +128 -0
  116. package/learnship/workflows/research-phase.md +137 -0
  117. package/learnship/workflows/resume-work.md +162 -0
  118. package/learnship/workflows/set-profile.md +78 -0
  119. package/learnship/workflows/settings.md +204 -0
  120. package/learnship/workflows/sync-upstream-skills.md +269 -0
  121. package/learnship/workflows/transition.md +165 -0
  122. package/learnship/workflows/update.md +166 -0
  123. package/learnship/workflows/validate-phase.md +174 -0
  124. package/learnship/workflows/verify-work.md +264 -0
  125. package/package.json +62 -0
  126. package/references/design-commands.md +119 -0
  127. package/references/git-integration.md +249 -0
  128. package/references/learning-design.md +142 -0
  129. package/references/model-profiles.md +90 -0
  130. package/references/planning-config.md +184 -0
  131. package/references/questioning.md +162 -0
  132. package/references/ui-brand.md +160 -0
  133. package/references/verification-patterns.md +608 -0
  134. package/skills/agentic-learning/SKILL.md +373 -0
  135. package/skills/agentic-learning/references/either-or-format.md +161 -0
  136. package/skills/agentic-learning/references/learning-science.md +190 -0
  137. package/skills/agentic-learning/references/struggle-ladder.md +140 -0
  138. package/skills/impeccable/SKILL.md +125 -0
  139. package/skills/impeccable/adapt/SKILL.md +199 -0
  140. package/skills/impeccable/animate/SKILL.md +190 -0
  141. package/skills/impeccable/audit/SKILL.md +129 -0
  142. package/skills/impeccable/bolder/SKILL.md +132 -0
  143. package/skills/impeccable/clarify/SKILL.md +180 -0
  144. package/skills/impeccable/colorize/SKILL.md +158 -0
  145. package/skills/impeccable/critique/SKILL.md +118 -0
  146. package/skills/impeccable/delight/SKILL.md +317 -0
  147. package/skills/impeccable/distill/SKILL.md +137 -0
  148. package/skills/impeccable/extract/SKILL.md +95 -0
  149. package/skills/impeccable/frontend-design/SKILL.md +127 -0
  150. package/skills/impeccable/frontend-design/reference/color-and-contrast.md +132 -0
  151. package/skills/impeccable/frontend-design/reference/interaction-design.md +123 -0
  152. package/skills/impeccable/frontend-design/reference/motion-design.md +99 -0
  153. package/skills/impeccable/frontend-design/reference/responsive-design.md +114 -0
  154. package/skills/impeccable/frontend-design/reference/spatial-design.md +100 -0
  155. package/skills/impeccable/frontend-design/reference/typography.md +131 -0
  156. package/skills/impeccable/frontend-design/reference/ux-writing.md +107 -0
  157. package/skills/impeccable/harden/SKILL.md +358 -0
  158. package/skills/impeccable/normalize/SKILL.md +67 -0
  159. package/skills/impeccable/onboard/SKILL.md +243 -0
  160. package/skills/impeccable/optimize/SKILL.md +269 -0
  161. package/skills/impeccable/polish/SKILL.md +202 -0
  162. package/skills/impeccable/quieter/SKILL.md +118 -0
  163. package/skills/impeccable/teach-impeccable/SKILL.md +69 -0
  164. package/templates/agents.md +166 -0
  165. package/templates/config.json +22 -0
  166. package/templates/context.md +72 -0
  167. package/templates/plan.md +202 -0
  168. package/templates/project.md +184 -0
  169. package/templates/requirements.md +231 -0
  170. package/templates/state.md +176 -0
  171. package/templates/uat.md +80 -0
@@ -0,0 +1,231 @@
1
+ # Requirements Template
2
+
3
+ Template for `.planning/REQUIREMENTS.md` — checkable requirements that define "done."
4
+
5
+ <template>
6
+
7
+ ```markdown
8
+ # Requirements: [Project Name]
9
+
10
+ **Defined:** [date]
11
+ **Core Value:** [from PROJECT.md]
12
+
13
+ ## v1 Requirements
14
+
15
+ Requirements for initial release. Each maps to roadmap phases.
16
+
17
+ ### Authentication
18
+
19
+ - [ ] **AUTH-01**: User can sign up with email and password
20
+ - [ ] **AUTH-02**: User receives email verification after signup
21
+ - [ ] **AUTH-03**: User can reset password via email link
22
+ - [ ] **AUTH-04**: User session persists across browser refresh
23
+
24
+ ### [Category 2]
25
+
26
+ - [ ] **[CAT]-01**: [Requirement description]
27
+ - [ ] **[CAT]-02**: [Requirement description]
28
+ - [ ] **[CAT]-03**: [Requirement description]
29
+
30
+ ### [Category 3]
31
+
32
+ - [ ] **[CAT]-01**: [Requirement description]
33
+ - [ ] **[CAT]-02**: [Requirement description]
34
+
35
+ ## v2 Requirements
36
+
37
+ Deferred to future release. Tracked but not in current roadmap.
38
+
39
+ ### [Category]
40
+
41
+ - **[CAT]-01**: [Requirement description]
42
+ - **[CAT]-02**: [Requirement description]
43
+
44
+ ## Out of Scope
45
+
46
+ Explicitly excluded. Documented to prevent scope creep.
47
+
48
+ | Feature | Reason |
49
+ |---------|--------|
50
+ | [Feature] | [Why excluded] |
51
+ | [Feature] | [Why excluded] |
52
+
53
+ ## Traceability
54
+
55
+ Which phases cover which requirements. Updated during roadmap creation.
56
+
57
+ | Requirement | Phase | Status |
58
+ |-------------|-------|--------|
59
+ | AUTH-01 | Phase 1 | Pending |
60
+ | AUTH-02 | Phase 1 | Pending |
61
+ | AUTH-03 | Phase 1 | Pending |
62
+ | AUTH-04 | Phase 1 | Pending |
63
+ | [REQ-ID] | Phase [N] | Pending |
64
+
65
+ **Coverage:**
66
+ - v1 requirements: [X] total
67
+ - Mapped to phases: [Y]
68
+ - Unmapped: [Z] ⚠️
69
+
70
+ ---
71
+ *Requirements defined: [date]*
72
+ *Last updated: [date] after [trigger]*
73
+ ```
74
+
75
+ </template>
76
+
77
+ <guidelines>
78
+
79
+ **Requirement Format:**
80
+ - ID: `[CATEGORY]-[NUMBER]` (AUTH-01, CONTENT-02, SOCIAL-03)
81
+ - Description: User-centric, testable, atomic
82
+ - Checkbox: Only for v1 requirements (v2 are not yet actionable)
83
+
84
+ **Categories:**
85
+ - Derive from research FEATURES.md categories
86
+ - Keep consistent with domain conventions
87
+ - Typical: Authentication, Content, Social, Notifications, Moderation, Payments, Admin
88
+
89
+ **v1 vs v2:**
90
+ - v1: Committed scope, will be in roadmap phases
91
+ - v2: Acknowledged but deferred, not in current roadmap
92
+ - Moving v2 → v1 requires roadmap update
93
+
94
+ **Out of Scope:**
95
+ - Explicit exclusions with reasoning
96
+ - Prevents "why didn't you include X?" later
97
+ - Anti-features from research belong here with warnings
98
+
99
+ **Traceability:**
100
+ - Empty initially, populated during roadmap creation
101
+ - Each requirement maps to exactly one phase
102
+ - Unmapped requirements = roadmap gap
103
+
104
+ **Status Values:**
105
+ - Pending: Not started
106
+ - In Progress: Phase is active
107
+ - Complete: Requirement verified
108
+ - Blocked: Waiting on external factor
109
+
110
+ </guidelines>
111
+
112
+ <evolution>
113
+
114
+ **After each phase completes:**
115
+ 1. Mark covered requirements as Complete
116
+ 2. Update traceability status
117
+ 3. Note any requirements that changed scope
118
+
119
+ **After roadmap updates:**
120
+ 1. Verify all v1 requirements still mapped
121
+ 2. Add new requirements if scope expanded
122
+ 3. Move requirements to v2/out of scope if descoped
123
+
124
+ **Requirement completion criteria:**
125
+ - Requirement is "Complete" when:
126
+ - Feature is implemented
127
+ - Feature is verified (tests pass, manual check done)
128
+ - Feature is committed
129
+
130
+ </evolution>
131
+
132
+ <example>
133
+
134
+ ```markdown
135
+ # Requirements: CommunityApp
136
+
137
+ **Defined:** 2025-01-14
138
+ **Core Value:** Users can share and discuss content with people who share their interests
139
+
140
+ ## v1 Requirements
141
+
142
+ ### Authentication
143
+
144
+ - [ ] **AUTH-01**: User can sign up with email and password
145
+ - [ ] **AUTH-02**: User receives email verification after signup
146
+ - [ ] **AUTH-03**: User can reset password via email link
147
+ - [ ] **AUTH-04**: User session persists across browser refresh
148
+
149
+ ### Profiles
150
+
151
+ - [ ] **PROF-01**: User can create profile with display name
152
+ - [ ] **PROF-02**: User can upload avatar image
153
+ - [ ] **PROF-03**: User can write bio (max 500 chars)
154
+ - [ ] **PROF-04**: User can view other users' profiles
155
+
156
+ ### Content
157
+
158
+ - [ ] **CONT-01**: User can create text post
159
+ - [ ] **CONT-02**: User can upload image with post
160
+ - [ ] **CONT-03**: User can edit own posts
161
+ - [ ] **CONT-04**: User can delete own posts
162
+ - [ ] **CONT-05**: User can view feed of posts
163
+
164
+ ### Social
165
+
166
+ - [ ] **SOCL-01**: User can follow other users
167
+ - [ ] **SOCL-02**: User can unfollow users
168
+ - [ ] **SOCL-03**: User can like posts
169
+ - [ ] **SOCL-04**: User can comment on posts
170
+ - [ ] **SOCL-05**: User can view activity feed (followed users' posts)
171
+
172
+ ## v2 Requirements
173
+
174
+ ### Notifications
175
+
176
+ - **NOTF-01**: User receives in-app notifications
177
+ - **NOTF-02**: User receives email for new followers
178
+ - **NOTF-03**: User receives email for comments on own posts
179
+ - **NOTF-04**: User can configure notification preferences
180
+
181
+ ### Moderation
182
+
183
+ - **MODR-01**: User can report content
184
+ - **MODR-02**: User can block other users
185
+ - **MODR-03**: Admin can view reported content
186
+ - **MODR-04**: Admin can remove content
187
+ - **MODR-05**: Admin can ban users
188
+
189
+ ## Out of Scope
190
+
191
+ | Feature | Reason |
192
+ |---------|--------|
193
+ | Real-time chat | High complexity, not core to community value |
194
+ | Video posts | Storage/bandwidth costs, defer to v2+ |
195
+ | OAuth login | Email/password sufficient for v1 |
196
+ | Mobile app | Web-first, mobile later |
197
+
198
+ ## Traceability
199
+
200
+ | Requirement | Phase | Status |
201
+ |-------------|-------|--------|
202
+ | AUTH-01 | Phase 1 | Pending |
203
+ | AUTH-02 | Phase 1 | Pending |
204
+ | AUTH-03 | Phase 1 | Pending |
205
+ | AUTH-04 | Phase 1 | Pending |
206
+ | PROF-01 | Phase 2 | Pending |
207
+ | PROF-02 | Phase 2 | Pending |
208
+ | PROF-03 | Phase 2 | Pending |
209
+ | PROF-04 | Phase 2 | Pending |
210
+ | CONT-01 | Phase 3 | Pending |
211
+ | CONT-02 | Phase 3 | Pending |
212
+ | CONT-03 | Phase 3 | Pending |
213
+ | CONT-04 | Phase 3 | Pending |
214
+ | CONT-05 | Phase 3 | Pending |
215
+ | SOCL-01 | Phase 4 | Pending |
216
+ | SOCL-02 | Phase 4 | Pending |
217
+ | SOCL-03 | Phase 4 | Pending |
218
+ | SOCL-04 | Phase 4 | Pending |
219
+ | SOCL-05 | Phase 4 | Pending |
220
+
221
+ **Coverage:**
222
+ - v1 requirements: 18 total
223
+ - Mapped to phases: 18
224
+ - Unmapped: 0 ✓
225
+
226
+ ---
227
+ *Requirements defined: 2025-01-14*
228
+ *Last updated: 2025-01-14 after initial definition*
229
+ ```
230
+
231
+ </example>
@@ -0,0 +1,176 @@
1
+ # State Template
2
+
3
+ Template for `.planning/STATE.md` — the project's living memory.
4
+
5
+ ---
6
+
7
+ ## File Template
8
+
9
+ ```markdown
10
+ # Project State
11
+
12
+ ## Project Reference
13
+
14
+ See: .planning/PROJECT.md (updated [date])
15
+
16
+ **Core value:** [One-liner from PROJECT.md Core Value section]
17
+ **Current focus:** [Current phase name]
18
+
19
+ ## Current Position
20
+
21
+ Phase: [X] of [Y] ([Phase name])
22
+ Plan: [A] of [B] in current phase
23
+ Status: [Ready to plan / Planning / Ready to execute / In progress / Phase complete]
24
+ Last activity: [YYYY-MM-DD] — [What happened]
25
+
26
+ Progress: [░░░░░░░░░░] 0%
27
+
28
+ ## Performance Metrics
29
+
30
+ **Velocity:**
31
+ - Total plans completed: [N]
32
+ - Average duration: [X] min
33
+ - Total execution time: [X.X] hours
34
+
35
+ **By Phase:**
36
+
37
+ | Phase | Plans | Total | Avg/Plan |
38
+ |-------|-------|-------|----------|
39
+ | - | - | - | - |
40
+
41
+ **Recent Trend:**
42
+ - Last 5 plans: [durations]
43
+ - Trend: [Improving / Stable / Degrading]
44
+
45
+ *Updated after each plan completion*
46
+
47
+ ## Accumulated Context
48
+
49
+ ### Decisions
50
+
51
+ Decisions are logged in PROJECT.md Key Decisions table.
52
+ Recent decisions affecting current work:
53
+
54
+ - [Phase X]: [Decision summary]
55
+ - [Phase Y]: [Decision summary]
56
+
57
+ ### Pending Todos
58
+
59
+ [From .planning/todos/pending/ — ideas captured during sessions]
60
+
61
+ None yet.
62
+
63
+ ### Blockers/Concerns
64
+
65
+ [Issues that affect future work]
66
+
67
+ None yet.
68
+
69
+ ## Session Continuity
70
+
71
+ Last session: [YYYY-MM-DD HH:MM]
72
+ Stopped at: [Description of last completed action]
73
+ Resume file: [Path to .continue-here*.md if exists, otherwise "None"]
74
+ ```
75
+
76
+ <purpose>
77
+
78
+ STATE.md is the project's short-term memory spanning all phases and sessions.
79
+
80
+ **Problem it solves:** Information is captured in summaries, issues, and decisions but not systematically consumed. Sessions start without context.
81
+
82
+ **Solution:** A single, small file that's:
83
+ - Read first in every workflow
84
+ - Updated after every significant action
85
+ - Contains digest of accumulated context
86
+ - Enables instant session restoration
87
+
88
+ </purpose>
89
+
90
+ <lifecycle>
91
+
92
+ **Creation:** After ROADMAP.md is created (during init)
93
+ - Reference PROJECT.md (read it for current context)
94
+ - Initialize empty accumulated context sections
95
+ - Set position to "Phase 1 ready to plan"
96
+
97
+ **Reading:** First step of every workflow
98
+ - progress: Present status to user
99
+ - plan: Inform planning decisions
100
+ - execute: Know current position
101
+ - transition: Know what's complete
102
+
103
+ **Writing:** After every significant action
104
+ - execute: After SUMMARY.md created
105
+ - Update position (phase, plan, status)
106
+ - Note new decisions (detail in PROJECT.md)
107
+ - Add blockers/concerns
108
+ - transition: After phase marked complete
109
+ - Update progress bar
110
+ - Clear resolved blockers
111
+ - Refresh Project Reference date
112
+
113
+ </lifecycle>
114
+
115
+ <sections>
116
+
117
+ ### Project Reference
118
+ Points to PROJECT.md for full context. Includes:
119
+ - Core value (the ONE thing that matters)
120
+ - Current focus (which phase)
121
+ - Last update date (triggers re-read if stale)
122
+
123
+ Claude reads PROJECT.md directly for requirements, constraints, and decisions.
124
+
125
+ ### Current Position
126
+ Where we are right now:
127
+ - Phase X of Y — which phase
128
+ - Plan A of B — which plan within phase
129
+ - Status — current state
130
+ - Last activity — what happened most recently
131
+ - Progress bar — visual indicator of overall completion
132
+
133
+ Progress calculation: (completed plans) / (total plans across all phases) × 100%
134
+
135
+ ### Performance Metrics
136
+ Track velocity to understand execution patterns:
137
+ - Total plans completed
138
+ - Average duration per plan
139
+ - Per-phase breakdown
140
+ - Recent trend (improving/stable/degrading)
141
+
142
+ Updated after each plan completion.
143
+
144
+ ### Accumulated Context
145
+
146
+ **Decisions:** Reference to PROJECT.md Key Decisions table, plus recent decisions summary for quick access. Full decision log lives in PROJECT.md.
147
+
148
+ **Pending Todos:** Ideas captured via /add-todo
149
+ - Count of pending todos
150
+ - Reference to .planning/todos/pending/
151
+ - Brief list if few, count if many (e.g., "5 pending todos — see /check-todos")
152
+
153
+ **Blockers/Concerns:** From "Next Phase Readiness" sections
154
+ - Issues that affect future work
155
+ - Prefix with originating phase
156
+ - Cleared when addressed
157
+
158
+ ### Session Continuity
159
+ Enables instant resumption:
160
+ - When was last session
161
+ - What was last completed
162
+ - Is there a .continue-here file to resume from
163
+
164
+ </sections>
165
+
166
+ <size_constraint>
167
+
168
+ Keep STATE.md under 100 lines.
169
+
170
+ It's a DIGEST, not an archive. If accumulated context grows too large:
171
+ - Keep only 3-5 recent decisions in summary (full log in PROJECT.md)
172
+ - Keep only active blockers, remove resolved ones
173
+
174
+ The goal is "read once, know where we are" — if it's too long, that fails.
175
+
176
+ </size_constraint>
@@ -0,0 +1,80 @@
1
+ ---
2
+ phase: [N]
3
+ status: pending
4
+ created: [YYYY-MM-DD]
5
+ ---
6
+
7
+ # Phase [N] UAT: [Phase Name]
8
+
9
+ User acceptance test session for Phase [N]. Each scenario is walked through manually, issues logged with severity, and fix plans created for any blockers or majors.
10
+
11
+ ---
12
+
13
+ ## Test Scenarios
14
+
15
+ ### Scenario 1: [Scenario Name]
16
+
17
+ **Expected behavior:**
18
+ [What should happen when the user does X]
19
+
20
+ **Steps:**
21
+ 1. [Step 1]
22
+ 2. [Step 2]
23
+ 3. [Step 3]
24
+
25
+ **Result:** [ ] Pass [ ] Skip [ ] Issue
26
+
27
+ **Notes:** _
28
+
29
+ ---
30
+
31
+ ### Scenario 2: [Scenario Name]
32
+
33
+ **Expected behavior:**
34
+ [What should happen]
35
+
36
+ **Steps:**
37
+ 1. [Step 1]
38
+ 2. [Step 2]
39
+
40
+ **Result:** [ ] Pass [ ] Skip [ ] Issue
41
+
42
+ **Notes:** _
43
+
44
+ ---
45
+
46
+ ## Issues Found
47
+
48
+ ### Issue 1: [Short description]
49
+
50
+ **Severity:** blocker | major | minor | polish
51
+
52
+ **Scenario:** [Which scenario]
53
+
54
+ **What happened:** [Actual behavior observed]
55
+
56
+ **Expected:** [What should have happened]
57
+
58
+ **Root cause:**
59
+ ```yaml
60
+ root_cause: "[description]"
61
+ affected_files:
62
+ - "[file path]"
63
+ fix_approach: "[description of fix]"
64
+ confidence: high | medium | low
65
+ ```
66
+
67
+ **Status:** open | fixed | deferred
68
+
69
+ ---
70
+
71
+ ## Summary
72
+
73
+ **Scenarios tested:** [N]
74
+ **Passed:** [N]
75
+ **Skipped:** [N]
76
+ **Issues:** [N] ([X] blockers, [Y] majors, [Z] minors)
77
+
78
+ **Overall verdict:** passed | issues_found | blocked
79
+
80
+ **Fix phases needed:** [yes/no — list if yes]
@@ -0,0 +1,84 @@
1
+ ---
2
+ description: Append a new phase to the current milestone roadmap when scope grows after initial planning
3
+ ---
4
+
5
+ # Add Phase
6
+
7
+ Append a new integer phase to the end of the current milestone. Use when scope grows after initial planning — a new feature, an unplanned integration, or a discovered dependency.
8
+
9
+ **Usage:** `add-phase [description]`
10
+
11
+ ## Step 1: Validate
12
+
13
+ Check that a roadmap exists:
14
+ ```bash
15
+ test -f .planning/ROADMAP.md && echo "OK" || echo "MISSING"
16
+ ```
17
+
18
+ If missing: stop — run `new-project` first.
19
+
20
+ If no description was provided as an argument, ask: "What does this new phase deliver?"
21
+
22
+ ## Step 2: Find Next Phase Number
23
+
24
+ Read `.planning/ROADMAP.md` and find the highest existing integer phase number:
25
+ ```bash
26
+ grep -E "^## Phase [0-9]+" .planning/ROADMAP.md | tail -1
27
+ ```
28
+
29
+ Also scan the phases directory for any directories that may not be in the roadmap:
30
+ ```bash
31
+ ls .planning/phases/ 2>/dev/null | grep -E "^[0-9]+" | sort -n | tail -3
32
+ ```
33
+
34
+ Set `NEXT_NUM` = highest found + 1. Pad to 2 digits (01, 02, ..., 10, 11, ...).
35
+
36
+ Generate a slug from the description (lowercase, hyphens, max 40 chars).
37
+
38
+ ## Step 3: Create Phase Directory
39
+
40
+ ```bash
41
+ mkdir -p ".planning/phases/${NEXT_NUM}-${SLUG}"
42
+ ```
43
+
44
+ ## Step 4: Update ROADMAP.md
45
+
46
+ Append the new phase entry to ROADMAP.md:
47
+
48
+ ```markdown
49
+ ## Phase [N]: [Description]
50
+
51
+ **Goal:** [One sentence — what user can do after this phase]
52
+ **Status:** [ ] Not started
53
+ **Depends on:** Phase [N-1]
54
+
55
+ ### Plans
56
+ *Not yet planned — run `plan-phase [N]`*
57
+ ```
58
+
59
+ ## Step 5: Update STATE.md
60
+
61
+ Add to the "Roadmap Evolution" section under Accumulated Context (create if missing):
62
+ ```markdown
63
+ ### Roadmap Evolution
64
+ - Phase [N] added: [description]
65
+ ```
66
+
67
+ ## Step 6: Commit
68
+
69
+ ```bash
70
+ git add .planning/ROADMAP.md .planning/STATE.md
71
+ git commit -m "chore(roadmap): add phase [N] — [description]"
72
+ ```
73
+
74
+ ## Step 7: Confirm
75
+
76
+ ```
77
+ Phase [N] added: [description]
78
+
79
+ Directory: .planning/phases/[NN]-[slug]/
80
+ Status: Not planned yet
81
+ Roadmap: .planning/ROADMAP.md updated
82
+
83
+ ▶ Next: plan-phase [N]
84
+ ```