visualize
Skill8 starsChanged 2 months agoMITView on GitHub
Add a correct, minimal visual to a lesson — a diagram or geometric picture — that renders inline in the Obsidian log. Use when an idea is genuinely clearer as a picture: a dependency graph, system/flow, sequence, state machine, tree, comparison, or a spatial/geometric thing (coordinate geometry, number line, vectors, a plot, a physical layout). Outsources authoring+rendering to a maker subagent that verifies the image by looking at it, then you embed the returned file.
We split this skill into the rules it gives an agent
3 rules. 0 are common, 2 are distinctive, and 1 is very specific to this project.
0
Common
Most of the 44 edited versions we read keep these.
2
Distinctive
This author's own choices. Worth a look.
1
Very specific
Tied to their project's names, files or tools. Probably skip.
- Common
- Distinctive
- Very specific
- Distinctive: line 19
Do NOT visualize when prose or a single equation already carries it — a decorative diagram that just restates the neighboring sentence adds …
- Very specific: line 54
If it returns RESULT: NONE, it couldn't make a correct picture of the brief — simplify, rethink, or decide the visual isn't worth it.
- Distinctive: line 58
Put the embed directly in your teaching reply, using Obsidian's wikilink embed with the returned filename (not the full path) and a display …
“Common” is measured: kept by at least 6 in 10 of the 44 edited versions of this file we could read. “Very specific” is our guess from the words: it names a file, a command, a setting or the project itself.
Files
Visualize
A picture earns its place only when it shows something words can't — shape, structure, direction, relationship, geometry. This skill produces ONE such picture, guarantees it is correct (the maker renders it and looks at it before returning), and drops it into the lesson so it renders inline in the Obsidian md-log file.
You are the creative director: decide the exact idea and distill it to its fewest carrying elements. A maker subagent does the authoring, rendering, visual verification, and saving, then returns a filename you embed.
When to visualize (and when not to)
This teaching system builds a dependency graph in the learner's head — axioms at the root, derived facts hanging off them. A visual is powerful exactly when it makes that structure (or a geometry) visible:
- Structure or relationship: dependencies, a system with parts and arrows, a flow/pipeline, a sequence of exchanges, a state machine, a tree/hierarchy, a comparison, a containment (inside vs outside).
- Spatial or geometric: coordinate geometry, a number line, vectors, a function's shape, a physical arrangement.
Do NOT visualize when prose or a single equation already carries it — a decorative diagram that just restates the neighboring sentence adds noise and a chance to be wrong. When in doubt, don't: a missing visual is cheaper than a false one.
Choose the maker
Two makers, discovered from .pi/agents/:
mermaid-maker(default) — structural/relational: dependency graphs, flowcharts, sequence/state/ER/class diagrams, trees, mindmaps, timelines. Fits the dependency-graph pedagogy directly.svg-maker— spatial/geometric that Mermaid can't lay out: exact coordinates, geometry figures, number lines, vectors, plots, custom shapes.
Rule of thumb: nodes-and-edges / relationships → mermaid-maker; positions-and-shapes / geometry → svg-maker.
Brief the maker: one idea, fewest elements
The most common failure is cramming — every extra label makes the picture harder to read AND harder to lay out correctly. Prune first; for each element ask "if I delete this, is the idea still clear?" — if yes, delete it. Give the maker the concept AND the concrete elements you want (not a vague topic, not a long checklist). If your brief lists more than ~5–7 elements, cut it first.
- BAD: "make a diagram about how TCP works"
- GOOD: "graph TD: a node 'packet' at the top; arrows down to 'ordering' and 'retransmit on loss'; both arrows down into 'reliable stream'. No title. Show that reliability is built FROM packets, not alongside them."
Invoke
Dispatch the maker with the subagent tool:
subagent(agent="mermaid-maker", task="<your minimal, concrete brief>")
subagent(agent="svg-maker", task="<your minimal, concrete brief>")The maker owns its purpose-built tools (write_*/edit_*/render_*): it authors the source, renders it to a PNG, looks at the PNG and iterates until it is correct and clean, publishes it into the vault with a unique filename, and returns:
RESULT:
filename: viz-<slug>-<timestamp>.png
path: <cwd>/viz/viz-<slug>-<timestamp>.pngIf it returns RESULT: NONE, it couldn't make a correct picture of the brief — simplify, rethink, or decide the visual isn't worth it. Never hand-author or fake a diagram yourself; correctness depends on the maker's render-and-inspect loop.
Embed it in the lesson
Put the embed directly in your teaching reply, using Obsidian's wikilink embed with the returned filename (not the full path) and a display width:
![[viz-<slug>-<timestamp>.png|500]]The md-log extension mirrors your reply text verbatim into the linked .md, and Obsidian resolves the embed by filename anywhere in the vault (the maker saves into the project's viz folder, which is inside the vault) — so it renders inline automatically. |500 is a good default; use larger for dense diagrams. Introduce the visual in a sentence, then let it carry the idea — don't narrate every element back in prose.
Why this is reliable
- The maker never returns a picture it hasn't looked at, so "renders fine but says something false" is caught before it reaches the learner.
- PNG embed means what the maker verified is pixel-identical to what the learner sees — no re-render drift.
- Unique filenames keep Obsidian's by-filename embed resolution unambiguous.
The makers render through the project's
visual-toolsextension (Mermaid via a bundled@mermaid-js/mermaid-cli+ installed Chrome; SVG viarsvg-convert, fallback ImageMagick). You brief the maker and embed the filename it returns — you render nothing yourself.
Other versions46 projects use a version of this.
Word for word · 0
None found.
Edited · 5
- amosblomqvist/learn★ 3.4k80% same
- leafyoung/pi-agent-skills★ 252% same
- leafyoung/shared_skills★ 252% same
- Nightdreams-bat/zpd-learning★ 116% same
- Nythbat/zpd-learning★ 116% same
Wrote their own version · 41
- moltbot/moltbot★ 394ksame name
- clawdbot/clawdbot★ 394ksame name
- steipete/clawdis★ 394ksame name
- openclaw/openclaw★ 394ksame name
- steipete/warelay★ 392ksame name
- moltbot/clawdbot★ 392ksame name
- molt-bot/clawdbot★ 391ksame name
- DAIR-AutoResearch/AutoSci★ 1.7ksame name
- PKU-DAIR/AutoSci★ 1.7ksame name
- skyllwt/AutoSci★ 1.7ksame name
31 more not listed
How matches are found. Word for word: the exact same text. Edited: shares passages with this file (“99% same” means 99% of its five-word phrases also appear here; 10% or more counts). Their own version: similar meaning, or, weakest, the same name. We can’t tell which project had it first. Projects are counted among the 200 most-starred candidates, and mentions are links to the repository we found, up to 50 per site, so both counts are a floor.
Used alongsideProjects with it also use exp-pilot-eval, exp-pilot-run and 10 more.
Other files people use alongside this one.
Files found in the same public projects as a version of this one, more often than they turn up anywhere else. Each project counts once, large collections count for less, and this file's own repository is left out.
DAIR-AutoResearchSkillexp-pilot-eval
Pilot result evaluation — read pilot results, apply success criteria, update idea page (pilot_result, failure_reason if failed), generate PILOT_VERDICT_REPORT. Called by /ideate Phase 5 after /exp-pilot-run.
Also in 4 projects that use this
DAIR-AutoResearchSkillexp-pilot-run
Pilot experiment execution — read Pilot Spec YAML, write pilot code, run experiment(Confirm with the user before operation and require the applicant to conduct manual inspection), return results. Called by /ideate Phase 5. Does NOT modify wiki pages or judge pass/fail.
Also in 4 projects that use this
LambenthanSkilldaily-arxiv
每日从 arXiv 拉取新论文,过滤相关性,auto-ingest 高优先级论文,检测 SOTA 更新
Also in 4 projects that use this
LambenthanSkillexp-eval
实验判决门:Review LLM 独立评判实验结果 → 4 种判决路径 → 自动更新 claims confidence、ideas status、graph edges
Also in 4 projects that use this
phanghonghaoSkillposter
HTML/CSS A4 海报生成。从沙龙/活动 Markdown 文件生成科技风 A4 海报 PDF/PNG。Use when user mentions: poster, 海报, 海报生成, make poster, generate poster, 活动海报, 沙龙海报.
Also in 4 projects that use this
- +1 more from DAIR-AutoResearch
- +6 more from Lambenthan
In this repository20 other files it gives its agents.
- autonomous-maintainerSkill
- commitSkill
- competitive-ads-extractorSkill
- compress-skillsSkill
- extract-design-systemSkill
- fix-ciSkill
- flesch-kincaid-proofreaderSkill
- frontendSkill
- get-pr-commentsSkill
- gogSkill
- grillingSkill
- grill-meSkill
- hairline-createSkill
- image-generationSkill
- posthogSkill
- shipSkill
- signoz-investigating-alertsSkill
- teachSkill
- thermo-nuclear-code-quality-reviewSkill
- update-agents-mdSkill
Does it work?
Reviews from people and from AI agents that ran it: what they used it for, and whether it worked.
Reviews can't be read right now.
Your trail
Files you open will collect here, so you can find them again.
Open two or more, and you can remix the rules you like from each into one list. Kept in this browser only.
Now do this for your own.
Bring your CLAUDE.md, AGENTS.md or skills. agentleFS shows which of your rules are common, which are yours and which only fit one project, and keeps one version your agents read everywhere.

