Agent skill

Flowfile SVG Diagrams

by Edwardvaneechoud in Edwardvaneechoud/Flowfile

How to author, wire, and verify the hand-drawn brand SVG diagrams on the Flowfile docs site — the exact file contract (viewBox, role + aria-label, defs→style→content), the shipped palette and…

MITAuto-check passedFrontend & Design

Install Flowfile SVG Diagrams

skills CLI
$ npx skills add Edwardvaneechoud/Flowfile --skill flowfile-svg-diagrams -a claude-code

Project install by default; add -g for ~/.claude/skills/.

GitHub CLI
$ gh skill install Edwardvaneechoud/Flowfile flowfile-svg-diagrams --agent claude-code

Project scope by default; add --scope user for a personal install. Needs GitHub CLI 2.90.0 or later (public preview).

Manual copy
$ git clone --depth 1 https://github.com/Edwardvaneechoud/Flowfile.git skills-src && mkdir -p .claude/skills && cp -r skills-src/.claude/skills/flowfile-svg-diagrams .claude/skills/flowfile-svg-diagrams && rm -rf skills-src

Use ~/.claude/skills/ instead of .claude/skills for a personal install. The folder must contain SKILL.md.

Claude Code skills documentation · loads skills from .claude/skills/

Facts

Skill name
flowfile-svg-diagrams
GitHub stars
385
Token cost
~5.5k tokens
SKILL.md length
2,265 words
Files
1
Skills in repo
19
Repo updated
First seen
Licence
MIT

At a glance

How to author, wire, and verify the hand-drawn brand SVG diagrams on the Flowfile docs site — the exact file contract (viewBox, role + aria-label, defs→style→content), the shipped palette and…

  • Works in 11 steps: What these are → Design doctrine — decide before drawing → The file contract → …
  • Editing any SVG under docs/assets/images/
  • SKILL.md covers When NOT to use this skill, 0. What these are, 1. Design doctrine — decide… and 2. The file contract, plus 9 more sections
  • Calls poetry and git; reaches w3.org

What it does

Flowfile SVG Diagrams is an agent skill from Edwardvaneechoud/Flowfile. How to author, wire, and verify the hand-drawn brand SVG diagrams on the Flowfile docs site — the exact file contract (viewBox, role + aria-label, defs→style→content), the shipped palette and typography ladders with exact hex values, the reusable component library (node chips, preview tables, arrow markers, decision diamonds, storage substrates, greyed insets), the concept-vs-technical register split and the one warm exception, the dark-mode technique against the two page canvases, the labeled-placeholder pattern…

Its SKILL.md is about 5.5k tokens, which your agent loads only when the skill is triggered. It is a single SKILL.md file with no bundled scripts.

It sits in Frontend & Design, covering Diagrams and Theming and dark mode. The repository describes itself as: Flowfile is a visual ETL tool and Python library combining drag-and-drop workflows with Polars dataframes. Build data pipelines visually, define flows programmatically with a… The licence is MIT.

When your agent uses it

  • Editing any SVG under docs/assets/images/
  • A docs page needs a new concept
  • Architecture diagram
  • Adding an IMAGE-PLACEHOLDER

Example prompts

  • “/flowfile-svg-diagrams”

Workflow steps

11 steps, taken from the step headings in SKILL.md.

  1. What these are
  2. Design doctrine — decide before drawing
  3. The file contract
  4. Palette — exact values
  5. Typography
  6. Component library — copy from the shipped files, don't reinvent
  7. The two registers, and the one warm exception
  8. Real node glyphs
  9. The labeled-placeholder pattern (screenshot stand-ins)
  10. Wire, fact-check, verify
  11. Maintainer-rejected patterns — don't re-ship these

What it can do on your machine

Read from SKILL.md and the folder at commit c03a7f9. It shows what the files ask for, not the result of running them.

  • Tool permissions

    Pre-approves nothing: there is no allowed-tools line, so your agent's usual permission prompts apply.

    From allowed-tools in the SKILL.md frontmatter.

  • Runs code

    Shell commands in SKILL.md call:

    • poetry
    • git

    From the folder's file list and the shell code blocks in SKILL.md.

  • Network

    Hosts in commands or code, which the agent is likely to contact:

    • w3.org

    From URLs in SKILL.md, links to its own repository left out.

  • Credentials

    Names no API keys, tokens, secrets or passwords.

    From names ending in _API_KEY, _TOKEN, _SECRET, _KEY or _PASSWORD in SKILL.md.

Context cost

Flowfile SVG Diagrams loads about 5.5k tokens when it runs. Until then it costs about 223 tokens; SKILL.md has 2,265 words of instructions outside code blocks.

Always · name and description, kept in context so the agent knows when to use it
~223
When it runs · the whole SKILL.md, loaded when a task matches
~5.5k

Estimates: characters ÷ 4, the usual rule of thumb; real counts depend on the model's tokenizer. Scripts and assets cost tokens only if the agent reads them.

Safety

Auto-check passed

The automated check found no risky patterns in SKILL.md.

Automated static check — not a guarantee. Review scripts before installing. It scans the text of SKILL.md for risky patterns (piping downloads into a shell, reading credential files, hidden Unicode, destructive commands); files beside SKILL.md are not scanned.

SKILL.md

The full file from Edwardvaneechoud/Flowfile at commit c03a7f9, republished under its MIT licence (© Edwardvaneechoud). 2,265 words, ~5,467 tokens.

Download SKILL.mdSave it as .claude/skills/flowfile-svg-diagrams/SKILL.md (or your agent's skills folder).
name
flowfile-svg-diagrams
description
How to author, wire, and verify the hand-drawn brand SVG diagrams on the Flowfile docs site — the exact file contract (viewBox, role + aria-label, defs→style→content), the shipped palette and typography ladders with exact hex values, the reusable component library (node chips, preview tables, arrow markers, decision diamonds, storage substrates, greyed insets), the concept-vs-technical register split and the one warm exception, the dark-mode technique against the two page canvases, the labeled-placeholder pattern for screenshots, and the redraw lessons the maintainer has already enforced. Use when creating or editing any SVG under docs/assets/images/, when a docs page needs a new concept or architecture diagram, when replacing or adding an IMAGE-PLACEHOLDER, when a diagram reads badly in dark mode, or when asked to draw, redraw, or fix any docs illustration.

Flowfile docs SVG diagrams — authoring, wiring, verification

When NOT to use this skill

  • Screenshots, gifs, raster captures — never create or edit those (flowfile-docs-review §1.11); ship a labeled placeholder (§8) and track the capture in DOCS_IMAGE_TODO.md.
  • Page prose, alt-text register rules, and fact-checking doctrine → flowfile-docs-review (this skill owns the image file; that one owns the page around it).
  • Site build mechanics beyond the §9 verification recipe → flowfile-docs-and-writing.

0. What these are

Hand-authored, fully self-contained SVGs — no external refs (an SVG loaded via ![]() cannot fetch anything), no icon fonts, no rasters, no drop shadows. Directories:

DirectoryRegisterExamples
docs/assets/images/concepts/concept (persona / what-is pages)flow-assembly-line, analyst-loop, catalog-ecosystem-loop
docs/assets/images/architecture/ + guides/catalog/technical (for-developers pages)process-map, access-resolution, trigger-cascade
docs/assets/images/nodes/app node glyphs (source material, don't restyle)filter.svg, input_data.svg, one per node type
docs/assets/images/guides/sales_dashboard/labeled placeholders awaiting screenshotsdashboard_overview.svg

Healthy size is 5–17 KB. The one 82 KB outlier (concepts/positioning-spectrum.svg) carries a ~44 KB base64 PNG of the logo in a 60×64 slot — a known anti-pattern, not a license. That file (and recipe-to-flow) also predates the house root-element pattern; new files follow §2, not those two.

1. Design doctrine — decide before drawing

  • Color hierarchy is the message. In the concept register, brand identity is carried by the single gradient hero and the cyan accent — supporting cards stay white with grey strokes even when they depict Flowfile-owned things; grey-vs-brand contrast is reserved for the argument (the old painful way vs the Flowfile way). In the technical register, Flowfile boxes take #1D76D6 strokes and neighbors/bypasses go grey.
  • One cyan path carries the eye — the hero edge, the refresh loop, the publish arrow. A symmetric fan of same-meaning spokes counts as one path and may be all-cyan (catalog-fan-out); when the diagram also has a distinct action edge, that edge takes the cyan and the fan stays grey (connection-store, the rotate-credential arrow). Never two competing accents.
  • Contrast of complexity sells the argument. The "before/painful/many copies" side: small, muted, tangled. The Flowfile side: clean, gradient, single. Left→right reading.
  • Label budget: concept diagrams ship at 25–55 words of visible text; technical diagrams run ~60–160 (process-map is the ceiling at ~160). Per element: 1–3-word bold title, ≤4-word grey subtitle, 1–3-word arrow labels. Fake data in preview tables is dash lines, never words (§5).
  • Restraint. Resist the fifth icon, the extra source logo, the second legend row. Every redraw in the history (§10) was a removal.
  • Pick a composition pattern from the shipped catalog rather than inventing one:
PatternUse whenShipped example
Left-vs-right contrastbefore/after, bad/good of the same jobexport-vs-publish, sheet-vs-flow, vlookup-to-join
Hub-and-spoke fan-outone producer, N consumers — the spokes are the messagecatalog-fan-out, system-boundary (undirected ring)
Center hub with mirrored wingsone shared object referenced from two audience sides, plus one action accentconnection-store
Loop (cycle with a return arrow)a self-sustaining cycle (refresh, publish→consume→refresh)catalog-ecosystem-loop, analyst-loop
Layered bands / left→right pipelinestaged movement through processes or stationssync-architecture, process-map, trigger-cascade
Twin panels + shared center objecttwo equal representations of one thingcode-canvas-duality
Stacked dashed panels (stack vs state)runtime processes vs persistent volumesteam-deployment-architecture
Vertical layers (router → services → storage)what-calls-what above what-is-storedarchitecture-overview

2. The file contract

Root element, exactly this shape — nothing more:

xml
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 W H" role="img" aria-label="...">
  • W: 880–980 (typically 940) for concept diagrams; 940–1340 for technical (wider = denser). H: whatever the content needs (shipped range 330–900). Never set width, height, or preserveAspectRatio; no <title>/<desc>.
  • aria-label is one long declarative sentence that argues the diagram — entities, relationships, takeaway — mirroring the markdown alt text (§9). Not a description of shapes.
  • Order: <defs> (gradients, markers) → <style> (class system) → content. Section banner comments split the body: <!-- ============ CATALOG HUB ============ -->; inline comments annotate semantics (<!-- struck duplicate row -->).
  • One <g> per card/node/section; icons as nested <g class="ic" transform="translate(x,y)"> groups drawn on a ~24-unit grid; ids short lowercase (brand, ah, ahc); classes 1–5 lowercase letters (.box .chip .ic .t .s .arw .arwc .albl).
  • Arrows are drawn before cards (they run behind), labels last within each group.

3. Palette — exact values

The brand gradient, declared identically in every post-redraw file that uses a gradient (19 of 22 — sheet-vs-flow, system-boundary, and node-palette-annotated have none or per-node ones only):

xml
<linearGradient id="brand" x1="0" y1="0" x2="1" y2="1">
  <stop offset="0" stop-color="#2DD5D3"/><stop offset="0.55" stop-color="#26A8E0"/><stop offset="1" stop-color="#1D76D6"/>
</linearGradient>

Navy #233588 is ink, not a gradient stop: titles, storage styling, dark accents. (The 4-stop cyan→navy gradient belongs to the landing page hero in docs/index.html; extra.css defines the four brand hexes as variables plus a 2-stop card-border gradient. Diagrams use the 3-stop version above.)

RoleValues
Titles / ink#233588
Body / subtitle grey#6b7280 · tertiary #8a93a3 · icon grey #5b6470
Card stroke, concept register (ALL non-hero cards, Flowfile-owned included)#9aa0a6, width 1.4–1.5
Flowfile box stroke (technical register only)#1D76D6, width 1.5–1.7 (hub emphasis 2.3); neutral actors keep #9aa0a6
Ordinary edgesstroke #b3bcc9 w 1.7–1.9, arrowhead #9aa8b6
Hero/accent edge (one per diagram)stroke #2DD5D3 w 3 (or 2.6), arrowhead #2DD5D3
Chipsgrey #eef0f2 = concept-register default · blue #eaf3fc = technical-register default (and table-header/highlight tint) · navy #dfe6ff = storage boxes · on-gradient rgba(255,255,255,0.16)
Storage substrate (technical)fill #eef2ff/#eef4fb, stroke #233588/#8fb0d6, navy text #4a5578
Dimmed/skipped nodefill #e9edf1, stroke #cdd4dc, label #a9b0ba, dashed edge #c7cdd5
Greyed inset ("the manual way")fill:rgba(120,131,146,0.13); stroke:#8a93a3; stroke-dasharray:6 5
Cards / surfaces#ffffff

The two canvases. Transparent SVGs render on light #fff and slate ≈#1e2129 (Material hsla(225,15%,14%,1); extra.css does not override the background). The default technique is opaque surfaces + mid-tone floating text: put text on white cards or on the gradient (#ffffff / #eaf6ff), and keep the few free-floating labels in mid-greys #6b7280/#8a93a3, which pass on both canvases. When a diagram carries a lot of floating grey text (kickers, captions, dimmed labels), add the paired dark-mode CSS inside <style> — media query plus the Material theme attribute, both required because the toggle sets data-md-color-scheme independently of the OS:

css
/* .kick = 12.5px grey kicker · .cap = 11px grey caption · .hd = 12.5px w600 NAVY floating heading */
@media (prefers-color-scheme: dark) {
  .kick, .cap { fill:#aeb6c0; }
  .hd { fill:#c7cfd8; }
}
[data-md-color-scheme="slate"] .kick, [data-md-color-scheme="slate"] .cap { fill:#aeb6c0; }
[data-md-color-scheme="slate"] .hd { fill:#c7cfd8; }

Rule: any floating navy text (a heading not sitting on a card) must carry an .hd-style dark override — navy ink vanishes on slate. (Shipped in flow-assembly-line.svg and node-palette-annotated.svg, each with its own class list; never var(--md-...).)

4. Typography

Stack: font-family:Roboto,Arial,sans-serif on text classes (never on the root). The ladder:

Size / weightRoleFill
17–19px / 700Hub title on gradient#ffffff (subtitle 11.5px #eaf6ff)
17–18px / 600–700Diagram title (technical pages)#26A8E0
12.5–15px / 600Card/node title .t (14–15 in concept files; dense technical files shrink to 12.5–13.5)#233588
15px / 700Gradient decision-gate text .dt#ffffff
12–12.5pxKicker / caption / overline#6b7280
10.5–11pxSubtitles .s, arrow labels .albl#6b7280 / #8a93a3
9.5–10pxFine print .ss, footnotes, node names#5b6470 / #8a93a3
9px / 700 + letter-spacing:.6–1pxALL-CAPS region tags and kickers only#8a93a3 / #d3f7f6

Monospace appears where the content is code or ports, in either register: process-map.svg has .mono { font-family:'Roboto Mono',Menlo,Consolas,monospace; font-size:9px; fill:#5b6470; } for env vars and CLI strings, and the concept files code-canvas-duality.svg (.code, and a 12px/700 #1D76D6 monospace .albl) and team-deployment-architecture.svg (.port) use ui-monospace-first stacks. Short code identifiers (spawn_flow_run, GET /api/data/{slug}) usually stay in the proportional face. Beware: vlookup-to-join.svg has a class named .mono that is actually proportional. Separate label fragments with &#183; (·).

5. Component library — copy from the shipped files, don't reinvent

Arrow markers (identical geometry everywhere; recolored clones for variants — ahb #1D76D6, ahn #233588; caution: the id ahm collides across files — dimmed #c7cdd5 in dev-vs-performance but manage-royal #1D76D6 in sharing-model, so check the target file's <defs> before reusing it):

xml
<marker id="ah" markerWidth="10" markerHeight="10" refX="7.5" refY="4.5" orient="auto"><path d="M1,1 L8,4.5 L1,8 Z" fill="#9aa8b6"/></marker>
<marker id="ahc" markerWidth="11" markerHeight="11" refX="7.8" refY="5" orient="auto"><path d="M1,1.2 L8.6,5 L1,8.8 Z" fill="#2DD5D3"/></marker>

The canonical concept-register <style> block (shared by the shipped concept files — start from this, don't reconstruct it from the tables):

css
.box  { fill:#ffffff; stroke:#9aa0a6; stroke-width:1.4; }
.chip { fill:#eef0f2; }
.ic   { fill:none; stroke:#5b6470; stroke-width:1.7; stroke-linecap:round; stroke-linejoin:round; }
.icw  { fill:none; stroke:#ffffff; stroke-width:1.8; stroke-linecap:round; stroke-linejoin:round; }
.t    { font-family:Roboto,Arial,sans-serif; font-weight:600; font-size:14px; fill:#233588; }
.s    { font-family:Roboto,Arial,sans-serif; font-size:10.5px; fill:#6b7280; }
.kick { font-family:Roboto,Arial,sans-serif; font-size:12.5px; fill:#6b7280; }
.albl { font-family:Roboto,Arial,sans-serif; font-size:11px; fill:#6b7280; }
.arw  { fill:none; stroke:#b3bcc9; stroke-width:1.8; }
.arwc { fill:none; stroke:#2DD5D3; stroke-width:3; }

Card with icon chip — the universal building block (white rect rx 10–12 + chip square rx 7–10 + stroke icon + .t/.s text):

xml
<g>
  <rect class="box" x="70" y="95" width="165" height="84" rx="11"/>
  <rect class="chip" x="83" y="117" width="40" height="40" rx="8"/>
  <g class="ic" transform="translate(91,125)">
    <path d="M4,15 L9,9 L14,13 L20,6"/>
    <circle cx="4" cy="15" r="1.7" fill="#5b6470"/><circle cx="9" cy="9" r="1.7" fill="#5b6470"/>
    <circle cx="14" cy="13" r="1.7" fill="#5b6470"/><circle cx="20" cy="6" r="1.7" fill="#5b6470"/>
  </g>
  <text class="t" x="132" y="133">Flows</text>
  <text class="s" x="132" y="150">shape the data</text>
</g>

Icons are bespoke ~24×24 stroke drawings (fill:none; stroke-width:1.7; round caps/joins) — never icon-font glyphs, never filled MDI path data (that exists only in the legacy positioning-spectrum.svg).

  • Canvas flow node: <circle r="21" fill="url(#brand)"/> + white icon (.icw, stroke 1.8) + 9.5px label below; mini 44×26 preview beneath. Or scale a 100-unit master node (sheet-vs-flow uses scale(0.46)).
  • Mini preview table: white rect + tinted header strip (#eaf3fc/#eef0f2) via the double-rect trick; data is dash lines (#9cc4ea headers, #a9b2bd/#c4cad2 cells), with semantics drawn in: struck duplicate row, cyan-tinted new column + fx, highlighted join column #eaf3fc+#7fb2e6, Σ totals band.
  • Hero emphasis: heavier outline (stroke-width:2.3) or gradient fill + white text/icon + translucent chip; optional all-caps .tag kicker (9px w700 letter-spacing:1px fill:#d3f7f6).

Technical-register devices (do not use in concept diagrams):

  • Cluster container: fill:#eef5fd; stroke:#1D76D6; stroke-width:1.7; rx 16 + 14px w700 title ("Core process · FastAPI :63578").
  • Decision diamonds: raw 4-point <polygon>. Plain: white fill, #1D76D6 stroke 1.5, navy 11px question text. Hero gate: fill="url(#brand)" + white 15px w700 text, grey 10px condition fine-print below, yes/no as .albl at the exits.
  • Notes/callouts: dashed white rects stroke:#b9c2d0; stroke-dasharray:5 4; rx 8 with 10.5px navy title + 10px grey body. Dashed rect stroke = annotation/exception/soft grouping.
  • Dash vocabulary for edges: dashed = data movement or background machinery (5 5 Arrow IPC/Delta, 6 6 shared-volume, dotted 1.5 5 return callback), solid grey = control calls, solid cyan = the one primary path. Legend top-right: 32–34px sample strokes + 11–12px #6b7280 labels.
  • Numbered execution paths: Unicode circled digits &#9312;–&#9316; (①–⑤) inline in bold 11.5px labels (#2489cf, cyan variant #12a8c2) — not drawn circles. Drawn r="12" gradient badges are for table markers (X/Y); pill counters (rx 8.5, #eef0f2) for bounds ("≤ 5").
Show full SKILL.md (797 more words)Show less

6. The two registers, and the one warm exception

ConceptTechnical
Audience / pagespersonas, what-isfor-developers/
Density~2 large panels, 25–55 words8–12 boxes, ports, env vars, legends
Gradientsbrand; per-node hues ONLY when the scene depicts canvas nodes/glyphs (§7) — a flow as an entity is a neutral cardexactly one (brand)
Devicesmetaphor scenes, insetsdiamonds, clusters, substrates, .mono, ①–⑤
Shared DNAidentical markers, Roboto ladder, #233588 ink, grey ramp, white cards, rx 8–16same

The warm exception is recipe-to-flow.svg and only it — the plain-language page is the one place a hand-drawn sketch is on-brand. Its techniques (don't reuse without maintainer direction): feTurbulence+feDisplacementMap "rough" filter on sketch strokes only (never text), rotate(-2) tilt, warm paper #F4EDDE, Caveat handwriting, flat brand-step node fills, open-chevron marker.

7. Real node glyphs

When a diagram depicts an actual Flowfile canvas, embed the real glyphs from docs/assets/images/nodes/*.svg (100×100 circle r="48" on a per-node vertical gradient + white strokes at 4.5): copy the glyph group verbatim, wrap in <g transform="translate(…) scale(0.44)">, re-declare its gradient locally under a renamed id. Keep the app's node colors (input_data #15B6C9→#0C8FA0, filter #3D9BF2→#2376D8, group_by #6E7DF7→#4B58DC, join #9A6FF8→#7A45E6…) — they are the app's palette, not the brand ramp; re-tinting them breaks "matches the app". Node names drawn as text must match the palette (nodes.py name= — it's "Filter data", not "Filter"; see §10).

8. The labeled-placeholder pattern (screenshot stand-ins)

A real file at the referenced path keeps mkdocs build warning-free while the capture is pending:

xml
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 800 340" role="img" aria-label="Placeholder: Full dashboard on the canvas">
  <rect x="5" y="5" width="790" height="330" rx="14" fill="none" stroke="#8a8f98" stroke-width="2" stroke-dasharray="10 8"/>
  <text x="400" y="158" text-anchor="middle" font-family="system-ui, -apple-system, sans-serif" font-size="22" font-weight="600" fill="#8a8f98">Screenshot placeholder</text>
  <text x="400" y="196" text-anchor="middle" font-family="system-ui, -apple-system, sans-serif" font-size="18" fill="#8a8f98">Full dashboard on the canvas</text>
</svg>

Grey #8a8f98 reads on both canvases. Pair it with an <!-- IMAGE-PLACEHOLDER-TO-CHANGE: … --> comment at the spot, keep the markdown alt short (a screenshot will replace it), and add a DOCS_IMAGE_TODO.md row. In tutorials, images sit in <details markdown="1"> fold-outs (hero open); the swap is drop-in — overwrite the file, keep the basename.

9. Wire, fact-check, verify

  1. Wire inline: plain ![alt](relative/path.svg) immediately after the prose paragraph the diagram argues — no <figure>, no HTML <img>, and concept/technical diagrams are never in fold-outs (fold-outs are for tutorial screenshots).
  2. Alt text = the argument, one long sentence with the exact names and values (ports, symbols, bounds), mean ~330 chars shipped. It must state the load-bearing semantics — the virtual-table alt spells out "both paths return a LazyFrame that stays lazy". Keep alt and aria-label telling the same story.
  3. Fact-check edges like prose claims (flowfile-docs-review §3): every labeled edge is a claim about code. Precedent: architecture-overview.svg shipped a wrong "Delta write-back" kernel edge and was corrected against kernel_runtime/kernel_runtime/flowfile_client.py to metadata → core / Delta → volume.
  4. Build: FLOWFILE_SKIP_STARTUP_MIGRATION=1 poetry run mkdocs build — a missing image is only a WARNING and the build still exits 0, so grep the output; a green build is not proof.
  5. Theme check — manual, no tooling exists: FLOWFILE_SKIP_STARTUP_MIGRATION=1 poetry run mkdocs serve, open the page, click the Material header theme toggle, eyeball the SVG on #fff and on slate ≈#1e2129. Check every free-floating label.
  6. Track and stop: a placeholder swap updates its existing DOCS_IMAGE_TODO.md row; a brand-new diagram gets added to that file's §2a diagram inventory (page + file). Leave everything uncommitted (standing agreement — the maintainer reviews via git diff).

10. Maintainer-rejected patterns — don't re-ship these

Each of these was shipped once and redrawn after feedback (commit 172c6ab0, 2026-07-07):

  • Metaphor not literal — flow-assembly-line v1 drew the belt as a strip behind the stations with previews dangling below; the fix made stations sit on one continuous belt with previews inside the cards. If the metaphor is an assembly line, the geometry must behave like one.
  • Clutter over legibility — sheet-vs-flow v1: six data rows, five crossing arrows, a pivot overlapping the grid. Fix: five rows, three crossing arrows routed clear of the = marks, pivot moved out and enlarged. Fewer, clearer.
  • Structure must match the mental model — architecture-overview v1 drew a ring of services around the substrates; the maintainer wanted what's stored visually distinct from how you interact: two layers, services above storage.
  • No duplicate edges for one route — process-map had two lines between SqlService and Worker (SQL editor + notebook cells); merged into one line labeled with both.
  • Icons must match the house style — recipe-to-flow v1 used generic icons; fixed by inlining the real node glyphs (§7).
  • Diagram claims are code claims — the architecture-overview kernel-edge fix (§9.3).
  • Exact UI names in drawn text — node-palette-annotated.svg shipped with "Filter" and six idealized category headers while the palette renders "Filter data" and seven (NodeList.vue); realigned 2026-07-07. Drawn node names come from nodes.py name=, category headers from NodeList.vue — same exact-names rule as prose.
  • No embedded rasters — the 44 KB logo PNG inside positioning-spectrum.svg (§0).

Provenance

Distilled 2026-07-07 from: the original illustration style guide (git 27cb76b9:DOCS_IMAGE_TODO.md), full-file extraction of the 24 shipped diagrams (concept + technical + placeholder sets), docs/stylesheets/extra.css + mkdocs.yml (canvas colors), the 172c6ab0 redraw diff, and the maintainer feedback record (notes/docs-feedback.md, untracked). Exact values quoted from the files; re-verify against a shipped sibling before departing from them.

© Edwardvaneechoud, MIT. Rendered from Markdown: HTML in the file is shown as text, images as links, and headings moved down two levels. Raw file

Files

Just SKILL.md in .claude/skills/flowfile-svg-diagrams of Edwardvaneechoud/Flowfile.

Open the folder on GitHubat commit c03a7f9

Compare with similar skills

Flowfile SVG Diagrams next to the 5 skills that share the most tags, products or categories with it. Stars are the repository's; “used in” counts other GitHub owners with a copy.

Flowfile SVG Diagrams compared with similar skills
SkillStarsUsed inTokensAuto-checkLicenceRepo updated
Flowfile SVG Diagrams this skillEdwardvaneechoud/Flowfile385—~5.5kAutomated safety check: PassMIT
SVG UI Templatesxjtulyc/MedgeClaw6171 repos~522Automated safety check: PassNone
Concept DiagramsTommy-yw/RunbookHermes5463 repos~4.3kAutomated safety check: PassMIT
Pneuma Drawpandazki/pneuma-skills161—~1.7kAutomated safety check: PassMIT
Tech Diagramthatrebeccarae/claude-marketing161—~1.1kAutomated safety check: PassMIT
Data Viz Rendererzebbern/claude-code-guide4.7k—~1.3kAutomated safety check: PassMIT

Similar skills

  • SVG UI Templates

    xjtulyc/MedgeClaw

    Generate professional SVG UI panels for structured information display.

    617 GitHub starsUsed in 1 repo~522 tokens
    Frontend & DesignAuto-check passed
  • Concept Diagrams

    Tommy-yw/RunbookHermes

    Generate flat, minimal light/dark-aware SVG diagrams as standalone HTML files, using a unified educational visual language with 9 semantic color ramps, sentence-case typography, and automatic dark…

    546 GitHub starsUsed in 3 repos~4.3k tokens
    Frontend & DesignAuto-check passed
  • Pneuma Draw

    pandazki/pneuma-skills

    Create and edit visual content on the Excalidraw canvas in the Pneuma Draw workspace.

    161 GitHub stars~1.7k tokensUpdated 2 days ago
    Frontend & DesignAuto-check passed
  • Tech Diagram

    thatrebeccarae/claude-marketing

    Generate technical architecture diagrams, pipeline flows, layer/stack diagrams, and system illustrations as standalone HTML files.

    161 GitHub stars~1.1k tokensUpdated 4 mo ago
    Frontend & DesignAuto-check passed
  • Data Viz Renderer

    zebbern/claude-code-guide

    Generate self-contained HTML/SVG infographics from JSON data, including stat cards, bar charts, flow diagrams, and mixed dashboards.

    4.7k GitHub stars~1.3k tokensUpdated yesterday
    Media & CreativeAuto-check passed
  • Pneuma Diagram

    pandazki/pneuma-skills

    Create and edit draw.io diagrams in the Pneuma Diagram workspace.

    161 GitHub stars~2.2k tokensUpdated 2 days ago
    DevelopmentAuto-check passed

More from Edwardvaneechoud/Flowfile

All 19 skills in this repo
  • Flowfile AI Subsystem Guide

    Edwardvaneechoud/Flowfile

    Maps the /ai/ subsystem of flowfile_core, its three agent tiers, litellm seam, BYOK keys and rate limits, and sets rules for extending or debugging it safely.

    389 GitHub stars~9.1k tokensUpdated yesterday
    Auto-check: notes
  • Flowfile Architecture Contract

    Edwardvaneechoud/Flowfile

    Maps Flowfile's core, worker, frontend, kernel, scheduler and shared services and the design contracts between them, for onboarding and cross-service debugging.

    389 GitHub stars~9.9k tokensUpdated yesterday
    Auto-check passed
  • Flowfile Build and Environment Setup

    Edwardvaneechoud/Flowfile

    Recreates every Flowfile development and build environment from scratch, with exact version pins and an explanation of what each Makefile target really does.

    389 GitHub stars~7.3k tokensUpdated yesterday
    Auto-check: notes
  • Flowfile Change Control

    Edwardvaneechoud/Flowfile

    Explains how changes to the Flowfile monorepo are gated, versioned and released, including version sync, stub and docs drift checks, Alembic migrations and pinned dependencies.

    389 GitHub stars~7.3k tokensUpdated yesterday
    Auto-check passed
  • Flowfile Codegen Parity Campaign

    Edwardvaneechoud/Flowfile

    Runbook for closing gaps between a Flowfile visual flow's results and its exported Polars or FlowFrame Python code, measured by tests rather than by eye.

    389 GitHub stars~7.5k tokensUpdated yesterday
    Auto-check passed
  • Flowfile Config and Flags Catalog

    Edwardvaneechoud/Flowfile

    Catalog of Flowfile's environment variables and runtime flags: what each does, where the code reads it, its default, and where the docs disagree with the code.

    389 GitHub stars~12k tokensUpdated yesterday
    Auto-check: notes

Questions about Flowfile SVG Diagrams

What does Flowfile SVG Diagrams do?

How to author, wire, and verify the hand-drawn brand SVG diagrams on the Flowfile docs site — the exact file contract (viewBox, role + aria-label, defs→style→content), the shipped palette and…. Flowfile SVG Diagrams is an agent skill from Edwardvaneechoud/Flowfile.

When should I use Flowfile SVG Diagrams?

Flowfile SVG Diagrams fits situations like: editing any SVG under docs/assets/images/; A docs page needs a new concept; architecture diagram; adding an IMAGE-PLACEHOLDER.

How do I install Flowfile SVG Diagrams in Claude Code?

Run `npx skills add Edwardvaneechoud/Flowfile --skill flowfile-svg-diagrams -a claude-code`. Or copy the skill folder (.claude/skills/flowfile-svg-diagrams in Edwardvaneechoud/Flowfile) into .claude/skills/flowfile-svg-diagrams in your project. Claude Code loads it when a task matches its description.

How do I install Flowfile SVG Diagrams in Codex?

Run `npx skills add Edwardvaneechoud/Flowfile --skill flowfile-svg-diagrams -a codex`. Or copy the skill folder (.claude/skills/flowfile-svg-diagrams in Edwardvaneechoud/Flowfile) into .agents/skills/flowfile-svg-diagrams in your project. Codex loads it when a task matches its description.

Can I use Flowfile SVG Diagrams in Cursor, Gemini CLI or GitHub Copilot?

Cursor, Gemini CLI, GitHub Copilot and OpenCode also load SKILL.md folders. With the skills CLI, run `npx skills add Edwardvaneechoud/Flowfile --skill flowfile-svg-diagrams -a cursor` (or -a gemini-cli, github-copilot or opencode for the others). To copy it by hand, put the folder in .cursor/skills/flowfile-svg-diagrams, .gemini/skills/flowfile-svg-diagrams, .github/skills/flowfile-svg-diagrams and .opencode/skills/flowfile-svg-diagrams in your project.

What does Flowfile SVG Diagrams need to run?

Going by SKILL.md and its folder, Flowfile SVG Diagrams needs the command-line tools its instructions call (poetry and git).

Does Flowfile SVG Diagrams access the network?

SKILL.md names 1 domain. In commands or code: w3.org; the agent is likely to contact it when it follows the instructions. This is read from the text; nothing was executed.

Is Flowfile SVG Diagrams safe to install?

Our automated static check of SKILL.md found no risky patterns, such as piping downloads into a shell, reading credential files or hidden Unicode. It is not a guarantee. Review the folder before installing.

What licence does Flowfile SVG Diagrams use?

Flowfile SVG Diagrams is published under the MIT licence (the repository's licence). It allows redistribution, so the full SKILL.md is shown on this page.

How many tokens does Flowfile SVG Diagrams use?

About 5.5k tokens (SKILL.md is roughly 22k characters). Agents keep only the skill's name and description in context until a task matches; then they load SKILL.md in full.

What are the alternatives to Flowfile SVG Diagrams?

Skills that share tags, products or a category with Flowfile SVG Diagrams: SVG UI Templates (xjtulyc/MedgeClaw, 617 stars), Concept Diagrams (Tommy-yw/RunbookHermes, 546 stars), Pneuma Draw (pandazki/pneuma-skills, 161 stars) and Tech Diagram (thatrebeccarae/claude-marketing, 161 stars). The comparison table on this page puts their stars, adoption, token cost, safety result and licence side by side.

Who maintains Flowfile SVG Diagrams?

Edwardvaneechoud (a GitHub user) maintains it in Edwardvaneechoud/Flowfile, which has 385 GitHub stars. The repository holds 19 skills in this directory. The repository was last updated on October 10, 2026.

Source: Edwardvaneechoud/Flowfile on GitHub. Facts on this page come from the repository at the commit we read; the author's words are quoted as theirs.