handdrawn-diagram — independently scanned and version-tracked by SaferSkills.
SaferSkills independently audited handdrawn-diagram (Agent Skill) and scored it 100/100 (green). The audit ran 55 deterministic rules across Security, Supply Chain, Maintenance, Transparency, and Community; it found 0 high-severity and 0 lower-severity findings. The full rule-by-rule trace and per-finding evidence are below. Free, methodology-open.
Findings & checks · 0 flagged
Every scanned point with the score it earned and what moved between them.
First recorded scan — no prior version to compare against.
The primary manifest — the file an agent reads to learn what this artifact does.
Renders identically everywhere (README, GitHub/GitLab, Devpost, slides), unlike inline Mermaid (depends on the viewer's Mermaid version) or AI image generators (garbled text).
.mmd)---
config:
look: handDrawn
theme: default
themeVariables:
fontFamily: "Apple SD Gothic Neo, Malgun Gothic, Noto Sans KR, sans-serif"
---
flowchart TD
A(["Trigger"]):::main --> B["main step"]:::main
B --> C{"decision?"}:::decision
C -->|Yes| D["highlighted path"]:::main
C -->|No| E["side step"]:::muted
D --> F[("datastore")]:::muted
E -.-> G["error / end"]:::alert
classDef main fill:#e8eaf6,stroke:#3949ab,stroke-width:2.5px,color:#1a237e;
classDef decision fill:#fff8e1,stroke:#f9a825,stroke-width:2px,color:#e65100;
classDef muted fill:#fff,stroke:#9e9e9e,color:#616161;
classDef alert fill:#ffebee,stroke:#e53935,color:#b71c1c;Rules that avoid broken output:
["..."] — ·—≥→/() break unquoted.([..]) start/end terminal · [..] process step · [(..)] datastore/DB{..} decision (diamond) — every decision MUST have labeled branches:C{"logged in?"} -->|Yes| D and C -->|No| E. Don't fake a branch with a plain [..] step; a fork without a diamond + condition labels reads as a straight line and loses the "when this / when that" meaning.
<br/> for line breaks; Korean renders fine with the fontFamily above.Coloring every node flattens the hierarchy and nothing reads as important. Use 2–3 colors that each carry meaning, and let most nodes stay neutral:
follow (the happy path). Emphasize with stroke-width, not loud fills.
decision (amber) for diamonds, alert (red) forerror/terminal states. Reserve these so a color instantly signals a role.
Rule of thumb: if a reader can't guess what a color means, drop it. One accent is too plain (no role distinction); 5+ colors are noise (no hierarchy). 2–3 semantic colors give both hierarchy and classification while staying calm.
printf '%s\n' '{"args":["--no-sandbox","--disable-setuid-sandbox"]}' > /tmp/pptr.json
npx -y @mermaid-js/mermaid-cli -i d.mmd -o d.svg -p /tmp/pptr.json -b white
npx -y @mermaid-js/mermaid-cli -i d.mmd -o d.png -p /tmp/pptr.json -b white -s 2-b white = white bg · -s 2 = 2× crisp PNG · look:handDrawn needs mermaid-cli v11+ (npx pulls latest).
..mmd (source) · .svg (vector master) · .png (embed).timeout — don't wrap npx in it.awk/grep pattern (zsh runs backticks as command substitution).& → write and.width, so a wide 한글 label gets cut at the node's right edge (e.g. "다이어그램" → "다이어그"). Keep Korean node text short, break earlier with <br/>, or pad with a trailing space inside the quotes ("손그림 다이어그램 "). Always verify in step 3 by reading the PNG.
"순차 BUILD" loses its last char (→ "순차 BUIL"), but a pure-Latin line ("team BUILD") renders fine. So don't end a 한글 line with a Latin word: put the Latin token on its own <br/> line ("순차<br/>BUILD") or pad the line. A single trailing space is often NOT enough — verify the PNG and add more.
~30 seconds. Free. No account. Every finding cites a rule and a line of evidence.