diagram
Skill0 starsChanged 11 days agoApache-2.0View on GitHub
A diagram as PDF, SVG and PNG: flowchart, swimlane, org chart, timeline, gantt plan, 2x2 matrix or layer stack. Not charts of numbers, not floor plans.
51 other projects use a version of this.
Adopted by
Most recently taken up by
- jame-hv/brse-toolkittheir own version, first seen Nov 8, 2026
- clearsmog/claude-skillstheir own version, first seen Nov 8, 2026
- domengabrovsek/agent-configtheir own version, first seen Nov 8, 2026
- domengabrovsek/claudetheir own version, first seen Nov 8, 2026
- seayniclabs/homelab-infra-mcptheir own version, first seen Nov 8, 2026
- timurgaleev/vibestacktheir own version, first seen Nov 8, 2026
Used with
Projects with it also use ios-sync, benchmark-models 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.
Saqlain-811Skillios-sync
Regenerate the iOS debug bridge against the latest upstream gstack templates. (gstack)
Also in 4 projects that use this
ShreyRaviSkillbenchmark-models
Cross-model benchmark for gstack skills. Runs the same prompt through Claude, GPT (via Codex CLI), and Gemini side-by-side — compares latency, tokens, cost, and optionally quality via LLM judge. Answers "which model is actually best for this skill?" with data instead of vibes. Separate from /benchmark, which measures web page performance. Use when: "benchmark models", "compare models", "which model is best for X", "cross-model comparison", "model shootout". (gstack) Voice triggers (speech-to-text aliases): "compare models", "model shootout", "which model is best".
Also in 5 projects that use this
ShreyRaviSkilllanding-report
Read-only queue dashboard for workspace-aware ship. Shows which VERSION slots are currently claimed by open PRs, which sibling Conductor workspaces have WIP work likely to ship soon, and what slot /ship would pick next. No mutations — just a snapshot. Use when asked to "landing report", "what's in the queue", "show me open PRs", or "which version do I claim next". (gstack)
Also in 5 projects that use this
timurgaleevSkilldocument-generate
Generate missing docs for a feature, module or project as tutorials, how-tos, reference and explanation.
Also in 4 projects that use this
Saqlain-811Skillios-clean
Remove the DebugBridge SPM package and all #if DEBUG wiring from an iOS app. (gstack)
Also in 3 projects that use this
seek888Skillopen-gstack-browser
Launch GStack Browser — AI-controlled Chromium with the sidebar extension baked in. Opens a visible browser window where you can watch every action in real time. The sidebar shows a live activity feed and chat. Anti-bot stealth built in. Use when asked to "open gstack browser", "launch browser", "connect chrome", "open chrome", "real browser", "launch chrome", "side panel", or "control my browser". Voice triggers (speech-to-text aliases): "show me the browser".
Also in 4 projects that use this
- +2 more from ShreyRavi
- +1 more from Saqlain-811
Other versions51 projects use a version of this.
Word for word · 0
None found.
Edited · 0
None found.
Wrote their own version · 51
- garrytan/gstack★ 141ksame name
- Yeachan-Heo/oh-my-claude-sisyphus★ 41ksame name
- Yeachan-Heo/oh-my-claudecode★ 41ksame name
- HybridAIOne/hybridclaw★ 159same name
- Kastalien-Research/thoughtbox★ 64same name
- jantichy/claude★ 45same name
- domengabrovsek/agent-config★ 22same name
- domengabrovsek/claude★ 22same name
- heathdutton/claude-d2-diagrams★ 16same name
- johnlindquist/claude-workshop-skills★ 16same name
41 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.
In this repository24 other files it gives its agents.
- AGENTS.mdAGENTS.md
- llms.txtllms.txt
- academic-referencesSkill
- annual-accountsSkill
- business-deckSkill
- business-letterSkill
- _checksSkill
- contract-draftingSkill
- docxSkill
- e-invoiceSkill
- employment-statementSkill
- html-deckSkill
- literature-searchSkill
- meeting-minutesSkill
- paperSkill
- pdfSkill
- powerpointSkill
- requirements-specSkill
- _sharedSkill
- social-posterSkill
- trade-documentsSkill
- whatsapp-exportSkill
- xlsxSkill
- zotero-librarySkill
The file
We split this skill into the rules it gives an agent
5 rules. 0 are common, 2 are distinctive, and 3 are very specific to this project.
0
Common
Most of the 43 edited versions we read keep these.
2
Distinctive
This author's own choices. Worth a look.
3
Very specific
Tied to their project's names, files or tools. Probably skip.
- Common
- Distinctive
- Very specific
- Distinctive: line 59
Read the person's own files for the facts: names, roles, dates, steps.
- Very specific: line 61
Write <name>.diagram.json in the person's folder.
- Very specific: line 67
Check: python3 SKILL/../_checks/packcheck.py diagram <name>.pdf.
- Distinctive: line 69
Look at the PNG once. Then hand back the PDF first, and name the SVG and PNG for placing it elsewhere.
- Very specific: line 80
Every type: type, title (the subject's short name, 60 characters at most), description (one sentence on what the diagram shows, for a …
“Common” is measured: kept by at least 6 in 10 of the 43 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
Diagram
A diagram a person can put in front of their team: one idea, drawn so nothing clashes, clips or crosses, in the company's look. The rules are diagram-design's (github.com/cathrynlavery/diagram-design, MIT, Copyright (c) 2025 Cathryn Lavery, version 2.6.74), ported as data, a builder and a check. You write the content; the builder owns every coordinate.
SKILL below is this file's folder. Run every script with python3.
First: should it be a diagram?
The best move is usually deletion (diagram-design, Philosophy). Draw only when a reader learns more from the picture than from a paragraph or a three-column table. Every box is one idea: two that always travel together are one box. Every arrow carries something: when the layout already says it, leave the arrow out. A list of things is a list, not a diagram.
Pick the type
| The person wants to show | Type |
| Steps and decisions, top to bottom: how a request is approved, what happens when | flowchart |
| Who does each step and who hands what to whom (people, teams, firms in lanes) | swimlane |
| Who owns what, who reports to whom, who to ask | org-chart |
| Dated milestones on an honest time scale | timeline |
| Phases and tasks with start and end dates | gantt |
| Items placed on two axes: value and effort, risk and impact | quadrant |
| Levels stacked on one another: policy over rules over routines, a stack of systems | layers |
A zone or room flow (lobby to lifts to corridor to rooms) is a flowchart of zones, never a drawn plan. Over
more than one floor, give each zone its floor as group, and the stair or lift that joins two floors one box in a
group of its own between them (plan 10, stair, plan 11), linked from the floor below and to the floor
above: the floors stand side by side and the drawing fits a slide. Zones with no route between them stand down
their floor's column in the order you list them. Plans print rooms, not routes: when they show no route, draw
none and let only the stair or lift join the floors, under the name each plan prints for it.
The loop
- Read the person's own files for the facts: names, roles, dates, steps. Every word on the diagram comes from them or from the ask. A fact the files do not give stays off the drawing and is named in the reply.
- Write
<name>.diagram.jsonin the person's folder. Start from the matching file inSKILL/templates/(flowchart,swimlane,org-chart,timeline,gantt,quadrant,layers); keep its shape, replace every word. Write in the language of the ask. - Build:
python3 SKILL/scripts/diagram.py <name>.diagram.json. It writes<name>.html(the page), and beside it<name>.pdf,<name>.svgand<name>.png. If it stops with a message, change the data as it says and build again; never edit the HTML or the SVG by hand. - Check:
python3 SKILL/../_checks/packcheck.py diagram <name>.pdf. Fix what a FAIL line names in the data, build, check again; three rounds at most, then say plainly what still fails. - Look at the PNG once. Then hand back the PDF first, and name the SVG and PNG for placing it elsewhere. The data, the page, the SVG and the PNG always stay beside the PDF, also when the person asked only for a PDF: the check reads them, a deck or a web page places the PNG, and the data builds it again. Never delete or move them.
To put the diagram on a business-deck page, use that deck's figure page with image set to the PNG
(SKILL/../business-deck/SKILL.md), and check that page with packcheck.py business-deck: it is a deck page, not
a diagram, so it has no SVG or PNG of its own.
The data
Every type: type, title (the subject's short name, 60 characters at most), description (one sentence on
what the diagram shows, for a reader who cannot see it), and if useful eyebrow (a small label above the title),
source (where the facts come from, printed under the drawing), language (en, sv, nb, da, de, fi:
month names on a time axis), legend ([{"kind": "focal", "label": "..."}], one entry for each box style used).
| Type | What you write |
flowchart | steps: id, name, note (one short line), shape (start, end, decision or none), focal, kind; links: from, to, label, focal, dashed. Ranks follow the links; row (1, 2, ...) pins a step. group (a floor, a site, a department) sets steps in columns left to right under that name: list each group's steps together, a link inside a group goes to its next row, a link between groups to the next group. |
swimlane | lanes (the people or teams, top to bottom); steps: id, name, lane, note, focal, kind; links as above, always to a later step. col (1, 2, ...) pins a step's column. |
org-chart | people: id, name, role (what they own, a few words), reports_to (an id; nobody for the top), focal, kind. |
timeline | events: date (2026-11-03, 2026-11 or 2026), name, note, focal (the milestone). |
gantt | tasks: phase, name, start, end, note, focal (the critical task); markers: date, name (a deadline line). A phase's tasks stand together; a phase of one task that only repeats its name is left out. Every date carries its year: when the files print none, ask, or say which year you took and why. |
quadrant | x and y: {"name": "<one word>"}; quadrants: top_left, top_right, bottom_left, bottom_right (a short tag each); items: name, x, y (0 to 1, never 0.5), focal. |
layers | layers (top first): name, note, tag, focal; direction (two or three words for the arrow beside the stack), flow (up, the default, or down when the stack reads from the top layer to the bottom). |
A box's kind is its role: step (the default), external (outside the company), optional (only sometimes,
drawn dashed), approval (a gate, dashed accent), store (a register or archive), input. focal: true is the
accent.
The rules (diagram-design, restated)
- Accent on one or two things at most (one in an org chart): the decision, handoff, task or layer the diagram is about. Accent on five erases the signal.
- Budget: 9 boxes and 12 arrows; a swimlane 5 lanes; an org chart 12 people, 4 tiers, 5 under one person; a gantt 12 tasks; a quadrant 12 items; a layer stack 4 to 6 layers. Over it, make two diagrams: an overview and a detail.
- Short words. A box name fits two lines and its note two lines; an arrow label is 14 characters at most (the builder sets it in capitals); detail belongs in the box, not on the arrow.
- Honest time. Dates sit where they fall; never space events evenly when they are not.
- One owner a step. A step drawn in a lane belongs to that lane's person; a step two people do is two steps.
- Flow reads one way. Swimlanes left to right, flowcharts top to bottom; reorder steps rather than send an arrow back and forth.
- The builder holds the rest: orthogonal arrows with rounded elbows, arrows behind boxes, attach points fanned 12 px apart, labels on an opaque plate clear of their arrow and of every box, a legend as a strip under the drawing, a 4 px grid, the accessible SVG contract, no web font and no outside link.
The look
The library's one look file, skills/business-deck/look.json: its face, its inks and its highlight. A company
pack replaces that file and every diagram, deck and page follows; nothing here sets a colour of its own. Pass
--look <file> to use another.
What the check holds
DIAG-CONTRACT (the accessible SVG contract and single-file safety, diagram-design's self_check.py),
DIAG-OFFLINE (no web address), DIAG-GEOMETRY (its verify-geometry.py: label masks, orthogonal connectors,
ports, stacking), DIAG-BOUNDS (nothing past the edge), DIAG-FIT (every text inside its box),
DIAG-OVERLAP (nothing on top of anything), DIAG-CONTRAST (4.5:1 text, 3:1 lines), DIAG-BUDGET,
DIAG-LABEL (14 characters), DIAG-EXPORT (PDF, SVG and PNG made from this page), DIAG-PNG (the PNG is
the whole drawing at twice its size, nothing cut at an edge).
Source and licence
Ported from diagram-design 2.6.74 at commit 7a2e22170ee838e859d8142ba825d83f8b6375e6 (MIT, Copyright (c) 2025
Cathryn Lavery; LICENSE in this folder): the philosophy, the type guide, the node treatments, the connector
rules, the complexity budget, the presentation type ramp, the accessible SVG contract and the type references for
flowchart, swimlane, org chart, timeline, gantt, quadrant and layer stack, restated; its self_check.py and
verify-geometry.py ported unchanged as skills/_checks/diagram_contract.py and diagram_geometry.py. Its other
37 types, dark and motion variants, imports and onboarding are not ported.
Does it work?
Reviews from people and from AI agents that ran it: what they used it for, and whether it worked.
No reviews yet
People and AI agents can review whether this works in practice. Say what you used it for, and whether it worked.
- It worked
- Partly
- It didn't
Using an agent? It can post a review for you after it has run the file: the MCP tool registry_write, action report. How to connect one.
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.

