Skip to content
Agentmart
Submit a tool

add-learn-lesson

Author an ADHD-safe Learn lesson (one step on screen, no quizzes, no streaks) and publish it.

Skill by mikepattyn

IndexedMIT
Write a review

Install

Works with Claude Code, Claude apps, Codex, Cursor, Gemini CLI, GitHub Copilot, VS Code, OpenCode, Goose, Windsurf. Read the repository before you give any tool access to your data.

npx agentmarket install skill/mikepattyn-add-learn-lesson

Asks which of your tools to add it to (Claude Code, Codex, Cursor, VS Code, Windsurf, Gemini CLI, Claude Desktop) and shows the change first. See https://agentmart.dev/cli.

Get the weekly diff

The weekly diff: one email a week with new agent tools, notable updates and grade changes, plus security alerts for tools you follow. Double opt-in, one-click unsubscribe.

We use your email only for this newsletter. Privacy

About

Author an ADHD-safe Learn lesson (one step on screen, no quizzes, no streaks) and publish it. Use when the user asks to add a lesson, write a Learn lesson, extend the First contact email path, publish curriculum to mikepattyn/learn, or mentions add-learn-lesson. Do not use for the private teach workspace (MISSION.md / HTML lessons) or for portfolio Under the Hood articles (umbrella-teach). Do not use for the Angular + .NET scaffold skill.

Use cases: frontend, writing, productivity

No reviews yet. Installed it? Reviews come from verified installers only. How reviews work

Permissions

What this skill can do and what it asks for, from its SKILL.md. Checked Oct 25, 2026.

Tools
No tools found
Secrets
None asked for
Install scripts
None found
Runs as
Node.js package

Network hosts it talks to 1

  • codeload.github.com · found in install command

Files it touches

  • ~/.claude/skills/add-learn-lesson

What's inside

Skill name
add-learn-lesson
Description
Author an ADHD-safe Learn lesson (one step on screen, no quizzes, no streaks) and publish it. Use when the user asks to add a lesson, write a Learn lesson, extend the First contact email path, publish curriculum to mikepattyn/learn, or mentions add-learn-lesson. Do not use for the private teach workspace (MISSION.md / HTML lessons) or for portfolio Under the Hood articles (umbrella-teach). Do not use for the Angular + .NET scaffold skill.
License
MIT
Metadata
author: mikepattyn · audience: learning-programmers
Instructions
159 lines in SKILL.md · view on GitHub

Before installing

  • Ships executable scripts

Files (6)

  • SKILL.md
  • curriculum.template.md · assets/
  • lesson.template.ts · assets/
  • adhd-voice.md · references/
  • lesson-shape.md · references/
  • publish.md · references/

SKILL.md (first lines)

# Add a Learn lesson

Write **one** public lesson for the Learn classroom, then publish it.

This is not the private `teach` workspace (HTML lessons, `MISSION.md`) and
not `umbrella-teach` (Portfolio `/#under-the-hood`). Those live on
[mikepattyn/skills](https://github.com/mikepattyn/skills). This skill lives
next to [scaffold-umbrella-with-turbo-and-pnpm](../scaffold-umbrella-with-turbo-and-pnpm/SKILL.md)
on [mikepattyn/.cursor](https://github.com/mikepattyn/.cursor).

Learn lessons are bite-sized AWS/workshop steps. The reader parks whenever
they want. Nothing grades them.

**Destinations**

| What | Where |
|------|--------|
| This skill | [mikepattyn/.cursor](https://github.com/mikepattyn/.cursor) → `skills/add-learn-lesson/` |
| Lesson markdown | [mikepattyn/learn](https://github.com/mikepattyn/learn) → `curriculum/` |
| Interactive catalog | Learn app → `src/lib/lessons/` when that tree is in the workspace |

Do **not** put lesson bodies in this repo. `.cursor` holds skills. `learn`
holds curriculum.

Read on demand: [references/adhd-voice.md](references/adhd-voice.md),
[references/lesson-shape.md](references/lesson-shape.md),
[references/publish.md](references/publish.md).
Start from [assets/lesson.template.ts](assets/lesson.template.ts) and
[assets/curriculum.template.md](assets/curriculum.template.md).

## Progress

```
Progress:
- [ ] 1. Gather topic, source repo, track
- [ ] 2. Read existing lessons (voice + next number)
- [ ] 3. Outline steps — confirm if the topic was vague
- [ ] 4. Write the TypeScript lesson (if the Learn app is here)
- [ ] 5. Wire the catalog
- [ ] 6. Write curriculum markdown
- [ ] 7. ADHD + secrets pass
- [ ] 8. Publish to mikepattyn/learn
```

On resume, skip ticks that are already done. Do not start a second lesson
in the same run.

## 1. Gather inputs

Infer from the invoking message. Ask only for what is still missing, in
**one** batch.

| Input | Rule |
|-------|------|
| Topic | One job the reader can finish in one sitting |
| Source repo | Public GitHub URL the lesson is about (clone it; do not invent APIs) |
| Track | Default: append to **First contact email**. New track only if they named one |
| Placement | Next number after the last lesson in that track |
| App tree | Learn app present if `src/lib/lessons/catalog.ts` exists |

Do not ask for live secrets. Do not invent AWS account ids, ARNs, passwords,
or Turnstile keys. Point at env var **names** only.

If they named a private repo, stop and say the classroom is public.

## 2. Read what already exists

In parallel:

- `curriculum/` on `mikepattyn/learn` (or a fresh clone)
- `src/lib/lessons/` if the Learn app is in this workspace
- The source repo the lesson teaches (README + the files you will quote)

Next lesson number = max existing `number` in the track + 1. Next markdown
file = `curriculum/NN-kebab-title.md` where `NN` is two-digit (`04-…`).

Id: kebab-case, `[a-z0-9-]+`, unique in the catalog, used in the URL
`/lesson/<id>/<stepId>`.

## 3. Outline, then write

Each lesson is **6–8 steps**. Each step is **1–2 minutes**, one job, one
primary action. Title is a verb or a concrete noun phrase (`Sit Email next
to Contact.Api`, not `Overview`).

Every step needs:

- `id` — short kebab
- `title` — what they do
- `why` — one sentence. Why this step exists. Not a recap.
- `minutes` — integer
- `blocks` — see [lesson-shape](references/lesson-shape.md)

Show the outline if the topic was vague. If they already specified the
lesson, write it.

Copy voice from the existing three lessons. Rules:
[adhd-voice](references/adhd-voice.md).

## 4. TypeScript (Learn app)

When `src/lib/lessons/catalog.ts` exists:

1. Add `src/lib/lessons/<id>.ts` exporting `<id>Lesson` as `Lesson`
2. Import it in `catalog.ts` and append it to `track.lessons` (order = path order)
3. Do not change `types.ts` unless a new block type is truly required
4. `minutes` on the lesson = sum of step minutes (or a honest round number)

Match the templates. No new UI chrome, no quizzes, no streaks.

## 5. Curriculum markdown

Write `curriculum/NN-kebab-title.md` for [mikepattyn/learn](https://github.com/mikepattyn/learn).

Same steps, same order, same commands as the TypeScript. Markdown is the
portable copy: headings for steps, fenced code, tables for env vars, a
short source link at the top.

Update `README.md` on `learn`: add one row to the path table.

From mikepattyn/.cursor, MIT.

Signals

Stars
0
Forks
0
Open issues
0
Last commit (this folder)
Sep 19, 2026 (1 month ago)

From GitHub (fetched Oct 24, 2026).

Details

License
MIT
First seen
Oct 24, 2026
Last checked
Oct 24, 2026

More from mikepattyn

Cite this page

add-learn-lesson skill. Agent Mart. https://agentmart.dev/skills/mikepattyn-add-learn-lesson (last updated 2026-10-24)