learnship 2.0.10 → 2.1.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.
- package/.claude-plugin/plugin.json +2 -2
- package/.cursor-plugin/plugin.json +2 -2
- package/README.md +59 -14
- package/SKILL.md +24 -2
- package/agents/learnship-doc-writer.md +63 -0
- package/agents/learnship-security-auditor.md +67 -0
- package/bin/install.js +9 -4
- package/commands/learnship/discuss-phase.md +1 -1
- package/commands/learnship/docs-update.md +22 -0
- package/commands/learnship/execute-phase.md +2 -6
- package/commands/learnship/extract-learnings.md +22 -0
- package/commands/learnship/forensics.md +21 -0
- package/commands/learnship/help.md +2 -1
- package/commands/learnship/ideate.md +1 -1
- package/commands/learnship/milestone-summary.md +22 -0
- package/commands/learnship/note.md +22 -0
- package/commands/learnship/plan-phase.md +0 -1
- package/commands/learnship/quick.md +1 -5
- package/commands/learnship/secure-phase.md +23 -0
- package/commands/learnship/session-report.md +21 -0
- package/commands/learnship/undo.md +22 -0
- package/commands/learnship/verify-work.md +1 -1
- package/cursor-rules/learnship.mdc +12 -2
- package/gemini-extension.json +2 -2
- package/hooks/session-start +12 -1
- package/learnship/agents/doc-writer.md +63 -0
- package/learnship/agents/security-auditor.md +67 -0
- package/learnship/references/common-bug-patterns.md +92 -0
- package/learnship/references/context-budget.md +49 -0
- package/learnship/references/domain-probes.md +133 -0
- package/learnship/references/gates.md +72 -0
- package/learnship/references/planning-config.md +99 -9
- package/learnship/references/thinking-models.md +61 -0
- package/learnship/references/universal-anti-patterns.md +51 -0
- package/learnship/templates/agents.md +20 -6
- package/learnship/templates/context.md +207 -32
- package/learnship/templates/discussion-log.md +49 -0
- package/learnship/templates/security.md +61 -0
- package/learnship/templates/ui-spec.md +107 -0
- package/learnship/workflows/complete-milestone.md +4 -5
- package/learnship/workflows/compound.md +2 -0
- package/learnship/workflows/debug.md +2 -0
- package/learnship/workflows/discuss-phase.md +73 -15
- package/learnship/workflows/docs-update.md +144 -0
- package/learnship/workflows/execute-phase.md +42 -7
- package/learnship/workflows/extract-learnings.md +161 -0
- package/learnship/workflows/forensics.md +118 -0
- package/learnship/workflows/help.md +20 -2
- package/learnship/workflows/ideate.md +63 -4
- package/learnship/workflows/ls.md +1 -1
- package/learnship/workflows/milestone-summary.md +150 -0
- package/learnship/workflows/new-project.md +68 -4
- package/learnship/workflows/next.md +1 -1
- package/learnship/workflows/note.md +110 -0
- package/learnship/workflows/pause-work.md +2 -0
- package/learnship/workflows/plan-phase.md +17 -2
- package/learnship/workflows/quick.md +28 -8
- package/learnship/workflows/review.md +1 -0
- package/learnship/workflows/secure-phase.md +147 -0
- package/learnship/workflows/session-report.md +133 -0
- package/learnship/workflows/settings.md +40 -46
- package/learnship/workflows/ship.md +2 -0
- package/learnship/workflows/undo.md +151 -0
- package/learnship/workflows/verify-work.md +36 -4
- package/package.json +1 -1
- package/references/common-bug-patterns.md +92 -0
- package/references/context-budget.md +49 -0
- package/references/domain-probes.md +133 -0
- package/references/gates.md +72 -0
- package/references/planning-config.md +139 -0
- package/references/solution-schema.md +159 -0
- package/references/thinking-models.md +61 -0
- package/references/universal-anti-patterns.md +51 -0
- package/templates/agents.md +80 -7
- package/templates/config.json +28 -3
- package/templates/context.md +207 -32
- package/templates/discussion-log.md +49 -0
- package/templates/security.md +61 -0
- package/templates/ui-spec.md +107 -0
|
@@ -0,0 +1,161 @@
|
|
|
1
|
+
---
|
|
2
|
+
description: Extract structured learnings from completed phase artifacts — decisions, lessons, patterns, surprises
|
|
3
|
+
---
|
|
4
|
+
|
|
5
|
+
# Extract Learnings
|
|
6
|
+
|
|
7
|
+
Extract decisions, lessons learned, patterns discovered, and surprises encountered from completed phase artifacts into a structured LEARNINGS.md file. Captures institutional knowledge that would otherwise be lost between phases.
|
|
8
|
+
|
|
9
|
+
**Usage:** `extract-learnings [N]` — extract from phase N
|
|
10
|
+
|
|
11
|
+
**Complements `/compound`:** compound captures reusable solutions, extract-learnings captures meta-knowledge (why things worked, what surprised you, what patterns emerged).
|
|
12
|
+
|
|
13
|
+
## Step 1: Initialize
|
|
14
|
+
|
|
15
|
+
Find the phase directory:
|
|
16
|
+
```bash
|
|
17
|
+
ls ".planning/phases/" | grep "^[0-9]" | sort
|
|
18
|
+
```
|
|
19
|
+
|
|
20
|
+
Find the phase matching `[N]`. If not found, stop and list available phases.
|
|
21
|
+
|
|
22
|
+
Verify required artifacts exist:
|
|
23
|
+
```bash
|
|
24
|
+
ls ".planning/phases/[padded_phase]-[phase_slug]/"*-PLAN.md 2>/dev/null
|
|
25
|
+
ls ".planning/phases/[padded_phase]-[phase_slug]/"*-SUMMARY.md 2>/dev/null
|
|
26
|
+
```
|
|
27
|
+
|
|
28
|
+
If PLAN.md or SUMMARY.md files are missing: "Required artifacts missing. PLAN.md and SUMMARY.md are required for learning extraction."
|
|
29
|
+
|
|
30
|
+
## Step 2: Collect Artifacts
|
|
31
|
+
|
|
32
|
+
**Required (must exist):**
|
|
33
|
+
- All `*-PLAN.md` files for the phase
|
|
34
|
+
- All `*-SUMMARY.md` files for the phase
|
|
35
|
+
|
|
36
|
+
**Optional (read if available, skip if not):**
|
|
37
|
+
- `*-VERIFICATION.md` — verification results
|
|
38
|
+
- `*-UAT.md` — user acceptance test results
|
|
39
|
+
- `*-SECURITY.md` — security verification
|
|
40
|
+
- `.planning/STATE.md` — project state with decisions and blockers
|
|
41
|
+
|
|
42
|
+
Track which optional artifacts are missing for the frontmatter.
|
|
43
|
+
|
|
44
|
+
## Step 3: Extract Learnings
|
|
45
|
+
|
|
46
|
+
Analyze all collected artifacts and extract learnings into 4 categories:
|
|
47
|
+
|
|
48
|
+
### 1. Decisions
|
|
49
|
+
Technical and architectural decisions made during the phase:
|
|
50
|
+
- Explicit decisions documented in PLAN.md or SUMMARY.md
|
|
51
|
+
- Technology choices and their rationale
|
|
52
|
+
- Trade-offs that were evaluated
|
|
53
|
+
|
|
54
|
+
Each entry: **What** was decided, **Why** (rationale), **Source** (which artifact).
|
|
55
|
+
|
|
56
|
+
### 2. Lessons
|
|
57
|
+
What worked well and what didn't:
|
|
58
|
+
- Approaches that succeeded or failed
|
|
59
|
+
- Time estimates vs actual (if observable from git timestamps)
|
|
60
|
+
- Unexpected complexity or simplicity
|
|
61
|
+
|
|
62
|
+
Each entry: **What happened**, **Why it matters**, **Source**.
|
|
63
|
+
|
|
64
|
+
### 3. Patterns
|
|
65
|
+
Reusable patterns that emerged:
|
|
66
|
+
- Code patterns used across multiple tasks
|
|
67
|
+
- Process patterns that worked well
|
|
68
|
+
- Integration patterns between components
|
|
69
|
+
|
|
70
|
+
Each entry: **Pattern name**, **When to use**, **Source**.
|
|
71
|
+
|
|
72
|
+
### 4. Surprises
|
|
73
|
+
Things that didn't go as expected:
|
|
74
|
+
- Unexpected bugs or behaviors
|
|
75
|
+
- Assumptions that were wrong
|
|
76
|
+
- External factors that affected the work
|
|
77
|
+
|
|
78
|
+
Each entry: **What was surprising**, **Impact**, **Source**.
|
|
79
|
+
|
|
80
|
+
## Step 4: Write LEARNINGS.md
|
|
81
|
+
|
|
82
|
+
Write `.planning/phases/[padded_phase]-[phase_slug]/[padded_phase]-LEARNINGS.md`:
|
|
83
|
+
|
|
84
|
+
```markdown
|
|
85
|
+
---
|
|
86
|
+
phase: [N]
|
|
87
|
+
phase_name: [name]
|
|
88
|
+
extracted: [date]
|
|
89
|
+
plan_count: [N]
|
|
90
|
+
summary_count: [N]
|
|
91
|
+
missing_artifacts: [list or "none"]
|
|
92
|
+
---
|
|
93
|
+
|
|
94
|
+
# Phase [N]: [Name] — Learnings
|
|
95
|
+
|
|
96
|
+
## Decisions
|
|
97
|
+
|
|
98
|
+
### D1: [Decision title]
|
|
99
|
+
**What:** [what was decided]
|
|
100
|
+
**Why:** [rationale]
|
|
101
|
+
**Source:** [artifact file]
|
|
102
|
+
|
|
103
|
+
## Lessons
|
|
104
|
+
|
|
105
|
+
### L1: [Lesson title]
|
|
106
|
+
**What happened:** [description]
|
|
107
|
+
**Why it matters:** [impact on future work]
|
|
108
|
+
**Source:** [artifact file]
|
|
109
|
+
|
|
110
|
+
## Patterns
|
|
111
|
+
|
|
112
|
+
### P1: [Pattern name]
|
|
113
|
+
**When to use:** [conditions]
|
|
114
|
+
**Source:** [artifact file]
|
|
115
|
+
|
|
116
|
+
## Surprises
|
|
117
|
+
|
|
118
|
+
### S1: [Surprise title]
|
|
119
|
+
**What was surprising:** [description]
|
|
120
|
+
**Impact:** [how it affected the work]
|
|
121
|
+
**Source:** [artifact file]
|
|
122
|
+
|
|
123
|
+
---
|
|
124
|
+
|
|
125
|
+
*Extracted from Phase [N] artifacts on [date]*
|
|
126
|
+
```
|
|
127
|
+
|
|
128
|
+
## Step 5: Commit and Report
|
|
129
|
+
|
|
130
|
+
```bash
|
|
131
|
+
git add ".planning/phases/[padded_phase]-[phase_slug]/[padded_phase]-LEARNINGS.md"
|
|
132
|
+
git commit -m "docs([padded_phase]): extract phase learnings"
|
|
133
|
+
```
|
|
134
|
+
|
|
135
|
+
```
|
|
136
|
+
learnship > LEARNINGS EXTRACTED
|
|
137
|
+
|
|
138
|
+
Phase [N]: [Name]
|
|
139
|
+
Decisions: [N] | Lessons: [N] | Patterns: [N] | Surprises: [N]
|
|
140
|
+
|
|
141
|
+
Report: [path to LEARNINGS.md]
|
|
142
|
+
|
|
143
|
+
These learnings feed into future planning — the planner will reference them
|
|
144
|
+
when working on related phases.
|
|
145
|
+
```
|
|
146
|
+
|
|
147
|
+
---
|
|
148
|
+
|
|
149
|
+
## Learning Checkpoint
|
|
150
|
+
|
|
151
|
+
Read `learning_mode` from `.planning/config.json`.
|
|
152
|
+
|
|
153
|
+
**If `auto`:**
|
|
154
|
+
|
|
155
|
+
> **Learning moment:** You just extracted meta-knowledge from a phase. Make it stick:
|
|
156
|
+
>
|
|
157
|
+
> `@agentic-learning space` — Schedule the key patterns and lessons for spaced review. The extraction just identified WHAT you learned — spacing ensures you RETAIN it.
|
|
158
|
+
>
|
|
159
|
+
> `@agentic-learning interleave [phase topic]` — Mix these learnings with concepts from earlier phases to strengthen cross-cutting understanding.
|
|
160
|
+
|
|
161
|
+
**If `manual`:** Add quietly: *"Tip: `@agentic-learning space` to schedule these learnings for spaced review."*
|
|
@@ -0,0 +1,118 @@
|
|
|
1
|
+
---
|
|
2
|
+
description: Post-mortem investigation for failed or stuck workflows — read-only diagnostic report
|
|
3
|
+
---
|
|
4
|
+
|
|
5
|
+
# Forensics
|
|
6
|
+
|
|
7
|
+
Post-mortem investigation for failed or stuck workflows. Analyzes git history, `.planning/` artifacts, and file system state to detect anomalies and generate a structured diagnostic report.
|
|
8
|
+
|
|
9
|
+
**Usage:** `forensics` or `forensics [problem description]`
|
|
10
|
+
|
|
11
|
+
**Principle:** This is a read-only investigation. Do not modify project files. Only write the forensic report.
|
|
12
|
+
|
|
13
|
+
## Step 1: Get Problem Description
|
|
14
|
+
|
|
15
|
+
If a description was provided as an argument, use it. Otherwise ask:
|
|
16
|
+
|
|
17
|
+
> "What went wrong? Describe the issue."
|
|
18
|
+
|
|
19
|
+
Record the problem description for the report.
|
|
20
|
+
|
|
21
|
+
## Step 2: Gather Evidence
|
|
22
|
+
|
|
23
|
+
Collect data from all available sources. Missing sources are fine — adapt to what exists.
|
|
24
|
+
|
|
25
|
+
### 2a. Git History
|
|
26
|
+
|
|
27
|
+
```bash
|
|
28
|
+
git log --oneline -30
|
|
29
|
+
git log --format="%H %ai %s" -30
|
|
30
|
+
git log --name-only --format="" -20 | sort | uniq -c | sort -rn | head -20
|
|
31
|
+
git status --short
|
|
32
|
+
git diff --stat
|
|
33
|
+
```
|
|
34
|
+
|
|
35
|
+
Record:
|
|
36
|
+
- Commit timeline (dates, messages, frequency)
|
|
37
|
+
- Most-edited files (potential stuck-loop indicator)
|
|
38
|
+
- Uncommitted changes (potential crash/interruption indicator)
|
|
39
|
+
|
|
40
|
+
### 2b. Planning State
|
|
41
|
+
|
|
42
|
+
Read these files if they exist:
|
|
43
|
+
- `.planning/STATE.md` — current milestone, phase, progress, blockers
|
|
44
|
+
- `.planning/ROADMAP.md` — phase list with status
|
|
45
|
+
- `.planning/config.json` — workflow configuration
|
|
46
|
+
|
|
47
|
+
### 2c. Phase Artifacts
|
|
48
|
+
|
|
49
|
+
```bash
|
|
50
|
+
ls .planning/phases/*/
|
|
51
|
+
```
|
|
52
|
+
|
|
53
|
+
For each phase, check which artifacts exist (PLAN, SUMMARY, VERIFICATION, CONTEXT, RESEARCH, UAT). Track which phases have complete artifact sets vs gaps.
|
|
54
|
+
|
|
55
|
+
## Step 3: Analyze Anomalies
|
|
56
|
+
|
|
57
|
+
| Pattern | Indicates | Severity |
|
|
58
|
+
|---------|-----------|----------|
|
|
59
|
+
| Same file edited 5+ times in 20 commits | Stuck execution loop | High |
|
|
60
|
+
| PLAN.md exists but no SUMMARY.md | Execution interrupted | Medium |
|
|
61
|
+
| Large time gap between consecutive commits | Session interrupted or context exhausted | Medium |
|
|
62
|
+
| VERIFICATION.md with `gaps_found` | Phase incomplete | Medium |
|
|
63
|
+
| STATE.md references non-existent phase dir | State/filesystem mismatch | High |
|
|
64
|
+
| Uncommitted changes + old timestamps | Abandoned session | Low |
|
|
65
|
+
|
|
66
|
+
## Step 4: Determine Root Cause
|
|
67
|
+
|
|
68
|
+
| Category | Description | Recovery |
|
|
69
|
+
|----------|-------------|----------|
|
|
70
|
+
| **Execution stuck** | Agent looped on same files/tests | Re-run with `--wave` or fix trigger |
|
|
71
|
+
| **Context exhaustion** | Agent ran out of context mid-phase | Break into smaller plans, re-run |
|
|
72
|
+
| **Session interrupted** | Human or system terminated mid-work | Resume with `/resume-work` |
|
|
73
|
+
| **State mismatch** | STATE.md doesn't match filesystem | Manual STATE.md correction |
|
|
74
|
+
| **Plan deficiency** | Plans were wrong | Re-plan with `plan-phase --gaps` |
|
|
75
|
+
| **External failure** | API, dependency, or environment issue | Fix external issue, re-run |
|
|
76
|
+
|
|
77
|
+
## Step 5: Write Forensic Report
|
|
78
|
+
|
|
79
|
+
```bash
|
|
80
|
+
node -e "require('fs').mkdirSync('.planning/reports',{recursive:true})"
|
|
81
|
+
```
|
|
82
|
+
|
|
83
|
+
Write `.planning/reports/FORENSIC-[YYYY-MM-DD].md` with: evidence summary, anomalies detected, root cause (category + explanation + confidence), recommended recovery steps, and prevention advice.
|
|
84
|
+
|
|
85
|
+
Commit:
|
|
86
|
+
```bash
|
|
87
|
+
git add .planning/reports/
|
|
88
|
+
git commit -m "docs: forensic report"
|
|
89
|
+
```
|
|
90
|
+
|
|
91
|
+
## Step 6: Present Findings
|
|
92
|
+
|
|
93
|
+
```
|
|
94
|
+
learnship > FORENSIC REPORT COMPLETE
|
|
95
|
+
|
|
96
|
+
Root Cause: [category] — [one-line explanation]
|
|
97
|
+
Confidence: [high/medium/low]
|
|
98
|
+
|
|
99
|
+
Recovery:
|
|
100
|
+
1. [action]
|
|
101
|
+
2. [action]
|
|
102
|
+
|
|
103
|
+
Report: .planning/reports/FORENSIC-[date].md
|
|
104
|
+
```
|
|
105
|
+
|
|
106
|
+
---
|
|
107
|
+
|
|
108
|
+
## Learning Checkpoint
|
|
109
|
+
|
|
110
|
+
Read `learning_mode` from `.planning/config.json`.
|
|
111
|
+
|
|
112
|
+
**If `auto`:**
|
|
113
|
+
|
|
114
|
+
> **Learning moment:** Failures are high-signal learning opportunities:
|
|
115
|
+
>
|
|
116
|
+
> `@agentic-learning reflect` — What pattern caused this failure? What would you watch for next time? Structured reflection on failures builds diagnostic intuition.
|
|
117
|
+
|
|
118
|
+
**If `manual`:** Add quietly: *"Tip: `@agentic-learning reflect` to extract lessons from this failure."*
|
|
@@ -16,7 +16,7 @@ You only need to remember **5 commands** to use learnship effectively:
|
|
|
16
16
|
| `/next` | Auto-pilot — reads state and runs the right workflow for you |
|
|
17
17
|
| `/new-project` | Starting a brand new project |
|
|
18
18
|
| `/quick "..."` | One-off task with atomic commit, no ceremony |
|
|
19
|
-
| `/help` | This screen — see all
|
|
19
|
+
| `/help` | This screen — see all 57 commands |
|
|
20
20
|
|
|
21
21
|
Everything else below is discoverable from `/ls` as you go.
|
|
22
22
|
|
|
@@ -87,9 +87,11 @@ Everything else below is discoverable from `/ls` as you go.
|
|
|
87
87
|
| `/review [mode]` | Multi-persona code review (correctness, testing, security, performance, maintainability) |
|
|
88
88
|
| `/challenge [description]` | Product + engineering challenge gate — is this worth building? |
|
|
89
89
|
| `/ship` | Ship pipeline: test → lint → commit → push → PR |
|
|
90
|
-
| `/ideate [focus]` | Codebase-grounded divergent thinking — discover what to work on |
|
|
90
|
+
| `/ideate [focus]` | Codebase-grounded divergent thinking — discover what to work on (`--explore` for Socratic mode) |
|
|
91
91
|
| `/guard [scope\|off]` | Safety mode — warn on destructive commands, lock file scope |
|
|
92
92
|
| `/sync-docs` | Detect stale documentation after code changes |
|
|
93
|
+
| `/docs-update` | Generate, update, and verify project documentation |
|
|
94
|
+
| `/secure-phase [N]` | Per-phase STRIDE security verification |
|
|
93
95
|
|
|
94
96
|
### Decision Intelligence — institutional memory
|
|
95
97
|
|
|
@@ -99,6 +101,22 @@ Everything else below is discoverable from `/ls` as you go.
|
|
|
99
101
|
| `/knowledge-base` | Aggregate all decisions + lessons into searchable KNOWLEDGE.md |
|
|
100
102
|
| `/knowledge-base search [query]` | Search the project knowledge base |
|
|
101
103
|
|
|
104
|
+
### Recovery — when things go wrong
|
|
105
|
+
|
|
106
|
+
| Workflow | What it does |
|
|
107
|
+
|----------|-------------|
|
|
108
|
+
| `/forensics [problem]` | Post-mortem investigation for failed/stuck workflows (read-only) |
|
|
109
|
+
| `/undo --last N\|--phase NN\|--plan NN-MM` | Safe git revert — preserves history, checks dependencies |
|
|
110
|
+
|
|
111
|
+
### Session — capture and report
|
|
112
|
+
|
|
113
|
+
| Workflow | What it does |
|
|
114
|
+
|----------|-------------|
|
|
115
|
+
| `/note [text]` | Zero-friction idea capture — no questions, just write |
|
|
116
|
+
| `/session-report` | Post-session summary for stakeholder sharing |
|
|
117
|
+
| `/extract-learnings [N]` | Structured learning extraction from phase artifacts |
|
|
118
|
+
| `/milestone-summary [version]` | Comprehensive milestone summary for team onboarding |
|
|
119
|
+
|
|
102
120
|
### Milestone Intelligence — reflect and hand off
|
|
103
121
|
|
|
104
122
|
| Workflow | What it does |
|
|
@@ -4,10 +4,11 @@ description: Codebase-grounded divergent thinking — discover what is worth wor
|
|
|
4
4
|
|
|
5
5
|
# Ideate
|
|
6
6
|
|
|
7
|
-
Codebase-grounded divergent ideation.
|
|
7
|
+
Codebase-grounded divergent ideation with Socratic exploration. Two modes: **scan mode** (default) scans the actual codebase for hotspots and generates ranked improvement ideas. **Explore mode** (`--explore`) uses Socratic questioning to help you think through an idea before committing to artifacts.
|
|
8
8
|
|
|
9
|
-
**Usage:** `ideate` — open-ended ideation on the current project
|
|
9
|
+
**Usage:** `ideate` — open-ended scan-based ideation on the current project
|
|
10
10
|
**Usage:** `ideate [focus]` — focused ideation on a specific area, concept, or constraint
|
|
11
|
+
**Usage:** `ideate --explore [topic]` — Socratic exploration of an idea with mid-conversation research
|
|
11
12
|
|
|
12
13
|
**Sequencing:** Run between milestones — after `/complete-milestone`, before `/discuss-milestone` or `/new-milestone`. Requires an existing project with `AGENTS.md` and `.planning/`.
|
|
13
14
|
|
|
@@ -26,7 +27,14 @@ ls AGENTS.md 2>/dev/null && ls .planning/PROJECT.md 2>/dev/null
|
|
|
26
27
|
|
|
27
28
|
**If project exists:** Continue.
|
|
28
29
|
|
|
29
|
-
## Step 2:
|
|
30
|
+
## Step 2: Mode Selection
|
|
31
|
+
|
|
32
|
+
Parse arguments for `--explore` flag.
|
|
33
|
+
|
|
34
|
+
**If `--explore` is present:** Jump to Step 2b (Socratic Exploration).
|
|
35
|
+
**Otherwise:** Continue to Step 2a (Scan Mode).
|
|
36
|
+
|
|
37
|
+
## Step 2a: Scope (Scan Mode)
|
|
30
38
|
|
|
31
39
|
If a focus argument was provided, use it as the ideation lens.
|
|
32
40
|
If no argument, proceed with open-ended ideation.
|
|
@@ -38,7 +46,57 @@ find .planning/ -name "*-ideation-*.md" -mtime -30 2>/dev/null
|
|
|
38
46
|
|
|
39
47
|
If recent ideation exists, ask: "Found recent ideation work. Resume from it, or start fresh?"
|
|
40
48
|
|
|
41
|
-
## Step
|
|
49
|
+
## Step 2b: Socratic Exploration (only with `--explore`)
|
|
50
|
+
|
|
51
|
+
If a topic was provided, acknowledge it and begin exploring:
|
|
52
|
+
```
|
|
53
|
+
## Explore: {topic}
|
|
54
|
+
|
|
55
|
+
Let's think through this together. I'll ask questions to help clarify the idea
|
|
56
|
+
before we commit to any artifacts.
|
|
57
|
+
```
|
|
58
|
+
|
|
59
|
+
If no topic, ask:
|
|
60
|
+
```
|
|
61
|
+
## Explore
|
|
62
|
+
|
|
63
|
+
What's on your mind? This could be a feature idea, an architectural question,
|
|
64
|
+
a problem you're trying to solve, or something you're not sure about yet.
|
|
65
|
+
```
|
|
66
|
+
|
|
67
|
+
**Conversation rules (2-5 exchanges):**
|
|
68
|
+
- Ask **one question at a time** (never a list of questions)
|
|
69
|
+
- Questions should probe: constraints, tradeoffs, users, scope, dependencies, risks
|
|
70
|
+
- Listen for signals: "or" / "versus" / "tradeoff" indicate competing priorities worth exploring
|
|
71
|
+
- Reflect back what you hear to confirm understanding before moving forward
|
|
72
|
+
- **Follow the user's energy** — if they're excited about one aspect, go deeper there
|
|
73
|
+
|
|
74
|
+
**Mid-conversation research offer (after 2-3 exchanges):**
|
|
75
|
+
|
|
76
|
+
If the conversation surfaces factual questions, technology comparisons, or unknowns:
|
|
77
|
+
```
|
|
78
|
+
This touches on [specific question]. Want me to do a quick research pass before we continue?
|
|
79
|
+
This would take ~30 seconds and might surface useful context.
|
|
80
|
+
|
|
81
|
+
[Yes, research this] / [No, let's keep exploring]
|
|
82
|
+
```
|
|
83
|
+
|
|
84
|
+
If yes and parallelization is enabled, spawn a research agent. Otherwise do an inline research pass. Share findings and continue.
|
|
85
|
+
|
|
86
|
+
**Crystallize outputs (after 3-6 exchanges):**
|
|
87
|
+
|
|
88
|
+
When the conversation reaches natural conclusions, propose **up to 4 outputs**:
|
|
89
|
+
|
|
90
|
+
| Type | Destination | When to suggest |
|
|
91
|
+
|------|-------------|----------------|
|
|
92
|
+
| Note | `.planning/notes/{slug}.md` | Observations, context, decisions worth remembering |
|
|
93
|
+
| Todo | via `/add-todo` | Concrete actionable tasks identified |
|
|
94
|
+
| Decision | via `/decision-log` | Architectural or scope decisions made |
|
|
95
|
+
| Phase proposal | via `/add-phase` | Idea crystallized into a deliverable phase |
|
|
96
|
+
|
|
97
|
+
Write selected outputs, then jump to Step 7 (Present Results) with a tailored summary.
|
|
98
|
+
|
|
99
|
+
## Step 3: Codebase Scan (Scan Mode)
|
|
42
100
|
|
|
43
101
|
Gather grounding context before generating ideas:
|
|
44
102
|
|
|
@@ -175,6 +233,7 @@ git commit -m "docs: ideation — [focus or 'open-ended'] ([N] survivors)"
|
|
|
175
233
|
Present the "What's next?" options using the platform's blocking question tool:
|
|
176
234
|
|
|
177
235
|
- **Deep-dive an idea** → expand on the selected idea with more detail
|
|
236
|
+
- **Explore an idea** → run `ideate --explore [idea]` for Socratic deep-dive
|
|
178
237
|
- **Add to current milestone** → feed into `/add-phase`
|
|
179
238
|
- **Start a new milestone** → feed into `/discuss-milestone` then `/new-milestone`
|
|
180
239
|
- **Challenge an idea** → run `/challenge [idea]` to stress-test it
|
|
@@ -148,4 +148,4 @@ If the user says yes (or "go", "do it", "run it", "proceed") — immediately inv
|
|
|
148
148
|
|
|
149
149
|
- `/ls` is an alias for the status + routing logic in `progress`. Use either.
|
|
150
150
|
- For full auto-pilot (no prompt), use `/next` instead.
|
|
151
|
-
- To see all
|
|
151
|
+
- To see all 57 available commands: `/help`
|
|
@@ -0,0 +1,150 @@
|
|
|
1
|
+
---
|
|
2
|
+
description: Generate a comprehensive milestone summary for team onboarding — a new contributor reads it and understands the project
|
|
3
|
+
---
|
|
4
|
+
|
|
5
|
+
# Milestone Summary
|
|
6
|
+
|
|
7
|
+
Generate a comprehensive, human-friendly project summary from completed milestone artifacts. Designed for team onboarding — a new contributor can read the output and understand the entire project.
|
|
8
|
+
|
|
9
|
+
**Usage:** `milestone-summary` or `milestone-summary [version]`
|
|
10
|
+
|
|
11
|
+
## Step 1: Resolve Version
|
|
12
|
+
|
|
13
|
+
If a version was provided, use it. Otherwise:
|
|
14
|
+
1. Check `.planning/STATE.md` for current milestone version
|
|
15
|
+
2. Check `.planning/milestones/` for the latest archived version
|
|
16
|
+
3. If nothing found: "No milestone found. Run `/new-project` or `/new-milestone` first."
|
|
17
|
+
|
|
18
|
+
## Step 2: Locate Artifacts
|
|
19
|
+
|
|
20
|
+
**Archived milestone** (`.planning/milestones/v{VERSION}-ROADMAP.md` exists):
|
|
21
|
+
```
|
|
22
|
+
ROADMAP_PATH=".planning/milestones/v${VERSION}-ROADMAP.md"
|
|
23
|
+
REQUIREMENTS_PATH=".planning/milestones/v${VERSION}-REQUIREMENTS.md"
|
|
24
|
+
```
|
|
25
|
+
|
|
26
|
+
**Current/in-progress milestone** (no archive yet):
|
|
27
|
+
```
|
|
28
|
+
ROADMAP_PATH=".planning/ROADMAP.md"
|
|
29
|
+
REQUIREMENTS_PATH=".planning/REQUIREMENTS.md"
|
|
30
|
+
```
|
|
31
|
+
|
|
32
|
+
**Always available:**
|
|
33
|
+
```
|
|
34
|
+
PROJECT_PATH=".planning/PROJECT.md"
|
|
35
|
+
STATE_PATH=".planning/STATE.md"
|
|
36
|
+
```
|
|
37
|
+
|
|
38
|
+
Read all files that exist. Missing files are fine — the summary adapts.
|
|
39
|
+
|
|
40
|
+
## Step 3: Discover Phase Artifacts
|
|
41
|
+
|
|
42
|
+
For each phase directory in `.planning/phases/`:
|
|
43
|
+
|
|
44
|
+
```bash
|
|
45
|
+
ls .planning/phases/*/
|
|
46
|
+
```
|
|
47
|
+
|
|
48
|
+
For each phase, read:
|
|
49
|
+
- CONTEXT.md — what was decided
|
|
50
|
+
- SUMMARY.md files — what was built
|
|
51
|
+
- VERIFICATION.md — quality status
|
|
52
|
+
- UAT.md — test results
|
|
53
|
+
- LEARNINGS.md — extracted learnings (if exists)
|
|
54
|
+
- SECURITY.md — security status (if exists)
|
|
55
|
+
|
|
56
|
+
## Step 4: Generate Summary
|
|
57
|
+
|
|
58
|
+
Write `.planning/MILESTONE-SUMMARY-v{VERSION}.md`:
|
|
59
|
+
|
|
60
|
+
```markdown
|
|
61
|
+
# Milestone {VERSION}: {Name} — Summary
|
|
62
|
+
|
|
63
|
+
**Generated:** [date]
|
|
64
|
+
**Status:** [complete / in-progress]
|
|
65
|
+
|
|
66
|
+
---
|
|
67
|
+
|
|
68
|
+
## Project Overview
|
|
69
|
+
|
|
70
|
+
[From PROJECT.md — 3-5 sentences describing what the project is and why it exists]
|
|
71
|
+
|
|
72
|
+
## Milestone Goal
|
|
73
|
+
|
|
74
|
+
[From ROADMAP.md — what this milestone set out to deliver]
|
|
75
|
+
|
|
76
|
+
## What Was Built
|
|
77
|
+
|
|
78
|
+
### Phase 1: [Name]
|
|
79
|
+
**Goal:** [from ROADMAP.md]
|
|
80
|
+
**Status:** [complete/partial]
|
|
81
|
+
**Key deliverables:**
|
|
82
|
+
- [from SUMMARY.md files — what was actually built]
|
|
83
|
+
|
|
84
|
+
**Decisions made:**
|
|
85
|
+
- [from CONTEXT.md — key implementation choices]
|
|
86
|
+
|
|
87
|
+
### Phase 2: [Name]
|
|
88
|
+
[...]
|
|
89
|
+
|
|
90
|
+
## Architecture
|
|
91
|
+
|
|
92
|
+
[Synthesized from AGENTS.md project structure, phase summaries, and any ARCHITECTURE.md]
|
|
93
|
+
|
|
94
|
+
## Key Decisions
|
|
95
|
+
|
|
96
|
+
[Aggregated from DECISIONS.md and phase CONTEXT.md files — the top 5-10 decisions that shaped the project]
|
|
97
|
+
|
|
98
|
+
## Lessons Learned
|
|
99
|
+
|
|
100
|
+
[Aggregated from LEARNINGS.md files if they exist, or synthesized from SUMMARYs]
|
|
101
|
+
|
|
102
|
+
## Current State
|
|
103
|
+
|
|
104
|
+
- **Last phase completed:** [N]
|
|
105
|
+
- **Open items:** [from STATE.md blockers]
|
|
106
|
+
- **Test status:** [from UAT/VERIFICATION files]
|
|
107
|
+
- **Security status:** [from SECURITY files if they exist]
|
|
108
|
+
|
|
109
|
+
## How to Get Started
|
|
110
|
+
|
|
111
|
+
[Practical instructions: how to clone, install deps, run the dev server, run tests]
|
|
112
|
+
|
|
113
|
+
---
|
|
114
|
+
|
|
115
|
+
*Generated by learnship milestone-summary*
|
|
116
|
+
```
|
|
117
|
+
|
|
118
|
+
## Step 5: Commit and Present
|
|
119
|
+
|
|
120
|
+
```bash
|
|
121
|
+
git add ".planning/MILESTONE-SUMMARY-v${VERSION}.md"
|
|
122
|
+
git commit -m "docs: milestone ${VERSION} summary"
|
|
123
|
+
```
|
|
124
|
+
|
|
125
|
+
```
|
|
126
|
+
learnship > MILESTONE SUMMARY COMPLETE
|
|
127
|
+
|
|
128
|
+
Milestone {VERSION}: {Name}
|
|
129
|
+
Phases covered: [N]
|
|
130
|
+
Decisions documented: [N]
|
|
131
|
+
Lessons captured: [N]
|
|
132
|
+
|
|
133
|
+
Report: .planning/MILESTONE-SUMMARY-v{VERSION}.md
|
|
134
|
+
|
|
135
|
+
Share this with new team members or stakeholders for a complete project overview.
|
|
136
|
+
```
|
|
137
|
+
|
|
138
|
+
---
|
|
139
|
+
|
|
140
|
+
## Learning Checkpoint
|
|
141
|
+
|
|
142
|
+
Read `learning_mode` from `.planning/config.json`.
|
|
143
|
+
|
|
144
|
+
**If `auto`:**
|
|
145
|
+
|
|
146
|
+
> **Learning moment:** Summarizing a milestone is a natural point for comprehensive reflection:
|
|
147
|
+
>
|
|
148
|
+
> `@agentic-learning reflect` — What was the most significant thing you learned across this entire milestone? What would you do differently if starting over? Milestone-level reflection reveals patterns invisible at the phase level.
|
|
149
|
+
|
|
150
|
+
**If `manual`:** Add quietly: *"Tip: `@agentic-learning reflect` for milestone-level learning consolidation."*
|