Rjv monochart
npx -y skills add rjvim/ai-skills --skill rjv-monochartAssembled from the repository path, not quoted from the project. Check it against their README if it does not work.
One thing to look at
- 0 stars0 stars. Stars are a popularity signal and not a quality one, but at this level it is likely that nobody has read this closely except its author, and you would be relying on your own review.
What its author says it does
Copied from the file, not written here
Draw a system as a terminal-native text diagram — boxes, rails, arrows — that lives in a README, code comment, or chat. Topology (things fan out) or flow (decisions, loops). Cheap, diffable, renders anywhere monospace does. Triggers: 'monochart', 'draw a flowchart', 'flowchart this', 'diagram it', 'draw the flow', 'ascii diagram', 'terminal diagram', 'box diagram', 'sketch the architecture', 'draw it out', 'show the topology'.
SKILL.md
4.8 KB, as published. Nobody here has run it
monochart — draw system in text, in terminal
WHAT: box + arrow picture. pure text. no render tool. goes in README, comment, chat. WHY: cheap. read at glance. git-diffable. renders anywhere monospace runs. TWO KINDS: topology (boxes fan out, who talks to who) · flow (decisions, loops, steps).
VOICE — read this first. This file is written terse to stay small. The DIAGRAM YOU DRAW IS NOT. Labels are for a stranger, so write them in plain words:
return response, notRET;buy call option, notBUY CE;holds one position, notslot. No cryptic abbreviations, no internal jargon, nothing that needs a decoder. Terse file, readable output — never confuse the two.
NEVER zero-shot. always 3 steps.
model draws ascii badly on first try — misaligns, wrong branches. so:
- PLAN — pick kind. count boxes. pick ONE center column. list every branch + its label.
- DRAW — one entry at top. flow top→down. hang children under parent. mirror branches.
- VERIFY — run checklist below. fix. ONLY THEN show user. never show step-2 draft.
charset — house style
- rails:
│ ─ ┌ ┐ └ ┘ ┬ ┴ ├ ┤ ┼ - arrows:
▼ ▲ ▶ ◀ - box:
┌──┐/│..│/└──┘ - state markers (leaves only): 🟩 good/return · 🟦 write/side-effect · 🟥 stop/fail · 🟨 wait
RULE: box-drawing = rails. emoji = END-STATE only, 1 per leaf, add legend if >1 kind. never emoji mid-line.
patterns (steal these)
fan-out — topology:
FEED
│
┌─────┴─────┐
▼ ▼
┌─────┐ ┌─────┐
│ A │ │ B │
└─────┘ └─────┘
decision — split, LABEL both sides:
signal?
┌──┴──┐
no│ │yes
▼ ▼
wait BUY 🟦
loop-back — close the cycle, draw the return:
SELL 🟩
│
└──▶ back to top
example 1 — topology (two bots, one feed)
📡 TICK FEED
│
┌──────┴──────┐
▼ ▼
┌─────────┐ ┌─────────┐
│ BOT 1 │ │ BOT 2 │
│ M1 │ │ M1 M2 │
└────┬────┘ └────┬────┘
▼ ▼
BUY/SELL BUY/SELL
example 2 — flow (decision + marker + loop)
🌐 REQUEST
│
▼
┌─────────────┐
│ API GATEWAY │
└──────┬──────┘
auth ok?
┌────┴────┐
▼ ▼
┌───────┐ ┌───────┐
│ CACHE │ │ DB │
└───┬───┘ └───┬───┘
cache hit? │
┌──┴──┐ │
no│ │yes │
▼ ▼ ▼
populate return fetch from
cache cached🟩 DB 🟦
rules (this is the "one-shot with best practice")
- LABELS: plain words a stranger reads without asking. spell it out —
return response, notRET. no abbreviations, no internal jargon. (this file is terse; the diagram is not.) - SYMMETRY: mirror branches. equal box width in a row.
- ALIGN: children hang under parent
┴/ center column. eyeball the columns line up. - DECISION: word +
?then split. LABEL every branch (yes/no, hit?/miss). no unlabeled fork. - MARKERS: 🟩🟦🟥🟨 at terminal leaves only. not mid-flow.
- SIZE: keep < ~25 lines. bigger → split into 2 charts (coarse topology, then zoom one box). don't cram.
- ASCII fallback: target may break unicode/emoji (email, old term, some fonts)? switch to
+ - | v > <, drop emoji, and SAY which mode you used. - it's text: edit one line to change topology, commit, diff clean. that's the whole point.
bigger real example (topology + flow split into 2 charts): see examples.md in this skill dir.
VERIFY checklist — run before showing
- every label is plain words — no
RET/CE/slot/abbreviations a stranger can't read - exactly one entry node at top
- every arrow touches a box/node (nothing dangles)
- every decision fork has ALL branches labeled
- columns line up — children under parent
- emoji only at leaves; legend if >1 kind
- loops draw the return arrow (not just say it in words)
- < ~25 lines, else split into 2 charts