# Understanding Checkpoints

> Understanding Checkpoints - Adaptive Learning Skill

- Skill: `christianearle01/understanding-checkpoints` (Agent Skill, multi-file: 3 files)
- Install (CLI): `npx skillmds@latest add christianearle01/understanding-checkpoints`
- Raw SKILL.md: https://api.skillmd.com/api/skills/christianearle01/understanding-checkpoints/raw
- Safety review: pending
- Works with: Claude Code, Claude.ai, OpenAI Codex
- Category: Coding & Dev Tools
- Author: christianearle01 (https://skillmd.com/u/christianearle01)
- Updated: 2026-09-22
- Page: https://skillmd.com/skills/christianearle01/understanding-checkpoints

---

# Understanding Checkpoints - Adaptive Learning Skill

**Version:** v5.0.0-alpha.1
**Purpose:** Deliver just-in-time understanding at moments of maximum receptivity
**Auto-Activation:** When user hits configuration walls, errors, or shows confusion patterns

---

## Core Expertise

This skill enables Claude to detect when users hit "walls" during problem-solving and trigger mandatory understanding moments that deliver learning exactly when users are most receptive.

**Key Philosophy:** Configuration understanding delivered DURING problem-solving (when needed) is 10x more effective than BEFORE problem-solving (when hypothetical).

---

## When to Invoke (Auto-Detection)

### Trigger Patterns

**1. Error-Based Triggers**
- User encounters error message containing config-related keywords
- Keywords: "settings.json", "CLAUDE.md", "permission denied", "command not found", "agent", "skill"
- Example: "Error: .claude/settings.json not found"

**2. Repeated Query Triggers**
- User asks about same concept 2+ times in session
- User says "I still don't understand" or similar
- User asks "how do I..." about same feature area

**3. Configuration Block Triggers**
- User tries to use feature requiring config they don't have
- User asks "where do I configure..."
- User attempts command that needs setup first

**4. Confusion Pattern Triggers**
- User asks question, then immediately asks clarifying question
- User says "wait", "hold on", "I'm confused"
- User provides incorrect information showing misunderstanding

**5. Problem-First Setup Marker**
- File `.claude/.problem-first-setup` exists (user came through problem-first wizard)
- This indicates user is in pressure-driven learning mode
- More aggressive checkpoint triggering recommended

---

## How to Execute (Checkpoint Protocol)

### Step 1: Detect and Identify

When trigger pattern detected:

```
[Internal reasoning - don't show user yet]
🛑 Checkpoint Trigger Detected
Type: [Error-Based / Repeated Query / Config Block / Confusion]
Specific Issue: [What wall they hit]
Root Cause: [What understanding is missing]
Checkpoint Category: [Configuration / Concept / Workflow / Architecture]
```

### Step 2: Interrupt with Checkpoint Banner

```
╔═══════════════════════════════════════════════════════════╗
║  🛑 Understanding Checkpoint                              ║
║  Just-In-Time Learning Moment                            ║
╚═══════════════════════════════════════════════════════════╝

You just hit a wall with [specific feature/concept].

Before we continue, let me explain WHY this works the way it does.
This will take 2 minutes and will prevent you from hitting this wall again.
```

### Step 3: Deliver Understanding (Three Components)

**A) The "Explain Like I'm 12" Analogy**

Use concrete, relatable analogy to build intuition:

```
Think of [concept] like [everyday analogy]:

[Analogy that maps technical concept to familiar experience]

Just like [analogy detail], [technical concept] works by [explanation].
```

**Example:**
```
Think of CLAUDE.md like a notebook you hand to a substitute teacher:

When a new teacher (Claude in a new session) walks into your classroom,
they need context about the students, curriculum, and class rules.

CLAUDE.md is that notebook - it persists information across sessions
so Claude doesn't have to relearn your project every time.
```

**B) Show Intermediate States (Not Just Input/Output)**

Reveal HOW transformations happen:

```
Here's what happens behind the scenes:

Step 1: [First transformation]
  → [Intermediate state 1]

Step 2: [Second transformation]
  → [Intermediate state 2]

Step 3: [Final result]
  → [Output state]

This is why [concept] works.
```

**C) Traditional vs Claude-Assisted Comparison**

Show the difference explicitly:

```
Traditional Approach:
  1. [Manual step 1] (X minutes)
  2. [Manual step 2] (Y minutes)
  3. [Manual step 3] (Z minutes)
  → Total: [X+Y+Z] minutes
  → Pain points: [List]

Claude Code Approach:
  1. [Automated/assisted step 1]
  2. [Automated/assisted step 2]
  3. [Automated/assisted step 3]
  → Total: [Much less] minutes
  → Benefits: [List]

The KEY difference: [Explain what changed]
```

### Step 4: Verification (Mandatory Understanding Check)

User MUST demonstrate understanding to proceed:

```
╔═══════════════════════════════════════════════════════════╗
║  ✅ Understanding Verification                            ║
╚═══════════════════════════════════════════════════════════╝

To make sure this clicked, can you explain back to me:

[Choose ONE verification method based on complexity:]

Option A - Explain Back:
  "In your own words, why does [concept] work?"

Option B - Predict Outcome:
  "If I changed [parameter X], what would happen?"

Option C - Identify When to Apply:
  "When would you use [concept] vs not use it?"

[User must respond before continuing with their original task]
```

### Step 5: Resume Original Task

After user demonstrates understanding:

```
✅ Perfect! You've got it.

Now let's apply this to your problem: [original user question]

[Continue with solution, now that user understands WHY]
```

---

## Checkpoint Templates by Category

### Configuration Checkpoints

**Trigger:** User needs to configure something they don't understand

**Template:**
```
🛑 Understanding Checkpoint: [Config Name]

You need to configure [X]. Let me explain WHY this configuration exists:

Analogy: [ELI12 analogy]

How it works:
[Show intermediate states]

Traditional vs Claude-assisted:
[Comparison]

Verification: In your own words, what does [config] do and why do you need it?
```

### Concept Checkpoints

**Trigger:** User confused about how something works (agents, skills, MCP, etc.)

**Template:**
```
🛑 Understanding Checkpoint: [Concept Name]

You're working with [concept]. Here's the mental model:

Analogy: [ELI12 analogy]

Behind the scenes:
[Show intermediate states]

When to use it:
- Use [concept] when: [scenarios]
- Don't use [concept] when: [scenarios]

Verification: Can you predict what would happen if [scenario]?
```

### Workflow Checkpoints

**Trigger:** User doesn't understand the sequence of steps

**Template:**
```
🛑 Understanding Checkpoint: [Workflow Name]

You're trying to [goal]. Here's the RIGHT sequence:

Traditional approach:
[Linear list with pain points]

Claude Code approach:
[Optimized flow with benefits]

Key difference: [What changed and why]

Verification: What would happen if you skipped step [X]?
```

### Architecture Checkpoints

**Trigger:** User making architectural decision without understanding trade-offs

**Template:**
```
🛑 Understanding Checkpoint: Architecture Decision

You're choosing between [Option A] and [Option B].

Here are the trade-offs:

Option A ([name]):
  ✅ Pros: [list]
  ❌ Cons: [list]
  Best when: [scenarios]

Option B ([name]):
  ✅ Pros: [list]
  ❌ Cons: [list]
  Best when: [scenarios]

Verification: Given YOUR project context, which option makes sense and why?
```

---

## Checkpoint Difficulty Levels

Adjust verification difficulty based on user's demonstrated understanding:

**Level 1: Surface Understanding**
- User provides generic explanation
- Doesn't connect to their specific problem
- Uses vague language ("it makes things easier")
→ **Response:** "That's partially correct, but let me clarify..." [Re-explain with more specifics]

**Level 2: Functional Understanding**
- User explains mechanism correctly
- Connects to their problem
- Uses specific terminology
→ **Response:** "Exactly! You've got it." [Proceed]

**Level 3: Deep Understanding**
- User explains mechanism AND trade-offs
- Predicts edge cases
- Suggests when NOT to use
→ **Response:** "Outstanding! That's expert-level understanding." [Proceed with confidence]

**Adaptive Rule:** If user shows Level 1 understanding, increase checkpoint difficulty on next trigger. If Level 3, decrease checkpoint frequency (user is learning well).

---

## Problem-First Integration

When `.claude/.problem-first-setup` file exists:

```bash
# Read the setup marker
setup_date=[from file]
user_problem=[from file]
problem_category=[from file]
first_session=[from file]
```

**Checkpoint Adjustments:**
- **First session:** Higher checkpoint frequency (user is new)
- **Subsequent sessions:** Check if user is hitting SAME walls (indicates learning gap)
- **Problem context:** Tailor analogies to user's problem domain

**Example:**
If `problem_category=bug-fix` and user hits CLAUDE.md checkpoint, use bug-tracking analogy:
```
Think of CLAUDE.md like a bug report template:

When a new developer picks up a bug report, they need:
- What the bug is
- How to reproduce it
- What the expected behavior should be

CLAUDE.md gives Claude that context about your PROJECT, so each session
starts with the "bug report" already filed.
```

---

## Success Metrics (Alpha Goals)

**Checkpoint Effectiveness:**
- Target: 80% pass rate on first verification attempt
- Measure: Track user responses, count Level 2-3 understanding

**Learning Retention:**
- Target: Users don't hit same wall twice in session
- Measure: Track repeat triggers for same concept

**User Experience:**
- Target: Users report "aha moments" not "interruption annoyance"
- Measure: Qualitative feedback (ask at end of session)

---

## Example Checkpoint Flow (Complete)

**User:** "How do I make Claude remember my project between sessions?"

**Claude (Internal):**
```
🛑 Checkpoint Trigger Detected
Type: Repeated Query (asked similar question earlier)
Specific Issue: Session persistence / context retention
Root Cause: Doesn't understand CLAUDE.md purpose
Checkpoint Category: Configuration
```

**Claude (User-Facing):**
```
╔═══════════════════════════════════════════════════════════╗
║  🛑 Understanding Checkpoint                              ║
║  Just-In-Time Learning Moment                            ║
╚═══════════════════════════════════════════════════════════╝

You just asked about session persistence. This is a CRITICAL concept.

Before we continue, let me explain WHY Claude Code handles this differently than other tools.

━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━

📚 The Analogy:

Think of Claude like a brilliant consultant who visits your office:

Every morning, they walk in with NO MEMORY of yesterday's conversation.
You have to re-explain: "Here's my company, here's what we're building,
here's what we discussed yesterday..."

CLAUDE.md is like leaving a notebook on their desk that says:
"Read this FIRST before we talk. It has everything you need to know."

━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━

🔍 Behind the Scenes:

Here's what happens when Claude Code starts a session:

Step 1: Claude reads CLAUDE.md (if it exists)
  → Loads: Project purpose, tech stack, patterns, constraints
  → Result: Claude now has baseline context

Step 2: Claude reads your current query
  → "How do I add authentication?"
  → But now Claude ALREADY knows: your tech stack, security requirements

Step 3: Claude answers with project-specific context
  → Not generic: "Here's how to add auth in React"
  → But specific: "Given your Next.js 14 setup with Supabase, here's how..."

Without CLAUDE.md: Claude gives generic answers (wastes tokens, slower)
With CLAUDE.md: Claude gives tailored answers (saves tokens, faster, better)

━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━

📊 Traditional vs Claude-Assisted:

Traditional Approach (No CLAUDE.md):
  1. Start Claude Code (0 context)
  2. User re-explains project (500 tokens wasted)
  3. User asks question (200 tokens)
  4. Claude answers generically (needs more back-and-forth)
  → Total: 700+ tokens per session startup
  → Pain: Repetitive, slow, generic answers

Claude Code Approach (With CLAUDE.md):
  1. Start Claude Code (auto-reads CLAUDE.md)
  2. Claude has baseline context (0 token waste)
  3. User asks question directly (200 tokens)
  4. Claude answers with project context (targeted solution)
  → Total: 200 tokens per session startup
  → Benefit: 71% token savings, instant context, specific answers

The KEY difference: CLAUDE.md is read ONCE per session (cheap)
vs re-explaining EVERY session (expensive).

━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━

╔═══════════════════════════════════════════════════════════╗
║  ✅ Understanding Verification                            ║
╚═══════════════════════════════════════════════════════════╝

To make sure this clicked, can you explain back to me:

In your own words, what does CLAUDE.md do and why does it save tokens?

[Wait for user response]
```

**User:** "It's like a project context file that Claude reads at the start so I don't have to re-explain my project every time, which saves tokens."

**Claude:**
```
✅ Exactly! You've got it.

CLAUDE.md = Persistent project memory that loads once per session.

Now let's create YOUR CLAUDE.md. I'll help you write one that captures
your project context effectively.

[Proceed with creating CLAUDE.md for user's project]
```

---

## Anti-Patterns (What NOT to Do)

### ❌ Don't Checkpoint for Mechanical Tasks

**Bad:**
```
User: "Can you rename this variable?"
Claude: 🛑 Checkpoint! Let me explain variable naming conventions...
```

**Why Wrong:** User isn't confused, they're delegating mechanical work. No learning gap.

### ❌ Don't Checkpoint Without Clear Trigger

**Bad:**
```
User: "Add error handling to this function"
Claude: 🛑 Checkpoint! Let me explain error handling philosophy...
```

**Why Wrong:** User understands error handling, they're asking for implementation. No wall hit.

### ❌ Don't Make Checkpoints Optional

**Bad:**
```
Claude: Here's the solution. [Click here if you want to understand why it works]
```

**Why Wrong:** Users will skip understanding (easy > simple). Checkpoints must be mandatory interruptions.

### ❌ Don't Checkpoint Same Concept Twice (Same Session)

**Bad:**
```
[User demonstrates understanding of CLAUDE.md]
[10 minutes later, user asks CLAUDE.md question]
Claude: 🛑 Checkpoint! Let me explain CLAUDE.md again...
```

**Why Wrong:** User already passed checkpoint. This is implementation question, not conceptual gap.

**Correct Approach:** Track passed checkpoints per session, only re-trigger if user shows regression.

---

## Integration with Other Skills

**With `personalization-engine`:**
- Track checkpoint pass/fail rates per user
- Adapt difficulty based on user's learning speed
- Remember which concepts user struggles with

**With `projects-registry`:**
- Different checkpoint thresholds per project type
- Tailor analogies to project domain (e.g., e-commerce vs ML)

**With `quality-reviewer`:**
- Trigger checkpoints when quality issues detected
- "You're about to commit code with security issue - let me explain why this is dangerous"

---

## Version History

- **v5.0.0-alpha.1 (2025-01-13):** Initial implementation for Problem-First Setup
  - Basic trigger detection (errors, repeated queries, confusion)
  - Four checkpoint categories (configuration, concept, workflow, architecture)
  - Mandatory verification system
  - Problem-first integration

---

## Future Enhancements (Post-Alpha)

**v5.0.0-beta:**
- Advanced trigger detection (semantic analysis of confusion patterns)
- Multi-level verification (adapt difficulty based on user's demonstrated skill)
- Checkpoint analytics (which concepts are hardest? where do users struggle?)
- Personalized analogies based on user's background (from personalization-engine)

**v5.1.0+:**
- AI-driven checkpoint suggestion ("Users like you typically struggle with X - want to learn it now?")
- Checkpoint completion dashboard (gamification: "You've mastered 12/20 core concepts")
- Recursive learning paths (detect foundation gaps, auto-drill down)
- A/B testing (measure checkpoint effectiveness vs no-checkpoint control)

---

**Status:** Active in v5.0.0-alpha.1
**Last Updated:** 2025-01-13

