ELI5 — Explain Like I Am 5
An agent skill that explains an unfamiliar mechanism in plain language — and, only when you ask, turns that explanation into a page you can come back to and test yourself against.
Simplify the vocabulary and the structure. Never the mechanism.
It picks the lightest thing that answers you
| You need | You get | Writes files |
|---|---|---|
| To understand something now | A concise inline answer | No |
| To retain, practise, or revisit it | A local HTML learning page | Yes |
| To choose between options | A local decision brief | Yes |
A single fact stays a single sentence. Naming an audience does not turn an explanation into a brief. Nothing leaves your machine unless you say so.
The learning page
One self-contained HTML file per concept — a visual model, three depth levels of the same mechanism, a quiz, an explain-back check, flashcards, and an interactive control only when the concept genuinely has a knob worth turning. It opens straight from disk: no server, no network, no external fonts or scripts.
A local ledger tracks what you learned and when to see it again. Miss the same point twice and it treats the explanation as broken rather than you — that section gets rewritten instead of re-quizzed.
Install
The usual route is the skills CLI:
npx skills add wangsoft/ELI5 # current project (default)
npx skills add wangsoft/ELI5 -g # user scope
For a manual install, clone the plain skill directory and link it wherever your agent looks for skills:
git clone https://github.com/wangsoft/ELI5.git
# user scope — pick the path your agent uses
mkdir -p "$HOME/.claude/skills" "$HOME/.agents/skills"
ln -s "$PWD/ELI5" ~/.claude/skills/eli5 # Claude Code
ln -s "$PWD/ELI5" ~/.agents/skills/eli5 # Codex
For one project only, link into .claude/skills/ or .agents/skills/ inside that repo.
The skills CLI requires Node.js. Once installed, the skill runtime requires Python 3.10+
and uses only the standard library. Development checks also use Ruff and Node.js; full
behavioral evaluations require an installed Codex or Claude CLI and may consume model
quota.
Use
The explicit prefix follows your host — /eli5 or $eli5:
# Claude Code
/eli5 why does DNS caching make the second request faster
# Codex
$eli5 build me a page on bloom filters I can quiz myself on
$eli5 brief me on shipping this week versus delaying
It also answers to plain requests: explain this simply, quiz me on that, what should I review, 用大白话讲讲, 考考我.
What lands on disk
.eli5/pages/<concept-id>.html the canonical page
.eli5/ledger.json what you learned, and when it is due
Both live in your workspace, not in the skill, and a relative ledger path binds to one file per workspace rather than one per directory. Publishing is a separate, explicit step that uses a host-specific workflow; the local file always stays the source of truth.
Multilingual by construction
Word budgets scale per language — characters for Chinese, Japanese and Thai, words for Latin scripts, Korean and Arabic — because a whitespace word count is meaningless on text without word spaces. Writing direction is derived from the language and checked against the page, so an Arabic page cannot ship marked left-to-right.
Verify
python3 -B -m unittest discover -s tests -v
ruff check --no-cache scripts tests
python3 -B scripts/smoke_templates.py
python3 -B scripts/lint_page.py path/to/page.html
python3 -B scripts/lint_page.py --calibrate path/to/page.html reports what budget ratio your own writing
implies, so references/budgets.json can be tuned from your corpus instead of the
defaults.
License
MIT
No comments yet
Be the first to share your take.