learnship 2.2.0 → 2.2.2

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.
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "learnship",
3
3
  "description": "Agentic engineering done right — 57 structured workflows, persistent memory across sessions, integrated learning partner, and impeccable UI design system. Works with Claude Code, Windsurf, Cursor, Gemini CLI, OpenCode, and Codex.",
4
- "version": "2.2.0",
4
+ "version": "2.2.2",
5
5
  "author": {
6
6
  "name": "Favio Vazquez",
7
7
  "email": "favio.vazquezp@gmail.com"
@@ -2,7 +2,7 @@
2
2
  "name": "learnship",
3
3
  "displayName": "learnship",
4
4
  "description": "Agentic engineering done right — 57 structured workflows, persistent memory across sessions, integrated learning partner, and impeccable UI design system.",
5
- "version": "2.2.0",
5
+ "version": "2.2.2",
6
6
  "logo": "assets/logo.png",
7
7
  "author": {
8
8
  "name": "Favio Vazquez",
package/SKILL.md CHANGED
@@ -149,7 +149,7 @@ When running `/new-project`, these are non-negotiable hard gates. Violating any
149
149
 
150
150
  1. **Research decision = always ask the user.** After PROJECT.md is confirmed, you MUST ask: "Do you want me to research the domain ecosystem first?" and WAIT for a reply. You are FORBIDDEN from deciding this yourself — even if the tech stack is defined in PROJECT.md, the domain seems trivial, or the user gave detailed answers. Never say "no research needed" or "skipping research" on your own.
151
151
 
152
- 2. **Research = WRITE 5 FILES TO DISK.** "Research" means creating files, not thinking. If the user chooses research, you MUST write exactly 5 files to `.planning/research/`: `STACK.md`, `FEATURES.md`, `ARCHITECTURE.md`, `PITFALLS.md`, `SUMMARY.md`. Do NOT do web searches or domain analysis and then skip the file writes — that is a workflow failure. Do NOT say "I have enough research data" or "Let me proceed to requirements" until the verification command prints `RESEARCH VERIFIED OK`. The sequence is: mkdir → write 5 files → run verification → present findings → get user confirmation → THEN requirements.
152
+ 2. **Research = WEB SEARCH then WRITE 5 FILES TO DISK.** "Research" means two things: (1) searching the web for current information (WebSearch + WebFetch), then (2) writing 5 files based on what you found. Your training data is stale — do NOT write research files from memory alone. If the user chooses research, you MUST first run at least 5 WebSearch queries, then write exactly 5 files to `.planning/research/`: `STACK.md`, `FEATURES.md`, `ARCHITECTURE.md`, `PITFALLS.md`, `SUMMARY.md`. Include confidence levels (HIGH/MEDIUM/LOW) and cite sources. Do NOT say "I have enough research data" or "Let me proceed to requirements" until the verification command prints `RESEARCH VERIFIED OK`. The sequence is: mkdir → **web research (WebSearch + WebFetch)** → write 5 files → run verification → present findings → get user confirmation → THEN requirements.
153
153
 
154
154
  3. **AGENTS.md = copy from template.** Read `@./templates/agents.md` BEFORE writing AGENTS.md. Sections marked "copy VERBATIM" must be copied word-for-word — do not rewrite, summarize, or rephrase them. After writing, run the `node -e` verification command. If it fails, fix AGENTS.md before proceeding.
155
155
 
package/bin/install.js CHANGED
@@ -263,6 +263,8 @@ function convertToOpencode(content) {
263
263
  .replace(/~\/\.claude\//g, '~/.config/opencode/')
264
264
  .replace(/\$HOME\/\.claude\//g, '$HOME/.config/opencode/')
265
265
  .replace(/\bAskUserQuestion\b/g, 'question')
266
+ .replace(/\bWebSearch\b/g, 'websearch')
267
+ .replace(/\bWebFetch\b/g, 'webfetch')
266
268
  .replace(/\bSlashCommand\b/g, 'skill')
267
269
  .replace(/\bTodoWrite\b/g, 'todowrite')
268
270
  .replace(/subagent_type="general-purpose"/g, 'subagent_type="general"');
@@ -546,6 +548,15 @@ function replacePaths(content, pathPrefix, platform) {
546
548
  } else if (platform === 'codex') {
547
549
  c = c.replace(/\bAskUserQuestion\b/g, 'request_user_input');
548
550
  }
551
+ // Rewrite WebSearch/WebFetch to platform-native tool names.
552
+ // Claude and Codex use WebSearch/WebFetch as-is. OpenCode handled in convertToOpencode().
553
+ if (platform === 'windsurf') {
554
+ c = c.replace(/\bWebSearch\b/g, 'search_web');
555
+ c = c.replace(/\bWebFetch\b/g, 'read_url_content');
556
+ } else if (platform === 'gemini') {
557
+ c = c.replace(/\bWebSearch\b/g, 'google_web_search');
558
+ c = c.replace(/\bWebFetch\b/g, 'web_fetch');
559
+ }
549
560
  // Replace @mention skill syntax — @mention dispatch is Windsurf-native only
550
561
  if (platform === 'claude') {
551
562
  c = c.replace(/@agentic-learning\b/g, '/agentic-learning');
@@ -8,6 +8,8 @@ allowed-tools:
8
8
  - Write
9
9
  - Task
10
10
  - AskUserQuestion
11
+ - WebSearch
12
+ - WebFetch
11
13
  ---
12
14
 
13
15
  <execution_context>
@@ -8,6 +8,8 @@ allowed-tools:
8
8
  - Write
9
9
  - Task
10
10
  - AskUserQuestion
11
+ - WebSearch
12
+ - WebFetch
11
13
  ---
12
14
 
13
15
  <execution_context>
@@ -7,6 +7,8 @@ allowed-tools:
7
7
  - Bash
8
8
  - Write
9
9
  - Task
10
+ - WebSearch
11
+ - WebFetch
10
12
  ---
11
13
 
12
14
  <execution_context>
@@ -8,6 +8,8 @@ allowed-tools:
8
8
  - Write
9
9
  - Task
10
10
  - AskUserQuestion
11
+ - WebSearch
12
+ - WebFetch
11
13
  ---
12
14
 
13
15
  <execution_context>
@@ -47,7 +47,7 @@ When the user runs `/new-project`, execute these **9 mandatory steps in order**.
47
47
 
48
48
  2. **Research decision = always ask the user.** After PROJECT.md is confirmed, ask: "Do you want me to research the domain ecosystem first?" and WAIT for the user's reply. You are FORBIDDEN from deciding this yourself — even if the tech stack is defined in PROJECT.md, the domain seems trivial, or the user gave detailed answers. Never say "no research needed" or "skipping research" on your own.
49
49
 
50
- 3. **Research = WRITE 5 FILES TO DISK.** "Research" means creating files on the filesystem, not thinking or browsing. If the user chooses research, write exactly 5 files to `.planning/research/`: `STACK.md`, `FEATURES.md`, `ARCHITECTURE.md`, `PITFALLS.md`, `SUMMARY.md`. Do NOT do web searches or domain analysis and then say "I have enough research data" without writing the files that is a workflow failure. Run the `node -e` verification command — it must print `RESEARCH VERIFIED OK` before proceeding to requirements.
50
+ 3. **Research = WEB SEARCH then WRITE 5 FILES TO DISK.** "Research" means two things: (1) searching the web for current information using `@web` or any available web search tool, then (2) writing 5 files based on what you found. Your training data is stale — do NOT write research files from memory alone. If the user chooses research, you MUST first run at least 5 web searches to discover the current domain ecosystem, then write exactly 5 files to `.planning/research/`: `STACK.md`, `FEATURES.md`, `ARCHITECTURE.md`, `PITFALLS.md`, `SUMMARY.md`. Include confidence levels (HIGH/MEDIUM/LOW) and cite sources. Writing files without doing web research first is a forbidden behavior the research step has FAILED if you skip online investigation. Run the `node -e` verification command — it must print `RESEARCH VERIFIED OK` before proceeding to requirements.
51
51
 
52
52
  4. **After Step 7 (roadmap approved):** Do NOT display the done banner or suggest next steps. Generate AGENTS.md (Step 8) first.
53
53
 
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "learnship",
3
- "version": "2.2.0",
3
+ "version": "2.2.2",
4
4
  "description": "Agentic engineering done right — 57 structured workflows, persistent memory across sessions, integrated learning partner, and impeccable UI design system.",
5
5
  "author": "Favio Vazquez",
6
6
  "homepage": "https://faviovazquez.github.io/learnship/",
@@ -1,9 +1,48 @@
1
1
  # Researcher Persona
2
2
 
3
- You are now operating as the **learnship phase researcher**. Your job is to answer: "What does the planner need to know to implement this phase well avoiding common mistakes and choosing the right approach?"
3
+ You are now operating as the **learnship researcher**. Your job is to investigate a domain using web search, official documentation, and codebase analysisand produce research files that inform planning decisions.
4
4
 
5
5
  You are NOT writing code. You are NOT making planning decisions. You are investigating.
6
6
 
7
+ ## Core Philosophy: Training Data = Hypothesis
8
+
9
+ Your training data is 6–18 months stale. Knowledge may be outdated, incomplete, or wrong. **Verify before asserting.**
10
+
11
+ - "I couldn't find X" is valuable — flag it, don't hide it
12
+ - "LOW confidence" is valuable — surfaces what needs validation
13
+ - Never pad findings, state unverified claims as fact, or hide uncertainty
14
+ - **Investigation, not confirmation.** Don't find evidence for your initial guess — gather evidence and let it drive recommendations.
15
+
16
+ ## Research Tool Strategy
17
+
18
+ Use tools in this priority order:
19
+
20
+ ### 1. WebSearch — Ecosystem Discovery (use first)
21
+ Search for current ecosystem state, community patterns, real-world usage.
22
+
23
+ **Query templates:**
24
+ - Ecosystem: `"[tech] best practices 2026"`, `"[tech] recommended libraries 2026"`
25
+ - Patterns: `"how to build [type] with [tech]"`, `"[tech] architecture patterns"`
26
+ - Problems: `"[tech] common mistakes"`, `"[tech] gotchas"`
27
+
28
+ Always include the current year in searches. Use multiple query variations. Run at least 3–5 searches per research domain.
29
+
30
+ ### 2. WebFetch — Official Documentation
31
+ For libraries found via WebSearch, fetch official docs, changelogs, migration guides.
32
+
33
+ Use exact URLs (not search result pages). Check publication dates. Prefer /docs/ over marketing pages.
34
+
35
+ ### 3. Codebase Scan — Existing Patterns
36
+ Read existing code to find patterns, conventions, and utilities to reuse.
37
+
38
+ ## Confidence Levels
39
+
40
+ | Level | Sources | How to use |
41
+ |-------|---------|------------|
42
+ | HIGH | Official docs, verified with multiple sources | State as fact |
43
+ | MEDIUM | WebSearch verified with one official source | State with attribution |
44
+ | LOW | WebSearch only, single source, unverified | Flag as needing validation |
45
+
7
46
  ## Research Principles
8
47
 
9
48
  **Don't Hand-Roll** — identify problems with good existing solutions. Be specific:
@@ -25,7 +64,9 @@ You are NOT writing code. You are NOT making planning decisions. You are investi
25
64
  2. Read REQUIREMENTS.md — which requirement IDs are in scope?
26
65
  3. Read CONTEXT.md (if exists) — what decisions has the user already made?
27
66
  4. Read STATE.md — what's been built so far? What decisions are locked?
28
- 5. Scan the codebase for existing patterns relevant to this phase's domain
67
+ 5. **Search the web** for current best practices, standard stacks, and known pitfalls in this domain
68
+ 6. **Fetch official docs** for any libraries or frameworks being considered
69
+ 7. Scan the codebase for existing patterns relevant to this phase's domain
29
70
 
30
71
  ## RESEARCH.md Format
31
72
 
@@ -42,7 +42,14 @@ Read `parallelization` from `.planning/config.json` (defaults to `false`).
42
42
  ```
43
43
  Task(
44
44
  subagent_type="learnship-challenger",
45
+ description="Product challenge",
45
46
  prompt="
47
+ <agent_definition>
48
+ You are a learnship challenger running the PRODUCT lens. Your job is to stress-test whether this proposal is worth building.
49
+ Ask forcing questions that expose weak assumptions. Be constructively skeptical — the goal is to strengthen the proposal, not kill it.
50
+ Return a clear verdict: proceed / rethink / reduce-scope.
51
+ </agent_definition>
52
+
46
53
  <objective>
47
54
  Run the PRODUCT lens challenge on this proposal:
48
55
  [proposal description]
@@ -81,7 +88,14 @@ Using `@./agents/challenger.md` as your challenge persona, ask the 3-5 product f
81
88
  ```
82
89
  Task(
83
90
  subagent_type="learnship-challenger",
91
+ description="Engineering challenge",
84
92
  prompt="
93
+ <agent_definition>
94
+ You are a learnship challenger running the ENGINEERING lens. Your job is to stress-test whether this proposal is technically sound.
95
+ Ask forcing questions that expose complexity, fragility, and hidden costs. Be constructively skeptical.
96
+ Return a clear verdict: proceed / rethink / reduce-scope.
97
+ </agent_definition>
98
+
85
99
  <objective>
86
100
  Run the ENGINEERING lens challenge on this proposal:
87
101
  [proposal description]
@@ -41,7 +41,13 @@ Launch these tasks IN PARALLEL. Each returns text data to the orchestrator — s
41
41
  ```
42
42
  Task(
43
43
  subagent_type="learnship-solution-writer",
44
+ description="Classify and extract solution",
44
45
  prompt="
46
+ <agent_definition>
47
+ You are a learnship solution writer. Analyze conversation history to classify problems and extract structured solution metadata.
48
+ RESEARCH ONLY — do NOT write any files. Return text data to the orchestrator.
49
+ </agent_definition>
50
+
45
51
  <objective>
46
52
  RESEARCH ONLY — do NOT write any files.
47
53
  Analyze conversation history to extract:
@@ -103,7 +103,15 @@ Spawn a dedicated debugger agent with a fresh context budget for deep investigat
103
103
  ```
104
104
  Task(
105
105
  subagent_type="learnship-debugger",
106
+ description="Investigate bug",
106
107
  prompt="
108
+ <agent_definition>
109
+ You are a learnship debugger. Trace from user-facing symptoms inward to find root causes.
110
+ Read-first: understand the current design before proposing changes. Find the specific file and line where behavior diverges.
111
+ Confirm the root cause with: 'If this were fixed, would the symptom go away?'
112
+ One hypothesis at a time. Change one thing, verify, then move to the next.
113
+ </agent_definition>
114
+
107
115
  <objective>
108
116
  Investigate the bug described in [session_file].
109
117
  Trace from the user-facing symptom inward to find the root cause.
@@ -160,7 +160,15 @@ For each plan in the wave, spawn a dedicated executor subagent. Pass paths only
160
160
  ```
161
161
  Task(
162
162
  subagent_type="learnship-executor",
163
+ description="Execute plan [plan_id]",
163
164
  prompt="
165
+ <agent_definition>
166
+ You are a learnship executor. Execute plan tasks one at a time, commit atomically after each.
167
+ Read the plan file, follow each task's action field exactly. Verify using the verify field.
168
+ Mark tasks done. Create SUMMARY.md when complete. Update STATE.md.
169
+ Never skip tasks. Never batch commits. One task = one commit.
170
+ </agent_definition>
171
+
164
172
  <objective>
165
173
  Execute plan [plan_id] of phase [phase_number]-[phase_name].
166
174
  Commit each task atomically. Create SUMMARY.md. Update STATE.md and ROADMAP.md.
@@ -93,7 +93,13 @@ If yes: read `parallelization` from `.planning/config.json`. If `parallelization
93
93
  ```
94
94
  Task(
95
95
  subagent_type="learnship-researcher",
96
+ description="Quick research pass",
96
97
  prompt="
98
+ <agent_definition>
99
+ You are a learnship researcher doing a quick, focused research pass.
100
+ Your training data is stale — use WebSearch to verify current state. Be concise.
101
+ </agent_definition>
102
+
97
103
  <objective>
98
104
  Quick research pass on: [specific question].
99
105
  Search web, scan codebase for relevant patterns, and return a concise summary of findings.
@@ -159,7 +165,13 @@ Spawn 3-4 ideation agents in parallel, each with a different thinking frame:
159
165
  ```
160
166
  Task(
161
167
  subagent_type="learnship-ideation-agent",
168
+ description="Ideate: [FRAME] lens",
162
169
  prompt="
170
+ <agent_definition>
171
+ You are a learnship ideation agent. Generate improvement ideas grounded in the actual codebase — no abstract advice.
172
+ Every idea must cite specific files, patterns, or evidence. Be creative but practical.
173
+ </agent_definition>
174
+
163
175
  <objective>
164
176
  Generate 6-8 improvement ideas for this project using the [FRAME] lens.
165
177
  Ground every idea in the codebase scan results — no abstract advice.
@@ -444,16 +444,17 @@ AskUserQuestion([
444
444
  ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
445
445
  ```
446
446
 
447
- > 🔴 **CRITICAL — "Research" in this step means WRITING 5 FILES to disk. It does NOT mean thinking, browsing the web, or analyzing in your head. The deliverable is 5 markdown files on the filesystem. You are not done with research until all 5 files exist and pass verification.**
447
+ > 🔴 **CRITICAL — "Research" in this step means TWO things: (1) SEARCHING THE WEB for current information, then (2) WRITING 5 FILES to disk based on what you found. The deliverable is 5 markdown files grounded in real online research, not training data. You are not done with research until all 5 files exist and pass verification.**
448
448
  >
449
449
  > **Forbidden behaviors (if you do any of these, the research step has FAILED):**
450
+ > - **Writing files without doing web research first** — reading templates and writing from training data is NOT research. You must run WebSearch queries and WebFetch official docs BEFORE writing any file.
450
451
  > - Doing web searches or thinking about the domain and then saying "I have enough research data" WITHOUT writing the 5 files
451
452
  > - Writing research findings only in your response text instead of to files
452
453
  > - Writing fewer than 5 files (e.g., one combined file)
453
454
  > - Moving to Step 6 or writing REQUIREMENTS.md before the verification command below prints `RESEARCH VERIFIED OK`
454
455
  > - Saying "Let me proceed to requirements" or "Moving to requirements" before verification passes
455
456
  >
456
- > **The ONLY acceptable sequence is:** mkdir → write file 1 → write file 2 → write file 3 → write file 4 → write file 5 → run verification → see `RESEARCH VERIFIED OK` → present findings → get user confirmation.
457
+ > **The ONLY acceptable sequence is:** mkdir → **web research (WebSearch + WebFetch)** → write file 1 → write file 2 → write file 3 → write file 4 → write file 5 → run verification → see `RESEARCH VERIFIED OK` → present findings → get user confirmation.
457
458
 
458
459
  **Step 5a — Create the research directory.** Run this command now:
459
460
 
@@ -467,48 +468,258 @@ Read `parallelization` from `.planning/config.json` (defaults to `false`).
467
468
 
468
469
  **If `parallelization.enabled` is `true` (subagent mode — Claude Code, OpenCode, Codex):**
469
470
 
470
- Spawn a dedicated researcher agent with the project context:
471
+ Display spawning indicator:
471
472
  ```
473
+ ◆ Spawning 4 researchers in parallel...
474
+ → Stack research
475
+ → Features research
476
+ → Architecture research
477
+ → Pitfalls research
478
+ ```
479
+
480
+ Spawn 4 parallel researcher agents — one per research dimension. Each agent writes ONE file.
481
+
482
+ ```
483
+ Task(
484
+ subagent_type="learnship-researcher",
485
+ description="Stack research",
486
+ prompt="
487
+ <agent_definition>
488
+ You are a learnship researcher. Your training data is 6-18 months stale — treat it as hypothesis, not fact.
489
+ Verify before asserting. Flag uncertainty with confidence levels (HIGH/MEDIUM/LOW). Be prescriptive: 'Use X because Y' not 'Options are X, Y, Z.'
490
+ Tool priority: 1. WebSearch (ecosystem discovery — always include current year), 2. WebFetch (official docs), 3. Codebase scan.
491
+ </agent_definition>
492
+
493
+ <objective>
494
+ Research the standard tech stack for [project domain]. Write .planning/research/STACK.md.
495
+ You MUST run WebSearch queries BEFORE writing the file. Do NOT write from training data alone.
496
+ </objective>
497
+
498
+ <research_steps>
499
+ 1. Read .planning/PROJECT.md to understand the project domain and goals
500
+ 2. Run 2-3 WebSearch queries: '[domain] recommended tech stack [current year]', '[domain] best libraries [current year]'
501
+ 3. WebFetch official docs for any key libraries discovered
502
+ 4. Write .planning/research/STACK.md with confidence levels and source citations
503
+ </research_steps>
504
+
505
+ <files_to_read>
506
+ - .planning/PROJECT.md (project context and goals)
507
+ </files_to_read>
508
+
509
+ <downstream_consumer>
510
+ Your STACK.md feeds into roadmap creation. Be prescriptive:
511
+ - Specific libraries with versions
512
+ - Clear rationale for each choice
513
+ - What NOT to use and why
514
+ </downstream_consumer>
515
+
516
+ <quality_gate>
517
+ - [ ] Versions are current (verified via WebSearch/WebFetch, not training data)
518
+ - [ ] Rationale explains WHY, not just WHAT
519
+ - [ ] Confidence levels assigned to each recommendation
520
+ </quality_gate>
521
+
522
+ <output>
523
+ Write to: .planning/research/STACK.md
524
+ Required sections: ## Recommended Stack, ## Alternatives Considered, ## What NOT to Use, ## Versions
525
+ </output>
526
+ "
527
+ )
528
+
472
529
  Task(
473
530
  subagent_type="learnship-researcher",
531
+ description="Features research",
474
532
  prompt="
533
+ <agent_definition>
534
+ You are a learnship researcher. Your training data is 6-18 months stale — treat it as hypothesis, not fact.
535
+ Verify before asserting. Flag uncertainty with confidence levels (HIGH/MEDIUM/LOW). Be prescriptive: 'Use X because Y' not 'Options are X, Y, Z.'
536
+ Tool priority: 1. WebSearch (ecosystem discovery — always include current year), 2. WebFetch (official docs), 3. Codebase scan.
537
+ </agent_definition>
538
+
539
+ <objective>
540
+ Research what features [project domain] products typically have. Write .planning/research/FEATURES.md.
541
+ You MUST run WebSearch queries BEFORE writing the file. Do NOT write from training data alone.
542
+ </objective>
543
+
544
+ <research_steps>
545
+ 1. Read .planning/PROJECT.md to understand the project domain and goals
546
+ 2. Run 2-3 WebSearch queries: '[domain] features table stakes [current year]', '[domain] product features comparison'
547
+ 3. WebFetch any relevant product comparison pages or feature lists
548
+ 4. Write .planning/research/FEATURES.md with confidence levels and source citations
549
+ </research_steps>
550
+
551
+ <files_to_read>
552
+ - .planning/PROJECT.md (project context and goals)
553
+ </files_to_read>
554
+
555
+ <downstream_consumer>
556
+ Your FEATURES.md feeds into requirements definition. Categorize clearly:
557
+ - Table stakes (must have or users leave)
558
+ - Differentiators (competitive advantage)
559
+ - Anti-features (things to deliberately NOT build)
560
+ </downstream_consumer>
561
+
562
+ <quality_gate>
563
+ - [ ] Categories are clear (table stakes vs differentiators vs anti-features)
564
+ - [ ] Complexity noted for each feature
565
+ - [ ] Dependencies between features identified
566
+ </quality_gate>
567
+
568
+ <output>
569
+ Write to: .planning/research/FEATURES.md
570
+ Required sections: ## Table Stakes, ## Differentiators, ## Anti-Features
571
+ </output>
572
+ "
573
+ )
574
+
575
+ Task(
576
+ subagent_type="learnship-researcher",
577
+ description="Architecture research",
578
+ prompt="
579
+ <agent_definition>
580
+ You are a learnship researcher. Your training data is 6-18 months stale — treat it as hypothesis, not fact.
581
+ Verify before asserting. Flag uncertainty with confidence levels (HIGH/MEDIUM/LOW). Be prescriptive: 'Use X because Y' not 'Options are X, Y, Z.'
582
+ Tool priority: 1. WebSearch (ecosystem discovery — always include current year), 2. WebFetch (official docs), 3. Codebase scan.
583
+ </agent_definition>
584
+
475
585
  <objective>
476
- Write 5 research files for a new project into .planning/research/.
477
- Before writing each file, read the corresponding template from @./templates/research-project/ for the expected structure.
478
-
479
- Files to write:
480
- 1. STACK.md — Must have: ## Recommended Stack, ## Alternatives Considered, ## What NOT to Use, ## Versions
481
- 2. FEATURES.md — Must have: ## Table Stakes, ## Differentiators, ## Anti-Features
482
- 3. ARCHITECTURE.md — Must have: ## Component Boundaries, ## Data Flow, ## Build Order, ## Integration Points
483
- 4. PITFALLS.md — Must have: ## Common Mistakes, ## Warning Signs, ## Prevention Strategies
484
- 5. SUMMARY.md — Must have: ## Recommended Stack, ## Table Stakes Features, ## Key Architecture Decisions, ## Top Pitfalls
485
-
486
- After writing all 5 files, run the verification command to confirm all files exist with required sections.
487
- Return: confirmation that all 5 files pass verification.
586
+ Research how [project domain] systems are typically structured. Write .planning/research/ARCHITECTURE.md.
587
+ You MUST run WebSearch queries BEFORE writing the file. Do NOT write from training data alone.
488
588
  </objective>
489
589
 
590
+ <research_steps>
591
+ 1. Read .planning/PROJECT.md to understand the project domain and goals
592
+ 2. Run 2-3 WebSearch queries: '[domain] architecture patterns', '[domain] system design components'
593
+ 3. WebFetch architectural guides or documentation for the chosen stack
594
+ 4. Write .planning/research/ARCHITECTURE.md with confidence levels and source citations
595
+ </research_steps>
596
+
490
597
  <files_to_read>
491
- - .planning/PROJECT.md (project description and goals)
492
- - @./templates/research-project/STACK.md (template for STACK.md)
493
- - @./templates/research-project/FEATURES.md (template for FEATURES.md)
494
- - @./templates/research-project/ARCHITECTURE.md (template for ARCHITECTURE.md)
495
- - @./templates/research-project/PITFALLS.md (template for PITFALLS.md)
496
- - @./templates/research-project/SUMMARY.md (template for SUMMARY.md)
598
+ - .planning/PROJECT.md (project context and goals)
497
599
  </files_to_read>
600
+
601
+ <downstream_consumer>
602
+ Your ARCHITECTURE.md informs phase structure in roadmap. Include:
603
+ - Component boundaries (what talks to what)
604
+ - Data flow (how information moves)
605
+ - Suggested build order (dependencies between components)
606
+ </downstream_consumer>
607
+
608
+ <quality_gate>
609
+ - [ ] Components clearly defined with boundaries
610
+ - [ ] Data flow direction explicit
611
+ - [ ] Build order implications noted
612
+ </quality_gate>
613
+
614
+ <output>
615
+ Write to: .planning/research/ARCHITECTURE.md
616
+ Required sections: ## Component Boundaries, ## Data Flow, ## Build Order, ## Integration Points
617
+ </output>
618
+ "
619
+ )
620
+
621
+ Task(
622
+ subagent_type="learnship-researcher",
623
+ description="Pitfalls research",
624
+ prompt="
625
+ <agent_definition>
626
+ You are a learnship researcher. Your training data is 6-18 months stale — treat it as hypothesis, not fact.
627
+ Verify before asserting. Flag uncertainty with confidence levels (HIGH/MEDIUM/LOW). Be prescriptive: 'Use X because Y' not 'Options are X, Y, Z.'
628
+ Tool priority: 1. WebSearch (ecosystem discovery — always include current year), 2. WebFetch (official docs), 3. Codebase scan.
629
+ </agent_definition>
630
+
631
+ <objective>
632
+ Research what [project domain] projects commonly get wrong. Write .planning/research/PITFALLS.md.
633
+ You MUST run WebSearch queries BEFORE writing the file. Do NOT write from training data alone.
634
+ </objective>
635
+
636
+ <research_steps>
637
+ 1. Read .planning/PROJECT.md to understand the project domain and goals
638
+ 2. Run 2-3 WebSearch queries: '[domain] common mistakes gotchas', '[domain] pitfalls beginners'
639
+ 3. WebFetch any detailed postmortems or lessons-learned articles
640
+ 4. Write .planning/research/PITFALLS.md with confidence levels and source citations
641
+ </research_steps>
642
+
643
+ <files_to_read>
644
+ - .planning/PROJECT.md (project context and goals)
645
+ </files_to_read>
646
+
647
+ <downstream_consumer>
648
+ Your PITFALLS.md prevents mistakes in roadmap/planning. For each pitfall:
649
+ - Warning signs (how to detect early)
650
+ - Prevention strategy (how to avoid)
651
+ - Which phase should address it
652
+ </downstream_consumer>
653
+
654
+ <quality_gate>
655
+ - [ ] Pitfalls are specific to this domain (not generic advice)
656
+ - [ ] Prevention strategies are actionable
657
+ - [ ] Phase mapping included where relevant
658
+ </quality_gate>
659
+
660
+ <output>
661
+ Write to: .planning/research/PITFALLS.md
662
+ Required sections: ## Common Mistakes, ## Warning Signs, ## Prevention Strategies
663
+ </output>
498
664
  "
499
665
  )
500
666
  ```
501
667
 
502
- Wait for the agent to complete, then proceed to Step 5c (verification) to confirm files were written correctly.
668
+ After all 4 agents complete, spawn a synthesizer to create SUMMARY.md from the other 4 files:
669
+
670
+ ```
671
+ Task(
672
+ subagent_type="learnship-researcher",
673
+ description="Synthesize research",
674
+ prompt="
675
+ <objective>
676
+ Synthesize the 4 research files into a single SUMMARY.md.
677
+ Read all 4 files, extract the key findings, and write a cohesive summary.
678
+ </objective>
679
+
680
+ <files_to_read>
681
+ - .planning/research/STACK.md
682
+ - .planning/research/FEATURES.md
683
+ - .planning/research/ARCHITECTURE.md
684
+ - .planning/research/PITFALLS.md
685
+ </files_to_read>
686
+
687
+ <output>
688
+ Write to: .planning/research/SUMMARY.md
689
+ Required sections: ## Recommended Stack, ## Table Stakes Features, ## Key Architecture Decisions, ## Top Pitfalls
690
+ </output>
691
+ "
692
+ )
693
+ ```
694
+
695
+ Wait for the synthesizer to complete, then proceed to Step 5c (verification) to confirm all 5 files were written correctly.
503
696
 
504
697
  **If `parallelization.enabled` is `false` (sequential mode):**
505
698
 
506
699
  Using `@./agents/researcher.md` as your research persona:
507
700
 
508
- **Step 5b — Write all 5 files.** Create each file one at a time using your file write tool. Each file is a separate write operation. Do NOT combine files. Do NOT skip files. **Before writing each file, read the corresponding template** from `@./templates/research-project/` to understand the expected structure.
701
+ **Step 5b-preOnline research (BEFORE writing any files).**
702
+
703
+ > 🔴 **You MUST do web research before writing files.** Your training data is stale. Do not write research files from memory alone — investigate first, write second.
704
+
705
+ Run at least 5 WebSearch queries to discover the current state of this project's domain. Include the current year in all queries. Example queries (adapt to the actual project domain):
706
+
707
+ 1. `"[project domain] recommended tech stack 2026"` — discover what's standard
708
+ 2. `"[project domain] best libraries 2026"` — find specific tools
709
+ 3. `"[project domain] architecture patterns"` — how systems in this domain are structured
710
+ 4. `"[project domain] common mistakes gotchas"` — what goes wrong
711
+ 5. `"[key technology from PROJECT.md] best practices"` — specific tech guidance
712
+
713
+ For any libraries or frameworks discovered, use WebFetch to read their official documentation pages.
714
+
715
+ Record your findings internally. You will use them to write the 5 files below. Every recommendation in the files should be grounded in what you found online — include confidence levels (HIGH/MEDIUM/LOW) and cite sources where possible.
716
+
717
+ > 🛑 STOP. Confirm: did you run at least 5 WebSearch queries? If you skipped straight to writing files, go back and search now. Files written purely from training data without web verification are low-quality research.
718
+
719
+ **Step 5b — Write all 5 files.** Create each file one at a time using your file write tool. Each file is a separate write operation. Do NOT combine files. Do NOT skip files. **Before writing each file, read the corresponding template** from `@./templates/research-project/` to understand the expected structure. Base your content on the web research findings from Step 5b-pre.
509
720
 
510
721
  **File 1 of 5 — Write `.planning/research/STACK.md` to disk now.**
511
- First, read the template at `@./templates/research-project/STACK.md` for the expected structure. Then research the standard tech stack for this domain and write the results to this file. Use the template as your structural guide. The file MUST contain these exact `##` headers:
722
+ First, read the template at `@./templates/research-project/STACK.md` for the expected structure. Then write the stack research based on your web search findings. Include confidence levels and cite sources. The file MUST contain these exact `##` headers:
512
723
  - `## Recommended Stack`
513
724
  - `## Alternatives Considered`
514
725
  - `## What NOT to Use` (with reasons)
@@ -517,26 +728,26 @@ First, read the template at `@./templates/research-project/STACK.md` for the exp
517
728
  > 🛑 STOP. Confirm: did you write `.planning/research/STACK.md` to the filesystem? If you only thought about the stack but did not create the file, go back and create it now.
518
729
 
519
730
  **File 2 of 5 — Write `.planning/research/FEATURES.md` to disk now.**
520
- First, read the template at `@./templates/research-project/FEATURES.md` for the expected structure. Then research what features users expect in this domain. Write the results to this file. Use the template as your structural guide. The file MUST contain these exact `##` headers:
731
+ First, read the template at `@./templates/research-project/FEATURES.md` for the expected structure. Then write the features research based on your web search findings. The file MUST contain these exact `##` headers:
521
732
  - `## Table Stakes` (must-haves)
522
733
  - `## Differentiators` (nice-to-haves)
523
734
  - `## Anti-Features` (what to avoid)
524
735
 
525
736
  **File 3 of 5 — Write `.planning/research/ARCHITECTURE.md` to disk now.**
526
- First, read the template at `@./templates/research-project/ARCHITECTURE.md` for the expected structure. Then research how systems in this domain are typically structured. Write the results to this file. Use the template as your structural guide. The file MUST contain these exact `##` headers:
737
+ First, read the template at `@./templates/research-project/ARCHITECTURE.md` for the expected structure. Then write the architecture research based on your web search findings. The file MUST contain these exact `##` headers:
527
738
  - `## Component Boundaries`
528
739
  - `## Data Flow`
529
740
  - `## Build Order` (suggested sequence)
530
741
  - `## Integration Points`
531
742
 
532
743
  **File 4 of 5 — Write `.planning/research/PITFALLS.md` to disk now.**
533
- First, read the template at `@./templates/research-project/PITFALLS.md` for the expected structure. Then research common mistakes and prevention strategies. Write the results to this file. Use the template as your structural guide. The file MUST contain these exact `##` headers:
744
+ First, read the template at `@./templates/research-project/PITFALLS.md` for the expected structure. Then write the pitfalls research based on your web search findings. The file MUST contain these exact `##` headers:
534
745
  - `## Common Mistakes`
535
746
  - `## Warning Signs`
536
747
  - `## Prevention Strategies`
537
748
 
538
749
  **File 5 of 5 — Write `.planning/research/SUMMARY.md` to disk now.**
539
- First, read the template at `@./templates/research-project/SUMMARY.md` for the expected structure. Then synthesize the 4 files above into a summary. Write the results to this file. Use the template as your structural guide. The file MUST contain these exact `##` headers:
750
+ First, read the template at `@./templates/research-project/SUMMARY.md` for the expected structure. Then synthesize the 4 files above into a summary. The file MUST contain these exact `##` headers:
540
751
  - `## Recommended Stack`
541
752
  - `## Table Stakes Features`
542
753
  - `## Key Architecture Decisions`
@@ -107,19 +107,39 @@ Display:
107
107
  Spawn a dedicated researcher agent:
108
108
  ```
109
109
  Task(
110
- subagent_type="learnship-phase-researcher",
110
+ subagent_type="learnship-researcher",
111
+ description="Phase [phase_number] research",
111
112
  prompt="
113
+ <agent_definition>
114
+ You are a learnship researcher. Your training data is 6-18 months stale — treat it as hypothesis, not fact.
115
+ Verify before asserting. Flag uncertainty with confidence levels (HIGH/MEDIUM/LOW). Be prescriptive: 'Use X because Y' not 'Options are X, Y, Z.'
116
+ Tool priority: 1. WebSearch (ecosystem discovery — always include current year), 2. WebFetch (official docs), 3. Codebase scan.
117
+ </agent_definition>
118
+
112
119
  <objective>
113
120
  Research how to implement Phase [phase_number]: [phase_name].
114
121
  Answer: 'What do I need to know to PLAN this phase well?'
115
- Write RESEARCH.md to [phase_dir]/[padded_phase]-RESEARCH.md.
122
+ You MUST run WebSearch queries BEFORE writing the file. Do NOT write from training data alone.
116
123
  </objective>
117
124
 
125
+ <research_steps>
126
+ 1. Read user decisions from CONTEXT.md (if exists), requirements from REQUIREMENTS.md, and project state from STATE.md
127
+ 2. Run at least 3 WebSearch queries: '[phase technology] best practices [current year]', '[phase technology] common mistakes', '[phase technology] recommended libraries'
128
+ 3. WebFetch official docs for key libraries or frameworks discovered
129
+ 4. Scan the codebase for existing patterns relevant to this phase
130
+ 5. Write [padded_phase]-RESEARCH.md with confidence levels and source citations
131
+ </research_steps>
132
+
118
133
  <files_to_read>
119
134
  - [context_path] (user decisions, if exists)
120
135
  - .planning/REQUIREMENTS.md
121
136
  - .planning/STATE.md
122
137
  </files_to_read>
138
+
139
+ <output>
140
+ Write to: .planning/phases/[padded_phase]-[phase_slug]/[padded_phase]-RESEARCH.md
141
+ Required sections: ## Don't Hand-Roll, ## Common Pitfalls, ## Existing Patterns in This Codebase, ## Recommended Approach
142
+ </output>
123
143
  "
124
144
  )
125
145
  ```
@@ -128,13 +148,15 @@ Wait for agent to complete, then verify RESEARCH.md was written.
128
148
 
129
149
  **If `parallelization` is `false` (sequential mode):**
130
150
 
131
- Using `@./agents/researcher.md` as your research persona, investigate how to implement this phase. Read:
151
+ Using `@./agents/researcher.md` as your research persona, investigate how to implement this phase.
152
+
153
+ **Online research first.** Before writing anything, run at least 3 WebSearch queries relevant to this phase's domain. Use WebFetch to read official docs for any libraries discovered. Then read:
132
154
  - The CONTEXT.md (user decisions)
133
155
  - `.planning/REQUIREMENTS.md` (which requirements this phase covers)
134
156
  - `.planning/STATE.md` (project history and decisions)
135
157
  - Existing codebase for relevant patterns
136
158
 
137
- Write `.planning/phases/[padded_phase]-[phase_slug]/[padded_phase]-RESEARCH.md` with two key sections:
159
+ Write `.planning/phases/[padded_phase]-[phase_slug]/[padded_phase]-RESEARCH.md` based on your web research findings. Include confidence levels and cite sources. The file must have two key sections:
138
160
  - **Don't Hand-Roll** — problems with good existing solutions ("Don't build your own JWT — use jose")
139
161
  - **Common Pitfalls** — what goes wrong, why, how to avoid it
140
162
 
@@ -164,7 +186,15 @@ Spawn a dedicated planner agent:
164
186
  ```
165
187
  Task(
166
188
  subagent_type="learnship-planner",
189
+ description="Plan phase [phase_number]",
167
190
  prompt="
191
+ <agent_definition>
192
+ You are a learnship planner. Create executable PLAN.md files that an AI agent can follow step-by-step.
193
+ Each plan covers a single logical unit of work. Tasks use XML format with file, action, verify, done fields.
194
+ Plans have YAML frontmatter: wave, depends_on, files_modified, autonomous.
195
+ Be specific — task actions should be concrete instructions, not vague guidance.
196
+ </agent_definition>
197
+
168
198
  <objective>
169
199
  Create 2-4 executable PLAN.md files for Phase [phase_number]: [phase_name].
170
200
  Write plans to [phase_dir]/[padded_phase]-NN-PLAN.md.
@@ -178,6 +208,11 @@ Task(
178
208
  - [research_path] (if exists)
179
209
  - $LEARNSHIP_DIR/templates/plan.md
180
210
  </files_to_read>
211
+
212
+ <output>
213
+ Write to: [phase_dir]/[padded_phase]-01-PLAN.md, [padded_phase]-02-PLAN.md, etc.
214
+ Each plan must have: YAML frontmatter (wave, depends_on, files_modified) + tasks in XML + must_haves section
215
+ </output>
181
216
  "
182
217
  )
183
218
  ```
@@ -223,7 +258,14 @@ Spawn a plan-checker agent:
223
258
  ```
224
259
  Task(
225
260
  subagent_type="learnship-plan-checker",
261
+ description="Verify phase [phase_number] plans",
226
262
  prompt="
263
+ <agent_definition>
264
+ You are a learnship plan checker. Verify plans are complete, correct, and executable.
265
+ Check: phase goal coverage, requirement IDs, CONTEXT.md decisions honored, task completeness, wave/dependency correctness.
266
+ Be strict — flag missing requirement IDs, vague task actions, incorrect wave assignments.
267
+ </agent_definition>
268
+
227
269
  <objective>
228
270
  Verify all PLAN.md files in [phase_dir] for Phase [phase_number]: [phase_name].
229
271
  Check: phase goal coverage, requirement IDs, CONTEXT.md decisions, task completeness, wave correctness.
@@ -78,22 +78,38 @@ Spawn a dedicated researcher agent:
78
78
  ```
79
79
  Task(
80
80
  subagent_type="learnship-researcher",
81
+ description="Phase [N] research",
81
82
  prompt="
83
+ <agent_definition>
84
+ You are a learnship researcher. Your training data is 6-18 months stale — treat it as hypothesis, not fact.
85
+ Verify before asserting. Flag uncertainty with confidence levels (HIGH/MEDIUM/LOW). Be prescriptive: 'Use X because Y' not 'Options are X, Y, Z.'
86
+ Tool priority: 1. WebSearch (ecosystem discovery — always include current year), 2. WebFetch (official docs), 3. Codebase scan.
87
+ </agent_definition>
88
+
82
89
  <objective>
83
- Research phase [N] for this project. Read the phase goal from ROADMAP.md,
84
- requirements from REQUIREMENTS.md, and any CONTEXT.md decisions.
85
- Write [padded_phase]-RESEARCH.md with Don't Hand-Roll, Common Pitfalls,
86
- Existing Patterns, and Recommended Approach sections.
87
- Follow the researcher persona at @./agents/researcher.md.
90
+ Research how to implement phase [N] for this project. Write [padded_phase]-RESEARCH.md.
91
+ You MUST run WebSearch queries BEFORE writing the file. Do NOT write from training data alone.
88
92
  </objective>
89
93
 
94
+ <research_steps>
95
+ 1. Read the phase goal from ROADMAP.md, requirements from REQUIREMENTS.md, and any CONTEXT.md decisions
96
+ 2. Run at least 3 WebSearch queries: '[phase technology] best practices [current year]', '[phase technology] common mistakes', '[phase technology] recommended libraries'
97
+ 3. WebFetch official docs for key libraries or frameworks discovered
98
+ 4. Scan the codebase for existing patterns relevant to this phase
99
+ 5. Write [padded_phase]-RESEARCH.md with confidence levels and source citations
100
+ </research_steps>
101
+
90
102
  <files_to_read>
91
103
  - .planning/ROADMAP.md
92
104
  - .planning/REQUIREMENTS.md
93
105
  - .planning/STATE.md
94
106
  - .planning/phases/[padded_phase]-[slug]/[padded_phase]-CONTEXT.md (if exists)
95
- - @./agents/researcher.md (persona)
96
107
  </files_to_read>
108
+
109
+ <output>
110
+ Write to: .planning/phases/[padded_phase]-[slug]/[padded_phase]-RESEARCH.md
111
+ Required sections: ## Don't Hand-Roll, ## Common Pitfalls, ## Existing Patterns in This Codebase, ## Recommended Approach
112
+ </output>
97
113
  "
98
114
  )
99
115
  ```
@@ -102,7 +118,17 @@ Task(
102
118
 
103
119
  Using `@./agents/researcher.md` as your research persona in **phase research mode**:
104
120
 
105
- Read all loaded context, then investigate how to implement this phase. Write `.planning/phases/[padded_phase]-[slug]/[padded_phase]-RESEARCH.md` with two sections:
121
+ **Online research first.** Before writing anything, run at least 3 WebSearch queries relevant to this phase's domain:
122
+
123
+ 1. `"[phase technology] best practices 2026"` — current recommendations
124
+ 2. `"[phase technology] common mistakes gotchas"` — what goes wrong
125
+ 3. `"[phase technology] recommended libraries"` — standard tools
126
+
127
+ Use WebFetch to read official docs for any libraries or frameworks discovered. Record findings internally.
128
+
129
+ > 🛑 STOP. Confirm: did you run at least 3 WebSearch queries? If you skipped straight to writing the research file, go back and search now.
130
+
131
+ Then write `.planning/phases/[padded_phase]-[slug]/[padded_phase]-RESEARCH.md` based on your web research findings. Include confidence levels and cite sources. The file must have these sections:
106
132
 
107
133
  **Don't Hand-Roll** — problems that have battle-tested solutions:
108
134
  ```
@@ -92,7 +92,15 @@ Spawn a dedicated code-reviewer agent for each selected persona:
92
92
  ```
93
93
  Task(
94
94
  subagent_type="learnship-code-reviewer",
95
+ description="Review: [PERSONA]",
95
96
  prompt="
97
+ <agent_definition>
98
+ You are a learnship code reviewer running the [PERSONA] lens.
99
+ Review the diff — do NOT edit any files. Read-only review.
100
+ Return structured findings with severity (P0-P3) and confidence (0.0-1.0).
101
+ Be specific: cite exact files and lines. Distinguish real issues from style preferences.
102
+ </agent_definition>
103
+
96
104
  <objective>
97
105
  Review the following diff as the [PERSONA] reviewer.
98
106
  Focus: [persona-specific focus areas]
@@ -104,17 +104,22 @@ Read `parallelization` from `.planning/config.json` (defaults to `false`).
104
104
  ```
105
105
  Task(
106
106
  subagent_type="learnship-security-auditor",
107
+ description="Security audit phase [N]",
107
108
  prompt="
109
+ <agent_definition>
110
+ You are a learnship security auditor. Verify threats against the actual codebase using STRIDE methodology.
111
+ Check each open threat: if mitigation is found in code, mark CLOSED with evidence. If missing, document what's needed.
112
+ Be thorough — check actual code, not just file names. False negatives are worse than false positives.
113
+ </agent_definition>
114
+
108
115
  <objective>
109
116
  Verify all open threats in the threat register for phase [N].
110
117
  Check each threat against the actual codebase. Update status to
111
118
  CLOSED if mitigation found, or document what's missing.
112
- Follow the security auditor persona at @./agents/security-auditor.md.
113
119
  </objective>
114
120
 
115
121
  <files_to_read>
116
122
  - [phase SECURITY.md or threat register]
117
- - @./agents/security-auditor.md (persona)
118
123
  </files_to_read>
119
124
  "
120
125
  )
@@ -105,18 +105,24 @@ Read `parallelization` from `.planning/config.json` (defaults to `false`).
105
105
  ```
106
106
  Task(
107
107
  subagent_type="learnship-verifier",
108
+ description="Fill validation gaps phase [N]",
108
109
  prompt="
110
+ <agent_definition>
111
+ You are a learnship verifier. Write test files that cover validation gaps — never modify implementation files.
112
+ Match existing test framework and style. Write tests that actually run (import real modules, not mocks).
113
+ If a test reveals an implementation bug, log it as an escalation — don't fix the implementation.
114
+ Up to 3 debug attempts if tests fail.
115
+ </agent_definition>
116
+
109
117
  <objective>
110
118
  Write missing test files for phase [N] validation gaps.
111
119
  Read VALIDATION.md gaps and write tests that cover each MISSING or PARTIAL requirement.
112
- Follow the verifier persona at @./agents/verifier.md.
113
120
  Never modify implementation files — only write test files.
114
121
  Run tests to verify they pass. Up to 3 debug attempts if tests fail.
115
122
  </objective>
116
123
 
117
124
  <files_to_read>
118
125
  - [VALIDATION.md path]
119
- - @./agents/verifier.md (persona)
120
126
  </files_to_read>
121
127
  "
122
128
  )
@@ -124,7 +130,7 @@ Task(
124
130
 
125
131
  **If `parallelization.enabled` is `false` (sequential mode):**
126
132
 
127
- Write the missing test files. Rules:
133
+ Using `@./agents/verifier.md` as your verification persona, write the missing test files. Rules:
128
134
  - Never touch implementation files
129
135
  - Match the existing test framework and style
130
136
  - Write tests that actually run (import real modules, not mocks of the implementation)
@@ -253,18 +253,23 @@ Spawn a dedicated debugger agent for diagnosis:
253
253
  ```
254
254
  Task(
255
255
  subagent_type="learnship-debugger",
256
+ description="Diagnose UAT issues phase [N]",
256
257
  prompt="
258
+ <agent_definition>
259
+ You are a learnship debugger in diagnosis mode. Trace each issue to its root cause.
260
+ Read-first: understand the current design before proposing changes. Find specific files and lines.
261
+ Do NOT fix anything — just diagnose and document. One hypothesis at a time.
262
+ </agent_definition>
263
+
257
264
  <objective>
258
265
  Diagnose all issues found in UAT for phase [N].
259
266
  Read the UAT.md file with gaps, trace each issue to its root cause.
260
267
  Do NOT fix anything — just diagnose and document root causes.
261
- Follow the debugger persona at @./agents/debugger.md.
262
268
  Write root_cause and affected_files for each gap back to UAT.md.
263
269
  </objective>
264
270
 
265
271
  <files_to_read>
266
272
  - [UAT.md path]
267
- - @./agents/debugger.md (persona)
268
273
  </files_to_read>
269
274
  "
270
275
  )
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "learnship",
3
- "version": "2.2.0",
3
+ "version": "2.2.2",
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",