SKILL.md
Overview
Generate learning ideas based on the learner's profile and add selected ones to ~/.claude/learning/backlog.md. Ideas can be hands-on projects (structured by milestones) or reading/article recommendations.
When to Use
- User wants to discover what to learn next
- User has a specific topic in mind and wants it structured
- Backlog is empty and user wants to start learning
- After completing a lesson, to find the next one
Prerequisites
Profile must exist at ~/.claude/learning/profile.md. If not, tell the user: "No learning profile found. Run /init-learning first to set up your profile."
Process
- Read context:
- ~/.claude/learning/profile.md — gaps, goals, session_length - ~/.claude/learning/lessons/archive/ — scan "Still Fuzzy On" sections and abandoned lesson topics - ~/.claude/learning/backlog.md — avoid duplicating existing items - ~/.claude/learning/insights.md — if it exists, read recurring struggles and confirmed strengths to inform suggestions
- Determine source of ideas:
- If the user passed an argument (e.g., /new-learning "WebSockets"): focus on that topic - If no argument: use gaps from profile + "still fuzzy" themes from archives + recurring struggles from insights
- Search for current resources:
- Use web search to find up-to-date articles, tutorials, docs, and project ideas - Prioritize recent, well-regarded resources
- Propose 3-5 ideas using this format for each:
``` ### 1. [Title] Gap: [which gap from profile] | Effort: [N] sessions | Style: hands-on / reading
[1-2 sentence description of what you'll build or learn]
Milestones (if hands-on): 1. [First milestone — simplest, get something working] 2. [Build on it] 3. [Polish or advanced feature] ```
Example: ``` ### 1. Build a REST API with Express + PostgreSQL Gap: backend | Effort: 3 sessions | Style: hands-on
Build a task management API from scratch — routes, validation, database, and tests.
Milestones: 1. Scaffold Express app, define routes, return mock data 2. Connect PostgreSQL, implement CRUD operations 3. Add input validation, error handling, and integration tests ```
- User picks — present as a numbered list. Ask: "Which ones should I add to your backlog? (e.g., 1, 3)"
- Write to backlog.md:
- Create the file if it doesn't exist (with ## Backlog header) - Append selected items as checkbox lines - Format: - [ ] <title> — gap: <gap> — effort: <N sessions> — style: <hands-on | reading>
Important
- Do NOT re-suggest topics from abandoned lessons (check archive for
status: abandoned) - Calibrate milestone size to the user's
session_lengthfrom profile - Mix hands-on and reading suggestions — don't propose only one type
- If the user provides a specific topic, still search the web for the best current resources
- Postponed lessons are NOT re-suggested here — they show up in
/learnas resumable - If insights.md exists, use it to inform suggestions: prioritize topics related to recurring struggles, avoid suggesting basics on confirmed-strength topics
- If insights.md does not exist, skip it silently — do not error or prompt the user