agentleFS
ActuallyNodejamActuallyNodejam/openpaperwork/skills/diagram/SKILL.md

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

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-811Skill

    ios-sync

    Regenerate the iOS debug bridge against the latest upstream gstack templates. (gstack)

    Also in 4 projects that use this

  • ShreyRaviSkill

    benchmark-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

  • ShreyRaviSkill

    landing-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

  • timurgaleevSkill

    document-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-811Skill

    ios-clean

    Remove the DebugBridge SPM package and all #if DEBUG wiring from an iOS app. (gstack)

    Also in 3 projects that use this

  • seek888Skill

    open-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

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
  1. Distinctive:

    Read the person's own files for the facts: names, roles, dates, steps.

    line 59
  2. Very specific:

    Write <name>.diagram.json in the person's folder.

    line 61
  3. Very specific:

    Check: python3 SKILL/../_checks/packcheck.py diagram <name>.pdf.

    line 67
  4. Distinctive:

    Look at the PNG once. Then hand back the PDF first, and name the SVG and PNG for placing it elsewhere.

    line 69
  5. Very specific:

    Every type: type, title (the subject's short name, 60 characters at most), description (one sentence on what the diagram shows, for a …

    line 80

“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.

Keep what fits and drop the rest. Your version, ready for your agents.
Files
SKILL.md

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 showType
Steps and decisions, top to bottom: how a request is approved, what happens whenflowchart
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 askorg-chart
Dated milestones on an honest time scaletimeline
Phases and tasks with start and end datesgantt
Items placed on two axes: value and effort, risk and impactquadrant
Levels stacked on one another: policy over rules over routines, a stack of systemslayers

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

  1. 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.
  2. Write <name>.diagram.json in the person's folder. Start from the matching file in SKILL/templates/ (flowchart, swimlane, org-chart, timeline, gantt, quadrant, layers); keep its shape, replace every word. Write in the language of the ask.
  3. Build: python3 SKILL/scripts/diagram.py <name>.diagram.json. It writes <name>.html (the page), and beside it <name>.pdf, <name>.svg and <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.
  4. 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.
  5. 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).

TypeWhat you write
flowchartsteps: 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.
swimlanelanes (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-chartpeople: id, name, role (what they own, a few words), reports_to (an id; nobody for the top), focal, kind.
timelineevents: date (2026-11-03, 2026-11 or 2026), name, note, focal (the milestone).
gantttasks: 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.
quadrantx 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.
layerslayers (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.

Download now (ZIP)

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
What did you use it for? e.g. Reviewing pull requests in a Rails app

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.