원클릭으로
mermaid-diagram
Generate a Mermaid diagram from a text description
Codex 또는 Claude로 설치 이 Prompt를 복사해 Codex, Claude 또는 다른 어시스턴트에 붙여 넣으면 Skill 페이지를 검토하고 설치를 진행할 수 있습니다.
메뉴
Generate a Mermaid diagram from a text description
Codex 또는 Claude로 설치 이 Prompt를 복사해 Codex, Claude 또는 다른 어시스턴트에 붙여 넣으면 Skill 페이지를 검토하고 설치를 진행할 수 있습니다.
SOC 직업 분류 기준
Use when checking Paperclip org health, reviewing agent efficiency, diagnosing token waste, verifying governance compliance, or before and after making org changes. Also use when agents seem idle or unproductive, costs spike, tasks stall, heartbeats fail silently, you see 409 conflicts, stale locks, blocked deadlocks, or suspect agents burning tokens with no progress.
This skill should be used when the user asks to "show dev-setup config", "change the worktrees directory", "update the port pattern", "configure dev-setup settings", or wants to view or update settings in .claude/dev-setup.json.
Generate dev server lifecycle scripts (start/stop/status/ports) from detected project structure
This skill should be used when the user asks to "create a worktree", "set up an isolated workspace", "create a branch for a feature", "start working on a new branch", or before executing an implementation plan that needs an isolated git workspace.
Scan a codebase and auto-generate relevant diagrams from its structure
Generate a D2 diagram from a text description
| name | mermaid-diagram |
| description | Generate a Mermaid diagram from a text description |
| argument-hint | ["description"] |
| allowed-tools | Read, Bash, Write, Edit |
User request: "$ARGUMENTS"
Analyze the user's description, select the appropriate diagram type, and generate the diagram.
find "$HOME/.claude/plugins/cache" -type d -name "mermaid" -path "*/skills/mermaid" 2>/dev/null | head -1
If empty, run fallback (for dev/repo usage):
find "$HOME" -maxdepth 8 -type d -name "mermaid" -path "*/skills/mermaid" 2>/dev/null | head -1
Use the returned path as PLUGIN_DIR.
bash "$PLUGIN_DIR/scripts/ensure-deps.sh"
If .claude/mermaid.json does not exist, display a one-time nudge before continuing:
First time using the mermaid plugin? Run
/mermaid-configto pick a theme and output settings. Using defaults for now (zinc-light,./diagrams).
If .claude/mermaid.json exists, read it and apply:
theme (default: zinc-light)output_directory (default: ./diagrams)auto_validate (default: true)auto_render (default: false)Resolve output path:
output_directory is "same" AND an input file path is known (e.g. the file being documented):
OUTPUT_DIR=$(dirname {input_file})output_directory is "same" AND no input file (text description only):
OUTPUT_DIR=./diagramsOUTPUT_DIR={output_directory}Respect the configured theme/themeVariables as the visual source of truth.
classDef fill/stroke/color by default.Analyze the request semantically — interpret intent regardless of language:
| What the user wants to show | Type |
|---|---|
| How a process works, step-by-step flow, approval workflow, user journey | Activity |
| Who calls whom, API interactions, request/response, message passing between services | Sequence |
| Infrastructure topology, cloud resources, deployment, servers, containers | Deployment |
| System components, microservices, layers, modules, high-level structure | Architecture |
| Classes, objects, inheritance, OOP design, data models | Class |
| Database tables, entities, foreign keys, schema design | ER |
| States a thing can be in, lifecycle, FSM, transitions | State |
If the description matches multiple types, present the top 2 options briefly and ask which.
If the request is "Not sure" or ambiguous, ask: "Briefly describe what you want to visualize — a process, a system, API calls, a database schema, or something else?"
Based on your description "{description}", I recommend a **{type}** diagram because {reason}.
Proceeding with {type}...
Read the specialist file from $PLUGIN_DIR/specialists/mermaid-{type}.md and follow its Process and Output sections exactly. Do not ask the user again — generate the diagram.
Type-to-filename mapping:
mermaid-activity.mdmermaid-sequence.mdmermaid-deployment.mdmermaid-architecture.mdmermaid-class.mdmermaid-er.mdmermaid-state.mdIf auto_render == true (or the user explicitly asks to render), render the generated .mmd file to SVG:
If theme == "custom" and themeVariables is present in config:
node "$PLUGIN_DIR/scripts/resilient_diagram.js" {file} --output-dir $OUTPUT_DIR --custom-theme '{serialized themeVariables JSON}'
If theme == "custom" but themeVariables is absent from config:
Render without custom theme and display a note:
Custom theme configured but no themeVariables found — run
/mermaid-config→ option 6 to define colors.
Otherwise:
node "$PLUGIN_DIR/scripts/resilient_diagram.js" {file} --output-dir $OUTPUT_DIR --theme {theme}
If the script fails, tell the user to run /mermaid-config → option 7 (health check).
If the user's request mentions "document", "design doc", "design", or similar, or the generated diagram has high complexity (5+ components/entities/states), offer to scaffold a full design document around the diagram.
Match the diagram type to a template:
| Diagram type | Template file |
|---|---|
| Architecture | $PLUGIN_DIR/assets/architecture-design-template.md |
| Sequence | $PLUGIN_DIR/assets/api-design-template.md |
| ER | $PLUGIN_DIR/assets/database-design-template.md |
| Activity, State, Class, Deployment | $PLUGIN_DIR/assets/feature-design-template.md |
Display:
💡 This diagram could anchor a full design document.
I can scaffold one using the {template_name} template — say "yes" to proceed.
If user accepts:
$PLUGIN_DIR/assets/{template}[Name], [Date], etc.) with context from the user's request$OUTPUT_DIR/{name}-design-doc.mdIf not triggered (simple diagram, no design keywords): skip silently.
If the user asks to "diagram the flow" of a file or script:
Input: /mermaid-diagram "order processing with payment gateway"
Analysis: Business workflow → Activity
Executes: $PLUGIN_DIR/specialists/mermaid-activity.md
Input: /mermaid-diagram "API call from React frontend to FastAPI backend"
Analysis: Service interaction → Sequence
Executes: $PLUGIN_DIR/specialists/mermaid-sequence.md