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,128 @@
1
+ ---
2
+ description: Remove a planned (not yet executed) phase and renumber subsequent phases
3
+ ---
4
+
5
+ # Remove Phase
6
+
7
+ Remove a future phase from the roadmap, delete its directory, and renumber subsequent phases to maintain a clean linear sequence.
8
+
9
+ **Usage:** `remove-phase [N]`
10
+
11
+ **Only future phases can be removed.** Completed phases (with SUMMARY.md files) require explicit confirmation. The git commit is the historical record of what was removed.
12
+
13
+ ## Step 1: Parse and Validate
14
+
15
+ Extract the phase number from arguments. If missing:
16
+ ```
17
+ Usage: remove-phase [N]
18
+ Example: remove-phase 7
19
+
20
+ [N] = phase number to remove (integer or decimal like 3.1)
21
+ ```
22
+
23
+ Check roadmap exists:
24
+ ```bash
25
+ test -f .planning/ROADMAP.md && echo "OK" || echo "MISSING"
26
+ ```
27
+
28
+ ## Step 2: Verify the Phase is Future
29
+
30
+ Read `.planning/STATE.md` to find the current phase number.
31
+
32
+ Read `.planning/ROADMAP.md` to confirm phase `[N]` exists.
33
+
34
+ If target phase ≤ current phase:
35
+ ```
36
+ Cannot remove Phase [N].
37
+
38
+ Only future (unstarted) phases can be removed.
39
+ Current phase: [current]
40
+ Phase [N] is current or already completed.
41
+
42
+ To undo completed work: use git revert on the phase commits.
43
+ ```
44
+
45
+ Stop.
46
+
47
+ ## Step 3: Check for Executed Work
48
+
49
+ ```bash
50
+ ls ".planning/phases/[NN]-[slug]/"*-SUMMARY.md 2>/dev/null
51
+ ```
52
+
53
+ If SUMMARY.md files exist, the phase has partially executed content. Warn:
54
+ ```
55
+ ⚠️ Phase [N] has [M] executed plan(s) with SUMMARY.md files.
56
+ Removing it will delete this work from the roadmap (git history preserves the commits).
57
+
58
+ Are you sure?
59
+ - Yes, remove it anyway
60
+ - No, keep it
61
+ ```
62
+
63
+ Wait for confirmation before proceeding.
64
+
65
+ ## Step 4: Confirm Removal
66
+
67
+ Show what will happen:
68
+ ```
69
+ Removing Phase [N]: [Name]
70
+
71
+ This will:
72
+ - Delete: .planning/phases/[NN]-[slug]/
73
+ - Renumber: Phases [N+1] through [max] → [N] through [max-1]
74
+ - Update: ROADMAP.md and STATE.md
75
+
76
+ Proceed? (yes/no)
77
+ ```
78
+
79
+ Wait for explicit confirmation.
80
+
81
+ ## Step 5: Execute Removal
82
+
83
+ **Delete the phase directory:**
84
+ ```bash
85
+ rm -rf ".planning/phases/[NN]-[slug]/"
86
+ ```
87
+
88
+ **Renumber subsequent phases:**
89
+
90
+ For each phase directory after `[N]` (in reverse order to avoid conflicts):
91
+ ```bash
92
+ # Example: phase 08 → 07, 09 → 08, etc.
93
+ for dir in $(ls .planning/phases/ | grep -E "^[0-9]" | sort -rV); do
94
+ # extract number, if > removed phase number, decrement and rename
95
+ done
96
+ ```
97
+
98
+ Also rename files inside each renamed directory (PLAN.md, SUMMARY.md, etc. that start with the old phase number).
99
+
100
+ **Update ROADMAP.md:**
101
+ - Remove the phase `[N]` section entirely
102
+ - Update all subsequent phase numbers and any `Depends on` references
103
+
104
+ **Update STATE.md:**
105
+ - Decrement total phase count
106
+ - Add to Roadmap Evolution: `- Phase [N] ([name]) removed`
107
+
108
+ ## Step 6: Commit
109
+
110
+ ```bash
111
+ git add -A
112
+ git commit -m "chore(roadmap): remove phase [N] ([original-name])"
113
+ ```
114
+
115
+ The commit message preserves the historical record.
116
+
117
+ ## Step 7: Confirm
118
+
119
+ ```
120
+ Phase [N] ([original-name]) removed.
121
+
122
+ Changes made:
123
+ - Deleted: .planning/phases/[NN]-[slug]/
124
+ - Renumbered: [M] phases
125
+ - Updated: ROADMAP.md, STATE.md
126
+
127
+ ▶ Next: progress (to see updated roadmap)
128
+ ```
@@ -0,0 +1,137 @@
1
+ ---
2
+ description: Deep-dive domain research for a phase without immediately creating plans
3
+ ---
4
+
5
+ # Research Phase
6
+
7
+ Run standalone domain research for a phase. Useful when the domain is unfamiliar, the phase is complex, or you want to explore options before committing to a planning approach.
8
+
9
+ **Normally you don't need this** — `plan-phase` runs research automatically. Use `research-phase` when you want research results to review and discuss before planning starts.
10
+
11
+ **Usage:** `research-phase [N]`
12
+
13
+ ## Step 1: Validate Phase
14
+
15
+ ```bash
16
+ test -f .planning/ROADMAP.md && echo "OK" || echo "MISSING"
17
+ ```
18
+
19
+ Find phase `[N]` in ROADMAP.md:
20
+ ```bash
21
+ grep -E "Phase [N]:" .planning/ROADMAP.md
22
+ ```
23
+
24
+ If not found: list available phases and stop.
25
+
26
+ ## Step 2: Check Existing Research
27
+
28
+ ```bash
29
+ ls ".planning/phases/"*"/"*"-RESEARCH.md" 2>/dev/null | grep "^[N]-\|/[N][^0-9]"
30
+ ```
31
+
32
+ If RESEARCH.md already exists for this phase:
33
+ ```
34
+ Research already exists: .planning/phases/[phase-dir]/[N]-RESEARCH.md
35
+
36
+ Options:
37
+ 1. View existing research
38
+ 2. Re-run and overwrite
39
+ 3. Skip — use existing
40
+ ```
41
+
42
+ Wait for choice.
43
+
44
+ ## Step 3: Load Context
45
+
46
+ Read all available phase context:
47
+ ```bash
48
+ cat .planning/ROADMAP.md # phase goal and requirements
49
+ cat .planning/REQUIREMENTS.md # requirement IDs and acceptance criteria
50
+ cat .planning/STATE.md # project history and past decisions
51
+ ```
52
+
53
+ Check for CONTEXT.md (user decisions from discuss-phase):
54
+ ```bash
55
+ ls ".planning/phases/[padded_phase]-[slug]/"*"-CONTEXT.md" 2>/dev/null
56
+ ```
57
+
58
+ If CONTEXT.md exists, read it — user decisions shape what to research.
59
+
60
+ ## Step 4: Run Research
61
+
62
+ ```
63
+ ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
64
+ learnship ► RESEARCHING PHASE [N]
65
+ ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
66
+ ```
67
+
68
+ Using `@./agents/researcher.md` as your research persona in **phase research mode**:
69
+
70
+ Read all loaded context, then investigate how to implement this phase. Write `.planning/phases/[padded_phase]-[slug]/[padded_phase]-RESEARCH.md` with two sections:
71
+
72
+ **Don't Hand-Roll** — problems that have battle-tested solutions:
73
+ ```
74
+ - Problem: [what looks custom]
75
+ Solution: Use [library/approach]
76
+ Why: [specific reason — ESM compat, maintenance, type safety, etc.]
77
+ ```
78
+
79
+ **Common Pitfalls** — what goes wrong in this type of phase:
80
+ ```
81
+ - Pitfall: [what fails]
82
+ Warning sign: [what to look for]
83
+ Prevention: [how to avoid]
84
+ Phase impact: [when/where to address this]
85
+ ```
86
+
87
+ ## Step 5: Commit Research
88
+
89
+ ```bash
90
+ git add ".planning/phases/[padded_phase]-[slug]/[padded_phase]-RESEARCH.md"
91
+ git commit -m "docs([padded_phase]): phase research"
92
+ ```
93
+
94
+ ## Step 6: Present Results
95
+
96
+ Display key findings:
97
+ ```
98
+ ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
99
+ learnship ► RESEARCH COMPLETE ✓
100
+ ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
101
+
102
+ Phase [N]: [Name]
103
+
104
+ Don't hand-roll: [N items]
105
+ Pitfalls: [N items]
106
+
107
+ Key findings:
108
+ - [Most important recommendation]
109
+ - [Second most important]
110
+ - [Third]
111
+
112
+ File: .planning/phases/[phase-dir]/[N]-RESEARCH.md
113
+ ```
114
+
115
+ Ask: "What would you like to do next?"
116
+ - **Plan this phase** → `plan-phase [N]` (research is already done, will be skipped)
117
+ - **Discuss first** → `discuss-phase [N]` → then plan
118
+ - **Read full research** → show the research file
119
+ - **Done for now** → stop
120
+
121
+ ---
122
+
123
+ ## Learning Checkpoint
124
+
125
+ Read `learning_mode` from `.planning/config.json`.
126
+
127
+ **If `auto`:** Offer all three — new research is the best time to use all of them:
128
+
129
+ > 💡 **Learning moment:** Research complete — new domain concepts are fresh. Lock them in before they fade:
130
+ >
131
+ > `@agentic-learning learn [phase topic]` — Active retrieval on the key concepts from this research. You explain first, gaps get filled. This is how domain knowledge becomes intuition, not just notes.
132
+ >
133
+ > `@agentic-learning explain-first [phase topic]` — Explain the domain back in your own words before planning starts. If you can’t explain it clearly, the plans won’t be clear either.
134
+ >
135
+ > `@agentic-learning quiz [phase topic]` — Test yourself on what the research surfaced. Retrieval practice now means fewer surprises during execution.
136
+
137
+ **If `manual`:** Add quietly: *"Tip: `@agentic-learning learn [topic]` · `@agentic-learning explain-first [topic]` to consolidate the research before planning."*
@@ -0,0 +1,162 @@
1
+ ---
2
+ description: Restore full project context and continue from where you left off — use when returning after a break, or when you say "continue", "where were we", "pick up where we left off", or "what were we doing"
3
+ ---
4
+
5
+ # Resume Work
6
+
7
+ Instantly restore full project context. Use when starting a new session, returning after time away, or when you said "continue" or "where were we."
8
+
9
+ ## Step 1: Check Planning Structure
10
+
11
+ ```bash
12
+ test -f .planning/STATE.md && echo "HAS_STATE" || echo "NO_STATE"
13
+ test -f .planning/PROJECT.md && echo "HAS_PROJECT" || echo "NO_PROJECT"
14
+ test -f .planning/ROADMAP.md && echo "HAS_ROADMAP" || echo "NO_ROADMAP"
15
+ ```
16
+
17
+ If nothing exists: stop — run `new-project` to start a project.
18
+
19
+ If STATE.md missing but PROJECT.md + ROADMAP.md exist: reconstruct STATE.md (see Reconstruction section below).
20
+
21
+ ## Step 2: Load State
22
+
23
+ ```bash
24
+ cat .planning/STATE.md
25
+ cat .planning/PROJECT.md
26
+ ```
27
+
28
+ Extract:
29
+ - **What we're building:** core value and current focus from PROJECT.md
30
+ - **Current position:** Phase X of Y, Plan A of B, status
31
+ - **Recent decisions:** key decisions affecting current work
32
+ - **Blockers/concerns:** issues carried forward
33
+ - **Last activity:** when and what
34
+
35
+ ## Step 3: Check for Incomplete Work
36
+
37
+ ```bash
38
+ # Check for continue-here handoff files
39
+ find .planning/phases -name ".continue-here.md" -type f 2>/dev/null
40
+
41
+ # Check for plans without matching summaries (incomplete execution)
42
+ for plan in .planning/phases/*/*-PLAN.md; do
43
+ base="${plan%-PLAN.md}"
44
+ summary="${base}-SUMMARY.md"
45
+ [ ! -f "$summary" ] && echo "Incomplete: $plan"
46
+ done 2>/dev/null
47
+ ```
48
+
49
+ ## Step 4: Present Status
50
+
51
+ ```
52
+ ╔══════════════════════════════════════════════════════════════╗
53
+ ║ PROJECT STATUS ║
54
+ ╠══════════════════════════════════════════════════════════════╣
55
+ ║ Building: [one-liner from PROJECT.md] ║
56
+ ║ ║
57
+ ║ Phase: [X] of [Y] — [Phase name] ║
58
+ ║ Plan: [A] of [B] — [Status] ║
59
+ ║ Progress: [████████░░] [N]% ║
60
+ ║ ║
61
+ ║ Last activity: [date] — [what happened] ║
62
+ ╚══════════════════════════════════════════════════════════════╝
63
+ ```
64
+
65
+ If `.continue-here.md` found:
66
+ ```
67
+ ⚠️ Mid-plan handoff detected:
68
+ File: .planning/phases/[phase]/.continue-here.md
69
+ Task: [X] of [Y]
70
+ [brief description of where we left off]
71
+ ```
72
+
73
+ If incomplete plan (PLAN without SUMMARY):
74
+ ```
75
+ ⚠️ Incomplete execution:
76
+ Plan: [plan file]
77
+ Execution started but no SUMMARY found.
78
+ ```
79
+
80
+ If blockers exist:
81
+ ```
82
+ ⚠️ Carried concerns:
83
+ - [blocker]
84
+ ```
85
+
86
+ ## Step 5: Determine Next Action
87
+
88
+ **Priority order:**
89
+
90
+ 1. **`.continue-here.md` exists** → read it fully, resume from `<next_action>`
91
+ - Display: "Resuming from: [next_action from file]"
92
+ - Delete the continue file after loading: `rm .planning/phases/[phase]/.continue-here.md`
93
+ - Commit the deletion: `git add -A && git commit -m "chore: consume resume handoff"`
94
+
95
+ 2. **Incomplete plan (PLAN without SUMMARY)** → offer to continue execution
96
+ - Primary: `execute-phase [X]`
97
+ - Secondary: Review the plan first
98
+
99
+ 3. **Current phase ready to execute (plans exist)** → `execute-phase [X]`
100
+
101
+ 4. **Current phase needs planning** → check for CONTEXT.md
102
+ - CONTEXT.md exists: `plan-phase [X]`
103
+ - No CONTEXT.md: `discuss-phase [X]` (recommended)
104
+
105
+ 5. **Current phase done, next phase up** → `discuss-phase [X+1]`
106
+
107
+ 6. **All phases done** → `complete-milestone`
108
+
109
+ Present the primary recommended action clearly:
110
+ ```
111
+ ▶ Recommended next step: [workflow name] [phase number if applicable]
112
+
113
+ Also available:
114
+ - progress — full status overview
115
+ - [other relevant options]
116
+ ```
117
+
118
+ ## Step 6: Update Session Continuity
119
+
120
+ Update STATE.md session section:
121
+ ```markdown
122
+ ## Session Continuity
123
+
124
+ Last session: [now]
125
+ Stopped at: Session resumed
126
+ ```
127
+
128
+ ```bash
129
+ git add .planning/STATE.md
130
+ git commit -m "docs(state): session resumed"
131
+ ```
132
+
133
+ ---
134
+
135
+ ## Reconstruction (when STATE.md is missing)
136
+
137
+ If STATE.md is missing but other artifacts exist:
138
+
139
+ "STATE.md missing. Reconstructing from artifacts..."
140
+
141
+ 1. Read `PROJECT.md` → extract "What This Is" and Core Value
142
+ 2. Read `ROADMAP.md` → find all phases, identify current position (last phase with incomplete work)
143
+ 3. Scan `*-SUMMARY.md` files → extract decisions and concerns
144
+ 4. Check for `.continue-here.md` files → session continuity
145
+
146
+ Write a reconstructed `.planning/STATE.md` and proceed normally.
147
+
148
+ ---
149
+
150
+ ## Learning Checkpoint
151
+
152
+ Read `learning_mode` from `.planning/config.json`.
153
+
154
+ **If `auto` and time since last session is more than 1 day (check `Last session` in STATE.md):**
155
+
156
+ > 💡 **Back after a break:** Before diving in, warm up the mental model:
157
+ >
158
+ > `@agentic-learning quiz [current phase topic]` — Quick active recall on what was being built. Surfaces what’s faded since the last session before it shows up as a bug.
159
+ >
160
+ > `@agentic-learning space` — If `docs/revisit.md` exists, review what was scheduled for today.
161
+
162
+ **If `manual`:** Add quietly: *"Tip: `@agentic-learning quiz [topic]` to warm up before resuming."*
@@ -0,0 +1,78 @@
1
+ ---
2
+ description: Quick model profile switch without opening full settings
3
+ ---
4
+
5
+ # Set Profile
6
+
7
+ One-step model profile switch. Edits `.planning/config.json` without opening the full settings menu.
8
+
9
+ **Usage:** `set-profile [quality|balanced|budget]`
10
+
11
+ ## Step 1: Parse Argument
12
+
13
+ If no argument provided:
14
+ ```
15
+ Usage: set-profile [profile]
16
+
17
+ Profiles:
18
+ quality — Opus for all agents (highest quality, highest cost)
19
+ balanced — Opus for planning, Sonnet for execution (recommended)
20
+ budget — Sonnet for writing, Haiku for research/verification (lowest cost)
21
+
22
+ Current profile: [read from .planning/config.json]
23
+ ```
24
+ Stop.
25
+
26
+ ## Step 2: Validate
27
+
28
+ If argument is not one of `quality`, `balanced`, `budget`:
29
+ ```
30
+ Unknown profile: [argument]
31
+ Valid options: quality, balanced, budget
32
+ ```
33
+ Stop.
34
+
35
+ ## Step 3: Read Current Config
36
+
37
+ ```bash
38
+ cat .planning/config.json
39
+ ```
40
+
41
+ Note the current `model_profile` value.
42
+
43
+ If already set to the requested profile:
44
+ ```
45
+ Profile is already set to [profile]. No change needed.
46
+ ```
47
+ Stop.
48
+
49
+ ## Step 4: Update Config
50
+
51
+ Update the `model_profile` field in `.planning/config.json`:
52
+
53
+ ```bash
54
+ python3 -c "
55
+ import json
56
+ cfg = json.load(open('.planning/config.json'))
57
+ cfg['model_profile'] = '[profile]'
58
+ json.dump(cfg, open('.planning/config.json', 'w'), indent=2)
59
+ print('Updated.')
60
+ "
61
+ ```
62
+
63
+ ## Step 5: Confirm
64
+
65
+ ```bash
66
+ git add .planning/config.json
67
+ git commit -m "chore(config): set model profile to [profile]"
68
+ ```
69
+
70
+ ```
71
+ Profile updated: [old] → [profile]
72
+
73
+ [quality] — Opus agents for all tasks. Use for production milestones.
74
+ [balanced] — Opus for planning, Sonnet for execution. Best default.
75
+ [budget] — Sonnet/Haiku. Use for prototyping or exploration.
76
+
77
+ Takes effect immediately on the next workflow run.
78
+ ```
@@ -0,0 +1,204 @@
1
+ ---
2
+ description: Interactive settings editor for .planning/config.json
3
+ ---
4
+
5
+ # Settings
6
+
7
+ Interactive configuration editor for the current project. Updates `.planning/config.json` with your preferences.
8
+
9
+ **Usage:** `settings`
10
+
11
+ ## Step 1: Ensure Config Exists
12
+
13
+ ```bash
14
+ test -f .planning/config.json && echo "exists" || echo "missing"
15
+ ```
16
+
17
+ If missing, create from template:
18
+ ```bash
19
+ cp templates/config.json .planning/config.json 2>/dev/null || cat > .planning/config.json << 'EOF'
20
+ {
21
+ "mode": "yolo",
22
+ "granularity": "standard",
23
+ "model_profile": "balanced",
24
+ "learning_mode": "auto",
25
+ "planning": {
26
+ "commit_docs": true,
27
+ "search_gitignored": false
28
+ },
29
+ "workflow": {
30
+ "research": true,
31
+ "plan_check": true,
32
+ "verifier": true,
33
+ "nyquist_validation": true
34
+ },
35
+ "git": {
36
+ "branching_strategy": "none",
37
+ "phase_branch_template": "phase-{phase}-{slug}",
38
+ "milestone_branch_template": "{milestone}-{slug}"
39
+ }
40
+ }
41
+ EOF
42
+ ```
43
+
44
+ ## Step 2: Read Current Config
45
+
46
+ ```bash
47
+ cat .planning/config.json
48
+ ```
49
+
50
+ Parse current values to use as defaults in the prompts.
51
+
52
+ ## Step 3: Present Settings Menu
53
+
54
+ Display current settings and ask what to change:
55
+
56
+ ```
57
+ ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
58
+ learnship ► SETTINGS
59
+ ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
60
+
61
+ Current configuration:
62
+
63
+ [1] Mode: [current] (yolo | interactive)
64
+ [2] Granularity: [current] (coarse | standard | fine)
65
+ [3] Model profile: [current] (quality | balanced | budget)
66
+ [4] Learning mode: [current] (auto | manual)
67
+ [5] Research agent: [on/off]
68
+ [6] Plan check agent: [on/off]
69
+ [7] Verifier agent: [on/off]
70
+ [8] Nyquist validation:[on/off]
71
+ [9] Git branching: [current] (none | phase | milestone)
72
+ [10] Commit docs: [on/off]
73
+
74
+ Enter a number to change a setting, or 'done' to save.
75
+ ```
76
+
77
+ Wait for selection. Repeat until user types "done".
78
+
79
+ ## Step 4: Change Selected Setting
80
+
81
+ For each selected setting, explain the options and ask for the new value:
82
+
83
+ **[1] Mode:**
84
+ ```
85
+ Mode controls how much Cascade auto-approves vs. asks you:
86
+ - yolo: auto-approves decisions, fastest flow
87
+ - interactive: confirms at each step, more control
88
+
89
+ Current: [current]. New value?
90
+ ```
91
+
92
+ **[2] Granularity:**
93
+ ```
94
+ Granularity controls phase size:
95
+ - coarse: 3-5 phases (broad strokes)
96
+ - standard: 5-8 phases (default)
97
+ - fine: 8-12 phases (more granular, better for complex projects)
98
+
99
+ Current: [current]. New value?
100
+ ```
101
+
102
+ **[3] Model profile:**
103
+ ```
104
+ Model profile controls which model tier each agent uses:
105
+ - quality: Opus for all decision-making agents (highest cost, best results)
106
+ - balanced: Opus for planning, Sonnet for execution (default — good balance)
107
+ - budget: Sonnet for writing code, Haiku for research/verification (lowest cost)
108
+
109
+ Current: [current]. New value?
110
+ ```
111
+
112
+ **[4] Learning mode:**
113
+ ```
114
+ Learning mode controls when learning actions are offered:
115
+ - auto: offered automatically at workflow checkpoints (default)
116
+ - manual: only when you explicitly invoke @agentic-learning
117
+
118
+ Current: [current]. New value?
119
+ ```
120
+
121
+ **[5-7] Agent toggles (research / plan_check / verifier):**
122
+ ```
123
+ [Research / Plan check / Verifier] agent:
124
+ - on: agent runs (recommended for production work)
125
+ - off: skip this agent (faster, for familiar domains or prototyping)
126
+
127
+ Current: [current]. New value? (on/off)
128
+ ```
129
+
130
+ **[8] Nyquist validation:**
131
+ ```
132
+ Nyquist validation maps automated test coverage to requirements during plan-phase.
133
+ - on: plans include automated verify commands per task (recommended)
134
+ - off: skip validation research (good for rapid prototyping)
135
+
136
+ Current: [current]. New value? (on/off)
137
+ ```
138
+
139
+ **[9] Git branching:**
140
+ ```
141
+ Branching strategy:
142
+ - none: no automatic branches (good for solo work)
143
+ - phase: create a branch at each execute-phase (good for code review per phase)
144
+ - milestone: one branch for all phases in a milestone (good for release branches)
145
+
146
+ Current: [current]. New value?
147
+ ```
148
+
149
+ **[10] Commit docs:**
150
+ ```
151
+ Whether .planning/ files are committed to git:
152
+ - on: planning artifacts tracked in git (default)
153
+ - off: keep .planning/ local only (add to .gitignore for privacy)
154
+
155
+ Current: [current]. New value? (on/off)
156
+ ```
157
+
158
+ ## Step 5: Save Config
159
+
160
+ After user types "done", write the updated config:
161
+
162
+ ```bash
163
+ cat > .planning/config.json << EOF
164
+ {
165
+ "mode": "[value]",
166
+ "granularity": "[value]",
167
+ "model_profile": "[value]",
168
+ "learning_mode": "[value]",
169
+ "planning": {
170
+ "commit_docs": [true/false],
171
+ "search_gitignored": false
172
+ },
173
+ "workflow": {
174
+ "research": [true/false],
175
+ "plan_check": [true/false],
176
+ "verifier": [true/false],
177
+ "nyquist_validation": [true/false]
178
+ },
179
+ "git": {
180
+ "branching_strategy": "[value]",
181
+ "phase_branch_template": "phase-{phase}-{slug}",
182
+ "milestone_branch_template": "{milestone}-{slug}"
183
+ }
184
+ }
185
+ EOF
186
+ ```
187
+
188
+ ## Step 6: Commit
189
+
190
+ ```bash
191
+ git add .planning/config.json
192
+ git commit -m "chore(config): update project settings"
193
+ ```
194
+
195
+ ## Step 7: Confirm
196
+
197
+ ```
198
+ Settings saved to .planning/config.json
199
+
200
+ Changes made:
201
+ - [setting]: [old value] → [new value]
202
+
203
+ These settings apply to all future workflow runs in this project.
204
+ ```