Best for
- System architecture diagrams (layered, hub-and-spoke, multi-plane)
- Workflow / pipeline figures
- Audit cascade / flow-control diagrams
wanshuiyin/Auto-claude-code-research-in-sleep/skills/figure-spec/SKILL.md
Use it for design and operations tasks; the detail page covers purpose, installation, and practical steps.
Decision brief
Generate publication-quality architecture diagrams, workflow pipelines, audit cascades, and system topology figures as editable SVG vector graphics using a deterministic JSON → SVG renderer.
Compatibility matrix
| Platform | Status | Evidence | What to check |
|---|---|---|---|
| Codex | Declared | Source record | Install path and trigger |
| Claude Code | Not declared | No explicit evidence | Portability before use |
| Cursor | Not declared | No explicit evidence | Portability before use |
| Gemini CLI | Not declared | No explicit evidence | Portability before use |
Installation
The source command is displayed only when detected. A safe inspection prompt is always available so your agent can explain every action before execution.
npx skills add https://github.com/wanshuiyin/Auto-claude-code-research-in-sleep --skill "skills/figure-spec"Inspect the Agent Skill "figure-spec" from https://github.com/wanshuiyin/Auto-claude-code-research-in-sleep/blob/014c16e0e58198e4230fafd246b0e6203892422f/skills/figure-spec/SKILL.md at commit 014c16e0e58198e4230fafd246b0e6203892422f. List every install step, command, network request, credential, file read/write, external action, and rollback step. Explain whether it fits my task. Do not install or execute anything until I approve.
Workflow
From $ARGUMENTS (description or path to PAPERPLAN.md / NARRATIVEREPORT.md), identify: - Purpose: architecture, workflow, pipeline, audit cascade, topology? - Main entities: what are the boxes? - Relationships: how do they connect? (uses, produces, calls, verifies, chains) - Grou…
From $ARGUMENTS (description or path to PAPERPLAN.md / NARRATIVEREPORT.md), identify: - Purpose: architecture, workflow, pipeline, audit cascade, topology? - Main entities: what are the boxes? - Relationships: how do they connect? (uses, produces, calls, verifies, chains) - Grou…
Canvas sizing guide: - Single-column figure: 500×350 px - Two-column (full-width): 900×500 px - Tall topology: 700×700 px
Review the “Step 3: Render and Validate” section in the pinned source before continuing.
Open the SVG/PDF and check: - No overlaps: nodes don't collide with each other or group boundaries - Readability: font sizes are consistent, labels aren't clipped - Edge clarity: arrows hit nodes at clean angles, labels near edges are legible - Group alignment: background rectan…
Permission review
The documentation asks the agent to run terminal commands or scripts.
python3 "$FIGURE_RENDERER" render <spec.json> --output <out.svg>The documentation asks the agent to run terminal commands or scripts.
python3 "$FIGURE_RENDERER" validate <spec.json>Evidence record
| Signal | Value | Evidence type | Meaning |
|---|---|---|---|
| Quality score | 93/100 | Computed | Documentation, specificity, maintenance, and trust rules |
| Repository stars | 15,246 | Source | Repository attention, not individual Skill quality |
| Compatibility | 1 platforms | Source | Declared in the catalog source record |
| Usage guide | automated source guide | Editorial | Generated or reviewed according to the visible evidence level |
Pinned source
Generate publication-quality architecture diagrams, workflow pipelines, audit cascades, and system topology figures as editable SVG vector graphics using a deterministic JSON → SVG renderer.
Use figure-spec for:
Do NOT use for:
/paper-figure/paper-illustration/mermaid-diagram (lighter syntax)Phase 3.1 (Arch C) move: the canonical implementation now lives at
skills/figure-spec/scripts/figure_renderer.py (this SKILL's own
scripts/ subdirectory). A backwards-compatible shim at
tools/figure_renderer.py forwards to the canonical file via
os.execv, so existing users with .aris/tools/figure_renderer.py
or a manually copied tools/figure_renderer.py keep working
unchanged.
Resolve $FIGURE_RENDERER with the hybrid chain (layer 0 prefers the
self-contained location for the owning SKILL; layers 1-4 are the
shared-runtime chain documented in
shared-references/integration-contract.md §2,
Policy A — skill-local gate):
# Layer 0: self-contained (CC 1.0+ exposes $CLAUDE_SKILL_DIR).
FIGURE_RENDERER=""
if [ -n "${CLAUDE_SKILL_DIR:-}" ] && [ -f "$CLAUDE_SKILL_DIR/scripts/figure_renderer.py" ]; then
FIGURE_RENDERER="$CLAUDE_SKILL_DIR/scripts/figure_renderer.py"
fi
# Layers 1-4: shared-runtime chain (legacy compatibility + non-CC hosts).
if [ -z "$FIGURE_RENDERER" ]; then
cd "$(git rev-parse --show-toplevel 2>/dev/null || pwd)" || exit 1
if [ -z "${ARIS_REPO:-}" ] && [ -f .aris/installed-skills.txt ]; then
ARIS_REPO=$(awk -F'\t' '$1=="repo_root"{print $2; exit}' .aris/installed-skills.txt 2>/dev/null) || true
fi
if [ -z "${ARIS_REPO:-}" ] && [ -f "$HOME/.aris/repo" ]; then
ARIS_REPO=$(cat "$HOME/.aris/repo" 2>/dev/null) || true
fi
FIGURE_RENDERER=".aris/tools/figure_renderer.py"
[ -f "$FIGURE_RENDERER" ] || FIGURE_RENDERER="tools/figure_renderer.py"
[ -f "$FIGURE_RENDERER" ] || { [ -n "${ARIS_REPO:-}" ] && FIGURE_RENDERER="$ARIS_REPO/tools/figure_renderer.py"; }
[ -f "$FIGURE_RENDERER" ] || FIGURE_RENDERER=""
fi
[ -z "$FIGURE_RENDERER" ] && {
echo "ERROR: figure_renderer.py not resolved (layer 0: \$CLAUDE_SKILL_DIR/scripts/; layers 1-4: .aris/tools/, tools/, \$ARIS_REPO/tools/, \$ARIS_REPO/tools/ via ~/.aris/repo)." >&2
echo " /figure-spec cannot produce SVG output. Fix: rerun bash tools/install_aris.sh or smart_update.sh (refreshes ~/.aris/repo), or copy the helper from \$ARIS_REPO/skills/figure-spec/scripts/." >&2
exit 1
}
Invoke:
python3 "$FIGURE_RENDERER" render <spec.json> --output <out.svg>
python3 "$FIGURE_RENDERER" validate <spec.json>
python3 "$FIGURE_RENDERER" schema
From $ARGUMENTS (description or path to PAPER_PLAN.md / NARRATIVE_REPORT.md), identify:
Canvas sizing guide:
Start from a template based on the diagram type:
Architecture (stacked rows):
{
"canvas": {"width": 900, "height": 520},
"nodes": [
{"id": "layer1_label", "label": "Layer 1", "x": 450, "y": 60, ...},
{"id": "node_a", "label": "A", "x": 180, "y": 120, ...},
{"id": "node_b", "label": "B", "x": 350, "y": 120, ...}
],
"edges": [...],
"groups": [
{"label": "Layer 1", "node_ids": ["node_a", "node_b"], "fill": "#F0F9FF", "stroke": "#BAE6FD"}
]
}
Workflow (left-to-right chain):
{
"canvas": {"width": 900, "height": 300},
"nodes": [
{"id": "step1", "label": "Step 1", "x": 100, "y": 150, "shape": "rounded"},
{"id": "step2", "label": "Step 2", "x": 280, "y": 150, "shape": "rounded"}
],
"edges": [
{"from": "step1", "to": "step2", "label": "produces"}
]
}
Decision diamond:
{"id": "check", "label": "Passes?", "shape": "diamond", "x": 450, "y": 200}
# Validate first ($FIGURE_RENDERER was resolved in "Tool Location" above)
python3 "$FIGURE_RENDERER" validate /tmp/spec.json
# Render to SVG
python3 "$FIGURE_RENDERER" render /tmp/spec.json --output figures/fig_arch.svg
# Convert to PDF for LaTeX inclusion
rsvg-convert -f pdf figures/fig_arch.svg -o figures/fig_arch.pdf
If validation fails, inspect the error (missing field, duplicate ID, overlap warning, invalid hex color) and fix the JSON.
Open the SVG/PDF and check:
If issues found, edit the JSON spec (never the generated SVG) and re-render.
For paper architecture figures, invoke cross-model review:
mcp__codex__codex:
model: gpt-5.6-sol
config: {"model_reasoning_effort": "xhigh"}
prompt: |
Review this SVG figure for a technical paper (architecture / workflow diagram).
Spec file: /path/to/spec.json
Rendered: /path/to/fig.svg
Evaluate:
1. Clarity (C): can a reader understand the system from this figure alone?
2. Readability (R): font sizes, label placement, visual hierarchy
3. Semantic accuracy (S): do relationships match the described system?
Score each axis 1-10 and list specific issues to fix.
Iterate until all three axes ≥ 7/10. The ARIS tech report figures went through 5 rounds of this loop to reach C:7/R:7/S:8.
Run python3 "$FIGURE_RENDERER" schema (resolve $FIGURE_RENDERER per "Tool Location" above) for the authoritative schema.
| Field | Required | Default | Notes |
|---|---|---|---|
id | ✓ | — | Unique |
label | ✓ | — | \n for multi-line |
x, y | ✓ | — | Center coordinates |
width, height | 120, 50 | ||
shape | rounded | rect / rounded / circle / ellipse / diamond | |
fill, stroke | auto from palette | #RRGGBB | |
text_color | #333333 | ||
font_size | 14 | Override style default |
| Field | Default | Notes |
|---|---|---|
from, to | required | Same = self-loop |
label | — | Short edge label |
style | solid | solid / dashed / dotted |
color | #555555 | |
curve | false | Curved path |
Rectangular background regions framing a set of nodes:
{"label": "Layer Name", "node_ids": ["a", "b", "c"], "fill": "#EFF6FF", "stroke": "#BFDBFE"}
Stack rows of related nodes, each row is a group, add inter-layer arrows with semantic labels (uses↓, produces↑, checks↓).
Central node (e.g., Executor), peripheral nodes (skills, tools), solid arrows for primary relations, dashed for feedback.
Left-to-right main flow, feedback arrows curve below with curve: true.
Three-stage horizontal cascade with inputs feeding in from top, outputs exiting right, each stage in its own group.
figures/ (vector, editable, hand-tweakable)figures/specs/ for reproducibilityrsvg-convert for LaTeX inclusion/paper-writing (Workflow 3): when illustration: figurespec (default for architecture figures), this skill handles Phase 2b/paper-figure: handles data plots; they complement each other (data + architecture = complete figure set)/paper-illustration: fallback for figures that need natural/qualitative style (method illustrations with photos, qualitative result grids)/mermaid-diagram: lighter alternative for simple flowchartsAfter each mcp__codex__codex or mcp__codex__codex-reply reviewer call, save the trace following shared-references/review-tracing.md (Policy C — forensic; never silently skip). Use save_trace.sh (resolved per the chain in shared-references/integration-contract.md §2) or write files directly to .aris/traces/<skill>/<date>_run<NN>/. Respect the --- trace: parameter (default: full).
Frequently asked questions
Generate publication-quality architecture diagrams, workflow pipelines, audit cascades, and system topology figures as editable SVG vector graphics using a deterministic JSON → SVG renderer.
The source record exposes this install command: npx skills add https://github.com/wanshuiyin/Auto-claude-code-research-in-sleep --skill "skills/figure-spec". Inspect the command and pinned source before running it.
The pinned source record declares support for: codex.
Static rules flagged exec-script in the source; the page lists the matching lines and excerpts.
Alternatives
wanshuiyin/Auto-claude-code-research-in-sleep
Use it for design and operations tasks; the detail page covers purpose, installation, and practical steps.
vasilyu1983/AI-Agents-public
Guides iOS testing with XCTest, XCUITest, Swift Testing, simctl, and xcresult. Use when choosing destinations, controlling flakes, or parsing test artifacts for native apps.
vasilyu1983/AI-Agents-public
Designs and audits UI/UX systems with usability and accessibility requirements. Use when shaping flows, design systems, interaction patterns, or WCAG-aware product behavior.
gaelic-ghost/socket
Design and maintain Python CI workflows around uv, pytest, Ruff, mypy, package build checks, dependency caching, Python version matrices, and local-command parity.