Atlas / Skills / ramakm / folio-anatomy

folio-anatomySAFE

skills/ramakm/folio-anatomy

Explain any idea the way a museum explains a specimen. A Claude Code skill for live, engraved isometric explainers.

Verdict
SAFE
Grade
B
Trust score
89 /100
Version
—
Hosts
2 documented
License
MIT
Stars
0
01

Overview

From the repository's own README, as read at the audited commit. Badges and raw HTML are left out.

A SKILL FOR CLAUDE CODE

Explain an idea the way a museum explains a specimen.

The collection · Install · Commission a plate · Anatomy of a plate · Make your own

Plate I. Attention, as an assay bench.

The collection

Plate I · Attention, as an assay benchMachine learning. A sealed reservoir pours one unit of attention between eight words by softmax. Four heads, a temperature knob and a causal mask. Plate II · The heart, as a double pumpPhysiology. Four piston chambers, four valves and two circuits, run by a live model of the circulation. Slow it down, speed it up, or give it a narrowed or leaking valve.

Both plates live on one website, with a cover page written as a short illustrated essay: [ramakm.github.io/folio-anatomy/docs](https://ramakm.github.io/folio-anatomy/docs/). Its source is in site/ and the built site in docs/ (see VI).

Three views of every plate

Each plate has a switch in its top corner: SVG · WebGL · 3D, plus two ways to look closer: press any numbered pin for a zoomed view of that part with its live reading, or turn on the Loupe to magnify the bench under your pointer.

Read from source at commit c4d5568be218OBSERVED · 2026-10-12
02

Install

Commands as the repository documents them. They are shown, not run.

npx skills add Ramakm/folio-anatomy -g -a claude-code
git clone https://github.com/Ramakm/folio-anatomy.git ~/.claude/skills/folio
git clone https://github.com/Ramakm/folio-anatomy.git .claude/skills/folio
npm install                                   # Playwright, for the screenshot checks
git clone https://github.com/Ramakm/folio-anatomy.git .claude/skills/folio</pre>
git clone https://github.com/Ramakm/folio-anatomy.git .claude/skills/folio</pre>
03

Host compatibility

What the documentation claims. We have not run a compatibility test.

HostStatusNotes
claude-codementioned
cursormentioned
04

What it tells the agent

The instruction file, verbatim from the audited commit — this is the text the model reads, and the surface the audit's instruction layer examines. Quoted here so you can judge it without cloning anything.

---
name: folio
description: Build a museum-style exhibition plate that explains a technical idea - an invented scientific instrument drawn as a live, engraved isometric figure in three views (SVG, WebGL light, and a 3D bench you can turn), with numbered specimen pins, a catalogue key, a working model behind every number, and wall texts that walk through the formula term by term. Use for explanatory figures, interactive explainers, "how does X work" visuals, or technical illustrations for docs, courses, posts and landing pages, even when the request never mentions museums, plates or isometric drawing.
---

# Folio

A Folio plate explains an idea the way a natural history museum explains a specimen. There is one object on a mount, a numbered key beside it, and wall texts that tell you how to look at it. The object here is an instrument you invent, such as a bench, a balance, a loom or a still, whose working parts perform the idea. Readers can poke it, and every reading on it is computed.

## Three commitments

1. **Mechanism, not metaphor.** The instrument has to *perform* the idea, not stand beside it as an illustration. Before drawing, write one line: "When the reader does X, part Y moves, and that movement is Z in the idea."
2. **A single source of numbers.** A small pure model computes everything: needle angles, fluid levels, the readout, the key, the tables. The page only displays what the model returns, so no two places can disagree.
3. **A guided reading.** A good drawing still needs a guide. Each plate ships with a key, a term-by-term reading, the full working, and an honest account of what was simplified.

## Getting started

- Two reference plates ship with the repo. **Plate I** (`examples/attention/`, attention as an assay bench) is the model for ideas made of discrete steps and a formula. **Plate II** (`examples/heart/`, the human heart as a double pump) is the model for anything that runs in time: a simulation integrated every frame, continuous flow, phases, and charts redrawn after each cycle. Open the closer one first.
- The fastest start is to copy a reference plate: `node scripts/new-plate.mjs <name>` makes `examples/<name>/` from Plate I. Then replace its model, scene and texts. Building from a working plate is quicker and safer than starting blank.
- Shared exhibition styles live in `kit/folio-page.css`; a plate's `page.html` puts `/*CSS*/` inside its `<style>` and adds only its own rules.
- `node scripts/build-site.mjs` builds every plate plus the cover page (`site/index.html`) into `docs/`, a website ready for GitHub Pages. To add a plate, add its name to `PLATES` there and a card to the cover.
- Build any plate into one standalone file with `node scripts/build.mjs examples/<name> dist/<name>.html`.
- If only this file is installed (no repo), the appendix at the end holds the drawing library; save it as `folio-kit.js`.

A plate is five files:

| File | Role |
|---|---|
| `folio-kit.js` | the drawing library (shared, never edited per plate) |
| `folio-live.js` | the three views: stage, light layer, orbit, view switch (shared) |
| `model.js` | the pure model; puts one object on `window` |
| `plate.js` | the instrument: static geometry, live slots, input |
| `page.js` | key, controls, wall texts, ledger; listens to the plate |
| `page.html` | the mount and styles, with `/*KIT*/ /*MODEL*/ /*PLATE*/ /*PAGE*/` placeholders |

## Phase A: the brief (no drawing yet)

**A1. Scope.** Tell the user which of these they are getting and roughly how long it will take, before starting:

| Scope | Contents | Typical time |
|---|---|---|
| Sketch | instrument + key + readout, no wall texts | under an hour |
| Plate | the full exhibition page (the default for "explain X") | one and a half to three hours |
| Series | several plates on one shared bench, scale and palette | agree the list first, then one plate at a time |

**A2. The model.** Write `model.js` before anything visual. Gather the real formula, units and magnitudes. Return plain objects: inputs in, every quantity the page will show out. Run it in Node and print a few cases. Look for edge cases now (an empty set, a masked row, a value at the limit). If anything is invented, such as toy weights or sample data, note it for the "About this specimen" wall text.

**A2b. Models that run in time.** When the idea is a process (a heartbeat, a queue draining, a learning curve), write it as state plus a `step(s, dt)` function and a `read(s)` that returns everything shown. Tune parameters against known values in Node before drawing, as Plate II does for a resting adult (about 115/80 mmHg, 70 mL per beat, 5 L/min). Keep the simulation running while the drawing is off screen, and skip only the painting; otherwise changing a control further down the page freezes the numbers.

**A3. The instrument and its correspondence table.** Look for an instrument from the world of laboratories, workshops, observatories or print shops. Then write the table that ties each term to a part:

| Term in the idea | Part of the instrument | What the reader can see |
|---|---|---|
| query | a carriage on an overhead rail | it parks above the word that is asking |
| scaled score | a dial per word | needle position |
| softmax | one sealed reservoir | the columns can only divide what it holds |
| mask | stopcocks with caps | later words are shut off |
| weighted sum | a tray of layered deposit | each layer's length is a weight |

Every row needs a part, and every major part needs a row. Some reliable mappings: a fixed total becomes a reservoir, a purse or a bag of weights. Comparison becomes a dial, a balance or calipers. Selection becomes a valve, a switch or a points lever. Accumulation becomes layers, a stack or a tally. Ordering becomes a rail, a rack or a chute.

## Phase B: the bench

**B1. Inventory.** List the parts before placing them. Aim for 30 to 60. Group them by purpose: *term parts* (from the table, repeated per item), *support parts* (plinth, feet, pos
05

Trust audit

SAFEgrade B · trust 89/100 Nothing in the source contradicts what it says it does. Grade A is reserved for packages that have also passed the behavioural sandbox.

LayerWhat it checksResult
L0Provenance & inventoryPASS
L1Static analysis of the codePASS
L2Instruction surface (what it tells the agent)PASS
L3Class-specific surfacePASS
L4Behavioural (sandbox)SKIPPED

What the source does

Filesystem
none-observed
Network
none-observed
Shell
none-observed
Dependencies
pinned
Secrets in source
none-found

Findings (0)

No findings outside the package's declared scope.

Gates applied: no_behavioural_pass.

Audited 2026-10-12 · audit v0.4.1 · source sha c4d5568be218full audit observations/trust-audit/skill/ramakm__folio-anatomy.json · Report an issue / request a re-scan
06

Audit history

Every audit this skill has had.

DateSourceVerdictGradeScoreChange
2026-10-12c4d5568be218SAFEB89first audit
07

Questions

What does the folio-anatomy skill do?

Explain any idea the way a museum explains a specimen. A Claude Code skill for live, engraved isometric explainers.

Is folio-anatomy safe to install?

The audit found nothing in the source that contradicts what it says it does, and graded it B (89/100). Grade A is held back for packages that have also passed a sandboxed behavioural run, which is why a clean skill reads B.

What can folio-anatomy access on my machine?

The audit observed no filesystem, network or shell use at all in its source.

Which assistants does folio-anatomy work with?

Its documentation mentions claude-code and cursor. That is what the text claims, not a compatibility test we ran.

How current is this page?

The grade is for one exact copy of the source (c4d5568be218), read on 2026-10-12. The repository is watched, and a new audit runs when it changes — this is the first audit.

Advertisement