Install any skill in seconds. Free to start, no credit card required.
Get Started Free →Designs evidence-based Python practice exercises with varied formats, difficulty progression, spaced repetition, test cases, hints, and rubrics.
.claude/skills/aiskillstore-exercise-designer/SKILL.md| Test case | Without → With | Effect | Δ tokens | Δ turns |
|---|---|---|---|---|
| case-16 | ✗→✓ | ▲ Improved | 191% | 0% |
| case-06 | ✗→✓ | ▲ Improved | 258% | 0% |
| case-07 | ✗→✓ | ▲ Improved | 121% | 0% |
| case-08 | ✗→✓ | ▲ Improved | 114% | 0% |
| case-09 | ✗→✓ | ▲ Improved | 131% | 0% |
The exercise-designer skill helps educators create varied, evidence-based practice exercises that target specific learning objectives and apply proven strategies from cognitive science. This skill designs exercises with appropriate difficulty progression, spaced repetition opportunities, and clear assessment criteria.
Constitution v4.0.1 Alignment: This skill implements evals-first exercise design—defining success criteria BEFORE creating exercises, integrating Section IIb (AI Three Roles Framework) co-learning exercise types, and aligning with Section IIa (4-Layer Method) for layer-appropriate exercises.
Use this skill when:
Required:
Optional:
CRITICAL WORKFLOW:
Template:
markdown### Exercise Design (Evals-First) **Source**: Chapter spec at `specs/part-X/chapter-Y/spec.md` **Success Evals from Spec**: 1. 75%+ write valid specification (measured by final exercise) 2. 80%+ identify vague requirements (measured by quiz) **Learning Objectives** (from spec): - LO-001: Write clear specifications - LO-002: Identify ambiguous requirements **Exercise Design to Achieve Objectives → Evals**: - Ex-1: Fill-in incomplete spec (LO-001, starter difficulty) - Ex-2: Debug vague spec (LO-002, core difficulty) - Ex-3: Write complete spec from scratch (LO-001, stretch difficulty) → Tests Eval #1 - Ex-4: Evaluate spec clarity (LO-002, stretch difficulty) → Tests Eval #2
Do NOT create exercises without:
Understand what learners should achieve:
Read exercise type patterns for variety:
bashRead reference/exercise-types.md
Available types:
CRITICAL: AI-native exercises must teach students to work WITH AI in bidirectional co-learning partnership (per Section IIb forcing functions), not just independently.
AI-Collaborative Exercise Categories:
1. Spec-to-Code with AI (AI as Student):
markdown### Exercise: User Authentication **Task**: Write a specification that produces working OAuth implementation on first try. **Instructions**: 1. Write detailed specification for OAuth authentication 2. Provide spec to AI 3. Evaluate AI's generated code 4. Identify gaps in your spec if code doesn't match intent **Assessment**: - Spec clarity (5 pts): Unambiguous requirements - Completeness (5 pts): All edge cases specified - AI output quality (5 pts): Code matches spec without clarification - Reflection (5 pts): What you learned about spec-writing from AI's response
2. Convergence Iteration (AI as Co-Worker):
markdown### Exercise: Optimize Database Query **Task**: Iterate with AI to improve query performance. **Instructions**: 1. Start with provided slow query 2. Ask AI for improvement suggestions 3. Evaluate AI's suggestions (don't blindly accept) 4. Implement chosen approach 5. Document what YOU decided vs. what AI suggested **Assessment**: - Iteration quality (5 pts): Clear back-and-forth refinement - Decision-making (5 pts): Strategic choices explained - Convergence (5 pts): Better solution than either party alone - Validation (5 pts): Verified AI's suggestions work correctly
3. Pattern Learning from AI (AI as Teacher):
markdown### Exercise: Discover Pythonic Patterns **Task**: Learn a new pattern from AI suggestion. **Instructions**: 1. Implement solution using your current approach 2. Ask AI: "How would you improve this for Pythonicity?" 3. Analyze AI's suggestion 4. Explain what pattern AI taught you and why it's better 5. Apply pattern to 2 new problems **Assessment**: - Understanding (5 pts): Clearly explains AI's suggested pattern - Application (5 pts): Successfully applies to new contexts - Evaluation (5 pts): Identifies when pattern is/isn't appropriate - Reflection (5 pts): What you learned that you didn't know before
4. AI Output Validation (Critical Skill):
markdown### Exercise: Verify AI-Generated Code **Task**: Validate AI-generated authentication code for security. **Instructions**: 1. Review provided AI-generated code 2. Identify security vulnerabilities 3. Write test cases that expose issues 4. Propose fixes 5. Document validation checklist you used **Assessment**: - Vulnerability detection (5 pts): Found critical issues - Test coverage (5 pts): Tests expose problems - Fix quality (5 pts): Secure improvements - Validation process (5 pts): Systematic approach documented
5. Spec Refinement from AI Feedback (Bidirectional Learning):
markdown### Exercise: Iterative Spec Improvement **Task**: Refine specification based on AI clarifying questions. **Instructions**: 1. Write initial specification 2. AI asks clarifying questions (or you simulate what AI might ask) 3. Improve spec to answer questions proactively 4. Compare initial vs. final spec quality **Assessment**: - Initial spec (2 pts): Baseline quality - Question anticipation (3 pts): Identified ambiguities - Refinement quality (3 pts): Clearer final spec - Learning (2 pts): Documented what makes specs clear
Exercise Balance for AI-Native Content:
Read cognitive science strategies to apply:
bashRead reference/evidence-based-strategies.md
Key strategies:
Create 3-5 exercises using multiple types:
Mix Exercise Types (avoid 5 identical exercises):
Exercise 1: Fill-in-blank (quick warm-up)
Exercise 2: Debug-this (error recognition)
Exercise 3: Build-from-scratch (application)
Exercise 4: Explain-code (elaboration)
Exercise 5: Extend-code (integration)Apply Interleaving: Mix new and prior concepts:
Load difficulty progression guide:
bashRead reference/difficulty-progression.md
Sequence exercises from easier to harder:
Bloom's Progression:
Load spaced repetition patterns:
bashRead reference/spaced-repetition.md
Include prior concepts for review:
Example:
Lesson 5 (Current: Loops)
Exercise 1: Loop basics (new)
Exercise 2: Loops + lists (review Lesson 2)
Exercise 3: Loops + conditionals (review Lesson 3)
Exercise 4: Loops + functions (review Lesson 4)Generate comprehensive test cases:
bashRead templates/exercise-template.yml
Include:
Validate test coverage using script:
bashpython .claude/skills/exercise-designer/scripts/generate-test-cases.py exercise.yml
The script will:
Load rubric template:
bashRead templates/rubric-template.yml
Create rubric with criteria:
Each criterion has levels: excellent, adequate, developing, insufficient
Provide 3 levels of hints:
Example:
Exercise: Write function to find duplicates in a list
Hint 1: "Consider using a set to track items you've seen"
Hint 2: "Iterate through list, add items to set, check if item already in set"
Hint 3: "Use: seen = set(); for item in list: if item in seen..."Check exercise quality:
Provide exercise set as structured markdown or YAML:
markdown# Exercise Set: [Topic] **Learning Objectives**: - [Objective 1] - [Objective 2] **Estimated Time**: [X minutes total] **Evidence-Based Strategies**: [List strategies applied] --- ## Exercise 1: [Title] **Type**: [fill-in-blank | debug-this | etc.] **Difficulty**: [easy | medium | hard] **Time**: [X minutes] **Strategies**: [retrieval-practice, etc.] ### Instructions [Clear description of what to do] ### Starter Code (if applicable)
Code here]
### Test Cases
1. **Input**: `[example]`
**Expected**: `[output]`
**Tests**: Normal case
2. **Input**: `[]`
**Expected**: `[output]`
**Tests**: Edge case - empty input
### Hints
**Hint 1**: [Gentle guidance]
**Hint 2**: [More specific]
**Hint 3**: [Explicit approach]
### Rubric
- **Correctness** (4 pts): Passes all test cases
- **Code Quality** (3 pts): Readable with good naming
- **Efficiency** (2 pts): Reasonable approach
- **Error Handling** (1 pt): Handles edge cases
---
[Repeat for exercises 2-5]
---
## Spaced Repetition Notes
This exercise set practices:
- **New**: [Current concept]
- **Review**: [Concepts from prior lessons]
---
## Answer Key
[Solutions for all exercises with explanations]Input: "Create 5 exercises for practicing list methods (append, remove, extend) for beginners"
Process:
Output: 5-exercise set with variety, progression, test cases, and strategies applied
Input: "Evaluate these 10 loop exercises for pedagogical effectiveness"
Process:
Output: Detailed assessment with actionable improvements
Input: "Create exercises for dictionaries (Lesson 4) that review lists (Lesson 2) and conditionals (Lesson 3)"
Process:
Output: Exercise set with explicit spaced repetition
Exercise 1: Fill-in-blank (very easy, high scaffolding)
Exercise 2: Trace-execution (understand behavior)
Exercise 3: Build-from-scratch (simple application)
Exercise 4: Debug-this (recognize errors)
Exercise 5: Extend-code (integrate with prior knowledge)Exercise 1: Current concept only (60%)
Exercise 2: Current + recent concept (30%)
Exercise 3: Current concept only (60%)
Exercise 4: Current + old concept (10%)
Exercise 5: Current + recent + old (integration)Exercise 1: Guided (70% code provided)
Exercise 2: Structured (50% code provided)
Exercise 3: Specification (clear requirements)
Exercise 4: Open-ended (minimal guidance)
Exercise 5: Extension (build on Exercise 3)Before finalizing exercise set:
Starter: Warm‑up fill‑in (L2‑Understand)
Core: Implement function from spec (L3‑Apply)
Stretch: Refactor for performance (L4‑Analyze/L5‑Evaluate)Supporting documentation (loaded as needed):
reference/exercise-types.md - Fill-in, debug, build-from-scratch, etc.reference/evidence-based-strategies.md - Retrieval, spacing, interleaving, elaborationreference/difficulty-progression.md - Scaffolding, Bloom's levels, PRIME frameworkreference/spaced-repetition.md - Spiral curriculum, mixed sets, optimal intervalsIf validation fails:
Examples must meet quality standards: varied types, appropriate difficulty, clear objectives, comprehensive test cases.
| Case | Status | Duration (ms) | Turns | Tokens | Tool calls | ||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| Without | With | Δ | Without | With | Δ | Without | With | Δ | Without | With | Δ | ||
case-01 | fail→fail | 31,801 | 32,296 | +2% | 1 | 1 | 0% | 5,580 | 10,399 | +86% | 0 | 0 | — |
case-02 | fail→fail | 22,899 | 25,502 | +11% | 1 | 1 | 0% | 3,882 | 8,801 | +127% | 0 | 0 | — |
case-16 | fail→pass | 17,175 | 26,084 | +52% | 1 | 1 | 0% | 3,182 | 9,246 | +191% | 0 | 0 | — |
case-03 | fail→fail | 4,264 | 3,075 | -28% | 1 | 1 | 0% | 636 | 4,652 | +631% | 0 | 0 | — |
case-04 | pass→pass | 27,838 | 33,595 | +21% | 1 | 1 | 0% | 4,973 | 10,198 | +105% | 0 | 0 | — |
case-05 | pass→pass | 17,365 | 13,557 | -22% | 1 | 1 | 0% | 3,018 | 6,637 | +120% | 0 | 0 | — |
case-06 | fail→pass | 13,091 | 17,463 | +33% | 1 | 1 | 0% | 2,107 | 7,538 | +258% | 0 | 0 | — |
case-07 | fail→pass | 16,609 | 7,688 | -54% | 1 | 1 | 0% | 2,497 | 5,511 | +121% | 0 | 0 | — |
case-08 | fail→pass | 15,707 | 10,793 | -31% | 1 | 1 | 0% | 2,777 | 5,935 | +114% | 0 | 0 | — |
case-09 | fail→pass | 15,491 | 8,774 | -43% | 1 | 1 | 0% | 2,395 | 5,534 | +131% | 0 | 0 | — |
case-10 | fail→fail | 10,839 | 17,940 | +66% | 1 | 1 | 0% | 2,042 | 7,571 | +271% | 0 | 0 | — |
case-11 | fail→pass | 19,883 | 4,219 | -79% | 1 | 1 | 0% | 990 | 4,922 | +397% | 0 | 0 | — |
case-12 | fail→pass | 12,778 | 7,998 | -37% | 1 | 1 | 0% | 2,307 | 5,576 | +142% | 0 | 0 | — |
case-13 | pass→pass | 11,590 | 6,923 | -40% | 1 | 1 | 0% | 1,815 | 5,296 | +192% | 0 | 0 | — |
case-14 | pass→pass | 14,843 | 9,084 | -39% | 1 | 1 | 0% | 2,196 | 5,683 | +159% | 0 | 0 | — |
case-15 | pass→pass | 13,525 | 9,553 | -29% | 1 | 1 | 0% | 2,024 | 5,725 | +183% | 0 | 0 | — |
case-17 | fail→pass | 10,950 | 6,306 | -42% | 1 | 1 | 0% | 1,767 | 5,267 | +198% | 0 | 0 | — |
case-18 | pass→pass | 18,652 | 16,915 | -9% | 1 | 1 | 0% | 2,910 | 7,017 | +141% | 0 | 0 | — |
case-19 | fail→pass | 9,130 | 1,537 | -83% | 1 | 1 | 0% | 1,411 | 4,446 | +215% | 0 | 0 | — |
case-20 | fail→pass | 9,579 | 2,621 | -73% | 1 | 1 | 0% | 1,394 | 4,592 | +229% | 0 | 0 | — |
case-21 | pass→pass | 12,893 | 7,113 | -45% | 1 | 1 | 0% | 2,069 | 5,289 | +156% | 0 | 0 | — |
case-22 | fail→pass | 11,756 | 2,355 | -80% | 1 | 1 | 0% | 1,837 | 4,566 | +149% | 0 | 0 | — |
case-23 | pass→pass | 10,913 | 3,820 | -65% | 1 | 1 | 0% | 1,744 | 4,785 | +174% | 0 | 0 | — |
DecimalAI ran this skill against gemini-3.6-flash twice over the same eval suite — once with the skill loaded and once without — and compared the two runs case by case. 23 cases were attempted, and 22 counted toward the lift figure. The other 1 produced results that are not comparable between the two arms, so they are excluded from the headline rather than averaged into it. The headline lift of +48 percentage points is the difference between those two pass rates over the 22 comparable cases.
Without the skill loaded, the model failed this case. With it loaded, the same prompt on the same model passed. This is one improved case from the latest verified run; every case, including any that regressed, is in the table above.
Other measured skills in the registry, with their headline benchmark lift.