Agents can sign plugins, rotate credentials without losing identity, and publicly attest to behavior.
日本語の概要は準備中です。原文の説明を表示しています。
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 mode. Best suited for educational and non-software visuals — physics setups, chemistry mechanisms, math curves, physical objects (aircraft, turbines, smartphones, mechanical watches), anatomy, floor plans, cross-sections, narrative journeys (lifecycle of X, process of Y), hub-spoke system integrations (smart city, IoT), and exploded layer views. If a more specialized skill exists for the subject (dedicated software/cloud architecture, hand-drawn sketches, animated explainers, etc.), prefer that — otherwise this skill can also serve as a general-purpose SVG diagram fallback with a clean educational look. Ships with 15 example diagrams.
インストールする前に、エージェントに与えられる指示の中身を確認できます。
Generate production-quality SVG diagrams with a unified flat, minimal design system. Output is a single self-contained HTML file that renders identically in any modern browser, with automatic light/dark mode.
Best suited for:
Look elsewhere first for:
architecture-diagram if available)excalidraw if available)If a more specialized skill is available for the subject, prefer that. If none fits, this skill can serve as a general-purpose SVG diagram fallback — the output will carry the clean educational aesthetic described below, which is a reasonable default for almost any subject.
templates/template.html as the wrapper — paste your SVG where the template says <!-- PASTE SVG HERE -->..html file (for example ~/my-diagram.html or ./my-diagram.html).Optional: if the user wants a browsable gallery of multiple diagrams, see "Local Preview Server" at the bottom.
Load the HTML template:
skill_view(name="concept-diagrams", file_path="templates/template.html")
The template embeds the full CSS design system (c-* color classes, text classes, light/dark variables, arrow marker styles). The SVG you generate relies on these classes being present on the hosting page.
9 color ramps, each with 7 stops. Put the class name on a <g> or shape element; the template CSS handles both modes.
| Class | 50 (lightest) | 100 | 200 | 400 | 600 | 800 | 900 (darkest) |
|---|---|---|---|---|---|---|---|
c-purple | #EEEDFE | #CECBF6 | #AFA9EC | #7F77DD | #534AB7 | #3C3489 | #26215C |
c-teal | #E1F5EE | #9FE1CB | #5DCAA5 | #1D9E75 | #0F6E56 | #085041 | #04342C |
c-coral | #FAECE7 | #F5C4B3 | #F0997B | #D85A30 | #993C1D | #712B13 | #4A1B0C |
c-pink | #FBEAF0 | #F4C0D1 | #ED93B1 | #D4537E | #993556 | #72243E | #4B1528 |
c-gray | #F1EFE8 | #D3D1C7 | #B4B2A9 | #888780 | #5F5E5A | #444441 | #2C2C2A |
c-blue | #E6F1FB | #B5D4F4 | #85B7EB | #378ADD | #185FA5 | #0C447C | #042C53 |
c-green | #EAF3DE | #C0DD97 | #97C459 | #639922 | #3B6D11 | #27500A | #173404 |
c-amber | #FAEEDA | #FAC775 | #EF9F27 | #BA7517 | #854F0B | #633806 | #412402 |
c-red | #FCEBEB | #F7C1C1 | #F09595 | #E24B4A | #A32D2D | #791F1F | #501313 |
Color encodes meaning, not sequence. Never cycle through colors like a rainbow.
c-gray for neutral/structural nodes (start, end, generic steps, users).c-purple, c-teal, c-coral, c-pink for general categories.c-blue, c-green, c-amber, c-red for semantic meaning (info, success, warning, error).Light/dark stop mapping (handled by the template CSS — just use the class):
Only two font sizes. No exceptions.
| Class | Size | Weight | Use |
|---|---|---|---|
th | 14px | 500 | Node titles, region labels |
ts | 12px | 400 | Subtitles, descriptions, arrow labels |
t | 14px | 400 | General text |
<text> MUST carry a class (t, ts, or th). No unclassed text.dominant-baseline="central" on all text inside boxes.text-anchor="middle" for centered text in boxes.Width estimation (approx):
box_width >= (char_count × px_per_char) + 48 (24px padding each side)viewBox="0 0 680 H" where H = content height + 40px buffer.rx="8" for nodes, rx="12" for inner containers, rx="16" to rx="20" for outer containers.fill="none". SVG defaults to fill: black otherwise.Include this <defs> block at the start of every SVG:
<defs>
<marker id="arrow" viewBox="0 0 10 10" refX="8" refY="5"
markerWidth="6" markerHeight="6" orient="auto-start-reverse">
<path d="M2 1L8 5L2 9" fill="none" stroke="context-stroke"
stroke-width="1.5" stroke-linecap="round" stroke-linejoin="round"/>
</marker>
</defs>
Use marker-end="url(#arrow)" on lines. The arrowhead inherits the line color via context-stroke.
The template page provides:
.t, .ts, .th.box, .arr, .leader, .node.c-purple, .c-teal, .c-coral, .c-pink, .c-gray, .c-blue, .c-green, .c-amber, .c-red (all with automatic light/dark mode)You do not need to redefine these — just apply them in your SVG. The template file contains the full CSS definitions.
Every SVG inside the template page starts with this exact structure:
<svg width="100%" viewBox="0 0 680 {HEIGHT}" xmlns="http://www.w3.org/2000/svg">
<defs>
<marker id="arrow" viewBox="0 0 10 10" refX="8" refY="5"
markerWidth="6" markerHeight="6" orient="auto-start-reverse">
<path d="M2 1L8 5L2 9" fill="none" stroke="context-stroke"
stroke-width="1.5" stroke-linecap="round" stroke-linejoin="round"/>
</marker>
</defs>
<!-- Diagram content here -->
</svg>
Replace {HEIGHT} with the actual computed height (last element bottom + 40px).
Single-line node (44px):
<g class="node c-blue">
<rect x="100" y="20" width="180" height="44" rx="8" stroke-width="0.5"/>
<text class="th" x="190" y="42" text-anchor="middle" dominant-baseline="central">Service name</text>
</g>
Two-line node (56px):
<g class="node c-teal">
<rect x="100" y="20" width="200" height="56" rx="8" stroke-width="0.5"/>
<text class="th" x="200" y="38" text-anchor="middle" dominant-baseline="central">Service name</text>
<text class="ts" x="200" y="56" text-anchor="middle" dominant-baseline="central">Short description</text>
</g>
Connector (no label):
<line x1="200" y1="76" x2="200" y2="120" class="arr" marker-end="url(#arrow)"/>
Container (dashed or solid):
<g class="c-purple">
<rect x="40" y="92" width="600" height="300" rx="16" stroke-width="0.5"/>
<text class="th" x="66" y="116">Container label</text>
<text class="ts" x="66" y="134">Subtitle info</text>
</g>
Choose the layout that fits the subject:
<path> for curved bodies, <polygon> for tapered shapes, <ellipse>/<circle> for cylindrical parts, nested <rect> for compartments. See references/physical-shape-cookbook.md..data-line, .power-line, .water-pipe, .road). See references/infrastructure-patterns.md.references/dashboard-patterns.md.For physical, infrastructure, and dashboard diagrams, load the matching reference file before generating — each one provides ready-made CSS classes and shape primitives.
Before finalizing any SVG, verify ALL of the following:
<text> has class t, ts, or th.<text> inside a box has dominant-baseline="central".<path> or <line> used as arrow has fill="none".box_width >= (longest_label_chars × 8) + 48 for 14px text.box_width >= (longest_label_chars × 6.5) + 48 for 12px text.c-*) are on <g> or shape elements, never on <path> connectors.<defs> block is present.Write a single .html file the user can open directly. No server, no dependencies, works offline. Pattern:
# 1. Load the template
template = skill_view("concept-diagrams", "templates/template.html")
# 2. Fill in title, subtitle, and paste your SVG
html = template.replace(
"<!-- DIAGRAM TITLE HERE -->", "SN2 reaction mechanism"
).replace(
"<!-- OPTIONAL SUBTITLE HERE -->", "Bimolecular nucleophilic substitution"
).replace(
"<!-- PASTE SVG HERE -->", svg_content
)
# 3. Write to a user-chosen path (or ./ by default)
write_file("./sn2-mechanism.html", html)
Tell the user how to open it:
# macOS
open ./sn2-mechanism.html
# Linux
xdg-open ./sn2-mechanism.html
Only use this when the user explicitly wants a browsable gallery of multiple diagrams.
Rules:
127.0.0.1 only. Never 0.0.0.0. Exposing diagrams on all network interfaces is a security hazard on shared networks.Recommended pattern (lets the OS pick a free ephemeral port):
# Put each diagram in its own folder under .diagrams/
mkdir -p .diagrams/sn2-mechanism
# ...write .diagrams/sn2-mechanism/index.html...
# Serve on loopback only, free port
cd .diagrams && python3 -c "
import http.server, socketserver
with socketserver.TCPServer(('127.0.0.1', 0), http.server.SimpleHTTPRequestHandler) as s:
print(f'Serving at http://127.0.0.1:{s.server_address[1]}/')
s.serve_forever()
" &
If the user insists on a fixed port, use 127.0.0.1:<port> — still never 0.0.0.0. Document how to stop the server (kill %1 or pkill -f "http.server").
The examples/ directory ships 15 complete, tested diagrams. Browse them for working patterns before writing a new diagram of a similar type:
| File | Type | Demonstrates |
|---|---|---|
hospital-emergency-department-flow.md | Flowchart | Priority routing with semantic colors |
feature-film-production-pipeline.md | Flowchart | Phased workflow, horizontal sub-flows |
automated-password-reset-flow.md | Flowchart | Auth flow with error branches |
autonomous-llm-research-agent-flow.md | Flowchart | Loop-back arrows, decision branches |
place-order-uml-sequence.md | Sequence | UML sequence diagram style |
commercial-aircraft-structure.md | Physical | Paths, polygons, ellipses for realistic shapes |
wind-turbine-structure.md | Physical cross-section | Underground/above-ground separation, color coding |
smartphone-layer-anatomy.md | Exploded view | Alternating left/right labels, layered components |
apartment-floor-plan-conversion.md | Floor plan | Walls, doors, proposed changes in dotted red |
banana-journey-tree-to-smoothie.md | Narrative journey | Winding path, progressive state changes |
cpu-ooo-microarchitecture.md | Hardware pipeline | Fan-out, memory hierarchy sidebar |
sn2-reaction-mechanism.md | Chemistry | Molecules, curved arrows, energy profile |
smart-city-infrastructure.md | Hub-spoke | Semantic line styles per system |
electricity-grid-flow.md | Multi-stage flow | Voltage hierarchy, flow markers |
ml-benchmark-grouped-bar-chart.md | Chart | Grouped bars, dual axis |
Load any example with:
skill_view(name="concept-diagrams", file_path="examples/<filename>")
| User says | Diagram type | Suggested colors |
|---|---|---|
| "show the pipeline" | Flowchart | gray start/end, purple steps, red errors, teal deploy |
| "draw the data flow" | Data pipeline (left-right) | gray sources, purple processing, teal sinks |
| "visualize the system" | Structural (containment) | purple container, teal services, coral data |
| "map the endpoints" | API tree | purple root, one ramp per resource group |
| "show the services" | Microservice topology | gray ingress, teal services, purple bus, coral workers |
| "draw the aircraft/vehicle" | Physical | paths, polygons, ellipses for realistic shapes |
| "smart city / IoT" | Hub-spoke integration | semantic line styles per subsystem |
| "show the dashboard" | UI mockup | dark screen, chart colors: teal, purple, coral for alerts |
| "power grid / electricity" | Multi-stage flow | voltage hierarchy (HV/MV/LV line weights) |
| "wind turbine / turbine" | Physical cross-section | foundation + tower cutaway + nacelle color-coded |
| "journey of X / lifecycle" | Narrative journey | winding path, progressive state changes |
| "layers of X / exploded" | Exploded layer view | vertical stack, alternating labels |
| "CPU / pipeline" | Hardware pipeline | vertical stages, fan-out to execution ports |
| "floor plan / apartment" | Floor plan | walls, doors, proposed changes in dotted red |
| "reaction mechanism" | Chemistry | atoms, bonds, curved arrows, transition state, energy profile |
まだレビューはありません。使ってみた感想をお寄せください。
概要と使いどころ
Agents can sign plugins, rotate credentials without losing identity, and publicly attest to behavior.
日本語の概要は準備中です。原文の説明を表示しています。
专为追求倍速增长的初建学校设计的教师选、育、用、留四环节体系。基于科德高中融合部真实管理经验,结合十部AI Agent架构,将人才管理从校长个人经验升级为可继承、可协同、可沉淀的组织能力。
日本語の概要は準備中です。原文の説明を表示しています。
115 网盘智能管理:扫码登录、文件浏览、搜索、转存、离线下载、智能整理。适用于"登录 115"、"查看文件"、"搜索 xxx"、"转存链接"、"磁力链接"、"整理文件"等场景。
日本語の概要は準備中です。原文の説明を表示しています。
12306-specific knowledge for booking train tickets via the Android app. Covers UC WebView virtual list behavior, proven booking flow, and common pitfalls. Uses appium-android-adb bridge OR direct uiautomator2 for all interaction.
日本語の概要は準備中です。原文の説明を表示しています。
Connect to 163/126/yeah.net (Coremail) email via IMAP, read inbox, search emails, and send emails via SMTP. Activate when user asks to check email, read mail, send email, or monitor inbox on 163/126/yeah.net accounts. Handles the Coremail-specific IMAP ID command requirement that causes "Unsafe Login" errors in standard clients.
日本語の概要は準備中です。原文の説明を表示しています。
Set up and use 1Password CLI (op). Use when installing the CLI, enabling desktop app integration, signing in, and reading/injecting secrets for commands.
日本語の概要は準備中です。原文の説明を表示しています。