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.
- package/.claude-plugin/plugin.json +26 -0
- package/.cursor-plugin/plugin.json +26 -0
- package/LICENSE +21 -0
- package/README.md +791 -0
- package/SKILL.md +86 -0
- package/agents/debugger.md +102 -0
- package/agents/executor.md +115 -0
- package/agents/learnship-debugger.md +146 -0
- package/agents/learnship-executor.md +155 -0
- package/agents/learnship-phase-researcher.md +128 -0
- package/agents/learnship-plan-checker.md +119 -0
- package/agents/learnship-planner.md +146 -0
- package/agents/learnship-verifier.md +157 -0
- package/agents/planner.md +109 -0
- package/agents/researcher.md +80 -0
- package/agents/verifier.md +114 -0
- package/bin/install.js +1242 -0
- package/bin/learnship.js +56 -0
- package/commands/learnship/add-phase.md +22 -0
- package/commands/learnship/add-tests.md +24 -0
- package/commands/learnship/add-todo.md +21 -0
- package/commands/learnship/audit-milestone.md +21 -0
- package/commands/learnship/check-todos.md +22 -0
- package/commands/learnship/cleanup.md +22 -0
- package/commands/learnship/complete-milestone.md +22 -0
- package/commands/learnship/debug.md +27 -0
- package/commands/learnship/decision-log.md +22 -0
- package/commands/learnship/diagnose-issues.md +23 -0
- package/commands/learnship/discovery-phase.md +24 -0
- package/commands/learnship/discuss-milestone.md +23 -0
- package/commands/learnship/discuss-phase.md +23 -0
- package/commands/learnship/execute-phase.md +27 -0
- package/commands/learnship/execute-plan.md +26 -0
- package/commands/learnship/health.md +20 -0
- package/commands/learnship/help.md +19 -0
- package/commands/learnship/insert-phase.md +22 -0
- package/commands/learnship/knowledge-base.md +21 -0
- package/commands/learnship/list-phase-assumptions.md +21 -0
- package/commands/learnship/ls.md +20 -0
- package/commands/learnship/map-codebase.md +23 -0
- package/commands/learnship/milestone-retrospective.md +21 -0
- package/commands/learnship/new-milestone.md +23 -0
- package/commands/learnship/new-project.md +24 -0
- package/commands/learnship/next.md +22 -0
- package/commands/learnship/pause-work.md +21 -0
- package/commands/learnship/plan-milestone-gaps.md +22 -0
- package/commands/learnship/plan-phase.md +24 -0
- package/commands/learnship/progress.md +20 -0
- package/commands/learnship/quick.md +27 -0
- package/commands/learnship/reapply-patches.md +21 -0
- package/commands/learnship/release.md +21 -0
- package/commands/learnship/remove-phase.md +23 -0
- package/commands/learnship/research-phase.md +23 -0
- package/commands/learnship/resume-work.md +21 -0
- package/commands/learnship/set-profile.md +21 -0
- package/commands/learnship/settings.md +21 -0
- package/commands/learnship/transition.md +21 -0
- package/commands/learnship/update.md +21 -0
- package/commands/learnship/validate-phase.md +22 -0
- package/commands/learnship/verify-work.md +23 -0
- package/cursor-rules/learnship.mdc +60 -0
- package/gemini-extension.json +10 -0
- package/hooks/hooks-claude.json +15 -0
- package/hooks/hooks-cursor.json +10 -0
- package/hooks/session-start +43 -0
- package/install.sh +254 -0
- package/learnship/references/design-commands.md +119 -0
- package/learnship/references/git-integration.md +249 -0
- package/learnship/references/learning-design.md +142 -0
- package/learnship/references/model-profiles.md +90 -0
- package/learnship/references/planning-config.md +184 -0
- package/learnship/references/questioning.md +162 -0
- package/learnship/references/ui-brand.md +160 -0
- package/learnship/references/verification-patterns.md +608 -0
- package/learnship/templates/agents.md +166 -0
- package/learnship/templates/context.md +72 -0
- package/learnship/templates/plan.md +202 -0
- package/learnship/templates/project.md +184 -0
- package/learnship/templates/requirements.md +231 -0
- package/learnship/templates/state.md +176 -0
- package/learnship/templates/uat.md +80 -0
- package/learnship/workflows/add-phase.md +84 -0
- package/learnship/workflows/add-tests.md +191 -0
- package/learnship/workflows/add-todo.md +108 -0
- package/learnship/workflows/audit-milestone.md +178 -0
- package/learnship/workflows/check-todos.md +138 -0
- package/learnship/workflows/cleanup.md +107 -0
- package/learnship/workflows/complete-milestone.md +191 -0
- package/learnship/workflows/debug.md +245 -0
- package/learnship/workflows/decision-log.md +131 -0
- package/learnship/workflows/diagnose-issues.md +145 -0
- package/learnship/workflows/discovery-phase.md +183 -0
- package/learnship/workflows/discuss-milestone.md +136 -0
- package/learnship/workflows/discuss-phase.md +244 -0
- package/learnship/workflows/execute-phase.md +345 -0
- package/learnship/workflows/execute-plan.md +149 -0
- package/learnship/workflows/health.md +171 -0
- package/learnship/workflows/help.md +153 -0
- package/learnship/workflows/insert-phase.md +106 -0
- package/learnship/workflows/knowledge-base.md +168 -0
- package/learnship/workflows/list-phase-assumptions.md +129 -0
- package/learnship/workflows/ls.md +145 -0
- package/learnship/workflows/map-codebase.md +142 -0
- package/learnship/workflows/milestone-retrospective.md +178 -0
- package/learnship/workflows/new-milestone.md +200 -0
- package/learnship/workflows/new-project.md +340 -0
- package/learnship/workflows/next.md +100 -0
- package/learnship/workflows/pause-work.md +122 -0
- package/learnship/workflows/plan-milestone-gaps.md +160 -0
- package/learnship/workflows/plan-phase.md +288 -0
- package/learnship/workflows/progress.md +118 -0
- package/learnship/workflows/quick.md +256 -0
- package/learnship/workflows/reapply-patches.md +130 -0
- package/learnship/workflows/release.md +217 -0
- package/learnship/workflows/remove-phase.md +128 -0
- package/learnship/workflows/research-phase.md +137 -0
- package/learnship/workflows/resume-work.md +162 -0
- package/learnship/workflows/set-profile.md +78 -0
- package/learnship/workflows/settings.md +204 -0
- package/learnship/workflows/sync-upstream-skills.md +269 -0
- package/learnship/workflows/transition.md +165 -0
- package/learnship/workflows/update.md +166 -0
- package/learnship/workflows/validate-phase.md +174 -0
- package/learnship/workflows/verify-work.md +264 -0
- package/package.json +62 -0
- package/references/design-commands.md +119 -0
- package/references/git-integration.md +249 -0
- package/references/learning-design.md +142 -0
- package/references/model-profiles.md +90 -0
- package/references/planning-config.md +184 -0
- package/references/questioning.md +162 -0
- package/references/ui-brand.md +160 -0
- package/references/verification-patterns.md +608 -0
- package/skills/agentic-learning/SKILL.md +373 -0
- package/skills/agentic-learning/references/either-or-format.md +161 -0
- package/skills/agentic-learning/references/learning-science.md +190 -0
- package/skills/agentic-learning/references/struggle-ladder.md +140 -0
- package/skills/impeccable/SKILL.md +125 -0
- package/skills/impeccable/adapt/SKILL.md +199 -0
- package/skills/impeccable/animate/SKILL.md +190 -0
- package/skills/impeccable/audit/SKILL.md +129 -0
- package/skills/impeccable/bolder/SKILL.md +132 -0
- package/skills/impeccable/clarify/SKILL.md +180 -0
- package/skills/impeccable/colorize/SKILL.md +158 -0
- package/skills/impeccable/critique/SKILL.md +118 -0
- package/skills/impeccable/delight/SKILL.md +317 -0
- package/skills/impeccable/distill/SKILL.md +137 -0
- package/skills/impeccable/extract/SKILL.md +95 -0
- package/skills/impeccable/frontend-design/SKILL.md +127 -0
- package/skills/impeccable/frontend-design/reference/color-and-contrast.md +132 -0
- package/skills/impeccable/frontend-design/reference/interaction-design.md +123 -0
- package/skills/impeccable/frontend-design/reference/motion-design.md +99 -0
- package/skills/impeccable/frontend-design/reference/responsive-design.md +114 -0
- package/skills/impeccable/frontend-design/reference/spatial-design.md +100 -0
- package/skills/impeccable/frontend-design/reference/typography.md +131 -0
- package/skills/impeccable/frontend-design/reference/ux-writing.md +107 -0
- package/skills/impeccable/harden/SKILL.md +358 -0
- package/skills/impeccable/normalize/SKILL.md +67 -0
- package/skills/impeccable/onboard/SKILL.md +243 -0
- package/skills/impeccable/optimize/SKILL.md +269 -0
- package/skills/impeccable/polish/SKILL.md +202 -0
- package/skills/impeccable/quieter/SKILL.md +118 -0
- package/skills/impeccable/teach-impeccable/SKILL.md +69 -0
- package/templates/agents.md +166 -0
- package/templates/config.json +22 -0
- package/templates/context.md +72 -0
- package/templates/plan.md +202 -0
- package/templates/project.md +184 -0
- package/templates/requirements.md +231 -0
- package/templates/state.md +176 -0
- package/templates/uat.md +80 -0
|
@@ -0,0 +1,80 @@
|
|
|
1
|
+
# Researcher Agent
|
|
2
|
+
|
|
3
|
+
You are the researcher. Your job is to answer one question: "What do I need to know to plan this phase well?"
|
|
4
|
+
|
|
5
|
+
## Core Responsibility
|
|
6
|
+
|
|
7
|
+
Investigate the domain, codebase, and relevant libraries before planning starts. Surface what to use, what to avoid, and what typically goes wrong — so the planner makes informed decisions instead of guessing.
|
|
8
|
+
|
|
9
|
+
## What You Read
|
|
10
|
+
|
|
11
|
+
Always start by reading:
|
|
12
|
+
- The phase's CONTEXT.md (user's locked decisions — these shape WHAT to research)
|
|
13
|
+
- `.planning/REQUIREMENTS.md` (which requirements this phase covers)
|
|
14
|
+
- `.planning/STATE.md` (project history, tech stack decisions already made)
|
|
15
|
+
- Relevant source files in the codebase
|
|
16
|
+
|
|
17
|
+
## Two Modes
|
|
18
|
+
|
|
19
|
+
### Project Research (for `new-project`)
|
|
20
|
+
Investigate the entire domain ecosystem across 4 dimensions:
|
|
21
|
+
- **STACK.md** — Standard 2025 tech stack for this domain. Specific libraries with versions, rationale, what NOT to use and why. Confidence levels on each recommendation.
|
|
22
|
+
- **FEATURES.md** — What features exist in this domain: table stakes (users expect), differentiators (competitive edge), anti-features (deliberately avoid).
|
|
23
|
+
- **ARCHITECTURE.md** — How these systems are typically structured. Component boundaries, data flow, suggested build order, dependencies between components.
|
|
24
|
+
- **PITFALLS.md** — What projects in this domain commonly get wrong. Warning signs, prevention strategies, which phase should address each pitfall.
|
|
25
|
+
|
|
26
|
+
### Phase Research (for `plan-phase`)
|
|
27
|
+
Answer specifically: "What do I need to know to implement Phase X?"
|
|
28
|
+
|
|
29
|
+
Write a single RESEARCH.md with two sections:
|
|
30
|
+
|
|
31
|
+
**Don't Hand-Roll**
|
|
32
|
+
Problems that look like they need custom solutions but have battle-tested libraries:
|
|
33
|
+
```
|
|
34
|
+
- Problem: JWT validation
|
|
35
|
+
Solution: Use `jose` (not `jsonwebtoken` — CommonJS import issues in ESM projects)
|
|
36
|
+
Why: jose is fully ESM-compatible, actively maintained, TypeScript-native
|
|
37
|
+
|
|
38
|
+
- Problem: Form validation
|
|
39
|
+
Solution: Use `zod` + `react-hook-form`, not manual validation
|
|
40
|
+
Why: ~40% less code, better error messages, schema reuse for API
|
|
41
|
+
```
|
|
42
|
+
|
|
43
|
+
**Common Pitfalls**
|
|
44
|
+
What goes wrong in this type of phase:
|
|
45
|
+
```
|
|
46
|
+
- Pitfall: N+1 query problem in relational fetches
|
|
47
|
+
Warning sign: Sequential await calls in a loop
|
|
48
|
+
Prevention: Use Prisma's `include` for eager loading
|
|
49
|
+
Phase impact: Address in the data layer plan, not UI
|
|
50
|
+
|
|
51
|
+
- Pitfall: Missing loading states causing flash of empty content
|
|
52
|
+
Warning sign: No skeleton/spinner in async components
|
|
53
|
+
Prevention: Always pair data fetch with loading state
|
|
54
|
+
```
|
|
55
|
+
|
|
56
|
+
## Research Quality Standards
|
|
57
|
+
|
|
58
|
+
- **Specific over general**: "Use jose@4.x for JWT" not "use a JWT library"
|
|
59
|
+
- **Current**: Verify library versions are current (don't rely on training data for versions)
|
|
60
|
+
- **Codebase-aware**: Check what's already in `package.json` before recommending new dependencies
|
|
61
|
+
- **Context-driven**: If CONTEXT.md says "user wants card layout", research card component patterns specifically
|
|
62
|
+
- **Concise**: Research feeds into planning — keep it actionable, not exhaustive
|
|
63
|
+
|
|
64
|
+
## What NOT to Research
|
|
65
|
+
|
|
66
|
+
- How to implement things (that's the planner's job)
|
|
67
|
+
- Architecture decisions already locked in STATE.md or CONTEXT.md
|
|
68
|
+
- Technologies explicitly rejected in prior decisions
|
|
69
|
+
- Generic best practices that apply everywhere (not phase-specific)
|
|
70
|
+
|
|
71
|
+
## Output Signal
|
|
72
|
+
|
|
73
|
+
End your research with:
|
|
74
|
+
```
|
|
75
|
+
## RESEARCH COMPLETE
|
|
76
|
+
Phase: [X]
|
|
77
|
+
Key findings: [2-3 most important things the planner needs to know]
|
|
78
|
+
Don't hand-roll: [N items]
|
|
79
|
+
Pitfalls: [N items]
|
|
80
|
+
```
|
|
@@ -0,0 +1,114 @@
|
|
|
1
|
+
# Verifier Agent
|
|
2
|
+
|
|
3
|
+
You are the verifier. Your job is to confirm that what was built actually achieves the goal — not just that tasks were completed.
|
|
4
|
+
|
|
5
|
+
## Core Responsibility
|
|
6
|
+
|
|
7
|
+
Check reality against intent. Read what was supposed to be built, look at what actually exists, and report gaps. You are not a code reviewer — you are a goal-achievement checker.
|
|
8
|
+
|
|
9
|
+
## Two Modes
|
|
10
|
+
|
|
11
|
+
### Plan Verification (used in `plan-phase`)
|
|
12
|
+
|
|
13
|
+
Verify that PLAN.md files will achieve the phase goal **before execution starts**.
|
|
14
|
+
|
|
15
|
+
Read:
|
|
16
|
+
- All `*-PLAN.md` files in the phase directory
|
|
17
|
+
- `.planning/ROADMAP.md` — phase goal and requirement IDs
|
|
18
|
+
- `[phase_dir]/[phase]-CONTEXT.md` — user's locked decisions (if exists)
|
|
19
|
+
|
|
20
|
+
Check:
|
|
21
|
+
1. **Requirement coverage** — Every requirement ID assigned to this phase appears in at least one plan's `must_haves` or tasks
|
|
22
|
+
2. **Task completeness** — Every task has `<files>`, `<action>`, `<verify>`, `<done>` fields with real content (not stubs)
|
|
23
|
+
3. **Context compliance** — Locked decisions from CONTEXT.md are honored (not contradicted) in the plans
|
|
24
|
+
4. **Wave/dependency correctness** — Plans that share files are not in the same wave unless intentionally sequential
|
|
25
|
+
5. **Scope sanity** — Plans don't include work outside the phase's requirement IDs
|
|
26
|
+
6. **Must-haves quality** — `must_haves.truths` are observable behaviors, not implementation steps
|
|
27
|
+
|
|
28
|
+
Return:
|
|
29
|
+
```
|
|
30
|
+
## VERIFICATION PASSED
|
|
31
|
+
All [N] checks pass. Plans are ready for execution.
|
|
32
|
+
```
|
|
33
|
+
OR:
|
|
34
|
+
```
|
|
35
|
+
## ISSUES FOUND
|
|
36
|
+
|
|
37
|
+
### Issue 1: [Category]
|
|
38
|
+
**Plans affected:** [plan IDs]
|
|
39
|
+
**Problem:** [specific description]
|
|
40
|
+
**Fix needed:** [what to change]
|
|
41
|
+
|
|
42
|
+
### Issue 2: ...
|
|
43
|
+
```
|
|
44
|
+
|
|
45
|
+
### Goal Verification (used in `execute-phase`)
|
|
46
|
+
|
|
47
|
+
Verify that execution achieved the phase goal **after execution completes**.
|
|
48
|
+
|
|
49
|
+
Read:
|
|
50
|
+
- All `*-SUMMARY.md` files in the phase directory
|
|
51
|
+
- All `*-PLAN.md` files (for `must_haves`)
|
|
52
|
+
- `.planning/ROADMAP.md` — phase goal
|
|
53
|
+
- `.planning/REQUIREMENTS.md` — acceptance criteria for this phase's requirements
|
|
54
|
+
- Relevant source files referenced in summaries
|
|
55
|
+
|
|
56
|
+
Check each `must_haves` entry:
|
|
57
|
+
- **truths** — Is this behavior observable in the actual codebase? Find the code that enables it.
|
|
58
|
+
- **artifacts** — Does the file exist? Does it have the minimum lines? Does it export the named functions?
|
|
59
|
+
- **key_links** — Do the imports actually resolve? Is the function being called?
|
|
60
|
+
|
|
61
|
+
Write `[phase_dir]/[padded_phase]-VERIFICATION.md`:
|
|
62
|
+
|
|
63
|
+
```markdown
|
|
64
|
+
---
|
|
65
|
+
status: passed | human_needed | gaps_found
|
|
66
|
+
phase: [phase number]
|
|
67
|
+
verified: [date]
|
|
68
|
+
---
|
|
69
|
+
|
|
70
|
+
# Phase [X] Verification
|
|
71
|
+
|
|
72
|
+
## Summary
|
|
73
|
+
[2-3 sentences: what was verified and overall result]
|
|
74
|
+
|
|
75
|
+
## Must-Haves Check
|
|
76
|
+
|
|
77
|
+
### [Plan ID]: [Plan Name]
|
|
78
|
+
- [x] [truth 1]: [evidence — file:line or behavior description]
|
|
79
|
+
- [x] [truth 2]: [evidence]
|
|
80
|
+
- [ ] [truth 3]: MISSING — [what's absent and where to look]
|
|
81
|
+
|
|
82
|
+
## Requirements Coverage
|
|
83
|
+
|
|
84
|
+
| REQ-ID | Description | Status | Evidence |
|
|
85
|
+
|--------|-------------|--------|----------|
|
|
86
|
+
| AUTH-01 | User can log in | ✓ | src/auth/login.ts:42 |
|
|
87
|
+
| AUTH-02 | Session persists | ✗ | No session storage found |
|
|
88
|
+
|
|
89
|
+
## Human Verification Needed
|
|
90
|
+
[Items that require a running app to verify — UI interactions, flows, visual behavior]
|
|
91
|
+
|
|
92
|
+
## Gaps Found
|
|
93
|
+
[Specific gaps with file evidence — what's missing and where it should be]
|
|
94
|
+
```
|
|
95
|
+
|
|
96
|
+
**Status rules:**
|
|
97
|
+
- `passed` — all truths verified, all requirements covered
|
|
98
|
+
- `human_needed` — automated checks pass, but some items need a running app to verify
|
|
99
|
+
- `gaps_found` — one or more truths or requirements cannot be verified from the codebase
|
|
100
|
+
|
|
101
|
+
## Quality Standards
|
|
102
|
+
|
|
103
|
+
**Be specific about evidence:**
|
|
104
|
+
- "Auth token is set" → find `localStorage.setItem('token', ...)` in the code
|
|
105
|
+
- "Route is protected" → find the middleware/guard wrapping the route
|
|
106
|
+
- Don't mark something as verified without finding the specific code
|
|
107
|
+
|
|
108
|
+
**Fail clearly:**
|
|
109
|
+
- Not "auth might be missing" but "No AuthGuard found in any route definition. Expected in src/app.ts or src/routes/protected.ts"
|
|
110
|
+
|
|
111
|
+
**Don't over-check:**
|
|
112
|
+
- You are not a linter or code reviewer
|
|
113
|
+
- Don't fail plans for style issues, extra comments, or non-breaking deviations
|
|
114
|
+
- Fail only when a `must_have` is genuinely unmet
|