πŸš€ Socket Launch Week Day 5:Introducing Repository Access Permissions and Custom Roles.Learn more β†’
Sign In

learnship

Package Overview
Dependencies
Maintainers
1
Versions
50
Alerts
File Explorer

Advanced tools

Socket logo

Install Socket

Detect and block malicious and high-risk dependencies

Install

learnship - npm Package Compare versions

Comparing version
2.3.2
to
2.3.3
+1
-1
.claude-plugin/plugin.json
{
"name": "learnship",
"description": "Agentic engineering done right β€” 57 structured workflows, 17 specialist agent personas, persistent memory across sessions, integrated learning partner, and impeccable UI design system. Works with Claude Code, Windsurf, Cursor, Gemini CLI, OpenCode, and Codex.",
"version": "2.3.2",
"version": "2.3.3",
"author": {

@@ -6,0 +6,0 @@ "name": "Favio Vazquez",

@@ -5,3 +5,3 @@ {

"description": "Agentic engineering done right β€” 57 structured workflows, 17 specialist agent personas, persistent memory across sessions, integrated learning partner, and impeccable UI design system.",
"version": "2.3.2",
"version": "2.3.3",
"logo": "assets/logo.png",

@@ -8,0 +8,0 @@ "author": {

{
"name": "learnship",
"version": "2.3.2",
"version": "2.3.3",
"description": "Agentic engineering done right β€” 57 structured workflows, 17 specialist agent personas, persistent memory across sessions, integrated learning partner, and impeccable UI design system.",

@@ -5,0 +5,0 @@ "author": "Favio Vazquez",

@@ -75,2 +75,7 @@ ---

> **Announce persona** β€” print this before proceeding:
> ```bash
> printf "\n \033[35m learnship-verifier(In integration mode)\033[0m\n\n"
> ```
Read `@./agents/verifier.md` for the full persona definition. In integration mode, check cross-phase wiring:

@@ -77,0 +82,0 @@

@@ -88,2 +88,7 @@ ---

> **Announce persona** β€” print this before proceeding:
> ```bash
> printf "\n \033[38;5;208m learnship-challenger(Stress-test this idea with forcing questions)\033[0m\n\n"
> ```
Read `@./agents/challenger.md` for the full persona definition. Ask the 3-5 product forcing questions and answer them based on available context.

@@ -140,2 +145,7 @@

> **Announce persona** β€” print this before proceeding:
> ```bash
> printf "\n \033[38;5;208m learnship-challenger(In engineering mode)\033[0m\n\n"
> ```
Read `@./agents/challenger.md` for the full persona definition. Switch to the engineering lens and ask the 3-5 engineering forcing questions.

@@ -142,0 +152,0 @@

@@ -118,2 +118,7 @@ ---

> **Announce persona** β€” print this before proceeding:
> ```bash
> printf "\n \033[36m learnship-solution-writer(Capture and document a solution at the moment of solving)\033[0m\n\n"
> ```
Read `@./agents/solution-writer.md` for the full persona definition. Perform all research in sequence:

@@ -120,0 +125,0 @@

@@ -142,2 +142,7 @@ ---

> **Announce persona** β€” print this before proceeding:
> ```bash
> printf "\n \033[38;5;208m learnship-debugger(Diagnose the root cause, not the symptoms)\033[0m\n\n"
> ```
Read `@./agents/debugger.md` for the full persona definition. As your investigation persona:

@@ -211,2 +216,7 @@

> **Announce persona** β€” print this before proceeding:
> ```bash
> printf "\n \033[33m learnship-executor(Implement the fix surgically β€” minimal change, maximum precision)\033[0m\n\n"
> ```
Read `@./agents/executor.md` for the full persona definition. Once confirmed, implement the fix:

@@ -213,0 +223,0 @@ - Make only the changes needed to fix the root cause

@@ -58,2 +58,7 @@ ---

> **Announce persona** β€” print this before proceeding:
> ```bash
> printf "\n \033[38;5;208m learnship-debugger(In diagnosis mode (read-only β€” no implementation changes))\033[0m\n\n"
> ```
Read `@./agents/debugger.md` for the full persona definition. For each open issue, in diagnosis mode:

@@ -60,0 +65,0 @@

@@ -80,2 +80,53 @@ ---

Read `parallelization` from `.planning/config.json` (defaults to `false`).
**If `parallelization.enabled` is `true` (subagent mode β€” Claude Code, OpenCode, Codex):**
Spawn a dedicated doc-writer agent for each doc in the queue:
```
Task(
subagent_type="learnship-doc-writer",
description="Write/update [doc_name]",
prompt="
<agent_definition>
You are a learnship doc writer. Write and update project documentation grounded in the actual codebase.
Every claim must be verifiable against real code. Read source files BEFORE writing.
For updates: preserve the author's voice and structure. Only update stale sections.
</agent_definition>
<objective>
[Create/Update] [doc_name] for this project.
Read relevant source files first, then write the doc grounded in what you find.
</objective>
<files_to_read>
- [relevant source files for this doc]
- [existing doc if update mode]
</files_to_read>
<quality_gate>
- [ ] Every file path mentioned actually exists
- [ ] Every command shown actually works
- [ ] Config examples match the actual schema
- [ ] No stale references to renamed/removed items
</quality_gate>
"
)
```
**If `parallelization.enabled` is `false` (sequential mode):**
<persona_context>
You are now the **learnship doc writer**. Write documentation grounded in the actual codebase.
Every claim must be verifiable. Read source files BEFORE writing. For updates: preserve the author's voice, only fix stale sections.
</persona_context>
> **Announce persona** β€” print this before proceeding:
> ```bash
> printf "\n \033[36m learnship-doc-writer(Write documentation grounded in the actual codebase)\033[0m\n\n"
> ```
Read `@./agents/doc-writer.md` for the full persona definition.
For each doc in the queue:

@@ -98,2 +149,43 @@

**If `parallelization.enabled` is `true` (subagent mode):**
Spawn a doc-verifier agent:
```
Task(
subagent_type="learnship-doc-verifier",
description="Verify documentation against codebase",
prompt="
<agent_definition>
You are a learnship doc verifier. Verify that documentation matches the live codebase.
Check file paths, commands, config examples, API endpoints. Flag stale, missing, or incorrect content.
Be thorough β€” false negatives (missed stale docs) are worse than false positives.
</agent_definition>
<objective>
Verify all written/updated docs against the live codebase.
Check every factual claim. Fix simple issues directly. Flag complex issues for manual review.
</objective>
<files_to_read>
- [list of docs written/updated in Step 4]
</files_to_read>
"
)
```
**If `parallelization.enabled` is `false` (sequential mode):**
<persona_context>
You are now the **learnship doc verifier**. Verify documentation matches the live codebase.
Check file paths, commands, config examples, API endpoints. Catch stale, missing, or incorrect content.
</persona_context>
> **Announce persona** β€” print this before proceeding:
> ```bash
> printf "\n \033[32m learnship-doc-verifier(Verify documentation matches the live codebase)\033[0m\n\n"
> ```
Read `@./agents/doc-verifier.md` for the full persona definition.
For each written/updated doc, verify factual claims:

@@ -100,0 +192,0 @@

@@ -205,2 +205,7 @@ ---

> **Announce persona** β€” print this before proceeding:
> ```bash
> printf "\n \033[33m learnship-executor(Implement code from plans, one task at a time)\033[0m\n\n"
> ```
Read `@./agents/executor.md` for the full persona definition. For each plan in the wave:

@@ -321,2 +326,7 @@

> **Announce persona** β€” print this before proceeding:
> ```bash
> printf "\n \033[35m learnship-verifier(Check implementation against plan requirements)\033[0m\n\n"
> ```
Read `@./agents/verifier.md` for the full persona definition. Check:

@@ -323,0 +333,0 @@ - Do the `must_haves` from each plan's frontmatter match reality in the codebase?

@@ -99,2 +99,7 @@ ---

> **Announce persona** β€” print this before proceeding:
> ```bash
> printf "\n \033[33m learnship-executor(Implement code from the plan, one task at a time)\033[0m\n\n"
> ```
Read `@./agents/executor.md` for the full persona definition. Execute each task in the plan sequentially:

@@ -101,0 +106,0 @@

@@ -117,2 +117,7 @@ ---

> **Announce persona** β€” print this before proceeding:
> ```bash
> printf "\n \033[36m learnship-researcher(Do a quick research pass on the ideation domain)\033[0m\n\n"
> ```
If parallelization is false, read `@./agents/researcher.md` for the full persona definition. Do a quick research pass. Share findings and continue.

@@ -213,2 +218,7 @@

> **Announce persona** β€” print this before proceeding:
> ```bash
> printf "\n \033[35m learnship-ideation-agent(Generate ideas across multiple creative frames)\033[0m\n\n"
> ```
Read `@./agents/ideation-agent.md` for the full persona definition. Generate 15-25 ideas across all four frames sequentially.

@@ -215,0 +225,0 @@

@@ -55,2 +55,7 @@ ---

> **Announce persona** β€” print this before proceeding:
> ```bash
> printf "\n \033[36m learnship-researcher(In codebase mapping mode)\033[0m\n\n"
> ```
Read `@./agents/researcher.md` for the full persona definition. For each dimension below, explore the codebase thoroughly and write the document directly.

@@ -57,0 +62,0 @@

@@ -229,2 +229,7 @@ ---

> **Announce persona** β€” print this before proceeding:
> ```bash
> printf "\n \033[36m learnship-project-researcher(Your training data is stale β€” verify before asserting)\033[0m\n\n"
> ```
Read `@./agents/project-researcher.md` for the full persona definition. In project research mode, investigate the new feature domain:

@@ -261,2 +266,7 @@ - Focus ONLY on the new capabilities β€” not the existing codebase

> **Announce persona** β€” print this before proceeding:
> ```bash
> printf "\n \033[35m learnship-roadmapper(Transform requirements into a phased roadmap)\033[0m\n\n"
> ```
Read `@./agents/roadmapper.md` for the full persona definition. Read PROJECT.md, REQUIREMENTS.md, research (if exists).

@@ -263,0 +273,0 @@

@@ -589,9 +589,11 @@ ---

Task(
subagent_type="learnship-researcher",
subagent_type="learnship-project-researcher",
description="Stack research",
prompt="
<agent_definition>
You are a learnship researcher. Your training data is 6-18 months stale β€” treat it as hypothesis, not fact.
Verify before asserting. Flag uncertainty with confidence levels (HIGH/MEDIUM/LOW). Be prescriptive: 'Use X because Y' not 'Options are X, Y, Z.'
You are a learnship project researcher. You answer 'What does this domain ecosystem look like?' and produce research files that inform roadmap creation.
Your training data is 6-18 months stale β€” treat it as hypothesis, not fact. Verify before asserting.
Flag uncertainty with confidence levels (HIGH/MEDIUM/LOW). Be prescriptive: 'Use X because Y' not 'Options are X, Y, Z.'
Tool priority: 1. WebSearch (ecosystem discovery β€” always include current year), 2. WebFetch (official docs), 3. Codebase scan.
Investigation, not confirmation β€” gather evidence first, recommend second.
</agent_definition>

@@ -636,9 +638,11 @@

Task(
subagent_type="learnship-researcher",
subagent_type="learnship-project-researcher",
description="Features research",
prompt="
<agent_definition>
You are a learnship researcher. Your training data is 6-18 months stale β€” treat it as hypothesis, not fact.
Verify before asserting. Flag uncertainty with confidence levels (HIGH/MEDIUM/LOW). Be prescriptive: 'Use X because Y' not 'Options are X, Y, Z.'
You are a learnship project researcher. You answer 'What does this domain ecosystem look like?' and produce research files that inform roadmap creation.
Your training data is 6-18 months stale β€” treat it as hypothesis, not fact. Verify before asserting.
Flag uncertainty with confidence levels (HIGH/MEDIUM/LOW). Be prescriptive: 'Use X because Y' not 'Options are X, Y, Z.'
Tool priority: 1. WebSearch (ecosystem discovery β€” always include current year), 2. WebFetch (official docs), 3. Codebase scan.
Investigation, not confirmation β€” gather evidence first, recommend second.
</agent_definition>

@@ -683,9 +687,11 @@

Task(
subagent_type="learnship-researcher",
subagent_type="learnship-project-researcher",
description="Architecture research",
prompt="
<agent_definition>
You are a learnship researcher. Your training data is 6-18 months stale β€” treat it as hypothesis, not fact.
Verify before asserting. Flag uncertainty with confidence levels (HIGH/MEDIUM/LOW). Be prescriptive: 'Use X because Y' not 'Options are X, Y, Z.'
You are a learnship project researcher. You answer 'What does this domain ecosystem look like?' and produce research files that inform roadmap creation.
Your training data is 6-18 months stale β€” treat it as hypothesis, not fact. Verify before asserting.
Flag uncertainty with confidence levels (HIGH/MEDIUM/LOW). Be prescriptive: 'Use X because Y' not 'Options are X, Y, Z.'
Tool priority: 1. WebSearch (ecosystem discovery β€” always include current year), 2. WebFetch (official docs), 3. Codebase scan.
Investigation, not confirmation β€” gather evidence first, recommend second.
</agent_definition>

@@ -730,9 +736,11 @@

Task(
subagent_type="learnship-researcher",
subagent_type="learnship-project-researcher",
description="Pitfalls research",
prompt="
<agent_definition>
You are a learnship researcher. Your training data is 6-18 months stale β€” treat it as hypothesis, not fact.
Verify before asserting. Flag uncertainty with confidence levels (HIGH/MEDIUM/LOW). Be prescriptive: 'Use X because Y' not 'Options are X, Y, Z.'
You are a learnship project researcher. You answer 'What does this domain ecosystem look like?' and produce research files that inform roadmap creation.
Your training data is 6-18 months stale β€” treat it as hypothesis, not fact. Verify before asserting.
Flag uncertainty with confidence levels (HIGH/MEDIUM/LOW). Be prescriptive: 'Use X because Y' not 'Options are X, Y, Z.'
Tool priority: 1. WebSearch (ecosystem discovery β€” always include current year), 2. WebFetch (official docs), 3. Codebase scan.
Investigation, not confirmation β€” gather evidence first, recommend second.
</agent_definition>

@@ -781,8 +789,15 @@

Task(
subagent_type="learnship-researcher",
description="Synthesize research",
subagent_type="learnship-research-synthesizer",
description="Synthesize research into SUMMARY.md",
prompt="
<agent_definition>
You are a learnship research synthesizer. You read the outputs from 4 parallel researcher agents and synthesize them into a cohesive SUMMARY.md.
Synthesize, don't concatenate β€” integrate findings across all 4 files into a unified narrative.
Be opinionated: the roadmapper needs clear recommendations, not wishy-washy summaries.
Derive roadmap implications from combined research. Identify confidence levels and gaps.
</agent_definition>
<objective>
Synthesize the 4 research files into a single SUMMARY.md.
Read all 4 files, extract the key findings, and write a cohesive summary.
Read all 4 files, extract the key findings, and write a cohesive summary that informs roadmap creation.
</objective>

@@ -797,6 +812,19 @@

<downstream_consumer>
Your SUMMARY.md is consumed by the roadmapper which uses it to structure phases.
Executive Summary β†’ quick understanding. Key Findings β†’ tech decisions. Implications β†’ phase structure.
Research Flags β†’ which phases need deeper research. Gaps β†’ what to flag for validation.
</downstream_consumer>
<output>
Write to: .planning/research/SUMMARY.md
Required sections: ## Recommended Stack, ## Table Stakes Features, ## Key Architecture Decisions, ## Top Pitfalls
Required sections: ## Executive Summary, ## Recommended Stack, ## Table Stakes Features, ## Key Architecture Decisions, ## Top Pitfalls, ## Implications for Roadmap, ## Confidence Assessment, ## Gaps
</output>
<quality_gate>
- [ ] Synthesized, not concatenated β€” findings are integrated
- [ ] Opinionated β€” clear recommendations emerge
- [ ] Actionable β€” roadmapper can structure phases from implications
- [ ] Honest β€” confidence levels reflect actual source quality
</quality_gate>
"

@@ -819,2 +847,7 @@ )

> **Announce persona** β€” print this before proceeding:
> ```bash
> printf "\n \033[36m learnship-project-researcher(Your training data is 6–18 months stale β€” verify before asserting)\033[0m\n\n"
> ```
Read `@./agents/project-researcher.md` for the full persona definition.

@@ -995,2 +1028,7 @@

> **Announce persona** β€” print this before proceeding:
> ```bash
> printf "\n \033[35m learnship-roadmapper(Transform requirements into a phased roadmap)\033[0m\n\n"
> ```
Read `@./agents/roadmapper.md` for the full persona definition.

@@ -997,0 +1035,0 @@

@@ -110,9 +110,11 @@ ---

Task(
subagent_type="learnship-researcher",
subagent_type="learnship-phase-researcher",
description="Phase [phase_number] research",
prompt="
<agent_definition>
You are a learnship researcher. Your training data is 6-18 months stale β€” treat it as hypothesis, not fact.
Verify before asserting. Flag uncertainty with confidence levels (HIGH/MEDIUM/LOW). Be prescriptive: 'Use X because Y' not 'Options are X, Y, Z.'
Tool priority: 1. WebSearch (ecosystem discovery β€” always include current year), 2. WebFetch (official docs), 3. Codebase scan.
You are a learnship phase researcher. You answer 'What do I need to know to PLAN this phase well?' and produce a single RESEARCH.md that the planner consumes.
Your training data is 6-18 months stale β€” treat it as hypothesis, not fact. Verify before asserting.
Flag uncertainty with confidence levels (HIGH/MEDIUM/LOW). Be prescriptive: 'Use X because Y' not 'Options are X, Y, Z.'
Tool priority: 1. WebSearch (implementation patterns β€” always include current year), 2. WebFetch (official docs), 3. Codebase scan (existing patterns to reuse).
Investigation, not confirmation β€” gather evidence first, recommend second.
</agent_definition>

@@ -158,2 +160,7 @@

> **Announce persona** β€” print this before proceeding:
> ```bash
> printf "\n \033[34m learnship-phase-researcher(Your training data is stale β€” verify before asserting)\033[0m\n\n"
> ```
Read `@./agents/phase-researcher.md` for the full persona definition. Investigate how to implement this phase.

@@ -238,2 +245,7 @@

> **Announce persona** β€” print this before proceeding:
> ```bash
> printf "\n \033[32m learnship-planner(Create implementation plans that are executable in a single context window)\033[0m\n\n"
> ```
Read `@./agents/planner.md` for the full persona definition. Read all available context:

@@ -306,8 +318,14 @@ - `.planning/STATE.md`

<persona_context>
You are now the **learnship verifier**. Check plans against requirements and roadmap.
You are now the **learnship plan checker**. Verify plans are complete, correct, and executable.
Every v1 requirement must map to at least one plan task. Success criteria must be observable and testable.
Flag gaps, missing coverage, unrealistic estimates, and circular dependencies.
Check: phase goal coverage, requirement IDs, CONTEXT.md decisions honored, task completeness, wave/dependency correctness.
</persona_context>
Read `@./agents/verifier.md` for the full persona definition. Check the plans against:
> **Announce persona** β€” print this before proceeding:
> ```bash
> printf "\n \033[36m learnship-plan-checker(Verify plans are complete, correct, and executable)\033[0m\n\n"
> ```
Read `@./agents/plan-checker.md` for the full persona definition. Check the plans against:
- The phase goal from ROADMAP.md

@@ -314,0 +332,0 @@ - All requirement IDs assigned to this phase

@@ -150,2 +150,7 @@ ---

> **Announce persona** β€” print this before proceeding:
> ```bash
> printf "\n \033[36m learnship-researcher(Your training data is stale β€” verify before asserting)\033[0m\n\n"
> ```
Read `@./agents/researcher.md` for the full persona definition. Do a focused research pass on the task:

@@ -165,2 +170,7 @@ - What libraries or approaches are relevant?

> **Announce persona** β€” print this before proceeding:
> ```bash
> printf "\n \033[32m learnship-planner(Create a focused implementation plan)\033[0m\n\n"
> ```
Read `@./agents/planner.md` for the full persona definition. Read:

@@ -202,2 +212,7 @@ - `.planning/STATE.md`

> **Announce persona** β€” print this before proceeding:
> ```bash
> printf "\n \033[35m learnship-verifier(Check the plan against the task description)\033[0m\n\n"
> ```
Read `@./agents/verifier.md` for the full persona definition. Verify the plan against the task description:

@@ -220,2 +235,7 @@ - Does the plan address the task description?

> **Announce persona** β€” print this before proceeding:
> ```bash
> printf "\n \033[33m learnship-executor(Implement code from the plan, one task at a time)\033[0m\n\n"
> ```
Read `@./agents/executor.md` for the full persona definition. Read the PLAN.md and execute each task:

@@ -265,2 +285,7 @@

> **Announce persona** β€” print this before proceeding:
> ```bash
> printf "\n \033[35m learnship-verifier(Check must_haves from the plan against the actual codebase)\033[0m\n\n"
> ```
Read `@./agents/verifier.md` for the full persona definition. Check `must_haves` from the plan against the actual codebase.

@@ -267,0 +292,0 @@

@@ -80,9 +80,11 @@ ---

Task(
subagent_type="learnship-researcher",
subagent_type="learnship-phase-researcher",
description="Phase [N] research",
prompt="
<agent_definition>
You are a learnship researcher. Your training data is 6-18 months stale β€” treat it as hypothesis, not fact.
Verify before asserting. Flag uncertainty with confidence levels (HIGH/MEDIUM/LOW). Be prescriptive: 'Use X because Y' not 'Options are X, Y, Z.'
Tool priority: 1. WebSearch (ecosystem discovery β€” always include current year), 2. WebFetch (official docs), 3. Codebase scan.
You are a learnship phase researcher. You answer 'What do I need to know to PLAN this phase well?' and produce a single RESEARCH.md that the planner consumes.
Your training data is 6-18 months stale β€” treat it as hypothesis, not fact. Verify before asserting.
Flag uncertainty with confidence levels (HIGH/MEDIUM/LOW). Be prescriptive: 'Use X because Y' not 'Options are X, Y, Z.'
Tool priority: 1. WebSearch (implementation patterns β€” always include current year), 2. WebFetch (official docs), 3. Codebase scan (existing patterns to reuse).
Investigation, not confirmation β€” gather evidence first, recommend second.
</agent_definition>

@@ -126,2 +128,7 @@

> **Announce persona** β€” print this before proceeding:
> ```bash
> printf "\n \033[34m learnship-phase-researcher(Your training data is stale β€” verify before asserting)\033[0m\n\n"
> ```
Read `@./agents/phase-researcher.md` for the full persona definition. In **phase research mode**:

@@ -128,0 +135,0 @@

@@ -130,2 +130,7 @@ ---

> **Announce persona** β€” print this before proceeding:
> ```bash
> printf "\n \033[31m learnship-code-reviewer(Review code for correctness, testing, security, and performance)\033[0m\n\n"
> ```
Read `@./agents/code-reviewer.md` for the full persona definition. Run each selected persona sequentially. For each persona:

@@ -132,0 +137,0 @@

@@ -136,2 +136,7 @@ ---

> **Announce persona** β€” print this before proceeding:
> ```bash
> printf "\n \033[31m learnship-security-auditor(Run STRIDE threat analysis against the codebase)\033[0m\n\n"
> ```
Read `@./agents/security-auditor.md` for the full persona definition. Check each open threat against the codebase. Update status based on findings.

@@ -138,0 +143,0 @@

@@ -140,2 +140,7 @@ ---

> **Announce persona** β€” print this before proceeding:
> ```bash
> printf "\n \033[35m learnship-verifier(Write missing test files to close validation gaps)\033[0m\n\n"
> ```
Read `@./agents/verifier.md` for the full persona definition. Write the missing test files. Rules:

@@ -142,0 +147,0 @@ - Never touch implementation files

@@ -285,2 +285,7 @@ ---

> **Announce persona** β€” print this before proceeding:
> ```bash
> printf "\n \033[38;5;208m learnship-debugger(Diagnose the root cause of each gap)\033[0m\n\n"
> ```
Read `@./agents/debugger.md` for the full persona definition. For each issue in the Gaps section, investigate:

@@ -315,2 +320,7 @@ - Read the relevant source files

> **Announce persona** β€” print this before proceeding:
> ```bash
> printf "\n \033[32m learnship-planner(Create fix plans for diagnosed gaps)\033[0m\n\n"
> ```
Read `@./agents/planner.md` for the full persona definition. Read the UAT.md file with diagnosed gaps. Create fix plans in the phase directory with `gap_closure: true` in frontmatter.

@@ -322,2 +332,7 @@

> **Announce persona** β€” print this before proceeding:
> ```bash
> printf "\n \033[35m learnship-verifier(Verify fix plans close the diagnosed gaps)\033[0m\n\n"
> ```
Verify fix plans (max 3 iterations β€” read `@./agents/verifier.md` for the full persona definition) β€” same loop as `plan-phase`.

@@ -324,0 +339,0 @@

{
"name": "learnship",
"version": "2.3.2",
"version": "2.3.3",
"description": "Learn as you build. Build with intent. β€” A multi-platform agentic engineering system for Windsurf, Claude Code, Cursor, OpenCode, Gemini CLI, and Codex: 57 spec-driven workflows, 17 specialist agent personas, integrated learning, and production-grade design.",

@@ -5,0 +5,0 @@ "keywords": [