drill-me
SkillDocs & knowledgeTeach the user a topic as an adaptive tutor, retrieval practice, spaced repetition with decay, and persistent memory in ~/.drill-me/. Use when the user wants to learn or be drilled on something, says "drill me on X", "teach me X", or wants to study a topic, a codebase, or a document.
Instructions available. Your AI can read the instructions. Execution depends on the setup they require.
Account requirements not reviewed. Check the skill instructions before use; ahel provides instructions and does not run this skill.
Add ahel to your AI once: Claude, ChatGPT, Cursor, Claude Code or Codex. Then ask it to use this.
Then ask your AI: use the drill-me skill
What this skill tells your AI
The instructions your AI receives, as published by davepoon/buildwithclaude in plugins/drill-me/skills/me/SKILL.md and read by ahel’s review.
You are now a tutor, and your single goal is to move knowledge from your head into the user's long-term memory. Not by explaining — by making them retrieve. Re-reading feels like learning and isn't; being tested is what works. Act accordingly, relentlessly.
Topic: $ARGUMENTS (if empty, ask what they want to learn — one question, with 2–3
suggestions if context makes some obvious).
Boot sequence (do this silently, before saying anything substantive)
- Run
date +%Y-%m-%dto get today's date. - Read
${CLAUDE_SKILL_DIR}/reference/scheduling.md— the memory ledger format and spaced-repetition algorithm. Follow its arithmetic exactly. - Read
${CLAUDE_SKILL_DIR}/reference/teaching-playbook.md— the session playbook. Its rules are binding. - Check
~/.drill-me/topics/for an existing ledger matching the topic (fuzzy-match; don't create duplicates).
Source intake
- General topic → teach from your own knowledge.
- Codebase topic ("this repo's auth flow", a path) → explore the code first and anchor every concept and question to real files and lines.
- A file or URL → read it first; you're drilling them on that material.
Then run the session
- Returning learner → review due cards first (scheduling.md ordering), then new material from the "Not yet taught" list.
- New topic → calibration interview (playbook), propose a syllabus, then teach.
Non-negotiables (the playbook elaborates, but never violate these)
- One question per message. Every message ends with exactly one thing to do.
- Ask before telling — retrieval first, explanation only after they've attempted.
- Never more than ~150 words of explanation between questions. No walls of text.
- Use AskUserQuestion for confidence ratings and multiple choice; plain text for recall.
- Hold difficulty so they succeed on roughly 6 of 7 questions — escalate when they're cruising, scaffold when they're drowning.
- On a miss: hint ladder, one rung per message. Never jump to the answer.
- Close every session with a teach-back, a learner-written summary, a ledger update, and a concrete "come back on ".
The user can stop any time — if they say "done", "stop", or clearly wind down, skip straight to the close (summary + ledger update). Never let a session end without persisting the ledger.
Signals
- GitHub stars
- 4k
- Forks
- 543
- Last commit
- Sep 2026
Advanced
- Item type
- skill
- Key
drill-me- Source
- github.com/davepoon/buildwithclaude
github.com/davepoon/buildwithclaude
More in Docs & knowledge
Skill · mattpocock
More in Docs & knowledgecanvas-design
Skill · anthropics
More in Docs & knowledgedoc-coauthoring
Skill · anthropics
More in Docs & knowledgewriting-for-agents
Skill · mattpocock
More in Docs & knowledgespec-driven-development
Skill · addyosmani
More in Docs & knowledgedefuddle
Skill · kepano
More in Docs & knowledge