Use when user asks about their learning progress or wants study guidance. Triggers on "how am I doing", "my progress", "what should I study next", "show my scores", "what are my weak areas", "review my learning", "how well do I know X", or any request to see quiz results, track improvement, or decide what to focus on next. Also use when the user seems unsure what to study — this skill provides data-driven recommendations.
ALWAYS use the AskUserQuestion tool when asking the user questions, in any context. If you have too many questions for the tool, split them up into multiple calls.
Show the user their learning progress across all topics or for a specific topic. Display quiz scores, module completion, weak areas, score trends, and actionable next steps.
The review skill reads data written by the learn and quiz skills. Here are the formats you'll encounter:
index.json (~/.claude/learning/index.json) — master registry:
{
"topics": {
"topic-slug": {
"displayName": "Topic Name",
"planFile": "plans/topic-slug-2026-03-01.json",
"progressFile": "progress/topic-slug.json",
"created": "2026-03-01",
"lastActivity": "2026-03-01",
"level": "beginner",
"modulesCompleted": 0,
"modulesTotal": 5,
"quizzesTaken": 1,
"overallScore": 0.8
}
}
}
Plan files (~/.claude/learning/plans/<slug>-<date>.json) — contain modules[] with id, title, objectives, keyConcepts, estimatedTime, resources[].
Progress files (~/.claude/learning/progress/<slug>.json) — contain quizzes[] (each with date, module, score, total, questions[]), weakAreas[], strongAreas[], overallScore (percentage 0-100, not fraction).
Progress files now also contain spacedRepetition — a map of concept labels to SM-2 scheduling data (easeFactor, intervalDays, nextReview, repetitions). Concepts with nextReview at or before today are due for review.
Read ~/.claude/learning/index.json.
If file doesn't exist or is empty:
If user specified a topic (e.g., /review kubernetes):
If no topic specified:
All-topics overview format:
── Learning Progress ─────────────────────────────
[Topic Name] (started [date])
Module 1: [Title] [progress bar] [score]% ([N] quizzes)
Module 2: [Title] [progress bar] not started
...
Weak areas: [list]
Next step: [actionable suggestion]
[Topic Name 2] ...
── Due for Review ────────────────────────────────
[Topic]: [N] concepts due ([list top 3 concept names])
[Topic 2]: [N] concepts due ([list top 3])
Run /quiz [topic] to review these concepts.
──────────────────────────────────────────────────
── Summary ───────────────────────────────────────
Active topics: [N]
Total quizzes taken: [N]
Average score: [N]%
Suggested focus: [topic — reason]
──────────────────────────────────────────────────
Due for review section:
If any concepts have nextReview at or before today across any topic, show the "Due for Review" block between the per-topic details and the Summary (as shown above). If no concepts are due, omit this block entirely.
Progress bar rendering:
█ for filled, ░ for emptySingle-topic detailed format:
Always end with one clear, actionable suggestion:
/quiz [topic] to keep them fresh — spaced repetition works best when you review on schedule."/quiz [topic]"/resources [topic] for study materials"