explain-with-anim
Answer "how does this work / how is this structured / what does this change" with a drawn figure and a narration that follows it — a module map from the…
Skill by hasegama
Install
Works with Claude Code, Claude apps, Codex, Cursor, Gemini CLI, GitHub Copilot, VS Code, OpenCode, Goose, Windsurf. Read the repository before you give any tool access to your data.
npx agentmarket install skill/hasegama-explain-with-anim
Asks which of your tools to add it to (Claude Code, Codex, Cursor, VS Code, Windsurf, Gemini CLI, Claude Desktop) and shows the change first. See https://agentmart.dev/cli.
Get the weekly diff
The weekly diff: one email a week with new agent tools, notable updates and grade changes, plus security alerts for tools you follow. Double opt-in, one-click unsubscribe.
About
Use cases: design
Reviews
Write a reviewNo reviews yet. Installed it? Reviews come from verified installers only. How reviews work
Permissions
What this skill can do and what it asks for, from its SKILL.md. Checked Oct 25, 2026.
- Tools
- No tools found
- Secrets
- None asked for
- Install scripts
- None found
Network hosts it talks to 1
codeload.github.com· found in install command
Files it touches
~/.claude/skills/explain-with-anim
What's inside
- Skill name
explain-with-anim- Description
- Answer "how does this work / how is this structured / what does this change" with a drawn figure and a narration that follows it — a module map from the code's own imports, a walked request, a state machine, an algorithm step by step, the change map of a branch — produced with `vlmkit-anim`, checked against the facts it draws, and delivered as an SVG / GIF next to the prose. Use whenever the user asks to explain, walk through, show the structure of, or illustrate code, a repository, a flow, a protocol, a PR, or a bug, and a picture with four or more things and their relations would carry the answer better than a paragraph. The explanation is the deliverable; the picture is its evidence. Scene mechanics are in `explanatory-animation`.
- License
- MIT
- Instructions
- 115 lines in SKILL.md · view on GitHub
Files (1)
- SKILL.md
SKILL.md (first lines)
# explain-with-anim
The user asked a question. Answer it with a picture and the words that walk
the picture — not a picture instead of an answer, and not a paragraph with
a decorative diagram after it. The figure is drawn from the code (or the
facts) by `vlmkit-anim`, checked, and delivered as a file; the prose follows
the figure beat by beat and names the things in it by their ids.
Read `explanatory-animation` for how to write and check a scene. This skill
is about **what to draw, from what, and how to explain with it**.
## First: does a picture help?
Draw when the answer has **things and relations** — four or more modules,
states, participants, steps — or an **order in time**, or a **before and
after**. Do not draw for a one-line answer, a single function's body, or a
question about a value. If in doubt, write the answer first; if it needs a
list of more than four named things that point at each other, draw them.
## Choose the picture from the question
| The user asks… | Draw | From |
|---|---|---|
| "How is this repo / package / directory structured?" | `kind: modules` — a module map, containers per area | `vlmkit-anim facts <dir> --depth 1 --out f.expect.json` (the import graph), then the map, then `check --expect f.expect.json`; for the whole workspace `vlmkit-anim repo --out <dir>` draws it and writes its own sheet |
| "How does a request / event / message flow through it?" | `modules` with a `sequence` that walks the path (`highlight`, `flow`), or `kind: sequence` when the participants and their calls are the point | the code path you read; the map from `facts`; each hop a beat with a caption saying why |
| "How does this algorithm / data structure work?" | the kind that owns it: `sort`, `array`, `tree`, `heap`, `stack`, `queue`, `list`, `matrix`, `graph` | the function's own steps; small concrete values (five to eight) so every beat is readable |
| "What states can this be in? What happens on X?" | `kind: state-machine` with a `trace` of the events that matter | the enum / reducer / status field and its transitions |
| "How do these services talk? What if one is slow / lost?" | `kind: distributed` (nodes, messages, a lost one) or `kind: sequence` (frames for retry / alt) | the protocol as implemented; the failure the user asked about as the trace |
| "Why does it go this way here?" (a decision) | `kind: flowchart` with the walked path | the branch conditions, as their labels |
| "What does this branch / PR change?" | `vlmkit-anim pr --base origin/main --out .vlmkit-anim/pr` — one beat per commit; or `vlmkit-anim diff before.json after.json` for two maps | git; `<name>.md` is paste-ready |
| "What is the schedule / what slipped?" | `kind: gantt` | the plan, the slips as `slip` ops |
| "The docs already have a mermaid diagram" | `vlmkit-anim import mermaid page.md --out scene.json`, then finish it | the diagram; read its `dropped / changed:` list |
| "Give me a D2 file" / "something I can paste in the README as ASCII" / the repo keeps `.d2` diagrams | `d2-diagram` — D2 text laid out by TALA, rendered in the terminal | the same `facts` sheet, drawn by hand into D2; say in the prose that nothing checks the D2 against the code |
One picture per question. Two aspects that both matter (structure and a
walk) are one `modules` scene with a `sequence`, or `kind: compose` — not
two files.
## Ground it in the source, not in memory
- A map of code is drawn from the code: `facts` for a directory, `repo` for
the workspace, the import list or `package.json` files by hand when
neither fits. Then `check --expect`. A map drawn from memory and not
checked is a guess with a border round it.
- A walk is drawn from the path you read: cite the file and function each
beat corresponds to in the caption or in the prose ("`handle()` in
`router.ts` → `dispatch`").
- Anything you could not verify goes in the prose as "not drawn: …", never
in the picture.
## Produce
```
1. write <name>.scene.json in the repo's docs/ or .vlmkit-anim/, or the scratch dir if it is not to be kept
2. vlmkit-anim check <name>.scene.json [--expect <name>.expect.json]
3. vlmkit-anim layout <name>.scene.json must report no issue; `why` when the canvas warning names a pair
4. vlmkit-anim still <name>.scene.json --out <name>.svg a still (structure, a map, a state diagram)
vlmkit-anim video <name>.scene.json --out <name>.gif --width 640 a walk (a request, an algorithm, a trace)
5. vlmkit-anim explain <name>.scene.json the beats — this is the skeleton of your prose
```
Five rounds of edit → `check` at most. If it is not clean by then, deliver
the explanation in words, say the figure did not converge and which line
stopped it, and keep the scene file for the reader.
## Write the explanation
1. **One sentence of what the picture is** and what it was drawn from
("the packages under `packages/`, from their imports, 12 modules, 19
dependencies").
2. **The beats, in order**, one short paragraph or bullet each, reworded
from `explain` — say *why* at each step, not what moved. Name things by
the ids in the picture so the reader can find them.
3. **What the picture leaves out** and where to read it (a file, a
function, a config).
4. **The files**: the SVG / GIF path, the scene, the fact sheet.
Do not describe the picture's geometry ("on the left", "the blue box") —
layout is the compiler's and may move on the next edit. Say the id.
## Deliver
- In a chat: the prose, then the figure as a file the user can open
(`SendUserFile` when available; otherwise the path). A GIF for a walk,
an SVG for a structure.
- In a PR or issue: paste the `<name>.md` that `pr` / `repo` write, or the
figure with the beats under it. If the repository already posts
`vlmkit-anim pr --mermaid` on every PR (vlmkit's `pr-visual` workflow does), do not post a second one.
- In docs: a ```` ```vlm-anim ```` fence (the animation) or ```` ```vlm-anim still ````
(the figure) with the scene inline, so the page stays checkable; or the
SVG committed next to the page.
## Done condition
- `check` green (and `--expect` green when a sheet exists), `layout` clean.
- Every id named in the prose is in the picture, and every beat in the
prose is a step in `explain`.
- The user can answer their own question from the figure alone; the prose
says why each step is there.
## Anti-patterns
- **A figure after the answer, unreferenced.** If the prose never names an
id from the picture, the picture is decoration; drop it or rewrite.
- **Drawing what you believe the structure is.** Run `facts` first. Two of
five green module maps in one evaluation round were wrong about a real
dependency.
- **Coordinates.** A scene with x / y is a drawing, not an explanation, and
cannot be re-edited by the next reader. Use the kind that owns the things.
- **Twelve beats where four would do.** Pick the values and the trace that
show the one mechanism the question is about.
- **Skipping `layout` because `check` was green.** Lines through labels are
what a reader sees first.From hasegama/pstack-agents, MIT.
More from hasegama/pstack-agents
- 0.570score
explainer
hasegama
特定の読み手に向けて、概念・PR・設計を「冗長にならない水準」の速習資料として説明し、図と主張を道具で検証する。読み手のペルソナ(既に知っていること・知らないこと・読み方)を質問と公開情報から作り、その差分だけを書く。図は vlmkit-anim…
SkillAFreshness: AClaude Code +9 - 0.566score
explainer-book
hasegama
1 本の速習資料では収まらない、章立ての学習資料(topic-book/01-quickstart.md, 02-….md …)を、読み手のペルソナに合わせて設計・執筆・検証する。章ごとの学習目標と理解度チェックの対応、概念を導入より前に使わない順序、章の読了時間の予算、「未完成なら落ち、答えなら通る」演習、book…
SkillAFreshness: AClaude Code +9 - 0.565score
d2-diagram
hasegama
Draw a software architecture, system, data-model or call-flow diagram as D2 text laid out by TALA (D2's whiteboard-style engine, open source since D2 0.9)…
SkillAFreshness: AClaude Code +9 - 0.565score
explanatory-animation
hasegama
Explain an algorithm, protocol, data structure, state machine, or architecture as a checked animation or still figure with `vlmkit-anim` — one JSON scene (a…
SkillAFreshness: AClaude Code +9 - 0.560score
d2-slides
hasegama
Build a slide deck whose source is text and whose figures are laid out by TALA — one Markdown file with a ```d2 fence per figure, compiled to a self-contained…
SkillAFreshness: AClaude Code +9 - 0.544score
diagnosing-bugs
hasegama
Diagnosis loop for hard bugs and performance regressions.
SkillAFreshness: AClaude Code +9 - 0.539score
domain-modeling
hasegama
Build and sharpen a project's domain model.
SkillAFreshness: AClaude Code +9 - 0.533score
ask-matt
hasegama
Ask which skill or flow fits your situation.
SkillAFreshness: AClaude Code +9 - 0.528score
blast-radius
hasegama
変更が差分の外に及ぼす影響を調べ、成立条件を実コードの実行で確認する。影響範囲や小さな差分の安全性をレビューするときに使う。
SkillAFreshness: AClaude Code +9 - 0.528score
architect
hasegama
型・関数シグネチャ・モジュール構成を設計し、独立した複数案を比較してから実装する。/architect や、構造の判断を伴う実装に使う。
SkillAFreshness: AClaude Code +9 - 0.528score
create-verification-skill
hasegama
アプリを利用者と同じ経路で検証するプロジェクト用スキルと機能マップを作る。/create-verification-skill や、検証手順をスキルにしたい依頼に使う。
SkillAFreshness: AClaude Code +9 - 0.525score
arena
hasegama
同じ課題に独立した複数候補を作り、評価して基準案に優れた部分を統合する。/arena や、設計・実装案の比較に使う。
SkillAFreshness: AClaude Code +9
Signals
- Stars
- 0
- Forks
- 0
- Open issues
- 0
- Last commit (this folder)
- Oct 5, 2026 (23 days ago)
- Last release
- Oct 5, 2026 (23 days ago)
From GitHub (fetched Oct 24, 2026).
Details
- License
- MIT
- Repository
- github.com/hasegama/pstack-agents
- First seen
- Oct 24, 2026
- Last checked
- Oct 24, 2026
- Source
- GitHubgithub-graphql
More from hasegama
- 0.570score
explainer
hasegama
特定の読み手に向けて、概念・PR・設計を「冗長にならない水準」の速習資料として説明し、図と主張を道具で検証する。読み手のペルソナ(既に知っていること・知らないこと・読み方)を質問と公開情報から作り、その差分だけを書く。図は vlmkit-anim…
SkillAFreshness: AClaude Code +9 - 0.566score
explainer-book
hasegama
1 本の速習資料では収まらない、章立ての学習資料(topic-book/01-quickstart.md, 02-….md …)を、読み手のペルソナに合わせて設計・執筆・検証する。章ごとの学習目標と理解度チェックの対応、概念を導入より前に使わない順序、章の読了時間の予算、「未完成なら落ち、答えなら通る」演習、book…
SkillAFreshness: AClaude Code +9 - 0.565score
d2-diagram
hasegama
Draw a software architecture, system, data-model or call-flow diagram as D2 text laid out by TALA (D2's whiteboard-style engine, open source since D2 0.9)…
SkillAFreshness: AClaude Code +9 - 0.565score
explanatory-animation
hasegama
Explain an algorithm, protocol, data structure, state machine, or architecture as a checked animation or still figure with `vlmkit-anim` — one JSON scene (a…
SkillAFreshness: AClaude Code +9 - 0.560score
d2-slides
hasegama
Build a slide deck whose source is text and whose figures are laid out by TALA — one Markdown file with a ```d2 fence per figure, compiled to a self-contained…
SkillAFreshness: AClaude Code +9 - 0.544score
diagnosing-bugs
hasegama
Diagnosis loop for hard bugs and performance regressions.
SkillAFreshness: AClaude Code +9
Cite this page
explain-with-anim skill. Agent Mart. https://agentmart.dev/skills/hasegama-explain-with-anim (last updated 2026-10-24)