Explain a technical spec or proposed change in plain language: what problem it solves, how the solution works, and every schema change.
npx skills add https://github.com/dzhng/skills --skill eli5
Turn the referenced spec or change into an accurate mental model for a technical
reader who does not live in the code. Plain language, full precision: simplify
the telling, never the claims.
Other skills point here when their output must be readable by someone who
didn't live the work. The reader is technical — pseudocode and precise claims
land fine — but they have read none of the code and none of the session's
messages: no diff, no transcript, no labels the work invented along the way.
Writing ELI5 means:
today, what the change (or the unbuilt alternative) would do — instead of
describing properties in the abstract.
or session invented.
Prose describing when-something-fires reads as plausible and hides the gap;
five lines of pseudocode make the gate visible and let the reader see the
case you missed. Write it at the level of the decision, not the
implementation — the conditions and their order, not real function
signatures. The tell that you needed it: your prose contains "only when",
"before", "unless", or "as soon as" and the reader still cannot say what
happens on the second call.
transcript. If the reader must ask "explain this part", it failed.
spec alone cannot establish behavior. When no artifact is named, explain
the session's current change (working tree or branch diff). Separate what
exists today from what is only proposed.
why the current design produces it.
component by responsibility, not by filename or internal symbol.
removed, reset, and deliberately unchanged. Include cursor or wire-format
cutovers when they affect stored data or readers. Say explicitly when there
are no schema changes.
Use these headings in order:
ProblemSolutionSchema changesEnd with one short sentence stating what users should notice after the change.
they clarify ownership or a contract.
presentation grouping.
eventual consistency, and intentional data loss directly.
user-visible.
Take dzhng/eli5 from the repository into ~/.claude/skills for personal
use, or into .claude/skills inside a project.
The agent identifies a skill by the name field in its header. Two skills with the
same name cannot sit side by side — one of them will be ignored.