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,160 @@
1
+ ---
2
+ description: Create fix phases for all gaps found by audit-milestone
3
+ ---
4
+
5
+ # Plan Milestone Gaps
6
+
7
+ Create all phases needed to close gaps identified by `audit-milestone`. One workflow creates all fix phases — no need to run `add-phase` per gap.
8
+
9
+ **Use after:** `audit-milestone` reports `gaps_found`.
10
+
11
+ ## Step 1: Load Audit Results
12
+
13
+ Find the most recent audit file:
14
+ ```bash
15
+ ls -t .planning/*-MILESTONE-AUDIT.md 2>/dev/null | head -1
16
+ ```
17
+
18
+ If no audit file exists or status is `passed`:
19
+ ```
20
+ No gaps found. Run audit-milestone first, or all gaps are already closed.
21
+ ```
22
+ Stop.
23
+
24
+ Read the audit file and extract structured gaps:
25
+ - `gaps.requirements` — unsatisfied requirement IDs
26
+ - `gaps.integration` — broken cross-phase connections
27
+ - `gaps.flows` — broken E2E user flows
28
+ - `gaps.stubs` — stub/placeholder locations
29
+
30
+ ## Step 2: Prioritize Gaps
31
+
32
+ Read `.planning/REQUIREMENTS.md` to get priority for each requirement gap:
33
+
34
+ | Priority | Treatment |
35
+ |----------|-----------|
36
+ | `must` / required | Always include — blocks milestone |
37
+ | `should` / recommended | Include by default |
38
+ | `nice-to-have` / optional | Ask user: include now or defer to next milestone? |
39
+
40
+ For integration and flow gaps: infer priority from the affected requirements.
41
+
42
+ If there are nice-to-have gaps, ask:
43
+ ```
44
+ [N] optional gap(s) found. Include in fix phases or defer to next milestone?
45
+
46
+ - [gap description]
47
+ - [gap description]
48
+
49
+ Include (recommended) / Defer all / Choose individually
50
+ ```
51
+
52
+ ## Step 3: Group Gaps into Phases
53
+
54
+ Cluster related gaps into logical fix phases:
55
+
56
+ **Grouping rules:**
57
+ - Same affected source phase → combine into one fix phase
58
+ - Same subsystem (auth, API, UI, data layer) → combine
59
+ - Dependency order: fix broken exports before fixing callers
60
+ - Keep phases focused: 2-4 tasks each
61
+
62
+ Example:
63
+ ```
64
+ Gap: REQ AUTH-02 unsatisfied (session not persisting)
65
+ Gap: Integration Phase 1→3 (auth token not passed to API calls)
66
+ Gap: Flow "User stays logged in" broken
67
+
68
+ → Fix Phase: "Wire Auth Session"
69
+ Tasks: persist session, pass token in API calls, handle expiry
70
+ ```
71
+
72
+ ## Step 4: Determine Phase Numbers
73
+
74
+ Find the highest existing phase number:
75
+ ```bash
76
+ ls .planning/phases/ | grep -E "^[0-9]" | sort -V | tail -1
77
+ ```
78
+
79
+ Gap closure phases continue from the highest existing phase + 1.
80
+
81
+ ## Step 5: Present Gap Closure Plan
82
+
83
+ ```
84
+ ## Gap Closure Plan
85
+
86
+ Milestone: [VERSION]
87
+ Gaps to close: [N] requirements, [M] integration, [K] flows
88
+
89
+ ### Proposed Fix Phases
90
+
91
+ **Phase [N]: [Name]**
92
+ Closes:
93
+ - [REQ-ID]: [description]
94
+ - Integration: [from phase] → [to phase]
95
+ Tasks: [count]
96
+
97
+ **Phase [N+1]: [Name]**
98
+ Closes:
99
+ - [REQ-ID]: [description]
100
+ Tasks: [count]
101
+
102
+ ---
103
+
104
+ Create these [X] fix phase(s)? (yes / adjust)
105
+ ```
106
+
107
+ Wait for confirmation.
108
+
109
+ ## Step 6: Update ROADMAP.md
110
+
111
+ Append each gap closure phase to the current milestone section:
112
+
113
+ ```markdown
114
+ ## Phase [N]: [Name] *(gap closure)*
115
+
116
+ **Goal:** [what user can do after this phase]
117
+ **Closes:** [REQ-IDs and integration gaps being addressed]
118
+ **Status:** [ ] Not started
119
+ **Depends on:** [prior phase]
120
+ ```
121
+
122
+ ## Step 7: Update REQUIREMENTS.md
123
+
124
+ For each unsatisfied requirement being addressed:
125
+ - Update the Phase column to the new gap closure phase number
126
+ - Reset status to `Pending`
127
+ - Change `[x]` back to `[ ]` if it was incorrectly marked complete
128
+ - Update the coverage count at top of REQUIREMENTS.md
129
+
130
+ ## Step 8: Create Phase Directories
131
+
132
+ ```bash
133
+ for each gap closure phase:
134
+ mkdir -p ".planning/phases/[NN]-[slug]"
135
+ done
136
+ ```
137
+
138
+ ## Step 9: Commit
139
+
140
+ ```bash
141
+ git add .planning/ROADMAP.md .planning/REQUIREMENTS.md .planning/phases/
142
+ git commit -m "docs(roadmap): add gap closure phases [N]-[M] for [VERSION] audit"
143
+ ```
144
+
145
+ ## Step 10: Present Next Steps
146
+
147
+ ```
148
+ ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
149
+ learnship ► GAP CLOSURE PHASES CREATED ✓
150
+ ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
151
+
152
+ Phases added: [N] through [M]
153
+ Gaps addressed: [X] requirements, [Y] integration, [Z] flows
154
+
155
+ ▶ Next: plan-phase [N] (first gap closure phase)
156
+
157
+ After all gap phases are complete:
158
+ audit-milestone — re-audit to verify all gaps closed
159
+ complete-milestone — archive when audit passes
160
+ ```
@@ -0,0 +1,288 @@
1
+ ---
2
+ description: Research + create + verify plans for a phase — spawns specialist subagents where supported
3
+ ---
4
+
5
+ # Plan Phase
6
+
7
+ Create executable plans for a roadmap phase. Default flow: Research → Plan → Verify → Done.
8
+
9
+ On platforms with subagent support (Claude Code, OpenCode, Codex), each stage spawns a dedicated specialist agent with its own full context budget. On all other platforms, all stages run sequentially in the same context.
10
+
11
+ **Usage:** `plan-phase [N]` — optionally add `--skip-research` or `--skip-verify`
12
+
13
+ > **Platform note:** Read `parallelization` from `.planning/config.json`. When `true`, researcher/planner/checker each run as a spawned subagent. When `false` (default), all stages run inline using agent persona files.
14
+
15
+ ## Step 1: Initialize
16
+
17
+ Read `.planning/ROADMAP.md` and find the requested phase. If no phase number provided, detect the next unplanned phase.
18
+
19
+ If phase not found: stop and show available phases.
20
+
21
+ Read config:
22
+ ```bash
23
+ cat .planning/config.json
24
+ ```
25
+
26
+ Create the phase directory if it doesn't exist:
27
+ ```bash
28
+ mkdir -p ".planning/phases/[padded_phase]-[phase_slug]"
29
+ ```
30
+
31
+ Check what already exists:
32
+ ```bash
33
+ ls ".planning/phases/[padded_phase]-[phase_slug]/" 2>/dev/null
34
+ ```
35
+
36
+ ## Step 1b: Load Decisions Register
37
+
38
+ If `.planning/DECISIONS.md` exists, read it:
39
+ ```bash
40
+ cat .planning/DECISIONS.md 2>/dev/null
41
+ ```
42
+
43
+ Surface any decisions relevant to this phase — the planner must not contradict active decisions without explicit user instruction.
44
+
45
+ ## Step 2: Load CONTEXT.md
46
+
47
+ Check if a CONTEXT.md exists for this phase.
48
+
49
+ **If no CONTEXT.md:**
50
+ Ask: "No CONTEXT.md found for Phase [X]. Plans will use research and requirements only — your design preferences won't be included."
51
+ - **Continue without context** → proceed
52
+ - **Run discuss-phase first** → stop, suggest running `discuss-phase [X]` first
53
+
54
+ **If CONTEXT.md exists:** Load it and confirm: "Using phase context from: [path]"
55
+
56
+ ## Step 3: Research Phase
57
+
58
+ **Skip if:** `--skip-research` flag, or `workflow.research` is `false` in config, or RESEARCH.md already exists (unless `--research` flag forces re-research).
59
+
60
+ Display:
61
+ ```
62
+ ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
63
+ learnship ► RESEARCHING PHASE [X]
64
+ ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
65
+ ```
66
+
67
+ **If `parallelization` is `true` (subagent mode):**
68
+
69
+ Spawn a dedicated researcher agent:
70
+ ```
71
+ Task(
72
+ subagent_type="learnship-phase-researcher",
73
+ prompt="
74
+ <objective>
75
+ Research how to implement Phase [phase_number]: [phase_name].
76
+ Answer: 'What do I need to know to PLAN this phase well?'
77
+ Write RESEARCH.md to [phase_dir]/[padded_phase]-RESEARCH.md.
78
+ </objective>
79
+
80
+ <files_to_read>
81
+ - [context_path] (user decisions, if exists)
82
+ - .planning/REQUIREMENTS.md
83
+ - .planning/STATE.md
84
+ </files_to_read>
85
+ "
86
+ )
87
+ ```
88
+
89
+ Wait for agent to complete, then verify RESEARCH.md was written.
90
+
91
+ **If `parallelization` is `false` (sequential mode):**
92
+
93
+ Using `@./agents/researcher.md` as your research persona, investigate how to implement this phase. Read:
94
+ - The CONTEXT.md (user decisions)
95
+ - `.planning/REQUIREMENTS.md` (which requirements this phase covers)
96
+ - `.planning/STATE.md` (project history and decisions)
97
+ - Existing codebase for relevant patterns
98
+
99
+ Write `.planning/phases/[padded_phase]-[phase_slug]/[padded_phase]-RESEARCH.md` with two key sections:
100
+ - **Don't Hand-Roll** — problems with good existing solutions ("Don't build your own JWT — use jose")
101
+ - **Common Pitfalls** — what goes wrong, why, how to avoid it
102
+
103
+ ## Step 4: Check Existing Plans
104
+
105
+ ```bash
106
+ ls ".planning/phases/[padded_phase]-[phase_slug]/"*-PLAN.md 2>/dev/null
107
+ ```
108
+
109
+ If plans already exist, ask: "Phase [X] already has [N] plan(s)."
110
+ - **Add more plans** → continue to planning
111
+ - **View existing** → show plans, then ask
112
+ - **Replan from scratch** → delete existing plans, continue
113
+
114
+ ## Step 5: Create Plans
115
+
116
+ Display:
117
+ ```
118
+ ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
119
+ learnship ► PLANNING PHASE [X]
120
+ ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
121
+ ```
122
+
123
+ **If `parallelization` is `true` (subagent mode):**
124
+
125
+ Spawn a dedicated planner agent:
126
+ ```
127
+ Task(
128
+ subagent_type="learnship-planner",
129
+ prompt="
130
+ <objective>
131
+ Create 2-4 executable PLAN.md files for Phase [phase_number]: [phase_name].
132
+ Write plans to [phase_dir]/[padded_phase]-NN-PLAN.md.
133
+ </objective>
134
+
135
+ <files_to_read>
136
+ - .planning/STATE.md
137
+ - .planning/ROADMAP.md
138
+ - .planning/REQUIREMENTS.md
139
+ - [context_path] (if exists)
140
+ - [research_path] (if exists)
141
+ - $LEARNSHIP_DIR/templates/plan.md
142
+ </files_to_read>
143
+ "
144
+ )
145
+ ```
146
+
147
+ Wait for agent to complete, then verify PLAN.md files were written.
148
+
149
+ **If `parallelization` is `false` (sequential mode):**
150
+
151
+ Using `@./agents/planner.md` as your planning persona, read all available context:
152
+ - `.planning/STATE.md`
153
+ - `.planning/ROADMAP.md`
154
+ - `.planning/REQUIREMENTS.md`
155
+ - CONTEXT.md (if exists)
156
+ - RESEARCH.md (if exists)
157
+
158
+ Create 2-4 PLAN.md files in the phase directory. Each plan:
159
+ - Covers a single logical unit of work executable in one context window
160
+ - Has YAML frontmatter: `wave`, `depends_on`, `files_modified`, `autonomous`
161
+ - Contains tasks in XML format (see `$LEARNSHIP_DIR/templates/plan.md`)
162
+ - Has `must_haves` section with observable verification criteria
163
+
164
+ **Wave assignment:**
165
+ - Plans with no dependencies → Wave 1 (independent, execute in any order)
166
+ - Plans depending on Wave 1 → Wave 2
167
+ - Plans with cross-plan file conflicts → same wave or sequential
168
+
169
+ **Name plans:** `[padded_phase]-01-PLAN.md`, `[padded_phase]-02-PLAN.md`, etc.
170
+
171
+ ## Step 6: Verify Plans
172
+
173
+ **Skip if:** `--skip-verify` flag, or `workflow.plan_check` is `false` in config.
174
+
175
+ Display:
176
+ ```
177
+ ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
178
+ learnship ► VERIFYING PLANS
179
+ ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
180
+ ```
181
+
182
+ **If `parallelization` is `true` (subagent mode):**
183
+
184
+ Spawn a plan-checker agent:
185
+ ```
186
+ Task(
187
+ subagent_type="learnship-plan-checker",
188
+ prompt="
189
+ <objective>
190
+ Verify all PLAN.md files in [phase_dir] for Phase [phase_number]: [phase_name].
191
+ Check: phase goal coverage, requirement IDs, CONTEXT.md decisions, task completeness, wave correctness.
192
+ Return: PASS or list of specific issues per plan.
193
+ </objective>
194
+
195
+ <files_to_read>
196
+ - [phase_dir]/*-PLAN.md (all plans)
197
+ - .planning/ROADMAP.md
198
+ - .planning/REQUIREMENTS.md
199
+ - [context_path] (if exists)
200
+ </files_to_read>
201
+ "
202
+ )
203
+ ```
204
+
205
+ If issues returned: revise affected plans, re-spawn checker. Max 3 iterations.
206
+ If still failing after 3 iterations: present issues and ask — **Force proceed** / **Provide guidance and retry** / **Abandon**.
207
+
208
+ **If `parallelization` is `false` (sequential mode):**
209
+
210
+ Using `@./agents/verifier.md` as your verification persona, check the plans against:
211
+ - The phase goal from ROADMAP.md
212
+ - All requirement IDs assigned to this phase
213
+ - CONTEXT.md decisions (are they honored?)
214
+ - Task completeness (files, action, verify, done fields)
215
+ - Wave/dependency correctness
216
+
217
+ **Verification loop (max 3 iterations):**
218
+
219
+ If issues found:
220
+ 1. List the issues clearly
221
+ 2. Revise the affected plans to fix them
222
+ 3. Re-verify
223
+ 4. If still failing after 3 iterations: present remaining issues and ask — **Force proceed** / **Provide guidance and retry** / **Abandon**
224
+
225
+ If verification passes: proceed.
226
+
227
+ ## Step 7: Commit Plans
228
+
229
+ ```bash
230
+ git add ".planning/phases/[padded_phase]-[phase_slug]/"
231
+ git commit -m "docs([padded_phase]): create phase plans"
232
+ ```
233
+
234
+ ## Step 7b: Update AGENTS.md
235
+
236
+ If `AGENTS.md` exists at the project root, update the `## Current Phase` block:
237
+
238
+ ```markdown
239
+ ## Current Phase
240
+
241
+ **Milestone:** [VERSION from STATE.md]
242
+ **Phase:** [N] — [Phase Name]
243
+ **Status:** planning
244
+ **Last updated:** [today's date]
245
+ ```
246
+
247
+ ```bash
248
+ git add AGENTS.md
249
+ git commit -m "docs: update AGENTS.md — planning phase [N]"
250
+ ```
251
+
252
+ ## Step 8: Present Status
253
+
254
+ ```
255
+ ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
256
+ learnship ► PHASE [X] PLANNED ✓
257
+ ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
258
+
259
+ **Phase [X]: [Name]** — [N] plan(s) in [M] wave(s)
260
+
261
+ | Wave | Plans | What it builds |
262
+ |------|-------|----------------|
263
+ | 1 | 01, 02 | [objectives] |
264
+ | 2 | 03 | [objective] |
265
+
266
+ Research: [Completed | Used existing | Skipped]
267
+ Verification: [Passed | Passed with override | Skipped]
268
+
269
+ ▶ Next: execute-phase [X]
270
+ ```
271
+
272
+ ---
273
+
274
+ ## Learning Checkpoint
275
+
276
+ Read `learning_mode` from `.planning/config.json`.
277
+
278
+ **If `auto`:** Offer based on context:
279
+
280
+ > 💡 **Learning moment:** Plans are ready. Before you execute, make sure the domain is solid:
281
+ >
282
+ > `@agentic-learning explain-first [phase topic]` — Explain the approach back in your own words before touching code. Gaps in the explanation reveal gaps in the mental model — before they become bugs.
283
+ >
284
+ > `@agentic-learning cognitive-load [topic]` — If the scope feels overwhelming, decompose it into working-memory-sized steps first.
285
+ >
286
+ > `@agentic-learning quiz [phase topic]` — Quick active recall on the domain concepts this phase covers. Especially useful if the research surfaced unfamiliar territory.
287
+
288
+ **If `manual`:** Add quietly: *"Tip: `@agentic-learning explain-first [topic]` to validate your mental model before executing."*
@@ -0,0 +1,118 @@
1
+ ---
2
+ description: Show project progress, current position, and what to do next
3
+ ---
4
+
5
+ # Progress
6
+
7
+ Check where you are in the project, what's been done, and what comes next.
8
+
9
+ ## Step 1: Check for Planning Structure
10
+
11
+ ```bash
12
+ test -f .planning/PROJECT.md && echo "EXISTS" || echo "MISSING"
13
+ ```
14
+
15
+ If `.planning/` doesn't exist: stop — run `new-project` to initialize.
16
+
17
+ ## Step 2: Load Context
18
+
19
+ Read the key state files:
20
+ ```bash
21
+ cat .planning/STATE.md
22
+ cat .planning/ROADMAP.md
23
+ ```
24
+
25
+ Find the 2-3 most recent SUMMARY.md files:
26
+ ```bash
27
+ find .planning -name "*-SUMMARY.md" -type f 2>/dev/null | xargs ls -t 2>/dev/null | head -3
28
+ ```
29
+
30
+ Read each to extract what was recently accomplished (one-liner per plan).
31
+
32
+ ## Step 3: Analyze Phase Status
33
+
34
+ For the current phase directory, count:
35
+ ```bash
36
+ ls ".planning/phases/[current_phase_dir]/"*-PLAN.md 2>/dev/null | wc -l
37
+ ls ".planning/phases/[current_phase_dir]/"*-SUMMARY.md 2>/dev/null | wc -l
38
+ ls ".planning/phases/[current_phase_dir]/"*-UAT.md 2>/dev/null | wc -l
39
+ ```
40
+
41
+ Check for UAT files with gaps (issues found during testing):
42
+ ```bash
43
+ grep -l "status: diagnosed" .planning/phases/[current_phase_dir]/*-UAT.md 2>/dev/null
44
+ ```
45
+
46
+ Check for a `.continue-here.md` handoff file:
47
+ ```bash
48
+ find .planning/phases -name ".continue-here.md" 2>/dev/null
49
+ ```
50
+
51
+ ## Step 4: Report Status
52
+
53
+ Calculate overall progress: count completed phases / total phases.
54
+
55
+ Display:
56
+ ```
57
+ # [Project Name]
58
+
59
+ **Progress:** [████████░░] [X]% — Phase [N] of [total]
60
+
61
+ ## Recent Work
62
+ - [Phase, Plan]: [what was accomplished — 1 line]
63
+ - [Phase, Plan]: [what was accomplished — 1 line]
64
+
65
+ ## Current Position
66
+ Phase [N] of [total]: [phase-name]
67
+ Status: [planned | in-progress | complete]
68
+ Context: [✓ CONTEXT.md exists | — not yet]
69
+
70
+ ## Key Decisions
71
+ - [Key decision from STATE.md]
72
+
73
+ ## Blockers / Concerns
74
+ - [Any blockers from STATE.md, or "None"]
75
+ ```
76
+
77
+ ## Step 5: Route to Next Action
78
+
79
+ **Check conditions in order:**
80
+
81
+ 1. **`.continue-here.md` exists** → mid-plan handoff found
82
+ ```
83
+ ⚠️ Handoff detected: .planning/phases/[phase]/.continue-here.md
84
+ ▶ Next: resume-work
85
+ ```
86
+
87
+ 2. **UAT gaps exist (status: diagnosed)** → fix plans needed
88
+ ```
89
+ ⚠️ UAT Gaps Found in Phase [X]
90
+ ▶ Next: plan-phase [X] (gap closure mode)
91
+ ```
92
+
93
+ 3. **Plans exist but summaries < plans** → unfinished execution
94
+ ```
95
+ ## ▶ Next Up
96
+ **Phase [X]-[plan]: [Plan Name]** — [objective]
97
+ ▶ Next: execute-phase [X]
98
+ ```
99
+
100
+ 4. **Plans = 0** → phase not yet planned
101
+ - If CONTEXT.md exists: `▶ Next: plan-phase [X]`
102
+ - If no CONTEXT.md: `▶ Next: discuss-phase [X]` (recommended) or `plan-phase [X]`
103
+
104
+ 5. **Summaries = plans AND plans > 0** → phase complete
105
+ - If more phases remain: `▶ Next: discuss-phase [X+1]`
106
+ - If all phases done: `▶ Next: audit-milestone`
107
+
108
+ After presenting the recommended next step, ask:
109
+
110
+ ```
111
+ ▶ Next: [workflow-name] [args if any]
112
+
113
+ Run it now? Type "yes" to proceed, or just keep chatting.
114
+ ```
115
+
116
+ If the user responds with "yes", "go", "do it", "run it", or "proceed" — immediately invoke that workflow.
117
+
118
+ For full auto-pilot with no prompt, use `/next` instead.