progresslisted
Install: claude install-skill kubilaiswf/claude-tutor
# Progress — Learner Dashboard
Read-only view over the learner's state (formats in [../teach/references/state-format.md](../teach/references/state-format.md)). Present it in the learner's language. **Change no files.**
Because this skill writes nothing, it never touches the streak: opening a dashboard is not study activity. Report `streak.days` exactly as stored and leave `last_study_date` alone — the study day is recorded by teach, quiz, exam, and review under the idempotent-per-calendar-day rule in state-format.md.
## Flow
1. Read `~/.claude/tutor/profile.json` and every `courses/*/` (resolve `~` to an absolute path yourself). No state at all → explain the system in three lines and offer to start a course with the **teach** skill.
2. Render, per course:
```
Music Theory — Harmony Unit 3/6 · Lesson 2
Mastery ████████░░░░░░░ 9 mastered · 5 learned · 6 learning · 12 new
Quizzes U1 85% · U2 92% Midterm: pending (after U3)
Reviews 7 due today · next batch Fri · 4 cards retired
Weak secondary dominants · cadence identification (2 open misconceptions)
```
- Use the exact four status names from state-format.md (`new`, `learning`, `learned`, `mastered`). Never invent buckets and never fold `learned` into `mastered` — that would violate the honesty rules below.
- **The due count excludes retired cards.** Count only cards with `due` ≤ today and `retired` not `true`, so this number matches w