Skip to content

view on a desktop screen for a better experience.

skill

A SKILL.md that tells the agent which graph to put next to the prose. Same files in Cursor, Claude Code, Codex, OpenCode, or any agent that loads Agent Skills.

Write vs read, and why this exists: for agents. The graphs themselves still need to be in the project. install the components first if they are missing.

install

Project copy travels with the repo. Personal copy is this machine only. The agent picks it up from the description when the writing would scan faster with a figure. If yours watches some other folder, drop the same two files there.

project

personal

from the repo

prompt

try it

Paste one of these after install. Each should pick two graphs from the chooser and put prose between them.

Refactor · GraphFlow, then GraphTimeline

Incident · GraphTimeline, then GraphUptime

Pull request · GraphDiff, then GraphSlope

Pick one · GraphCompare, then GraphRank

README · Fenced ASCII, not JSX

Comark · ::graph-timeline, then ::graph-uptime

Knap · {{ events | graph_timeline }}, then {{ uptime | graph_uptime }}

when to use

Before a wall of bullets, the skill asks if a framed figure would scan faster. Skip it if the whole point is one sentence.

The writing isUse
A path or a refactorGraphFlow, then GraphTimeline
An incidentGraphTimeline, then GraphUptime
Pick A vs BGraphCompare, then GraphRank
What a PR changedGraphDiff, then GraphSlope
Overlapping workGraphGantt, then GraphStat
A migration in flightGraphMeter, then GraphKpi
One headline numberGraphKpi, then GraphStat
An RFC or a launch listGraphSheet, then GraphCheck
Nested filesGraphTree

Worked write-ups with JSX: Examples. Plain .md in a Comark app: Comark. Data into Markdown with Knap.

rules

  • At most two graphs in a section. Prose between them.
  • React / importable MDX: JSX. Notion / README / GitHub / Linear: framed ASCII from the docs MDX tab (keep the fence). Comark: ::graph-* with YAML. Knap: graph_* filter. Do not invent ASCII.
  • Titles: short uppercase, drawn as [ TITLE ].
  • Labels: lowercase, plain (auth middleware, not AuthMiddleware Layer).
  • Copy props from docs or recipes. Do not invent APIs, extra hues, or chart libraries.
  • palette="duo" / "multi" only when a second or third series needs it.
  • Motion is already in the components. Do not add loops or pulses.

Do not draw the chart in SVG. Copy the framed figure from the docs MDX tab into Notion or a README. Keep the fence. Wrap markdown children in the parent tag in MDX. In a Comark app, paste a ::graph-* block. In a Knap template, pipe props through a graph_* filter. Do not invent ASCII. Do not restyle the frame. Do not dump every graph into one reply.

the file

This is what the agent loads. /skill.md and /skill/recipes.md stay in sync with the repo. /llms.txt is the chooser plus the MDX ASCII blocks, the Comark blocks, and the Knap filters if the skill is not installed.

skill.md