learnship 1.9.22 → 2.0.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 +75 -21
- package/SKILL.md +17 -0
- package/agents/learnship-challenger.md +96 -0
- package/agents/learnship-code-reviewer.md +109 -0
- package/agents/learnship-executor.md +15 -0
- package/agents/learnship-ideation-agent.md +83 -0
- package/agents/learnship-solution-writer.md +140 -0
- package/bin/install.js +100 -48
- package/commands/learnship/challenge.md +22 -0
- package/commands/learnship/compound.md +22 -0
- package/commands/learnship/guard.md +21 -0
- package/commands/learnship/ideate.md +23 -0
- package/commands/learnship/review.md +23 -0
- package/commands/learnship/ship.md +21 -0
- package/commands/learnship/sync-docs.md +21 -0
- package/cursor-rules/learnship.mdc +7 -0
- package/gemini-extension.json +2 -2
- package/learnship/agents/challenger.md +52 -0
- package/learnship/agents/code-reviewer.md +81 -0
- package/learnship/agents/executor.md +15 -0
- package/learnship/agents/ideation-agent.md +54 -0
- package/learnship/agents/plan-checker.md +95 -0
- package/learnship/agents/solution-writer.md +64 -0
- package/learnship/references/model-profiles.md +41 -33
- package/learnship/references/planning-config.md +49 -0
- package/learnship/references/solution-schema.md +159 -0
- package/learnship/templates/agents.md +6 -1
- package/learnship/workflows/challenge.md +189 -0
- package/learnship/workflows/complete-milestone.md +9 -0
- package/learnship/workflows/compound.md +305 -0
- package/learnship/workflows/debug.md +7 -0
- package/learnship/workflows/discuss-milestone.md +5 -0
- package/learnship/workflows/execute-phase.md +24 -0
- package/learnship/workflows/guard.md +164 -0
- package/learnship/workflows/help.md +14 -2
- package/learnship/workflows/ideate.md +182 -0
- package/learnship/workflows/knowledge-base.md +8 -0
- package/learnship/workflows/ls.md +7 -3
- package/learnship/workflows/milestone-retrospective.md +45 -0
- package/learnship/workflows/new-project.md +5 -3
- package/learnship/workflows/next.md +3 -2
- package/learnship/workflows/plan-phase.md +23 -0
- package/learnship/workflows/progress.md +9 -3
- package/learnship/workflows/review.md +226 -0
- package/learnship/workflows/set-profile.md +6 -6
- package/learnship/workflows/settings.md +8 -8
- package/learnship/workflows/ship.md +219 -0
- package/learnship/workflows/sync-docs.md +159 -0
- package/learnship/workflows/sync-upstream-skills.md +10 -10
- package/learnship/workflows/validate-phase.md +4 -4
- package/learnship/workflows/verify-work.md +3 -0
- package/package.json +1 -1
- package/references/model-profiles.md +41 -33
- package/templates/config.json +13 -1
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
---
|
|
2
|
-
description: Sync agentic-learning and impeccable skills from their upstream repos (FavioVazquez/agentic-
|
|
2
|
+
description: Sync agentic-learning and impeccable skills from their upstream repos (FavioVazquez/agentic-learning + pbakaus/impeccable) — run this when upstream skills have been updated
|
|
3
3
|
---
|
|
4
4
|
|
|
5
5
|
# sync-upstream-skills
|
|
@@ -33,8 +33,8 @@ If any check fails, stop and report what is missing.
|
|
|
33
33
|
Show the user what they're about to pull so there are no surprises:
|
|
34
34
|
|
|
35
35
|
```bash
|
|
36
|
-
# Latest commit on agentic-
|
|
37
|
-
git ls-remote https://github.com/FavioVazquez/agentic-
|
|
36
|
+
# Latest commit on agentic-learning main
|
|
37
|
+
git ls-remote https://github.com/FavioVazquez/agentic-learning.git HEAD | awk '{print "agentic-learning HEAD: " $1}'
|
|
38
38
|
|
|
39
39
|
# Latest commit on impeccable main
|
|
40
40
|
git ls-remote https://github.com/pbakaus/impeccable.git HEAD | awk '{print "impeccable HEAD: " $1}'
|
|
@@ -53,7 +53,7 @@ Display:
|
|
|
53
53
|
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
|
|
54
54
|
|
|
55
55
|
Will pull from:
|
|
56
|
-
agentic-
|
|
56
|
+
agentic-learning → github.com/FavioVazquez/agentic-learning (main)
|
|
57
57
|
impeccable → github.com/pbakaus/impeccable (main)
|
|
58
58
|
|
|
59
59
|
Files updated:
|
|
@@ -75,11 +75,11 @@ Wait for confirmation.
|
|
|
75
75
|
|
|
76
76
|
```bash
|
|
77
77
|
TMPDIR=$(mktemp -d)
|
|
78
|
-
AGENTIC_LEARN_TMP="$TMPDIR/agentic-
|
|
78
|
+
AGENTIC_LEARN_TMP="$TMPDIR/agentic-learning"
|
|
79
79
|
IMPECCABLE_TMP="$TMPDIR/impeccable"
|
|
80
80
|
|
|
81
|
-
echo "Cloning agentic-
|
|
82
|
-
git clone --depth 1 https://github.com/FavioVazquez/agentic-
|
|
81
|
+
echo "Cloning agentic-learning..."
|
|
82
|
+
git clone --depth 1 https://github.com/FavioVazquez/agentic-learning.git "$AGENTIC_LEARN_TMP"
|
|
83
83
|
|
|
84
84
|
echo "Cloning impeccable..."
|
|
85
85
|
git clone --depth 1 https://github.com/pbakaus/impeccable.git "$IMPECCABLE_TMP"
|
|
@@ -223,7 +223,7 @@ node bin/install.js --all
|
|
|
223
223
|
|
|
224
224
|
This ensures:
|
|
225
225
|
- **Windsurf** — skills already live in `.windsurf/skills/` (updated in place above)
|
|
226
|
-
- **Claude Code** — `~/.claude/
|
|
226
|
+
- **Claude Code** — `~/.claude/skills/` rebuilt with updated skill content + rewritten `references/` paths
|
|
227
227
|
- **OpenCode / Gemini CLI / Codex** — `learnship/skills/` context files updated
|
|
228
228
|
|
|
229
229
|
---
|
|
@@ -247,7 +247,7 @@ Display summary:
|
|
|
247
247
|
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
|
|
248
248
|
|
|
249
249
|
agentic-learning:
|
|
250
|
-
SKILL.md ✓ synced from FavioVazquez/agentic-
|
|
250
|
+
SKILL.md ✓ synced from FavioVazquez/agentic-learning
|
|
251
251
|
references/ ✓ synced ([N] files)
|
|
252
252
|
|
|
253
253
|
impeccable:
|
|
@@ -256,7 +256,7 @@ impeccable:
|
|
|
256
256
|
|
|
257
257
|
All platforms updated (installer re-run):
|
|
258
258
|
Windsurf ✓ skills updated in place
|
|
259
|
-
Claude Code ✓
|
|
259
|
+
Claude Code ✓ ~/.claude/skills/ rebuilt
|
|
260
260
|
Other platforms ✓ learnship/skills/ context files updated
|
|
261
261
|
|
|
262
262
|
Backup saved at: .windsurf/skills/.upstream-backup-<timestamp>/
|
|
@@ -14,10 +14,10 @@ Retroactively audit and fill test coverage gaps for a completed phase. Useful af
|
|
|
14
14
|
|
|
15
15
|
Read `.planning/config.json`:
|
|
16
16
|
```bash
|
|
17
|
-
cat .planning/config.json | grep "
|
|
17
|
+
cat .planning/config.json | grep "validation"
|
|
18
18
|
```
|
|
19
19
|
|
|
20
|
-
If `
|
|
20
|
+
If `validation: false`: stop — "Validation is disabled. Enable it in `/settings` to use this workflow."
|
|
21
21
|
|
|
22
22
|
## Step 2: Validate Phase
|
|
23
23
|
|
|
@@ -76,7 +76,7 @@ For each requirement ID assigned to this phase:
|
|
|
76
76
|
- **PARTIAL** — test exists but incomplete or failing
|
|
77
77
|
- **MISSING** — no test found
|
|
78
78
|
|
|
79
|
-
If no gaps (all COVERED): proceed directly to step 8 with `
|
|
79
|
+
If no gaps (all COVERED): proceed directly to step 8 with `compliant: true`.
|
|
80
80
|
|
|
81
81
|
## Step 7: Present Gap Plan and Fill
|
|
82
82
|
|
|
@@ -118,7 +118,7 @@ Write `$PHASE_DIR/[padded_phase]-VALIDATION.md`:
|
|
|
118
118
|
|
|
119
119
|
```markdown
|
|
120
120
|
---
|
|
121
|
-
|
|
121
|
+
compliant: true | false
|
|
122
122
|
wave_0_complete: true | false
|
|
123
123
|
phase: [N]
|
|
124
124
|
validated: [date]
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "learnship",
|
|
3
|
-
"version": "
|
|
3
|
+
"version": "2.0.0",
|
|
4
4
|
"description": "Learn as you build. Build with intent. — A multi-platform agentic engineering system for Windsurf, Claude Code, Cursor, OpenCode, Gemini CLI, and Codex: spec-driven workflows, integrated learning, and production-grade design.",
|
|
5
5
|
"keywords": [
|
|
6
6
|
"agentic",
|
|
@@ -1,40 +1,49 @@
|
|
|
1
1
|
# Model Profiles
|
|
2
2
|
|
|
3
|
-
Model profiles control which AI model each learnship agent uses.
|
|
3
|
+
Model profiles control which AI model tier each learnship agent uses. Profiles are platform-agnostic — they use three tiers (`large`, `medium`, `small`) that map to specific models depending on your platform.
|
|
4
4
|
|
|
5
5
|
## Profile Definitions
|
|
6
6
|
|
|
7
7
|
| Agent | `quality` | `balanced` | `budget` |
|
|
8
8
|
|-------|-----------|------------|----------|
|
|
9
|
-
| planner |
|
|
10
|
-
|
|
|
11
|
-
|
|
|
12
|
-
|
|
|
13
|
-
|
|
|
14
|
-
|
|
|
15
|
-
|
|
|
16
|
-
|
|
|
17
|
-
|
|
|
18
|
-
|
|
|
19
|
-
|
|
20
|
-
|
|
9
|
+
| planner | large | large | medium |
|
|
10
|
+
| executor | large | medium | medium |
|
|
11
|
+
| phase-researcher | large | medium | small |
|
|
12
|
+
| debugger | large | medium | medium |
|
|
13
|
+
| verifier | medium | medium | small |
|
|
14
|
+
| plan-checker | medium | medium | small |
|
|
15
|
+
| solution-writer | medium | medium | small |
|
|
16
|
+
| code-reviewer | large | medium | medium |
|
|
17
|
+
| challenger | large | medium | medium |
|
|
18
|
+
| ideation-agent | large | medium | small |
|
|
19
|
+
|
|
20
|
+
## Platform Model Resolution
|
|
21
|
+
|
|
22
|
+
Each tier resolves to the best available model on your platform:
|
|
23
|
+
|
|
24
|
+
| Tier | Anthropic (Claude Code) | Google (Gemini CLI) | OpenAI (Codex CLI) | Windsurf / Cursor / OpenCode |
|
|
25
|
+
|------|------------------------|--------------------|--------------------|-----------------------------|
|
|
26
|
+
| `large` | Claude Opus 4.6 | Gemini 3.1 Pro | GPT-5.4 | Uses platform default (best available) |
|
|
27
|
+
| `medium` | Claude Sonnet 4.6 | Gemini 3.1 Flash | GPT-5.4-mini | Uses platform default |
|
|
28
|
+
| `small` | Claude Haiku 4.5 | Gemini 3.1 Flash-Lite | GPT-5.4-nano | Uses platform default |
|
|
29
|
+
|
|
30
|
+
> **Note:** Windsurf, Cursor, and OpenCode do not expose per-agent model selection. The profile tiers are still useful — they signal the *intended complexity* of each agent's task, and workflows will adapt their prompting strategy accordingly (e.g., more explicit instructions for `small`-tier agents).
|
|
21
31
|
|
|
22
32
|
## Profile Philosophy
|
|
23
33
|
|
|
24
|
-
**quality**
|
|
25
|
-
-
|
|
26
|
-
-
|
|
34
|
+
**quality** — Maximum reasoning power
|
|
35
|
+
- `large` for all decision-making agents (planner, researcher, reviewer, challenger)
|
|
36
|
+
- `medium` for verification (needs reasoning, not just pattern matching)
|
|
27
37
|
- Use when: quota available, critical architecture work
|
|
28
38
|
|
|
29
|
-
**balanced** (default)
|
|
30
|
-
-
|
|
31
|
-
-
|
|
32
|
-
- Sonnet for verification (needs reasoning, not just pattern matching)
|
|
39
|
+
**balanced** (default) — Smart allocation
|
|
40
|
+
- `large` only for planning (where architecture decisions happen)
|
|
41
|
+
- `medium` for execution, research, and verification
|
|
33
42
|
- Use when: normal development, good balance of quality and cost
|
|
34
43
|
|
|
35
|
-
**budget**
|
|
36
|
-
-
|
|
37
|
-
-
|
|
44
|
+
**budget** — Minimal large-model usage
|
|
45
|
+
- `medium` for anything that writes code
|
|
46
|
+
- `small` for research and verification
|
|
38
47
|
- Use when: conserving quota, high-volume work, less critical phases
|
|
39
48
|
|
|
40
49
|
## Resolution Logic
|
|
@@ -45,7 +54,8 @@ Resolution order:
|
|
|
45
54
|
1. Read .planning/config.json
|
|
46
55
|
2. Check model_overrides for agent-specific override
|
|
47
56
|
3. If no override, look up agent in profile table
|
|
48
|
-
4.
|
|
57
|
+
4. Map the tier (large/medium/small) to the platform's actual model
|
|
58
|
+
5. Apply the resolved model when adopting the agent persona
|
|
49
59
|
```
|
|
50
60
|
|
|
51
61
|
## Per-Agent Overrides
|
|
@@ -56,13 +66,13 @@ Override specific agents without changing the entire profile:
|
|
|
56
66
|
{
|
|
57
67
|
"model_profile": "balanced",
|
|
58
68
|
"model_overrides": {
|
|
59
|
-
"executor": "
|
|
60
|
-
"planner": "
|
|
69
|
+
"executor": "large",
|
|
70
|
+
"planner": "small"
|
|
61
71
|
}
|
|
62
72
|
}
|
|
63
73
|
```
|
|
64
74
|
|
|
65
|
-
Overrides take precedence over the profile. Valid values: `
|
|
75
|
+
Overrides take precedence over the profile. Valid values: `large`, `medium`, `small`.
|
|
66
76
|
|
|
67
77
|
## Switching Profiles
|
|
68
78
|
|
|
@@ -77,14 +87,12 @@ Per-project default: Set in `.planning/config.json`:
|
|
|
77
87
|
|
|
78
88
|
## Design Rationale
|
|
79
89
|
|
|
80
|
-
**Why
|
|
90
|
+
**Why `large` for the planner?**
|
|
81
91
|
Planning involves architecture decisions, goal decomposition, and task design. This is where model quality has the highest impact.
|
|
82
92
|
|
|
83
|
-
**Why
|
|
93
|
+
**Why `medium` for the executor?**
|
|
84
94
|
Executors follow explicit PLAN.md instructions. The plan already contains the reasoning; execution is implementation.
|
|
85
95
|
|
|
86
|
-
**Why
|
|
87
|
-
Verification requires goal-backward reasoning — checking if code *delivers* what the phase promised, not just pattern matching.
|
|
96
|
+
**Why `medium` (not `small`) for verifiers in balanced?**
|
|
97
|
+
Verification requires goal-backward reasoning — checking if code *delivers* what the phase promised, not just pattern matching. Medium-tier models handle this well; small-tier models may miss subtle gaps.
|
|
88
98
|
|
|
89
|
-
**Why Haiku for the codebase-mapper?**
|
|
90
|
-
Read-only exploration and pattern extraction. No reasoning required, just structured output from file contents.
|
package/templates/config.json
CHANGED
|
@@ -3,6 +3,8 @@
|
|
|
3
3
|
"granularity": "standard",
|
|
4
4
|
"model_profile": "balanced",
|
|
5
5
|
"learning_mode": "auto",
|
|
6
|
+
"parallelization": false,
|
|
7
|
+
"test_first": false,
|
|
6
8
|
"planning": {
|
|
7
9
|
"commit_docs": true,
|
|
8
10
|
"commit_mode": "auto",
|
|
@@ -12,7 +14,17 @@
|
|
|
12
14
|
"research": true,
|
|
13
15
|
"plan_check": true,
|
|
14
16
|
"verifier": true,
|
|
15
|
-
"
|
|
17
|
+
"validation": true,
|
|
18
|
+
"review": true,
|
|
19
|
+
"solutions_search": true
|
|
20
|
+
},
|
|
21
|
+
"review": {
|
|
22
|
+
"auto_after_verify": false
|
|
23
|
+
},
|
|
24
|
+
"ship": {
|
|
25
|
+
"auto_test": true,
|
|
26
|
+
"conventional_commits": true,
|
|
27
|
+
"pr_template": true
|
|
16
28
|
},
|
|
17
29
|
"git": {
|
|
18
30
|
"branching_strategy": "none",
|