Agent skill

Pneuma Eli5

by pandazki in pandazki/pneuma-skills

Pneuma ELI5 Mode workspace guidelines. An agent skill from pandazki/pneuma-skills.

MITAuto-check passed

Install Pneuma Eli5

skills CLI
$ npx skills add pandazki/pneuma-skills --skill pneuma-eli5 -a claude-code

Project install by default; add -g for ~/.claude/skills/.

GitHub CLI
$ gh skill install pandazki/pneuma-skills pneuma-eli5 --agent claude-code

Project scope by default; add --scope user for a personal install. Needs GitHub CLI 2.90.0 or later (public preview).

Manual copy
$ git clone --depth 1 https://github.com/pandazki/pneuma-skills.git skills-src && mkdir -p .claude/skills && cp -r skills-src/modes/eli5/skill .claude/skills/pneuma-eli5 && rm -rf skills-src

Use ~/.claude/skills/ instead of .claude/skills for a personal install. The folder must contain SKILL.md.

Claude Code skills documentation · loads skills from .claude/skills/

Facts

Skill name
pneuma-eli5
GitHub stars
161
Token cost
~8.2k tokens
SKILL.md length
4,826 words
Files
2 (incl. references)
Skills in repo
30
Repo updated
First seen
Licence
MIT

At a glance

Pneuma ELI5 Mode workspace guidelines. An agent skill from pandazki/pneuma-skills.

  • Works in 4 steps: What it is — one sentence that captures… → A way in — whatever makes the idea land… → The details — layers, added only as far… → …
  • ANY task in this workspace: explaining a topic
  • SKILL.md covers Scene, Viewer contract, Core rules and Workflow, plus 2 more sections
  • Calls curl and node; needs OPENROUTER_API_KEY

What it does

Pneuma Eli5 is an agent skill from pandazki/pneuma-skills. Pneuma ELI5 Mode workspace guidelines. Use for ANY task in this workspace: explaining a topic, a piece of code, an error message, or a document to a specific audience, and building the audience ladder that holds those explanations. Trigger on any request to explain something for a named reader — a person, an age, a role or a relationship — including "ELI5"-style asks, and on requests for the same thing at several levels or a comparison of two audience versions. Consult before your first edit in a new conversation.

Its SKILL.md is about 8.2k tokens, which your agent loads only when the skill is triggered. The skill folder holds 2 other files, including reference files (for example `references/audience-calibration.md`).

The repository describes itself as: Co-creation infrastructure for humans and code agents — visual environment, skills, continuous learning, and distribution. The licence is MIT.

When your agent uses it

  • ANY task in this workspace: explaining a topic
  • A piece of code
  • An error message
  • A document to a specific audience

Example prompts

  • “/pneuma-eli5”

Workflow steps

4 steps, taken from the first numbered list in SKILL.md.

  1. What it is — one sentence that captures the essence, before any
  2. A way in — whatever makes the idea land for this reader. Often an
  3. The details — layers, added only as far as this audience wants them.
  4. The so-what — why it matters to them. This is the beat most often

What it can do on your machine

Read from SKILL.md and the folder at commit 0023d3c. It shows what the files ask for, not the result of running them.

  • Tool permissions

    Pre-approves nothing: there is no allowed-tools line, so your agent's usual permission prompts apply.

    From allowed-tools in the SKILL.md frontmatter.

  • Runs code

    Shell commands in SKILL.md call:

    • curl
    • node

    From the folder's file list and the shell code blocks in SKILL.md.

  • Network

    No URLs in SKILL.md. Its commands use curl, which can reach the network depending on how they are called.

    From URLs in SKILL.md, links to its own repository left out.

  • Credentials

    Names these keys or tokens, usually read from environment variables:

    • OPENROUTER_API_KEY

    From names ending in _API_KEY, _TOKEN, _SECRET, _KEY or _PASSWORD in SKILL.md.

Context cost

Pneuma Eli5 loads about 8.2k tokens when it runs, and up to ~15k if it reads all its reference files. Until then it costs about 133 tokens; SKILL.md has 4,826 words of instructions outside code blocks.

Always · name and description, kept in context so the agent knows when to use it
~133
When it runs · the whole SKILL.md, loaded when a task matches
~8.2k
With references · SKILL.md plus every file in references/, read only if the agent opens them
~15k

Estimates: characters ÷ 4, the usual rule of thumb; real counts depend on the model's tokenizer. Scripts and assets cost tokens only if the agent reads them.

Safety

Auto-check passed

The automated check found no risky patterns in SKILL.md.

Automated static check — not a guarantee. Review scripts before installing. It scans the text of SKILL.md for risky patterns (piping downloads into a shell, reading credential files, hidden Unicode, destructive commands); files beside SKILL.md are not scanned.

SKILL.md

The full file from pandazki/pneuma-skills at commit 0023d3c, republished under its MIT licence (© pandazki). 4,826 words, ~8,191 tokens.

Download SKILL.mdSave it as .claude/skills/pneuma-eli5/SKILL.md (or your agent's skills folder). This skill also uses 1 other file; get the full folder from GitHub.
name
pneuma-eli5
description
Pneuma ELI5 Mode workspace guidelines. Use for ANY task in this workspace: explaining a topic, a piece of code, an error message, or a document to a specific audience, and building the audience ladder that holds those explanations. Trigger on any request to explain something *for a named reader* — a person, an age, a role or a relationship — including "ELI5"-style asks, and on requests for the same thing at several levels or a comparison of two audience versions. Consult before your first edit in a new conversation.

Pneuma ELI5 Mode — Audience Ladder Explainers

Scene

Someone just understood something hard, and now they have to hand that understanding to a person who does not have their background: a manager who needs to approve the work, an eight-year-old who asked a real question, a teammate three layers down the stack. You are the writer they sit next to.

In front of the user is an audience ladder — an ordered rail of people, simplest on the left, most technical on the right. Click a rung and the page written for that person fills the canvas: not the same words at a different reading level, but a differently designed document — huge rounded type and a toy-box analogy on one rung, a one-screen memo with a cost callout on the next, precise mechanics with a code sample on the last. A compare toggle puts two rungs side by side so the shift is visible in one glance.

You write those pages as files. The viewer is a player, not an editor — it never writes back. Every explainer is a directory holding a manifest.json and one self-contained HTML page per audience, and one workspace holds as many explainers as the user has topics.

Viewer contract

The viewer is a live player for the explainers you write under <content-set>/manifest.json + <content-set>/pages/*.html. Files you write appear in the user's preview immediately — you never need to prove a page "saved". The user interacts with the viewer to hand you grounded context.

What the user can select

The user can select an audience by clicking a rung on the ladder, and an element inside a rendered page by clicking the page surface. Either way, their next message carries a <viewer-context> block with an Address: line — a JSON-serialized ViewerAddress naming exactly what they had in front of them. When they say "this page", "make this shorter", or "the callout here", resolve the referent against that address rather than guessing from the conversation.

ViewerAddress vocabulary
KeyKindMeaning
contentSetframework-reserved (coarse)The explainer directory — one topic (database-index, oauth-flow). Passed through automatically when present; include it explicitly whenever you point at a topic other than the one on screen.
audiencecoarseThe audience id within the active explainer, matching an audiences[].id in that set's manifest.json (age-5, manager, engineer). Names one rung of the ladder — one whole page.
anchorfine (optional)An element id or CSS selector resolved inside the rendered page (#cost-callout, .analogy, h2). Narrows an address from "this page" to "this part of this page".

Use only the keys you need. {"audience":"manager"} names a whole page in the open explainer; {"contentSet":"database-index","audience":"engineer","anchor":"#tradeoffs"} names one section of one page in a specific explainer. When the user hands you an address, copy that JSON verbatim into your locator cards and action calls — retyping it is how targets drift.

Locator cards

After writing or editing a page, embed a <viewer-locator> card so the user can jump to it in one click. Always emit fully-formed cards with real values.

xml
<viewer-locator label="Read the manager version" address='{"audience":"manager"}' />
<viewer-locator label="Database index → engineer" address='{"contentSet":"database-index","audience":"engineer"}' />

Include contentSet whenever the card points at a different explainer than the one currently on screen; a bare audience resolves inside the active set, and an address naming a topic this workspace does not have is refused rather than silently redirected.

Actions you can invoke

Actions go to POST $PNEUMA_API/api/viewer/action. Both actions below take a params.address object — a ViewerAddress, wrapped under the address key. A bare {"audience":"manager"} as params will not resolve.

  • navigate-to — move the viewer to one rung of the ladder. Invoke it right after you finish writing or substantially editing a page, so the user lands on the version you just changed instead of hunting for it.

    bash
    curl -s -X POST "$PNEUMA_API/api/viewer/action" \
      -H 'Content-Type: application/json' \
      -d '{"actionId":"navigate-to","params":{"address":{"audience":"age-5"}}}'

    Cross-explainer navigation carries the set: {"address":{"contentSet":"how-llms-work","audience":"pm"}}.

  • capture (framework built-in) — screenshot the live viewer and get a PNG path back; Read that path to see it. Reach for it when you need visual judgement that reading your own HTML cannot give you: is the hierarchy right, does the kid page actually feel playful, does the manager memo fit the first screen. Omit params for a full-viewer shot; pass an address to target one page or one element.

    bash
    curl -s -X POST "$PNEUMA_API/api/viewer/action" \
      -H 'Content-Type: application/json' \
      -d '{"actionId":"capture","params":{"address":{"audience":"manager","anchor":"#impact"}}}'

Do not open an external browser, headless Chrome, or the chrome-devtools MCP to check a page. capture returns what the user actually sees, inside the viewer's own chrome; an external render is a different picture and judging it wastes a loop.

Core rules

The content-set layout is the contract

One topic is one content set — a top-level directory in the workspace:

<topic-slug>/
├── manifest.json            # the ladder
├── pages/<audience-id>.html # one self-contained page per audience
└── assets/                  # optional images — pages reference them as ../assets/<file>

manifest.json has exactly this shape:

json
{
  "title": "What is a database index?",
  "topic": "database-index",
  "language": "en",
  "audiences": [
    { "id": "age-5",    "label": "Age 5",    "file": "pages/age-5.html",    "tone": "playful, toy-box analogies" },
    { "id": "manager",  "label": "Manager",  "file": "pages/manager.html",  "tone": "memo, impact and cost" },
    { "id": "engineer", "label": "Engineer", "file": "pages/engineer.html", "tone": "precise, mechanics and trade-offs" }
  ]
}
  • title and audiences are required; topic and language are optional but worth filling — language tells you which language the pages are written in when you come back to the explainer in a later session.
  • file is set-relative and includes the pages/ prefix. A bare filename does not resolve, and the rung renders empty.
  • id is a kebab-case slug and is the only handle the viewer, your locator cards, and navigate-to have on that page. Keep it stable once written — renaming an id breaks every locator card already sitting in the transcript.
  • label is what the user reads on the rung. Write it in the same language as the pages.
  • tone is a short note to your future self about the register you chose. It is not rendered; it is how a later session picks up the same voice.

Order in audiences[] is ladder order — simplest first, most technical last. The whole point of the rail is that climbing it feels like climbing. Adding an audience means inserting it at the rung where it belongs, not appending it.

Always write inside a content-set directory. A pages/manager.html at the workspace root belongs to no explainer and appears in nothing.

Pages are whole documents, not slides

Each page is a complete, standalone HTML document — <!DOCTYPE html>, <head>, <style>, <body> — with all its CSS inline in that <style> block. The viewer renders it as-is and injects no theme, so a page that relies on an external stylesheet renders naked.

Pages scroll. Unlike Slide Mode there is no fixed canvas and no overflow problem: design a readable document with a comfortable measure (60–75 characters), and let it run two to four screens if the content earns it. Use max-width on a centred container rather than absolute positioning, so the page holds up when the user narrows the panel or turns on compare mode (each pane is roughly half width).

Google Fonts via <link> or @import are fine, but always name real fallbacks in the stack — and for Chinese, Japanese, or Korean pages put the CJK system faces ("PingFang SC", "Noto Sans SC", "Microsoft YaHei") in the stack ahead of the generic family, or the text renders in a fallback that ruins the register you chose.

Decorate with CSS and inline SVG. Emoji are acceptable inside a young child's page content when one genuinely carries meaning; they do not belong in headings, in navigation, or in any page above the kid rung, where they read as filler.

Same truth, different register — never a different accuracy

Every rung explains the same thing. What changes is vocabulary, analogy, density, framing, and visual design. What does not change is whether the explanation is true. Simplifying ruthlessly for a five-year-old is right — getting the core idea across at 80% resolution beats a 100% correct explanation that loses them. Inventing a mechanism that does not exist is not simplification; it is a page the user will be embarrassed to show anyone.

Never talk down. A five-year-old's page should feel delightful, not condescending. A manager's page should feel empowering, not dismissive of their intelligence — they are not "the non-technical one", they are the person who owns a different set of concerns. If a rung reads like an apology for the reader's ignorance, rewrite it.

An analogy carries structure, not identity

A comparison does real work when the relationships on both sides line up: a database index and a queue both have a cost you pay up front to stop paying it later, so a manager who knows queues can be handed the index whole. It strains when only the surface lines up — both sides merely have "three of something", or "people coordinating" — and then the reader spends their attention decoding your metaphor instead of learning the subject.

So choose the comparison for the idea, not for the reader's résumé. Their own field is often an excellent place to look, precisely because they already know its relationships in their bones — but it is one candidate among many, and it earns the page only when its structure genuinely fits. "A music major" is mostly telling you what they already know and how they read: educated, comfortable with abstraction, no finance vocabulary, an ear for rhythm. Whether music also happens to be the right explanatory bridge for this subject is a separate question, and usually the answer for a market-structure topic is that plain, well-paced prose beats an orchestra.

Trust yourself to judge it per idea rather than per reader.

The shape of an explanation

Each page, at every rung, moves through the same four beats — the beats just change size:

  1. What it is — one sentence that captures the essence, before any machinery.
  2. A way in — whatever makes the idea land for this reader. Often an analogy; for a reader who can hold the real concept, often just the real concept said plainly. Take a comparison from wherever it is clearest, use it where it is needed, and drop it — do not carry it through the page. See {SKILL_PATH}/references/audience-calibration.md.
  3. The details — layers, added only as far as this audience wants them.
  4. The so-what — why it matters to them. This is the beat most often dropped, and its absence is what makes an explanation feel like a lecture.

When explaining code, explain the purpose before the mechanism. Nobody cares about syntax until they know why the code exists.

Designing the page for its reader

Vocabulary is the easy half. Two more things are calibrated to whoever is reading: what the page looks like, and what it has to contain before this particular person feels they have understood. Miss the first and the page reads as made for somebody else — a five-year-old's explanation set in 15px grey Helvetica reads as homework, a manager's memo in bubbly rounded type reads as a joke. Miss the second and it reads as made for nobody: accurate, and unconvincing.

Both are things you derive, and deriving beats reaching for a preset, because the reader in front of you is usually not on anybody's list.

Derive the look from the reader's own printed world. Everyone already trusts some printed matter, and their eye was trained by it: a concert programme and the liner notes inside it, a poetry collection, an exhibition catalogue, a lab notebook, a legal brief, a design annual, a hospital discharge sheet, a well-set trade paperback, an analyst note. Ask what this person reads by choice, and what they read when something matters. That object is the page's ancestor — not to imitate, to inherit from.

Then make the inheritance real by deciding five things out loud, because the entire distance between a page with taste and a page that is merely correct is whether these were chosen or defaulted:

  • the type pairing, and why those two faces — what the display face does that the text face cannot, and what the second one earns its place by;
  • the measure and the leading — how wide a line this reader wants under their eye, and how much air between lines;
  • the palette and its ground — start from the ground, because paper is a colour decision, and name the accent as a quantity: one hue used three times is a decision, six tints are an accident;
  • where the one expressive gesture lives — every page gets a single moment of raised voice; say what it is and where in the reading it arrives;
  • what the decoration is made of — rules, ornament, figures, colour fields, or whitespace itself. A page decorated with whitespace is decorated.

Derive the substance from what would actually convince this person. Understanding is not one thing. A five-year-old has understood when they can see it happen; an engineer has understood when the mechanism is exact and the edge cases are named; someone trained in the humanities has understood when enough worked cases have accumulated that the general claim arrives already believed. So ask what this reader would need to have been shown before they put the page down, and let the page carry that:

  • what convinces them — a story, a concrete case, a number with a provenance, a derivation, a precedent, a demonstration;
  • the shape the reasoning takes — narrative; step-by-step cause and effect; claim → evidence → implication; assumption → derivation → limit; situation → action → check; a trade-off matrix;
  • how concrete, and how often — an arts or humanities reader is served by more worked examples and more pictures than a technical reader, who is usually better served by one exact mechanism and its edge cases; a young child needs every noun to be a thing they can see;
  • what the figures are for — decoration, mnemonic, or load-bearing argument. On some rungs the picture carries the explanation and the prose labels it; on others a diagram has to be a true model or be left out;
  • where the "so what" lands — a personal consequence, a business decision, intellectual pleasure, craft.

Do the two derivations together, because they constrain each other. A page that argues by accumulating worked cases needs a measure and a rhythm that let three of them run without exhausting the reader; a page that argues in one exact mechanism wants width for the code and the diagram, not a long lyrical column.

Restraint is a means, never an identity. A calm page is calm on purpose: it still has a type pairing chosen for a reason, a measure chosen for a reason, and one place where it allows itself a gesture. What separates designed calm from an undesigned page is being able to say what the saved space is for — a number that needs silence around it to read as a fact, a reader whose eyes are tired at the end of a day, a diagram that has to be the loudest thing there. If you cannot name what the restraint buys, you have not made a quiet page; you have left one undesigned, and that is what a user means when they say a page came back "clean" in a disappointed voice.

Show full SKILL.md (2,417 more words)Show less
Reference points

Worked answers, not uniforms — each row is one derivation somebody already did. Find the reader nearest yours, start from their answer, and move it where your actual reader pulls. Keep the rungs of one ladder visibly distinct: if two pages in the same explainer look alike and argue alike, the ladder has nothing to show.

How the page looks

AudienceIts printed worldType & measurePalette & groundDecoration is made of
Young child (4–9)The picture book; the toy catalogue.Rounded sans throughout (Baloo 2, Nunito, Quicksand). Body 22–28px, headings 48–72px, line-height 1.7+, short measure of 24–34 characters so a line is one breath.Warm off-white ground (#fff8ef), 3–4 crayon-box colours at full saturation, warm dark ink. High contrast everywhere.Big CSS/SVG shapes, flat colour fields, a numbered story strip, slightly rotated labels. One meaningful emoji is fine. Gesture: the hero shape at the top.
Teenager (10–17)The game wiki; a music zine; a sneaker drop page.Confident geometric sans (Space Grotesk, Archivo, Poppins), a heavier cut for headings. Body 18–20px at 1.6, measure 55–65, headings tight (−0.02em).One loud accent on a light or near-black ground, plus two neutrals. The accent behaves like a highlighter — it marks, it does not decorate.Sticker-ish badges, 3px borders, an accent bar behind one phrase, a two-column comparison strip. Gesture: the pull quote. No cutesy shapes.
General adult / family (parents, partner, grandparents)The well-set trade paperback; the long magazine feature.Warm text serif (Source Serif 4, Lora, Charter) at 19–21px, line-height 1.8, measure 58–64; a quiet humanist sans for headings if the change of voice helps. For older eyes go to 21–22px and raise contrast rather than adding colour.Warm paper (#fbf8f4), near-black ink, one muted accent reserved for the single thing to remember.Whitespace and rhythm, mostly — the space buys unhurried section breaks and one idea per screen band, for a reader who is often tired. A hairline rule between beats, a lede set two sizes up. Gesture: one gentle illustration where the idea turns.
Business (manager, director, PM)The analyst note; the one-page brief.Neutral professional sans (Inter, Source Sans 3) at 16–17px, line-height 1.6, measure 70–75, headings tight, tabular figures anywhere a number appears.White sheet floating on a light grey desk, one accent for emphasis, one warning tint for risk. Colour means status here, never mood.The restraint buys silence around the numbers: stat tiles with real air, a ruled cost/benefit table, an ink-bordered decision box closing the page. Gesture: the accent bar on the answer block in the first screen.
Arts / humanities-educated reader (music, literature, art history, philosophy)The exhibition catalogue; a well-set poetry collection; the essay in a serious quarterly.Editorial serif with actual personality (Spectral, EB Garamond, Crimson Pro, Source Serif 4) at 19–21px / 1.75, measure held at 62–66; a quiet sans (Inter, Work Sans) only for captions and folios at 12–13px, letterspaced 0.08em. The contrast between those two is the page's voice.Warm paper (#faf7f2), true ink, and one saturated hue used like ink — a single colour appearing about three times: the opening, a rule, the last line.Typography itself: a drop cap or a small-caps opening clause, hairline rules, numbered figure captions, real hanging quotation marks, and an asymmetric measure that leaves a wide margin for sidenotes. Gesture: that opening. No cards, no icon set, no rounded boxes.
Technical (engineer, grad student)The lab notebook; the man page; the spec.Clean text sans (Inter, IBM Plex Sans) at 15–16px / 1.6 beside a real mono (JetBrains Mono, IBM Plex Mono) at 13–14px. Prose measure 72–80; code runs full width.Cool muted ground, one highlight colour, a dark code surface with restrained syntax tints. The palette's job is to make prose and code read as two different materials.The restraint buys full width for the exact things — an annotated code block, an inline SVG diagram drawn to scale, a trade-offs table. Gesture: that diagram; everything else stays out of its way.
Practitioner (nurse, technician, electrician, chef, pilot)The discharge sheet; the checklist card; the field manual.High-legibility sans with unmistakable figures (Inter, IBM Plex Sans, Atkinson Hyperlegible) at 17–18px / 1.55, step numbers large in a bold cut, measure short at 50–60 so one step is one glance.White ground, black text at maximum contrast, and one alert hue reserved strictly for where it goes wrong — spending it anywhere else is spending it.Rules and blocks that fence one step from the next, a boxed stop-and-check panel, a labelled right-versus-wrong figure pair. Gesture: that stop panel. Nothing here needs to survive being pretty; it needs to survive a photocopy.
DesignerThe design annual; the type specimen; the case-study spread.A deliberate editorial pairing with real contrast — display face at 40–64px against a text face at 17–18px, measure 60–68. You should be able to defend the pairing in one sentence.A small stated palette — three values plus paper — used systematically, on a grid whose alignment is visible. The page demonstrates the taste it is discussing.Figures given real space: before/after pairs, a state map, flow frames with captions, generous asymmetric margins. Gesture: type as image, where one word deserves to be seen rather than read.

How the page argues

AudienceWhat convinces themShape of the reasoningConcreteness & figuresWhere the "so what" lands
Young child (4–9)Seeing it happen to something they know, in a story where somebody wants something.Narrative: first this, then this, so that. One chain, no branches.Every noun a visible object. The picture carries the explanation and the words label it — two or three drawn moments, one per beat.Recognition: "that is why the tablet does the thing you noticed". They should end up feeling clever, not taught.
Teenager (10–17)The thing they already use turning out to work in a way they can now see, plus one number that surprises.Cause → consequence → the twist that explains the annoying part.One real example from their world carried the whole way down the page; a before/after strip as a mnemonic.Agency: what they can now notice, argue about, or do.
General adult / family (parents, partner, grandparents)A story about people, a precedent from a life they have actually lived, and being trusted with the catch rather than protected from it.Narrative with one honest complication: here is the thing, here is the way in, here is what it costs, here is what I would do.Two or three everyday worked cases, unhurried, each finished before the next starts. A figure at most, placed at the turn, working as a mnemonic and not as the argument.Personal consequence: what to do, and what to stop worrying about.
Business (manager, director, PM)Quantified impact with its provenance, and a precedent — what happened when somebody else did this.Claim → evidence → implication → options with what each costs. The first screen has to stand alone as the whole answer.Numbers with units and a source note, one worked scenario, mechanism only where it changes a decision. Figures are load-bearing and plain: tiles, a table, never a diagram for its own sake.The decision in front of them, ending in an ask.
Arts / humanities-educated reader (music, literature, art history, philosophy)Worked cases that accumulate until the general claim arrives already believed — and coherence: reasoning shown being made, rather than results announced.Case → case → case → the claim → its limit. The essay's shape: exposition, complication, resolution. Terms get defined in the rhythm of a sentence, never in a glossary box.High and frequent: three fully walked examples where a technical rung would take one, each close-read for what it shows. Images are load-bearing, set as plates with numbered captions and discussed in the text.Intellectual pleasure — a lens they can carry elsewhere. They are paid in a new way of seeing, not in a task.
Technical (engineer, grad student)An exact mechanism, real complexities in real units, the edge case, and why the obvious design was rejected.Assumption → derivation → limit, plus an explicit trade-off matrix and named failure modes.One precise worked example — a real trace, a real query plan, a real payload — beats three approximate ones. A diagram is a true model or it is omitted.Craft: what to reach for, what to avoid, what breaks under load.
Practitioner (nurse, technician, electrician, chef, pilot)What happens if I do X, and a case that went wrong. Authority is earned by knowing their constraints — time, hands, liability.Situation → action → check, ordered by when you need it rather than by how the mechanism works. Theory appears only where it changes what you do.Exact steps, exact numbers, and the signs that tell you it worked. Figures are load-bearing and show right beside wrong.The next hour of their shift: do this, watch for that, escalate here.
DesignerSeeing the thing — the before and the after, the states, the boundary of what is possible now.What the user perceives, then what produces that perception, then what it opens or forecloses.Flows and state maps drawn to scale. The figures are the argument and the prose annotates them.Craft and possibility: what they can design now that they could not before.

{{#imageGenEnabled}}

Optional illustrations

An image generation script lives at {SKILL_PATH}/scripts/generate_image.mjs. Reach for it when a rung genuinely needs a picture that CSS and SVG cannot make — a warm illustration on a kid's page, a scene on a family page, the plates an arts or humanities reader reads with rather than around. The test is what the figure is for on that rung: where it carries argument or memory, generate it; where the reader is convinced by exactness instead, a table or an inline SVG is both faster and more informative, which is why business and technical rungs rarely want one.

bash
cd {SKILL_PATH} && node scripts/generate_image.mjs \
  "A friendly cartoon illustration of a toy box with labelled drawers, flat vector style, bright primary colours on cream, thick outlines, no text" \
  --aspect-ratio 4:3 \
  --quality high \
  --output-format png \
  --output-dir <workspace>/<topic-slug>/assets \
  --filename-prefix age-5-toybox
  • The prompt is a positional argument — there is no --prompt flag, and passing one is an error.
  • Do not pass --style. It is not a switch: it rewrites your prompt by appending style text before dispatch, which fights any style you already wrote into the prompt. Write the style into the prompt and leave the flag alone.
  • Default model is gpt-image-2.5-sunburst via OpenRouter for illustrations and labels. Reference-image edits use gpt-image-2.5-flare automatically. Both require OPENROUTER_API_KEY.
  • --output-dir is always the explainer's own assets/ directory. The page that shows the image lives in <topic-slug>/pages/, and that directory — not the topic root — is the iframe's base URL, so the reference is ../assets/<file>.png. A bare assets/<file>.png resolves to <topic-slug>/pages/assets/<file>.png, which does not exist, and the page renders a broken image rather than an error.
  • Generating for several rungs of one ladder? Reuse the same style descriptor sentences verbatim across prompts, or the explainer stops looking like one piece of work. {{/imageGenEnabled}}

Workflow

Writing a new explainer
  1. Identify the audiences. Read the request for who this is for — "for my manager", "for a 10-year-old", "for the backend team". If the user names one audience, build a one-rung ladder; that is a perfectly good explainer and you can offer to extend it after. If they name none, build the default three-rung ladder — age 5 → manager → engineer — because that spread shows the user what the mode does and lets them point at the rung they actually wanted. Derive each named audience before you write for them — how their page looks and what it has to contain, per Designing the page for its reader above. {SKILL_PATH}/references/audience-calibration.md carries the fuller taxonomy: vocabulary ceiling, familiar ground, framing, and the worked visual and evidentiary answers to start from.
  2. Read the source material first. Code, an error, a doc, a link — open it and understand it before translating it. An explanation written from the name of a thing rather than the thing itself is where confident wrong pages come from. For an error, find the root cause, not the surface text; for code, work out what it is for before how it works.
  3. Pick the content-set slug — kebab-case, topic-shaped (database-index, oauth-pkce, why-the-build-is-slow). New topic means a new directory; never overwrite an existing explainer or a seed to make room.
  4. Write manifest.json first, with the full audiences[] array in ladder order. The rail appears immediately and the user can watch the pages arrive.
  5. Write the pages in ladder order, one file per rung. Commit to the derivation you made for that reader — the look and the kind of evidence they need — and let the simplest rung set the tone the ladder contrasts against. Keep the four beats in every page.
  6. Land the user on it. Invoke navigate-to for the rung you consider the best entry point (usually the first, or the one they asked for), then drop a <viewer-locator> card per rung in your reply.
  7. Offer the next move. Another audience? A compare view of two rungs? A shorter version? One sentence, not a menu.
Editing an existing page
  1. Resolve the target from the Address: line in <viewer-context> — do not assume they mean the rung you last touched.
  2. Read the page before editing it. These are hand-designed documents; blind edits break layout the user liked.
  3. Edit narrowly. Fix the rung they pointed at. If the same fix belongs on every rung (a factual correction, a renamed product), say so and apply it across the ladder in one pass — a wrong fact fixed on one page and left on two is worse than not fixing it.
  4. Keep the register. A "make it shorter" on the engineer page is not an invitation to make it read like the manager page.
  5. Verify visually with capture when the change was structural, then navigate-to the edited rung.
Adding a rung to an existing ladder
  1. Read the existing manifest.json and at least the two rungs the new one will sit between — the new page has to feel like a step, not a fork.
  2. Insert the entry at the right index in audiences[], not at the end.
  3. Write the page in the register its position implies, then navigate-to it.

Commands

This mode declares no viewer commands. Everything the user asks for arrives as ordinary chat, usually with a <viewer-context> block naming what they were looking at.

References

Read when you need depth. Loaded into context only when you open the file.

TopicFileRead when
Audience taxonomy — ages, grade levels, job roles, relationships, formations; vocabulary, familiar ground, framing, tone, and for each one both the page's visual register and what lands as understanding{SKILL_PATH}/references/audience-calibration.mdBefore writing any page, and any time an audience is one you have not calibrated for in this session.

© pandazki, MIT. Rendered from Markdown: HTML in the file is shown as text, images as links, and headings moved down two levels. Raw file

Files

SKILL.md and 1 other file (references) in modes/eli5/skill of pandazki/pneuma-skills.

  • SKILL.md
  • references/audience-calibration.md

Open the folder on GitHubat commit 0023d3c

Compare with similar skills

Pneuma Eli5 next to the 5 skills that share the most tags, products or categories with it. Stars are the repository's; “used in” counts other GitHub owners with a copy.

Pneuma Eli5 compared with similar skills
SkillStarsUsed inTokensAuto-checkLicenceRepo updated
Pneuma Eli5 this skillpandazki/pneuma-skills161—~8.2kAutomated safety check: PassMIT
Writing Guidelinessickn33/agentic-awesome-skills47k1 repos~438Automated safety check: PassMIT
Web Design Guidelinesnexu-io/open-design100k—~601Automated safety check: PassMIT
Writing Guidelinesvercel-labs/agent-skills32k7 repos~309Automated safety check: PassNone
Brand Guidelinesalirezarezvani/claude-skills28k1 repos~1.3kAutomated safety check: PassMIT
Brand Guidelinesnexu-io/open-design100k—~346Automated safety check: PassApache-2.0

Similar skills

  • Writing Guidelines

    sickn33/agentic-awesome-skills

    Curated upstream guidance for Writing Guidelines; use when the workflow matches the user goal.

    47k GitHub starsUsed in 1 repo~438 tokens
    Writing & ContentAuto-check passed
  • Web Design Guidelines

    nexu-io/open-design

    Review UI code for Web Interface Guidelines compliance by the Vercel engineering team.

    100k GitHub stars~601 tokensUpdated today
    Frontend & DesignAuto-check passed
  • Writing Guidelines

    vercel-labs/agent-skills

    Official

    Review docs/prose for Writing Guidelines compliance. An agent skill from vercel-labs/agent-skills.

    32k GitHub starsUsed in 7 repos~309 tokens
    Writing & ContentAuto-check passed
  • Brand Guidelines

    alirezarezvani/claude-skills

    When the user wants to apply, document, or enforce brand guidelines for any product or company.

    28k GitHub starsUsed in 1 repo~1.3k tokens
    Writing & ContentAuto-check passed
  • Brand Guidelines

    nexu-io/open-design

    Apply Anthropic's official brand colors and typography to artifacts for consistent visual identity and professional design standards.

    100k GitHub stars~346 tokensUpdated today
    Media & CreativeAuto-check passed
  • Eli5

    DreambigOu/ELI5

    Explain any topic, code, concept, or error tailored to a specific audience's level of understanding.

    1.7k GitHub stars~2k tokensUpdated 6 mo ago
    Auto-check passed

More from pandazki/pneuma-skills

All 30 skills in this repo
  • Pneuma Bansho

    pandazki/pneuma-skills

    Explain something by writing it on a board. An agent skill from pandazki/pneuma-skills.

    161 GitHub stars~6.9k tokensUpdated yesterday
    Auto-check passed
  • Pneuma Clipcraft

    pandazki/pneuma-skills

    AI-orchestrated video production on @pneuma-craft. An agent skill from pandazki/pneuma-skills.

    161 GitHub stars~7.5k tokensUpdated yesterday
    Auto-check: notes
  • Pneuma Lucid

    pandazki/pneuma-skills

    Pneuma Lucid Mode workspace guidelines. An agent skill from pandazki/pneuma-skills.

    161 GitHub stars~4.6k tokensUpdated yesterday
    Auto-check: warnings
  • Pneuma Plotwise

    pandazki/pneuma-skills

    Pneuma Plotwise workspace guidelines. An agent skill from pandazki/pneuma-skills.

    161 GitHub stars~8.9k tokensUpdated yesterday
    Auto-check passed
  • Pneuma Sprite

    pandazki/pneuma-skills

    Pneuma Sprite Mode workspace guidelines. An agent skill from pandazki/pneuma-skills.

    161 GitHub stars~16k tokensUpdated yesterday
    Auto-check passed
  • Pneuma Webcraft

    pandazki/pneuma-skills

    Pneuma WebCraft Mode workspace guidelines with Impeccable.style design intelligence.

    161 GitHub stars~7.5k tokensUpdated yesterday
    Auto-check: notes

Questions about Pneuma Eli5

What does Pneuma Eli5 do?

Pneuma ELI5 Mode workspace guidelines. An agent skill from pandazki/pneuma-skills. Pneuma Eli5 is an agent skill from pandazki/pneuma-skills. Pneuma ELI5 Mode workspace guidelines.

When should I use Pneuma Eli5?

Pneuma Eli5 fits situations like: ANY task in this workspace: explaining a topic; A piece of code; an error message; A document to a specific audience.

How do I install Pneuma Eli5 in Claude Code?

Run `npx skills add pandazki/pneuma-skills --skill pneuma-eli5 -a claude-code`. Or copy the skill folder (modes/eli5/skill in pandazki/pneuma-skills) into .claude/skills/pneuma-eli5 in your project. Claude Code loads it when a task matches its description.

How do I install Pneuma Eli5 in Codex?

Run `npx skills add pandazki/pneuma-skills --skill pneuma-eli5 -a codex`. Or copy the skill folder (modes/eli5/skill in pandazki/pneuma-skills) into .agents/skills/pneuma-eli5 in your project. Codex loads it when a task matches its description.

Can I use Pneuma Eli5 in Cursor, Gemini CLI or GitHub Copilot?

Cursor, Gemini CLI, GitHub Copilot and OpenCode also load SKILL.md folders. With the skills CLI, run `npx skills add pandazki/pneuma-skills --skill pneuma-eli5 -a cursor` (or -a gemini-cli, github-copilot or opencode for the others). To copy it by hand, put the folder in .cursor/skills/pneuma-eli5, .gemini/skills/pneuma-eli5, .github/skills/pneuma-eli5 and .opencode/skills/pneuma-eli5 in your project.

What does Pneuma Eli5 need to run?

Going by SKILL.md and its folder, Pneuma Eli5 needs the command-line tools its instructions call (curl and node) and credentials named OPENROUTER_API_KEY.

Does Pneuma Eli5 access the network?

SKILL.md contains no URLs. Its commands use curl, which can reach the network depending on how they are called. This is read from the text; nothing was executed.

Is Pneuma Eli5 safe to install?

Our automated static check of SKILL.md found no risky patterns, such as piping downloads into a shell, reading credential files or hidden Unicode. It is not a guarantee. Review the folder before installing.

What licence does Pneuma Eli5 use?

Pneuma Eli5 is published under the MIT licence (the repository's licence). It allows redistribution, so the full SKILL.md is shown on this page.

How many tokens does Pneuma Eli5 use?

About 8.2k tokens (SKILL.md is roughly 33k characters). Agents keep only the skill's name and description in context until a task matches; then they load SKILL.md in full. Its references folder adds about 6.7k tokens, read only when the agent opens those files.

What are the alternatives to Pneuma Eli5?

Skills that share tags, products or a category with Pneuma Eli5: Writing Guidelines (sickn33/agentic-awesome-skills, 47k stars), Web Design Guidelines (nexu-io/open-design, 100k stars), Writing Guidelines (vercel-labs/agent-skills, 32k stars) and Brand Guidelines (alirezarezvani/claude-skills, 28k stars). The comparison table on this page puts their stars, adoption, token cost, safety result and licence side by side.

Who maintains Pneuma Eli5?

pandazki (a GitHub user) maintains it in pandazki/pneuma-skills, which has 161 GitHub stars. The repository holds 30 skills in this directory. The repository was last updated on October 9, 2026.

Source: pandazki/pneuma-skills on GitHub. Facts on this page come from the repository at the commit we read; the author's words are quoted as theirs.