i-diagram
Create professional SVG diagrams of any type — architecture diagrams, flowcharts, sequence diagrams, structural diagrams, mind maps, timelines…
Skill by jtsang4
Install
Works with Claude Code, Claude apps, Codex, Cursor, Gemini CLI, GitHub Copilot, VS Code, OpenCode, Goose, Windsurf. Read the repository before you give any tool access to your data.
npx agentmarket install skill/jtsang4-i-diagram
Asks which of your tools to add it to (Claude Code, Codex, Cursor, VS Code, Windsurf, Gemini CLI, Claude Desktop) and shows the change first. See https://agentmart.dev/cli.
Get the weekly diff
The weekly diff: one email a week with new agent tools, notable updates and grade changes, plus security alerts for tools you follow. Double opt-in, one-click unsubscribe.
About
Use cases: design, frontend, data, writing
Reviews
Write a reviewNo reviews yet. Installed it? Reviews come from verified installers only. How reviews work
Permissions
What this skill can do and what it asks for, from its SKILL.md. Checked Oct 25, 2026.
- Tools
- No tools found
- Secrets
- None asked for
- Install scripts
- None found
- Runs as
- Node.js package
Network hosts it talks to 1
codeload.github.com· found in install command
Files it touches
~/.claude/skills/i-diagram
What's inside
- Skill name
i-diagram- Description
- Create professional SVG diagrams of any type — architecture diagrams, flowcharts, sequence diagrams, structural diagrams, mind maps, timelines, illustrative/conceptual diagrams, and more. Supports light (default) and dark themes. Use this skill whenever the user asks for any kind of technical or conceptual diagram, visualization of a system, process flow, data flow, component relationship, network topology, decision tree, org chart, state machine, or any visual representation of structure/logic/process. Also trigger when the user says "画个图" "画一个架构图" "diagram" "flowchart" "sequence diagram" "draw me a ..." or uploads content and asks to visualize it. Output is always a standalone .svg file.
- License
- MIT
- Instructions
- 269 lines in SKILL.md · view on GitHub
Before installing
- Ships executable scripts
Files (7)
- ATTRIBUTION.md
- SKILL.md
- architecture.md · references/
- flowchart.md · references/
- sequence.md · references/
- structural.md · references/
- main.ts · scripts/
SKILL.md (first lines)
# Diagram Generator
Create professional SVG diagrams across multiple diagram types. All output is a single self-contained `.svg` file with embedded styles and fonts.
## Theme Selection
Two themes are supported: **light** (default) and **dark**.
- Use the **light** theme unless the user explicitly asks for dark (e.g. "暗色" "深色主题" "dark mode" "dark theme")
- All colors in this document are defined as **theme tokens** — pick the column matching the selected theme and use those literals consistently throughout the SVG
- Never mix tokens from both themes in one diagram
## Supported Diagram Types
| Type | When to Use | Key Characteristics |
|------|-------------|-------------------|
| **Architecture** | System components & relationships | Grouped boxes, connection arrows, region boundaries |
| **Flowchart** | Decision logic, process steps | Diamond decisions, rounded step boxes, directional flow |
| **Sequence** | Time-ordered interactions between actors | Vertical lifelines, horizontal messages, activation bars |
| **Structural** | Class diagrams, ER diagrams, org charts | Compartmented boxes, typed relationships (inheritance, composition) |
| **Mind Map** | Brainstorming, topic exploration | Central node, radiating branches, organic layout |
| **Timeline** | Chronological events | Horizontal/vertical axis, event markers, period spans |
| **Illustrative** | Conceptual explanations, comparisons | Free-form layout, icons, annotations, visual metaphors |
| **State Machine** | State transitions, lifecycle | Rounded state nodes, labeled transitions, start/end markers |
| **Data Flow** | Data transformation pipelines | Process bubbles, data stores, external entities |
## Design System
All colors below are **theme tokens**. After selecting the theme, substitute every token with its literal value from the matching column. Token placeholders like `{bg}`, `{text}`, `{line}` appear in code snippets throughout this document and the reference files.
### Base Tokens
| Token | Light (default) | Dark | Use For |
|-------|-----------------|------|---------|
| `{bg}` | `#f8fafc` | `#0f172a` | Canvas background, masking rects |
| `{grid}` | `#e2e8f0` | `#1e293b` | Background grid lines |
| `{text}` | `#0f172a` | `white` | Primary labels, component names |
| `{text-sub}` | `#64748b` | `#94a3b8` | Sublabels, descriptions, annotations |
| `{text-msg}` | `#334155` | `#e2e8f0` | Message/arrow labels |
| `{line}` | `#64748b` | `#64748b` | Default arrows, connection lines |
| `{line-soft}` | `#94a3b8` | `#334155` | Lifelines, dividers, subtle lines |
### Color Palette
Semantic colors for component categories:
| Category | Light Fill | Light Stroke | Dark Fill | Dark Stroke | Use For |
|----------|------------|--------------|-----------|-------------|---------|
| Primary | `rgba(207, 250, 254, 0.7)` | `#0891b2` | `rgba(8, 51, 68, 0.4)` | `#22d3ee` | Frontend, user-facing, inputs |
| Secondary | `rgba(209, 250, 229, 0.7)` | `#059669` | `rgba(6, 78, 59, 0.4)` | `#34d399` | Backend, services, processing |
| Tertiary | `rgba(237, 233, 254, 0.7)` | `#7c3aed` | `rgba(76, 29, 149, 0.4)` | `#a78bfa` | Database, storage, persistence |
| Accent | `rgba(254, 243, 199, 0.6)` | `#d97706` | `rgba(120, 53, 15, 0.3)` | `#fbbf24` | Cloud, infrastructure, regions |
| Alert | `rgba(255, 228, 230, 0.7)` | `#e11d48` | `rgba(136, 19, 55, 0.4)` | `#fb7185` | Security, errors, warnings |
| Connector | `rgba(255, 237, 213, 0.6)` | `#ea580c` | `rgba(251, 146, 60, 0.3)` | `#fb923c` | Buses, queues, middleware |
| Neutral | `rgba(241, 245, 249, 0.8)` | `#64748b` | `rgba(30, 41, 59, 0.5)` | `#94a3b8` | External, generic, unknown |
| Highlight | `rgba(219, 234, 254, 0.7)` | `#2563eb` | `rgba(59, 130, 246, 0.3)` | `#60a5fa` | Active state, focus, current step |
In snippets, `FILL` / `STROKE` refer to the selected category's fill/stroke in the active theme. When a snippet hardcodes a category color (e.g. a cyan stroke), translate it to the same category's value in the active theme.
For flowcharts and sequence diagrams, assign colors by role (actor, decision, process) rather than by technology.
### Typography
Use embedded SVG `@font-face` or system monospace fallback:
```svg
<style>
@import url('https://fonts.googleapis.com/css2?family=JetBrains+Mono:wght@400;500;600;700&display=swap');
text { font-family: 'JetBrains Mono', 'SF Mono', 'Cascadia Code', monospace; }
</style>
```
Font sizes by role:
- **Title:** 16px, weight 700, color `{text}`
- **Component name:** 11-12px, weight 600, color `{text}`
- **Sublabel / description:** 9px, weight 400, color `{text-sub}`
- **Annotation / note:** 8px, weight 400
- **Tiny label (on arrows):** 7-8px
### Core Visual Elements
**Background:** `{bg}` with subtle grid:
```svg
<defs>
<pattern id="grid" width="40" height="40" patternUnits="userSpaceOnUse">
<path d="M 40 0 L 0 0 0 40" fill="none" stroke="{grid}" stroke-width="0.5"/>
</pattern>
</defs>
<rect width="100%" height="100%" fill="{bg}"/>
<rect width="100%" height="100%" fill="url(#grid)"/>
```
**Arrowhead marker (standard):**
```svg
<marker id="arrow" markerWidth="10" markerHeight="7" refX="9" refY="3.5" orient="auto">
<polygon points="0 0, 10 3.5, 0 7" fill="{line}"/>
</marker>
```
**Arrowhead marker (colored) — create per-color as needed, using the category stroke for the active theme:**
```svg
<marker id="arrow-primary" markerWidth="10" markerHeight="7" refX="9" refY="3.5" orient="auto">
<polygon points="0 0, 10 3.5, 0 7" fill="STROKE"/>
</marker>
```
**Open arrowhead (for async/return messages):**
```svg
<marker id="arrow-open" markerWidth="10" markerHeight="7" refX="9" refY="3.5" orient="auto">
<polyline points="0 0, 10 3.5, 0 7" fill="none" stroke="{line}" stroke-width="1.5"/>
</marker>
```
### SVG Structure & Layering
Draw elements in this order to get correct z-ordering (SVG paints back-to-front):
1. Background fill + grid pattern
2. Region/group boundaries (dashed outlines)From jtsang4/efficient-coding, MIT.
More from jtsang4/efficient-coding
- 0.600score
diffusion-map
jtsang4
扩散图谱:围绕一个主题(学习一个领域、构思一个项目,或任何需要逐步展开的信息),先确立几个支柱,再随着对话由你判断把信息结构向外生长、重组,持久化在本地以便跨会话继续,并用本地网页实时呈现,可回溯每个节点背后的 Claude Code / Codex 对话。只在用户显式调用时使用。
SkillAFreshness: A★ 2Claude Code +9 - 0.559score
paseo-relay
jtsang4
Connect to other Paseo hosts through Relay using authorized pairing information; discover projects, workspaces and agents, inspect sessions and timelines, and…
SkillBFreshness: B★ 2Claude Code +9 - 0.557score
problem-framing
jtsang4
Reassess a problem when a solution accumulates branches, special cases, or layers, or discussion repeatedly fails to converge.
SkillBFreshness: B★ 2Claude Code +9 - 0.557score
agent-native-redesign
jtsang4
Rethink a project, product, workflow, or scenario around abundant AI agent execution capacity.
SkillBFreshness: B★ 2Claude Code +9 - 0.557score
merge-and-rebase
jtsang4
Ship a finished feature branch end to end - commit and push, open a pull/merge request against the trunk branch, merge it without squashing, then rebase the…
SkillBFreshness: B★ 2Claude Code +9 - 0.512score
general-skill-creator
jtsang4
Create, modify, evaluate, and package portable Agent Skills for coding agents.
SkillCFreshness: C★ 2Claude Code +9 - 0.507score
assess-source-project-fit
jtsang4
Assess whether external material such as a paper, article, repository, design, talk, internal document, or benchmark offers meaningful improvements for an…
SkillCFreshness: C★ 2Claude Code +9 - 0.501score
plan-coaching
jtsang4
规划教练。通过访谈引导用户形成能被批准和推行的规划材料,或对已有规划稿做评审与拷问。当用户要写规划、Roadmap、立项或方向提案,或要求 review 规划文档时使用。
SkillCFreshness: C★ 2Claude Code +9 - 0.496score
coaching-engine
jtsang4
report-coaching 和 plan-coaching 共享的访谈引擎。当这两个 skill 要求遵循访谈规则时加载,一般不单独使用。
SkillCFreshness: C★ 2Claude Code +9 - 0.466score
plan-me
jtsang4
通过访谈从零梳理一份规划材料。
SkillCFreshness: C★ 2Claude Code +9 - 0.448score
cubox-research
jtsang4
Search a user's Cubox collection deeply by topic, theme, or question.
SkillDFreshness: D★ 2Claude Code +9 - 0.445score
exa-web-search
jtsang4
Free AI search via Exa MCP.
SkillDFreshness: D★ 2Claude Code +9
Signals
- Stars
- 2
- Forks
- 0
- Open issues
- 0
- Last commit (this folder)
- Jun 12, 2026 (4 months ago)
From GitHub (fetched Oct 24, 2026).
Details
- License
- MIT
- Repository
- github.com/jtsang4/efficient-coding
- First seen
- Oct 24, 2026
- Last checked
- Oct 24, 2026
- Source
- GitHubgithub-graphql
More from jtsang4
- 0.600score
diffusion-map
jtsang4
扩散图谱:围绕一个主题(学习一个领域、构思一个项目,或任何需要逐步展开的信息),先确立几个支柱,再随着对话由你判断把信息结构向外生长、重组,持久化在本地以便跨会话继续,并用本地网页实时呈现,可回溯每个节点背后的 Claude Code / Codex 对话。只在用户显式调用时使用。
SkillAFreshness: A★ 2Claude Code +9 - 0.559score
paseo-relay
jtsang4
Connect to other Paseo hosts through Relay using authorized pairing information; discover projects, workspaces and agents, inspect sessions and timelines, and…
SkillBFreshness: B★ 2Claude Code +9 - 0.557score
agent-native-redesign
jtsang4
Rethink a project, product, workflow, or scenario around abundant AI agent execution capacity.
SkillBFreshness: B★ 2Claude Code +9 - 0.557score
merge-and-rebase
jtsang4
Ship a finished feature branch end to end - commit and push, open a pull/merge request against the trunk branch, merge it without squashing, then rebase the…
SkillBFreshness: B★ 2Claude Code +9 - 0.557score
problem-framing
jtsang4
Reassess a problem when a solution accumulates branches, special cases, or layers, or discussion repeatedly fails to converge.
SkillBFreshness: B★ 2Claude Code +9 - 0.512score
general-skill-creator
jtsang4
Create, modify, evaluate, and package portable Agent Skills for coding agents.
SkillCFreshness: C★ 2Claude Code +9
Cite this page
i-diagram skill. Agent Mart. https://agentmart.dev/skills/jtsang4-i-diagram (last updated 2026-10-24)