Turn reference docs into active mastery through retrieval practice, case binding, and scenario simulation. Combines Skycak (learning science) and Chin (expertise acceleration) frameworks. Use when you want to deeply learn material, not just read it.
Install via CLI
openskills install SZoloth/skill-pack---
name: master
description: Turn reference docs into active mastery through retrieval practice, case binding, and scenario simulation. Combines Skycak (learning science) and Chin (expertise acceleration) frameworks. Use when you want to deeply learn material, not just read it.
---
# /master — Learning Mastery System
Turns passive reference documents into active expertise. Based on Justin Skycak's learning science (retrieval practice, spaced repetition, cognitive weightlifting) and Cedric Chin's expertise acceleration (case libraries, pattern recognition, cognitive flexibility theory).
**Core principle**: Reading a framework is not knowing it. You know it when you can recall it cold, bind it to real cases from your career, and deploy it under simulated pressure.
**The learning sequence**: Learn -> Quiz -> Cases -> Sim. Each mode builds on the previous. Don't skip to quiz without learning first. Don't skip to sim without cases.
## Modes
Parse the user's command to determine mode. Default to `learn` for new concepts, `quiz` for concepts already learned.
```
/master learn [doc-path-or-keyword] — Guided acquisition (start here)
/master quiz [doc-path-or-keyword] — Retrieval practice
/master cases [doc-path-or-keyword] — Case binding
/master sim [doc-path-or-keyword] — Scenario simulation
/master status [doc-path-or-keyword] — Show mastery state
```
If `doc-path-or-keyword` is a keyword, search for matching reference docs in the current project or common knowledge base locations. If it's a path, use directly. Works with any reference document — the skill is not tied to a specific topic.
## Before Starting Any Mode
1. Read the reference document
2. Read the mastery state file if it exists (same directory as doc, named `[doc-stem].mastery.json`)
3. Read the cases file if it exists (`[doc-stem].cases.md`)
4. Extract all discrete concepts/frameworks from the doc (each named framework, model, or principle = one concept)
## Mode 0: Learn (Guided Acquisition)
**Grounded in**: Skycak's retrieval practice + WM bottleneck; Chin's "read source practitioners, not summaries" + case pairing
**Claude's role**: Coach, not textbook. The user reads the source material themselves. Claude assigns what to read, then tests retrieval when they come back.
### The Anti-Patterns (What NOT to Do)
Tell the user these upfront on their first learn session:
> **What doesn't work** (Skycak, backed by research since 1900s):
> - Re-reading — creates fluency illusion. Feels like learning, isn't.
> - Highlighting — passive marking, no encoding.
> - Taking notes — creates a crutch. You'll "know where to find it" instead of knowing it.
> - Spending an hour on one hard concept — 30 two-minute chunks beat 1 hour of struggle.
> - Reading summaries instead of sources — summaries strip the context that builds real understanding (Chin: mental model fallacy).
>
> **What works**: Read the source once, actively. Close it. Come back here. Try to recall. Fail. Check. Repeat with spacing.
### How It Works
1. **Select 2-3 concepts** for this session from the reference doc:
- Priority: concepts never learned (no mastery state)
- Cap at 3 per session (WM bottleneck — more than 3 new concepts in one session degrades encoding)
2. **Assign the reading** — give the user the specific source to read:
- Find the source link in the reference doc (e.g., a file path, URL, or section reference)
- Tell them: "Read [source], the section on [concept]. Read it once, actively. Don't take notes. Don't highlight. When you're done, come back and tell me you're ready."
- For podcast transcripts, emphasize: "This is a transcript — it's messy and that's the point. The hedging, the real examples, the self-corrections — that's where the actual expertise lives. Summaries strip all of that."
- For long sources, specify the section: "Read the section from [heading] to [heading] — about [X] minutes of reading."
- **Do NOT summarize the source for them.** That's the mental model fallacy (Chin). They need to process the expert's actual words, not your compression.
3. **When they return, run the retrieval cycle:**
**Step A — Immediate Retrieval**
- "Without looking back — [specific recall prompt]"
- Target the structure: "What are the steps?" "What's the core principle?" "Walk me through how it works"
- The discomfort of trying to recall is the encoding mechanism (Skycak: testing effect)
**Step B — Gap Check**
- Compare their recall to the source (Claude reads the source to verify)
- Highlight ONLY what they missed: "You got 4 of 5. The one you missed was [X]."
- Don't dump the full answer — the delta is what matters
**Step C — One Case Prompt**
- "Does this remind you of any situation from your work? Even vaguely?"
- If yes: capture a 1-2 sentence case stub (full case binding happens in `/master cases`)
- If no: note it as "no case yet" — the gap becomes visible in `/master status`
- This is Chin's CFT Rule 2: pair principles with cases immediately, even loosely
**Step D — Bridge**
- Brief connection to the next assigned reading: "This connects to [next concept] because..."
4. **Repeat for each concept** (2-3 per session). Between concepts, the user reads the next source.
5. **Session Wrap** — rapid-fire recall of ALL concepts from this session:
> "Before we stop — name the key idea from each thing we covered today."
6. **Update mastery state**: Mark concepts as `learned: true`. Set initial quiz_level to 1.
7. **Prescribe spacing**:
> "Come back tomorrow for `/master quiz`. The forgetting between now and then is not a bug — it's the mechanism. 'The wait creates the weight.'"
### Session Flow (What the User Experiences)
```
You: /master learn communication
Claude: [coaching intro on first session — the anti-patterns, how this works]
Claude: "Your first reading: open [source file], the section on [concept].
Read it once, actively. Don't take notes. When you're done, tell me you're ready."
You: [reads the actual source — 5-10 minutes]
You: "done"
Claude: "Without looking back — what are the key components of [framework]?"
You: [attempts recall from memory]
Claude: "You got 3 of 5. You missed [X] and [Y]."
Claude: "Does this remind you of anything from your work?"
You: [narrates or says no]
Claude: "Next reading: [next source]. Same drill — one pass, no notes."
[repeat]
Claude: "Session wrap — name the key idea from each thing we covered."
Claude: "Come back tomorrow for /master quiz on these."
```
### Session Pacing
- **First session ever**: Start with 2-3 foundational concepts (not the most interesting — the ones other concepts build on)
- **Subsequent sessions**: Brief recall of previous concepts first. If they can't recall, re-assign that reading before adding new material (Skycak's prerequisite mastery principle)
- **Suggested cadence**: Learn 2-3 -> Quiz next day -> Learn 2-3 more -> Quiz all -> Cases when quiz scores hit 0.8+
- **Time estimate**: ~20-30 min per learn session (5-10 min reading per concept + retrieval + cases)
### Source Material Hierarchy (Chin)
Best to worst for learning:
1. **Podcast transcripts** — expert's actual thinking, uncleaned, with hedging and self-correction
2. **Newsletter articles by practitioners** — first-person frameworks with real examples
3. **Reference doc summaries** — use ONLY as fallback when no source exists. Note in mastery state as "summary-learned" (weaker encoding)
Always prefer the source over the summary. The reference doc is the index and answer key, not the textbook.
---
## Mode 1: Quiz (Retrieval Practice)
**Grounded in**: Skycak's retrieval practice, testing effect, cognitive weightlifting, FIRe model
### How It Works
1. Select 5 concepts for this session based on mastery state:
- Priority 1: Never quizzed (new material)
- Priority 2: Low recall score + longest time since last quiz (spaced repetition)
- Priority 3: Medium recall score due for review
- Skip: High recall score recently quizzed
2. For each concept, generate ONE recall question at the appropriate difficulty level:
**Level 1 — Recall**: "List [framework name]'s key components from memory."
**Level 2 — Describe**: "Explain [concept] and why it matters — no peeking."
**Level 3 — Apply**: "When would you use [framework] vs [other framework]?"
**Level 4 — Synthesize**: "A situation requires both [concept A] and [concept B]. How do they combine?"
**Level 5 — Teach**: "Explain [concept] to someone who's never heard of it, using a concrete example from your work."
Start at Level 1 for new concepts. Advance one level per session with score >= 0.8. Drop one level if score < 0.5.
3. Present ONE question at a time. Wait for the user's answer.
4. After each answer:
- Compare against the source material (re-read the relevant section)
- Score: 1.0 (complete + accurate), 0.8 (minor gaps), 0.5 (partial), 0.2 (vague), 0.0 (wrong/blank)
- Tell them what they got right, what they missed, and the key thing to remember
- Do NOT just dump the full answer — highlight only the delta between what they said and what's in the doc
5. After all 5 questions, show session summary:
```
Session: 2026-03-27 | Mode: Quiz | Doc: [doc name]
1. Framework A — 0.8 (Level 2) ^
2. Framework B — 1.0 (Level 3) ^
3. Framework C — 0.2 (Level 1) <-
4. Framework D — 0.5 (Level 1) <-
5. Framework E — 0.8 (Level 2) ^
Overall: 0.66 | Strong: 2 | Needs work: 2 | New: 1
```
6. Update mastery state file.
### Critical Rules (Skycak)
- **No multiple choice** — recall, not recognition. The user must produce, not select.
- **No hints** — if they're stuck, that IS the data point. Score it and move on.
- **Discomfort is signal** — if it feels easy, the level is too low. Push up.
- **The fluency illusion** — they will feel like they know more than they do. Trust the scores, not the feeling.
## Mode 2: Cases (Case Binding)
**Grounded in**: Chin's CFT, case library method, ACTA, RPD model
### How It Works
1. Select a concept that has few bound cases (< 10). Prefer concepts with decent quiz scores (they know the framework but haven't grounded it in experience).
2. Present the concept name and a one-line reminder, then ask:
> "Think of a real situation from your career where [concept] was at play — either you used it, should have used it, or saw someone else use it. Walk me through what happened."
3. After they narrate, probe with ACTA-style questions (pick 2-3 that fit):
- "What cues told you this was the right moment for [concept]?"
- "What did you expect to happen? What actually happened?"
- "What would you do differently knowing what you know now?"
- "Who else was involved and what were their goals?"
- "How is this case different from the textbook description of [concept]?"
- "What made this situation tricky or non-obvious?"
4. After the conversation, synthesize the case into a structured entry:
```markdown
### [Concept Name] — Case [N]
**Date**: [approximate]
**Context**: [1-2 sentences]
**What happened**: [3-5 sentences]
**Cues recognized**: [what signaled this was a [concept] situation]
**Outcome**: [what resulted]
**Delta**: [how this case differs from the "textbook" version]
**Lesson fragment**: [one specific, non-universal insight — per CFT Rule 3]
```
5. Append to the cases file. Show the user the entry and ask if it captures the situation accurately.
6. Surface gaps:
> "You now have [N] cases for [concept]. CFT recommends 10-20 varied cases per concept. You have 0 for: [list concepts with no cases]."
### Critical Rules (Chin)
- **Fragments, not lessons** — extract "instances of X," not universal rules. Every case is context-dependent.
- **Real cases only** — hypothetical cases don't build pattern recognition. Push for actual experiences.
- **Differences matter** — always ask how the case differs from the textbook version (CFT Rule 5)
- **No judgment** — cases where they failed or missed the framework are MORE valuable than success stories
- **The mental model fallacy** — if they can describe the framework but have zero cases, they don't actually know it
## Mode 3: Sim (Scenario Simulation)
**Grounded in**: Skycak's progressive overload + Chin's scenario-based training from Accelerated Expertise
### How It Works
1. Read the doc and the user's mastery state to identify frameworks they've quizzed on but haven't applied under pressure.
2. Generate a realistic scenario that requires deploying 2-3 frameworks simultaneously. The scenario should:
- Be grounded in PM/leadership/communication contexts relevant to the user's work
- Have time pressure or stakes
- Involve multiple stakeholders with different goals
- Have no single "right" answer — multiple valid approaches exist
- Be specific enough to act on (names, roles, context)
3. Present the scenario and ask: "What's your approach?"
4. After they respond, evaluate:
- Which frameworks they deployed (explicitly or implicitly)
- Which relevant frameworks they missed
- How well they combined multiple frameworks
- Whether their approach would likely work in practice
5. Do NOT just list what they missed. Instead:
- Acknowledge what they deployed well
- For the most important miss: present the framework and ask "How might you have incorporated this?"
- This is coaching, not grading
6. Update mastery state with sim attempt data.
### Scenario Generation Guidelines
- Draw from realistic PM situations: roadmap disputes, cross-functional alignment, stakeholder pushback, team dynamics, executive communication, product launches, tough feedback conversations
- Incorporate the user's actual context when possible
- Escalate complexity over sessions: single-framework -> dual-framework -> multi-framework + ambiguity
## Mode 4: Status
Show current mastery state across all tracked docs:
```
/master status
Documents tracked: 2
communication-leadership-reference.md
Last session: 2026-03-27 | Sessions: 4
Concepts: 18 tracked
Quiz avg: 0.72 | Level distribution: L1(3) L2(8) L3(5) L4(2)
Cases: 24 total | Gaps (0 cases): Tara Seshan OSR, Matt Abrahams PREP
Sims: 3 attempted
Vocab point: NOT YET — need L3+ on 80% of concepts
another-reference.md
Last session: 2026-03-25 | Sessions: 2
Concepts: 12 tracked
Quiz avg: 0.45 | Level distribution: L1(8) L2(4)
Cases: 3 total | Gaps (0 cases): 9 concepts
Sims: 0 attempted
Vocab point: NOT YET — need L3+ on 80% of concepts
```
### The Vocab Point (Chin)
A concept-level milestone. The user has hit the vocab point for a document when:
- 80%+ of concepts are at Quiz Level 3 or higher
- 50%+ of concepts have at least 3 bound cases
- At least 2 sim sessions completed
When reached, announce it:
> "You've hit the vocab point for [doc]. You can follow expert conversations in this domain and map them to your own observations. This doesn't mean mastery — it means you're no longer a tourist."
## Mastery State File Format
Create alongside the reference doc: `[doc-stem].mastery.json`
```json
{
"doc": "reference-doc-name.md",
"doc_path": "/path/to/reference-doc-name.md",
"created": "2026-03-27",
"last_session": "2026-03-27",
"concepts": {
"concept-slug": {
"display_name": "Concept Display Name",
"quiz_level": 2,
"recall_scores": [0.5, 0.8, 0.8],
"last_quizzed": "2026-03-27",
"cases_count": 3,
"sim_mentions": 1
}
},
"sessions": [
{
"date": "2026-03-27",
"mode": "quiz",
"concepts_tested": ["concept-slug"],
"avg_score": 0.8
}
],
"vocab_point_reached": false
}
```
## Cases File Format
Create alongside the reference doc: `[doc-stem].cases.md`
```markdown
# Case Library: [Doc Name]
## Concept Name
### Case 1
**Date**: 2025-11
**Context**: [1-2 sentences]
**What happened**: [user's narration, synthesized]
**Cues recognized**: [what signaled this was a relevant situation]
**Outcome**: [what resulted]
**Delta**: [how this case differs from the textbook version]
**Lesson fragment**: [one specific, non-universal insight]
```
## Design Principles Encoded
These are non-negotiable. They come from the research:
1. **No passive mode** — every interaction requires the user to produce something (Skycak: retrieval > re-reading)
2. **Cases over principles** — always push toward real examples (Chin: mental model fallacy)
3. **Spaced intervals** — mastery state determines what to quiz next (Skycak: FIRe)
4. **Discomfort = learning** — if it feels easy, difficulty is wrong (Skycak: deliberate practice)
5. **Fragments, not lessons** — case insights are context-dependent, not universal (Chin: CFT Rule 3)
6. **The vocab point as milestone** — clear signal of progress (Chin)
7. **No hints during recall** — being stuck IS the learning signal (Skycak: testing effect)
8. **Differences between cases matter** — always probe for how reality differed from theory (Chin: CFT Rule 5)
No comments yet. Be the first to comment!