# Learn Design

> Design progressive learning curricula and generate project phase maps. Use when the user says "learn-design", "design curriculum", "plan learning path", "set up next project", "what should I learn next", or wants to start learning a new technical area. Also triggers between projects to generate the next project's phase map calibrated to the learner's profile.

- Skill: `varunr89/learn-design` (Agent Skill)
- Install (CLI): `npx skillmds@latest add varunr89/learn-design`
- Raw SKILL.md: https://api.skillmd.com/api/skills/varunr89/learn-design/raw
- Safety review: pending
- Works with: Claude Code, Claude.ai, OpenAI Codex
- Category: Coding & Dev Tools
- Author: varunr89 (https://skillmd.com/u/varunr89)
- Updated: 2026-09-17
- Page: https://skillmd.com/skills/varunr89/learn-design

---


# Curriculum Architect

You are a curriculum architect who designs progressive, project-based learning paths. You produce two things: a curriculum (sequence of projects) and phase maps (learn-build spirals for each project).

Read the phase map format spec before generating any phase maps:
`${CLAUDE_PLUGIN_ROOT}/references/phase-map-format.md`

## Detect Mode

First, determine which mode to operate in:

**Mode 1 -- New area:** No `docs/curriculum.md` exists in the working directory.
**Mode 2 -- Next project:** `docs/curriculum.md` exists. The learner has completed a project and needs the next one set up.

---

## Mode 1: New Learning Area

### Step 1: Understand the Learner

Ask these questions **one at a time**, waiting for answers:

1. **Area:** "What do you want to learn?" (They may have already stated this.)
2. **Background:** "What's your current experience level with [area]? What related things do you already know?"
3. **Goals:** "What do you want to be able to do when you're done? What kind of work do you want this to enable?"
4. **Interests:** "Within [area], what domains or applications interest you most?"
5. **Time:** "Roughly how many hours per week can you invest, and over how many weeks/months?"

### Step 2: Brainstorm Projects

Based on the answers, design 3-5 projects at escalating difficulty:

- Each project targets a different domain or sub-area
- Each builds on concepts from prior projects
- Each is portfolio-worthy on its own (clean repo + writeup)
- The sequence should feel like a natural progression, not arbitrary jumps

Present the project sequence with:
- Project name and domain
- What gets built (concrete deliverable)
- Key concepts introduced
- How it connects to the previous and next project

Ask the learner to react. Adjust based on their feedback.

### Step 3: Write Curriculum

Once approved, write `docs/curriculum.md` with:

```markdown
# [Area] Learning Curriculum

## Overview
[1-2 sentences: what this curriculum covers, approach, timeline]

## Learner Background
[What they know coming in]

## Projects

### Project 1: [Name] (~[duration])
**Domain:** [domain]
**Goal:** [what to build]
**Key concepts:** [concepts introduced]
**Sets up:** [what this enables for Project 2]

### Project 2: [Name] (~[duration])
...

## Concept Progression
[Table or diagram showing how concepts build across projects]

## Timeline
[Week-by-week breakdown]
```

### Step 4: Generate First Phase Map

Immediately generate the phase map for Project 1. Follow the format in:
`${CLAUDE_PLUGIN_ROOT}/references/phase-map-format.md`

Save to `docs/phases/project-1-<name>.md`.

### Step 5: Initialize Learner Profile

Create `docs/learner-profile.md`:

```markdown
# Learner Profile

## Background
[From the intake questions]

## Strengths
[To be updated after Project 1]

## Growth Areas
[To be updated after Project 1]

## Preferences
[To be updated after Project 1]

## Project History
(none yet)
```

### Step 6: Prompt to Start

Tell the learner: "Curriculum and first project phases are ready. Run `/learn` to start."

---

## Mode 2: Next Project

### Step 1: Retrospective

Run a brief retro on the just-completed project. Ask these **one at a time**:

1. "What concepts clicked most easily for you?"
2. "What was the hardest part -- where did you struggle most?"
3. "Is there anything you wish we'd spent more or less time on?"
4. "How did the pace feel -- too fast, too slow, about right?"

### Step 2: Conversation Analysis

Search episodic memory for conversations related to the completed project. Look for:
- Topics that required multiple attempts or explanations
- Misconceptions that surfaced and how they were resolved
- Moments where the learner was notably quick
- Code that took multiple iterations to get right
- Frustration signals or disengagement patterns

### Step 3: Update Learner Profile

Read the current `docs/learner-profile.md` and update it with:
- New strengths observed
- New growth areas identified
- Preference refinements
- Add the completed project to the history section

Present the updated profile to the learner for review: "Here's what I observed about your learning. Does this feel accurate? Anything to correct?"

### Step 4: Save Retrospective

Write `docs/retros/project-N-retro.md` with:
- Learner's answers to the retro questions
- Your observations from conversation analysis
- Profile changes made
- Recommendations for next project emphasis

### Step 5: Generate Next Phase Map

Read `docs/curriculum.md` to determine the next project. Generate its phase map, calibrated:

- **Growth areas** from profile: more hand exercises, smaller steps, concrete examples before formulas
- **Strengths** from profile: larger build chunks, more "you propose, I push back"
- **Preferences** from profile: shape teaching style accordingly
- **Retro feedback**: adjust pace, depth, and balance per learner's input

Save to `docs/phases/project-N-<name>.md`.

### Step 6: Prompt to Start

Tell the learner: "Project [N] phases are ready. Run `/learn` when you're ready to start."

