---
name: learn-from-a-project
description: "Design a real project to learn a skill by building something — the fastest way to actually get good, instead of endless tutorials. Use when asked I'm stuck in tutorial hell, what project should I build to learn, learn by doing, or a project to practice X. Produces a project scoped to your level that forces the skills you want to learn, a breakdown into buildable milestones, the specific skills each milestone teaches, where to get help without copying, and a stretch to grow into — because you learn a skill by using it on something real, not by watching more tutorials."
homepage: https://mohitagw15856.github.io/pm-claude-skills/skill/learn-from-a-project.html
metadata:
  {
    "openclaw": { "emoji": "🧠" }
  }
---

# Learn From a Project

Tutorial hell is real: you watch endlessly, feel like you're learning, and can't build anything yourself. Skills stick when you *use* them on a real project — one that forces you to figure things out, hit problems, and solve them. This designs that project: scoped to your level, structured to teach the exact skills you want, with milestones and just enough support that you build (and learn) instead of copy.

## What This Skill Produces

- **A project scoped to your level** — ambitious enough to force learning, small enough to finish (finishing matters)
- **The skills it forces** — how this specific project makes you learn the things you're trying to learn
- **Milestone breakdown** — the project split into buildable chunks, each a small win
- **What each milestone teaches** — so the learning is intentional, not incidental
- **Help without copying** — how to get unstuck (docs, examples, asking) without just copying a solution (which teaches nothing)
- **A stretch goal** — an extension to grow into once the core works

## Required Inputs

Ask for these if not provided:
- **The skill** — what you want to learn by building
- **Your level** — so the project is challenging but finishable
- **Your interests** — a project you'll care about (motivation matters for finishing)
- **Time** — how much you can put in
- **What you've tried** — tutorials done, to avoid repeating

## Framework: Build Something Real, Learn By Doing

1. **Pick a project that forces the skills.** Choose something whose completion *requires* the target skills — so learning them isn't optional.
2. **Scope for finishing.** Ambitious enough to stretch, small enough to actually complete — an unfinished project teaches less and demotivates.
3. **Make it something you care about.** Interest drives the persistence to push through the hard parts.
4. **Break into milestones.** Buildable chunks, each a win and each teaching specific skills — so there's momentum and intentional learning.
5. **Get help the right way.** Struggle a bit first (that's the learning), then use docs/examples/questions — but understand and rebuild, don't copy-paste a solution.
6. **Leave a stretch.** An extension to attempt once it works, to grow further.

## Output Format

### Learn [skill] by building: [the project] · your level [x]

**Why this project:** [how it forces the target skills].
**Milestones**
1. [chunk] → teaches [skill]. 2. [chunk] → teaches [skill]. 3. […]
**When stuck:** [struggle first → docs/examples/ask → understand & rebuild, don't copy].
**Stretch goal:** [an extension once the core works].
**Finishable in:** ~[time for your hours].

## Quality Checks
- [ ] The project genuinely forces the target skills
- [ ] Scoped to be challenging but finishable at the person's level
- [ ] Chosen to be something the person cares about
- [ ] Broken into milestones that each teach specific skills
- [ ] Guides getting unstuck without copy-pasting solutions
- [ ] Includes a stretch goal

## Anti-Patterns
- **Recommending more tutorials** for someone in tutorial hell.
- **A project too big to finish** or too trivial to teach.
- **A boring project** the person won't push through.
- **"Just copy this example"** — which teaches nothing.
- **No milestones** — one overwhelming blob.

## Example Trigger Phrases
- "I'm stuck in tutorial hell for coding — what should I build?"
- "Give me a project to actually learn web development."
- "I want to learn by doing, not watching. Design a project."
- "What should I build to practice my design skills?"
- "A real project to learn Python, scoped to a beginner."
