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