From training-plan
Test-Teach-Test session design and execution. Use when the user asks to run a session, start a learning session, test me on a topic, practice a skill, assess my knowledge, design a TTT learning cycle, or execute an adaptive test-teach-test loop for a sub-goal.
npx claudepluginhub antonio-ardigo/training-planThis skill uses the workspace's default tool permissions.
Reference knowledge for designing and executing Test-Teach-Test learning sessions.
Searches, retrieves, and installs Agent Skills from prompts.chat registry using MCP tools like search_skills and get_skill. Activates for finding skills, browsing catalogs, or extending Claude.
Searches prompts.chat for AI prompt templates by keyword or category, retrieves by ID with variable handling, and improves prompts via AI. Use for discovering or enhancing prompts.
Guides implementation of event-driven hooks in Claude Code plugins using prompt-based validation and bash commands for PreToolUse, Stop, and session events.
Reference knowledge for designing and executing Test-Teach-Test learning sessions.
This skill operates in two modes:
/create-training-plan to produce session blueprints/run-session to run the interactive TTT loopFor each sub-goal, produce a session blueprint with this structure:
### SG-<N>: <title>
**Initial Test**
- Case: <practical scenario description -- what the learner must do>
- Assesses: <specific competencies being tested>
- Pass criteria: <concrete, measurable threshold>
**Estimated Depth:** <introductory/intermediate/advanced>
**Anticipated CTQs:**
| CTQ | Source | Mastery Test | Common Failure Mode |
|-----|--------|-------------|---------------------|
| <what the learner must understand> | <concept> | <verification task> | <likely failure pattern> |
**Teach Phase Plan** (activated only if Initial Test reveals gaps)
- Concepts to cover: <list of key ideas>
- Exercises: <2-3 graduated exercises>
- Known pitfalls: <common errors with CTQ failure mode classification>
- [conflation]: <two concepts learners commonly confuse>
- [procedural-without-conceptual]: <formulas applied without understanding>
- [overgeneralization]: <rules applied beyond their domain>
**Final Test**
- Case: <different scenario, same competencies>
- Pass criteria: <same threshold as Initial Test>
**Adaptation Rules**
- If fails on <specific gap>: re-teach <specific content>
- Max loops: 2
Initial Test cases must be practical and immediate -- the learner receives a scenario and must act. No multiple-choice. No "explain the theory." Instead: "Here is a situation. Solve it."
The Initial Test must be solvable by someone who has the knowledge -- it's a diagnostic, not a trick question. A competent person should pass it in a few minutes.
The Final Test must be a DIFFERENT scenario testing the SAME competencies. If the Initial Test used Project A, the Final Test uses Project B. Same skills, new context -- this verifies transfer, not memorization.
Pass criteria must be concrete:
CTQ criteria supplement pass criteria -- they define what specific understanding is required, not just what score threshold to meet. Each CTQ traces to a principle or innovation and has a concrete mastery test.
Adaptation rules map specific gaps to specific content -- not "if fails, re-teach everything" but "if fails on indirect costs, re-teach indirect costs specifically." Classify anticipated failures using CTQ failure mode taxonomy.
Estimated Depth determines teaching richness -- derived from the sub-goal's difficulty:
When running a session, follow this exact protocol:
Present the practical case from the session blueprint to the learner.
Rules:
Example opening:
Practical Case -- SG-3: Unit-Rate Estimation
You have the following quantities for a warehouse foundation:
- Concrete: 450 m3
- Rebar: 38,000 kg
- Formwork: 1,200 m2
Unit rates: Concrete $180/m3, Rebar $2.10/kg, Formwork $45/m2
Task: Calculate the total foundation cost. Show your work.
If you are not familiar with this topic, write "not familiar" to receive a full concept explanation before attempting the test.
If any term in this question is unclear, ask for a clarification — I will explain the term without helping you solve the problem.
Both notes MUST appear at the end of every Initial Test AND Final Test presentation:
When the learner asks about a term during a test phase (Initial Test or Final Test), invoke the term-clarifier agent. Pass it:
Do NOT pass: the test question, the expected answer, the pass criteria, or the teach topics. The term-clarifier agent is firewalled from the answer.
The term-clarifier will return one of three responses:
After the clarification, resume the test. The learner continues their attempt. Clarifications do not count as gaps or failures — they are purely informational.
Rules for clarifications:
Handling PLAN-REVISION-REQUEST:
If the term-clarifier returns a PLAN-REVISION-REQUEST (critical missing prerequisite), the session must:
"During this test, you asked about [term] which is a foundational concept not currently covered in your training plan. I recommend adding a prerequisite session before continuing. You can:
- A) Add a prerequisite session on [concept] and run it before retrying this test
- B) Continue with the current session as-is"
After the learner responds, evaluate against the pass criteria and CTQ mastery tests:
"You indicated you're not familiar with this topic. The prerequisite knowledge ([concept]) is not currently covered in your training plan. You can:
- A) Add a prerequisite session on [concept] and run it first
- B) Continue with a full concept explanation as-is" If A: save checkpoint, add prerequisite SG, run it, then resume. If B: proceed to step 3.
[missing-prerequisite]. Deliver the Full 7-Section Concept Explanation for the sub-goal's topic at the blueprint's depth level. After the full explanation and Quick Check, proceed to the Initial Test again (the learner now attempts it with the knowledge gained). This does NOT count as an adaptation loop.When identifying gaps, classify each using the CTQ failure mode taxonomy:
Simple gaps that don't match a failure mode pattern:
For each identified gap, generate a concept explanation using the content-builder skill:
Assess gap complexity (from the failure mode classification in Phase 2):
Select depth level from the blueprint's Estimated Depth (default: intermediate)
Deliver the concept explanation:
After the first teaching block, mention once: "You can ask me to go deeper on any principle I just explained." If the learner requests a deep-dive: generate it inline using the concept-explainer skill's Deep-Dive Protocol, then continue.
After ALL gaps are taught, proceed to Phase 3.5
Rules:
*If any term in this question is unclear, ask for a **clarification**.*After all teaching is delivered, optionally offer a concept map:
Present a NEW practical case testing the same competencies:
Evaluate the Final Test response:
Update the training plan file, write the session transcript, delete checkpoint, update learner profile, export concept file, and suggest next step.
When running a session from a Socratic training plan (filename ends with -socratic_training_plan.md or contains ## Pedagogical Method: Socratic Discovery), the standard TTT protocol is augmented with Socratic discovery mechanics. The session follows a Question -> Tension -> Resolution -> Test arc instead of the standard Test -> Teach -> Test arc.
At Step 0, when reading the training plan, check for Socratic mode. If detected, set SOCRATIC = true and apply the modifications below to every phase.
Before presenting the Initial Test, present the blueprint's Discovery Question. This creates genuine puzzlement — the learner must feel the gap.
The Initial Test is designed with a wrong path — a plausible but incorrect approach. Do NOT warn the learner. Let them hit the wrong path naturally. The tension between their attempt and the correct answer is the pedagogical engine.
When evaluating, explicitly identify whether the learner hit the designed wrong path:
"Your approach assumed [wrong path]. This is exactly the tension: [why the wrong path fails]."
Name the tension but do NOT explain the resolution. The learner should now want the concept.
This is the most critical change. Instead of declaring concepts, guide the learner to discover them.
For each gap:
Remind of the tension: What failed and why.
Deploy the Socratic Guidance Chain from the blueprint (3-6 questions). Present ONE question at a time:
Resolution as inevitability: The concept emerges as the ONLY way to resolve the tension.
Quick Check: Phrase as reconstruction: "Reconstruct why [concept] is the only resolution to the tension."
On Quick Check failure: Do NOT re-explain declaratively. Return to the Guidance Chain at the break point. Ask a different narrowing question.
Anti-patterns (NEVER do these in Socratic mode):
Genuine Socratic questions:
The Final Test adds a Part B:
"Explain why your approach works. What would go wrong if you used [wrong path from Initial Test] instead?"
This tests reconstruction of reasoning, not just procedural application.
When evaluating the Final Test in Socratic mode, Part B is weighted equally with Part A. A learner who gets Part A correct but cannot explain why (Part B) receives a PARTIAL, not a PASS.
If the learner fails the Final Test in Socratic mode:
Loop 0 (normal): Initial Test -> Teach -> Final Test -> PASS
Loop 1 (retry): Initial Test -> Teach -> Final Test -> FAIL -> Re-teach (narrower) -> Final Test 2 -> PASS
Loop 2 (max): Initial Test -> Teach -> Final Test -> FAIL -> Re-teach -> Final Test 2 -> FAIL -> FLAG
Maximum 2 adaptation loops per sub-goal. After 2 failures, do not loop again -- record the result and recommend review.
When a session is interrupted, the checkpoint file preserves progress so the session can be resumed.
Filename: <topic>_checkpoint_SG<N>.md
# Session Checkpoint: SG-<N> -- <title>
Started: <date>
## Current Phase: <INITIAL_TEST|EVALUATE|TEACH|CONCEPT_MAP_OFFER|FINAL_TEST|EVALUATE_FINAL|RECORD>
<!-- For TEACH phase, also note: Gap <X> of <Y> completed -->
## Initial Test
**Case:** <what was presented>
**Learner response:** <what they said>
## Evaluation
**Result:** <PASS/PARTIAL/FAIL>
**Gaps identified:** <list with failure mode classifications>
## Teach Phase
### Gap: <name> [<failure mode>]
**Format:** <abbreviated/full/comparison>
**Content:** <summary of what was taught>
**Quick Check:** <question> -> Learner: <answer> -> <correct/incorrect>
**Deep-dive:** <if requested, summary of expanded principle>
(repeat for each gap completed so far)
## Concept Map
(if generated during Phase 3.5)
## Final Test
**Case:** <what was presented>
**Learner response:** <what they said>
## Final Evaluation
**Result:** <PASS/FAIL>
Sections are populated incrementally as phases complete. Sections below the current phase marker are absent or empty.
When resuming from a checkpoint:
## Current Phase marker