learnship 2.2.0 → 2.2.1

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.1",
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.1",
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.1",
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
 
@@ -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
 
@@ -473,8 +474,18 @@ Task(
473
474
  subagent_type="learnship-researcher",
474
475
  prompt="
475
476
  <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.
477
+ Research the domain ecosystem for a new project, then write 5 research files into .planning/research/.
478
+
479
+ IMPORTANT: You MUST do online research BEFORE writing any files. Your training data is stale — verify everything.
480
+
481
+ Phase 1 — INVESTIGATE (do this first):
482
+ 1. Read .planning/PROJECT.md to understand the project domain and goals
483
+ 2. Run at least 5 WebSearch queries to discover: standard tech stacks, recommended libraries, architecture patterns, common pitfalls, and best practices for this domain. Include the current year in queries.
484
+ 3. Use WebFetch to read official documentation for any key libraries or frameworks discovered
485
+ 4. Read the research persona at @./agents/researcher.md for research principles
486
+
487
+ Phase 2 — WRITE FILES (only after investigating):
488
+ Read each template from @./templates/research-project/ for the expected structure, then write each file based on your actual research findings (not just training data). Include confidence levels (HIGH/MEDIUM/LOW) and cite sources.
478
489
 
479
490
  Files to write:
480
491
  1. STACK.md — Must have: ## Recommended Stack, ## Alternatives Considered, ## What NOT to Use, ## Versions
@@ -484,11 +495,12 @@ Task(
484
495
  5. SUMMARY.md — Must have: ## Recommended Stack, ## Table Stakes Features, ## Key Architecture Decisions, ## Top Pitfalls
485
496
 
486
497
  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.
498
+ Return: confirmation that all 5 files pass verification, plus a summary of what you found.
488
499
  </objective>
489
500
 
490
501
  <files_to_read>
491
502
  - .planning/PROJECT.md (project description and goals)
503
+ - @./agents/researcher.md (research persona — read for research principles and tool strategy)
492
504
  - @./templates/research-project/STACK.md (template for STACK.md)
493
505
  - @./templates/research-project/FEATURES.md (template for FEATURES.md)
494
506
  - @./templates/research-project/ARCHITECTURE.md (template for ARCHITECTURE.md)
@@ -505,10 +517,28 @@ Wait for the agent to complete, then proceed to Step 5c (verification) to confir
505
517
 
506
518
  Using `@./agents/researcher.md` as your research persona:
507
519
 
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.
520
+ **Step 5b-preOnline research (BEFORE writing any files).**
521
+
522
+ > 🔴 **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.
523
+
524
+ 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):
525
+
526
+ 1. `"[project domain] recommended tech stack 2026"` — discover what's standard
527
+ 2. `"[project domain] best libraries 2026"` — find specific tools
528
+ 3. `"[project domain] architecture patterns"` — how systems in this domain are structured
529
+ 4. `"[project domain] common mistakes gotchas"` — what goes wrong
530
+ 5. `"[key technology from PROJECT.md] best practices"` — specific tech guidance
531
+
532
+ For any libraries or frameworks discovered, use WebFetch to read their official documentation pages.
533
+
534
+ 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.
535
+
536
+ > 🛑 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.
537
+
538
+ **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
539
 
510
540
  **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:
541
+ 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
542
  - `## Recommended Stack`
513
543
  - `## Alternatives Considered`
514
544
  - `## What NOT to Use` (with reasons)
@@ -517,26 +547,26 @@ First, read the template at `@./templates/research-project/STACK.md` for the exp
517
547
  > 🛑 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
548
 
519
549
  **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:
550
+ 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
551
  - `## Table Stakes` (must-haves)
522
552
  - `## Differentiators` (nice-to-haves)
523
553
  - `## Anti-Features` (what to avoid)
524
554
 
525
555
  **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:
556
+ 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
557
  - `## Component Boundaries`
528
558
  - `## Data Flow`
529
559
  - `## Build Order` (suggested sequence)
530
560
  - `## Integration Points`
531
561
 
532
562
  **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:
563
+ 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
564
  - `## Common Mistakes`
535
565
  - `## Warning Signs`
536
566
  - `## Prevention Strategies`
537
567
 
538
568
  **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:
569
+ 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
570
  - `## Recommended Stack`
541
571
  - `## Table Stakes Features`
542
572
  - `## Key Architecture Decisions`
@@ -112,13 +112,25 @@ Task(
112
112
  <objective>
113
113
  Research how to implement Phase [phase_number]: [phase_name].
114
114
  Answer: 'What do I need to know to PLAN this phase well?'
115
- Write RESEARCH.md to [phase_dir]/[padded_phase]-RESEARCH.md.
115
+
116
+ IMPORTANT: You MUST do online research BEFORE writing the research file. Your training data is stale — verify everything.
117
+
118
+ Phase 1 — INVESTIGATE (do this first):
119
+ 1. Read user decisions from CONTEXT.md (if exists), requirements from REQUIREMENTS.md, and project state from STATE.md
120
+ 2. Read the researcher persona at @./agents/researcher.md for research principles and tool strategy
121
+ 3. Run at least 3 WebSearch queries to discover: standard approaches, recommended libraries, and common pitfalls for this phase's domain. Include the current year in queries.
122
+ 4. Use WebFetch to read official documentation for any key libraries or frameworks discovered
123
+ 5. Scan the codebase for existing patterns relevant to this phase
124
+
125
+ Phase 2 — WRITE FILE (only after investigating):
126
+ Write RESEARCH.md to [phase_dir]/[padded_phase]-RESEARCH.md with Don't Hand-Roll, Common Pitfalls, Existing Patterns, and Recommended Approach sections. Include confidence levels (HIGH/MEDIUM/LOW) and cite sources.
116
127
  </objective>
117
128
 
118
129
  <files_to_read>
119
130
  - [context_path] (user decisions, if exists)
120
131
  - .planning/REQUIREMENTS.md
121
132
  - .planning/STATE.md
133
+ - @./agents/researcher.md (persona — read for research principles and tool strategy)
122
134
  </files_to_read>
123
135
  "
124
136
  )
@@ -128,13 +140,15 @@ Wait for agent to complete, then verify RESEARCH.md was written.
128
140
 
129
141
  **If `parallelization` is `false` (sequential mode):**
130
142
 
131
- Using `@./agents/researcher.md` as your research persona, investigate how to implement this phase. Read:
143
+ Using `@./agents/researcher.md` as your research persona, investigate how to implement this phase.
144
+
145
+ **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
146
  - The CONTEXT.md (user decisions)
133
147
  - `.planning/REQUIREMENTS.md` (which requirements this phase covers)
134
148
  - `.planning/STATE.md` (project history and decisions)
135
149
  - Existing codebase for relevant patterns
136
150
 
137
- Write `.planning/phases/[padded_phase]-[phase_slug]/[padded_phase]-RESEARCH.md` with two key sections:
151
+ 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
152
  - **Don't Hand-Roll** — problems with good existing solutions ("Don't build your own JWT — use jose")
139
153
  - **Common Pitfalls** — what goes wrong, why, how to avoid it
140
154
 
@@ -80,11 +80,19 @@ Task(
80
80
  subagent_type="learnship-researcher",
81
81
  prompt="
82
82
  <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.
83
+ Research how to implement phase [N] for this project.
84
+
85
+ IMPORTANT: You MUST do online research BEFORE writing the research file. Your training data is stale — verify everything.
86
+
87
+ Phase 1 INVESTIGATE (do this first):
88
+ 1. Read the phase goal from ROADMAP.md, requirements from REQUIREMENTS.md, and any CONTEXT.md decisions
89
+ 2. Read the researcher persona at @./agents/researcher.md for research principles and tool strategy
90
+ 3. Run at least 3 WebSearch queries to discover: standard approaches, recommended libraries, and common pitfalls for this phase's domain. Include the current year in queries.
91
+ 4. Use WebFetch to read official documentation for any key libraries or frameworks discovered
92
+ 5. Scan the codebase for existing patterns relevant to this phase
93
+
94
+ Phase 2 — WRITE FILE (only after investigating):
95
+ Write [padded_phase]-RESEARCH.md with Don't Hand-Roll, Common Pitfalls, Existing Patterns, and Recommended Approach sections. Include confidence levels (HIGH/MEDIUM/LOW) and cite sources.
88
96
  </objective>
89
97
 
90
98
  <files_to_read>
@@ -92,7 +100,7 @@ Task(
92
100
  - .planning/REQUIREMENTS.md
93
101
  - .planning/STATE.md
94
102
  - .planning/phases/[padded_phase]-[slug]/[padded_phase]-CONTEXT.md (if exists)
95
- - @./agents/researcher.md (persona)
103
+ - @./agents/researcher.md (persona — read for research principles and tool strategy)
96
104
  </files_to_read>
97
105
  "
98
106
  )
@@ -102,7 +110,17 @@ Task(
102
110
 
103
111
  Using `@./agents/researcher.md` as your research persona in **phase research mode**:
104
112
 
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:
113
+ **Online research first.** Before writing anything, run at least 3 WebSearch queries relevant to this phase's domain:
114
+
115
+ 1. `"[phase technology] best practices 2026"` — current recommendations
116
+ 2. `"[phase technology] common mistakes gotchas"` — what goes wrong
117
+ 3. `"[phase technology] recommended libraries"` — standard tools
118
+
119
+ Use WebFetch to read official docs for any libraries or frameworks discovered. Record findings internally.
120
+
121
+ > 🛑 STOP. Confirm: did you run at least 3 WebSearch queries? If you skipped straight to writing the research file, go back and search now.
122
+
123
+ 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
124
 
107
125
  **Don't Hand-Roll** — problems that have battle-tested solutions:
108
126
  ```
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "learnship",
3
- "version": "2.2.0",
3
+ "version": "2.2.1",
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",