--- 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." --- # 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."