dannymac180/skills

explain-this

Explain any digital artifact — a paper, PDF, article, code diff, or codebase — so the person actually understands it, not just skims it. Explanations are shaped by a persistent learner profile, gated by comprehension quizzes, and feed a spaced-repetition review loop. USE WHEN: explain this, explain this paper / PDF / article / diff / repo, help me understand this, what does this mean, what is this really saying, break this down, walk me through this, quiz me, review my cards, explain-this revie…

First seen Jul 18, 2026

Installation

$ npx skills add dannymac180/skills --skill explain-this

Similar popular skills

Related neighbors and high-traction skills in the same topics — useful to compare before installing.

Also in this package

Other skills from dannymac180/skills.

npx skills add dannymac180/skills

Browse all from dannymac180/skills

More details

Agent compatibility

Declared targets from SKILL.md / docs. Unmarked agents are not listed — the skill may still install via the CLI.

Claude Code Not declared
Cursor Not declared
Codex Not declared
GitHub Copilot Not declared
Windsurf Not declared
Gemini CLI Not declared
Cline Not declared
OpenCode Not declared

Repository health

Stars 526
License LICENSE
Default branch main
Open issues 0
Status Active

Package contents

Files included with this skill beyond the listing page.

  • skill md SKILL.md 5,267 B
  • docs README.md 2,649 B
  • docs SUMMARY.md 664 B

History

  1. First seen on skills.sh
  2. First recorded snapshot · 2 installs

SKILL.md

Explain This

Understanding is the bottleneck, not information. This skill turns any digital artifact into an explanation the user can genuinely absorb — shaped to how they learn, checked by quizzes that prevent false confidence, and retained through spaced-repetition review. The goal is formation, not summarization: who the user becomes by understanding, not just what they can skim.

State contract

All user state lives in EXPLAINTHISHOME (default ~/.explain-this/) — never in this skill's install directory, so it survives skill updates and is shared across agent hosts:

~/.explain-this/
  LEARNER.md            # who this person is as a learner — read before EVERY explanation
  memory/cards.jsonl    # spaced-repetition cards + SM-2 scheduling state
  memory/signals.jsonl  # append-only quiz-attempt evidence

First run

If ~/.explain-this/LEARNER.md does not exist, do NOT explain anything yet. Run the interview in references/interview.md (~10 minutes), draft LEARNER.md from references/learner-template.md, show it to the user, and apply their corrections. The profile is the product's first artifact.

Every explanation follows the spine

Read LEARNER.md first, then build the explanation in this order:

  1. Why does this exist? — the problem the artifact answers. Context before content.
  2. The one idea — the single sentence worth retaining above all others.
  3. How it works — intuition before mechanism, prose-ordered (literate

sequencing), analogies drawn from the learner's deep domains, skipping what their profile says they already know.

  1. What can you now do — point at the learner's formation goals: what can

they build, argue, or decide that they couldn't before.

  1. Check yourself — the quiz. Generate per references/quiz.md; add each

question to the card deck per references/review.md.

Depth dial

Default comes from LEARNER.md frontmatter; per-request override phrases win:

Depth Meaning Trigger phrases
orient 5-minute orientation "just orient me", "quick pass"
working can explain it to a colleague (default)
rederivable could re-derive / re-build it "really grok", "go deep"

Artifact adapters

Pick the adapter for the artifact type; it defines ingestion and what "meaning" means for that type:

  • Papers / PDFs → references/adapters/paper.md
  • Articles / markdown / essays → references/adapters/article.md
  • Code, diffs, repos → references/adapters/code.md

Output destinations

Markdown is canonical. The user directs the destination ("put it in Obsidian", "give me an HTML file", "just tell me here"); the default lives in LEARNER.md frontmatter. In document output, embed quiz questions at section ends with answers in <details> blocks. An HTML render is an optional layer for interactive quiz widgets — never required.

Review mode

"quiz me" / "review my cards" / "explain-this review" → run the conversational review loop in references/review.md (due cards via scripts/sm2.ts due). When invoked for a NEW explanation while cards are due, mention it once ("6 cards due — review first, or after?") but never block.

Gotchas

  • Never skip the profile read. An explanation not shaped by LEARNER.md is

a generic summary — the exact thing this skill exists to avoid.

  • A summary is not an explanation. If the output could have been produced

without the artifact's actual content or without the profile, start over.

  • Never write LEARNER.md's Known Weak Patterns from a single session. Only

the evidence loop (references/review.md, thresholds) may add entries, and every entry must cite its evidence. One bad quiz is noise, not identity.

  • Quiz questions come from the artifact, not the explanation — otherwise

they're echo questions that test short-term verbal memory. See references/quiz.md two-pass procedure.

  • Grade the user's free-text answers yourself (hit/partial/miss). Never

ask them to self-grade; self-grading is generous and corrupts the evidence.

  • **You wrote the explanation AND grade the quiz — watch for grading

inflation.** Grade against the artifact and the stored answer/rubric, not against your own explanation's wording. When unsure between hit and partial, choose partial.

  • State is sacred. Never reset, rewrite, or prune ~/.explain-this/

except through the documented flows. Losing a learner's history is the worst failure this tool can have.