Skip to content
Security
Skill

/diagram-generator

generate, refine, validate, and render diagrams from natural language, notes, code snippets, schemas, tables, or existing diagram source. use for flowcharts, swimlanes, sequence diagrams, state diagrams, er diagrams, class diagrams, architecture/c4-style diagrams, dependency

BOOST
From plugin
reverse-skill
39k46 skills
Install
$ npx -y skills add zhaoxuya520/reverse-skill --skill diagram-generator --agent claude-code

How it fires

How this skill gets triggered: by you, by Claude, or both.

  • Fires itselfAuto-invocation. Claude auto-loads it when your prompt matches the work.Auto-invocation is when the right skill fires by itself at the right moment, driven by a FLOW.md router and a hook, instead of you invoking it by name. It is the difference between a skill being installed and a skill actually getting used.Read the full definition →
  • You can call itInvoke it directly when you want it.
  • Slash command/diagram-generator

Context preview

The summary Claude sees to decide when to auto-load this skill.

generate, refine, validate, and render diagrams from natural language, notes, code snippets, schemas, tables, or existing diagram source. use for flowcharts, swimlanes, sequence diagrams, state diagrams, er diagrams, class diagrams, architecture/c4-style diagrams, dependency

SKILL.md

diagram-generator.SKILL.md
name: diagram-generator
description: generate, refine, validate, and render diagrams from natural language, notes, code snippets, schemas, tables, or existing diagram source. use for flowcharts, swimlanes, sequence diagrams, state diagrams, er diagrams, class diagrams, architecture/c4-style diagrams, dependency graphs, gantt charts, mind maps, user journeys, sankey-style flows, org charts, network graphs, and other visual models. supports mermaid by default, graphviz dot for complex graph layout, plantuml for uml-heavy engineering diagrams, and svg output when direct markup is more reliable.

Diagram Generator

ACTION REQUIRED(读完后立刻执行)

1. `NOW`:确认当前任务是否命中本 skill 的适用范围 2. `NOW`:读取 `../tool-index.md`,校验工具可用性和实际路径 3. `NEXT`:缺工具时调用 bootstrap,不要猜路径 4. `ACT`:进入"工作流"第一步并执行,不要停在确认状态

Purpose

Create clear, editable diagrams from messy or structured inputs. Prefer text-based diagram source first so the result can be reviewed, versioned, and refined. Render to files only when the user asks for an image/PDF or when a downloadable artifact would materially help.

Default workflow

1. Identify the user's intent, audience, and source material. 2. Choose the diagram family and language using the decision table below. 3. Normalize entities, relationships, labels, states, branches, and time/order information before writing diagram code. 4. Generate concise, readable diagram source. 5. Validate the syntax mentally and, when creating files, run `scripts/render_diagram.py`. 6. Return the diagram source plus a short note about assumptions. When files are generated, include links to the output files.

Do not over-ask for clarification. If the request is underspecified, make reasonable assumptions and label them briefly.

Diagram language decision table

Use Mermaid unless another language is clearly better.

| User wants | Prefer | Why | |---|---|---| | process flow, decision tree, simple swimlane | Mermaid flowchart | readable and easy to paste into Markdown | | sequence of system/user interactions | Mermaid sequenceDiagram or PlantUML sequence | Mermaid for docs; PlantUML for UML formality | | lifecycle, state machine, transitions | Mermaid stateDiagram-v2 or PlantUML state | compact transition syntax | | database schema, entities, relationships | Mermaid erDiagram | portable ER notation | | class/interface/object model | Mermaid classDiagram or PlantUML class | Mermaid for docs; PlantUML for detailed UML | | project schedule | Mermaid gantt | concise timeline syntax | | hierarchy, ideas, notes | Mermaid mindmap | good default for idea maps | | customer/product journey | Mermaid journey | built-in journey notation | | git history | Mermaid gitGraph | built-in git notation | | dependency graph, package graph, large network | Graphviz DOT | better layout engines for dense graphs | | architecture with layers, clusters, boundaries | Mermaid flowchart with subgraphs, Graphviz clusters, or PlantUML C4-style | choose based on requested fidelity | | weighted flow/sankey-like relationship | Mermaid sankey-beta when supported, otherwise SVG or Graphviz | Mermaid support may vary by renderer | | custom visual where source languages fit poorly | SVG | precise control over layout and styling |

Output policy

  • Always provide editable source unless the user explicitly asks only for an image.
  • Default to a single best diagram. Offer alternatives only when genuinely useful.
  • Prefer stable, simple syntax over fancy features that may not render in older Mermaid/PlantUML versions.
  • Use short labels. Split long text into notes outside the diagram when needed.
  • Avoid ambiguous node IDs. Use ASCII IDs and human-readable labels.
  • Preserve user terminology, but standardize capitalization within a diagram.
  • For technical diagrams, include boundaries such as client, service, database, queue, external API, and operator/user when they are implied.
  • For business-process diagrams, distinguish happy path, decision points, failures, retries, and manual steps when present.
  • For diagrams created from uncertain text, include an `Assumptions` section after the code.

Mermaid generation rules

Consult `references/diagram-patterns.md` for compact templates.

General Mermaid rules:

  • Start with the correct diagram directive, for example `flowchart TD`, `sequenceDiagram`, `erDiagram`, `gantt`, `mindmap`, or `journey`.
  • For flowcharts, use `flowchart TD` unless the user asks for left-to-right; use `flowchart LR` for architecture and pipelines.
  • Use subgraphs for swimlanes or architecture layers. Name subgraphs with readable labels.
  • Keep node IDs stable and ASCII-only, for example `ingest_service[Ingest Service]`.
  • Quote labels that contain punctuation likely to confuse the parser.
  • Use decision diamonds for branching: `decision{Condition?}`.
  • Use consistent edge labels: `-- yes -->`, `-- no -->`, `-. async .->`, or `== critical ==>` only when meaningful.
  • In sequence diagrams, declare participants before messages. Use `actor` for humans and `participant` for systems.
  • Use `alt/else/end`, `opt/end`, `loop/end`, and `par/and/end` blocks for conditional, optional, repeated, and parallel flows.

Graphviz DOT generation rules

Use Graphviz for large, dense, or layout-sensitive relationship diagrams.

  • Prefer `digraph G` for directed relationships and `graph G` for undirected networks.
  • Set layout-friendly graph attributes at the top: `rankdir=LR`, `nodesep`, `ranksep`, and `splines=true` when helpful.
  • Use `subgraph cluster_name` for boundaries and subsystems.
  • Use plain labels and restrained styling.
  • Use edge labels only when they add meaning.
  • For many nodes, group by domain with clusters and avoid crossing-heavy all-to-all edges.

PlantUML generation rules

Use PlantUML when the user asks for UML or needs formal UML notation.

  • Wrap diagrams with `@startuml` and `@enduml`.
  • Use `actor`, `participant`, `database`, `queue`, `collections`, or `component` stereotypes when useful.
  • Use `packa
Read more
Ships withreverse-skill

Reverse Engineering / Authorized Penetration Testing / Security Research Skill Router Pack AI-powered routing + On-demand toolchain bootstrapping + Self-evolving knowledge base Supports Claude Code, Kiro, Cursor, Cline, and other AI coding clients 逆向/渗透/安全技能路由包 - AI 自动路由 + 按需自举工具链 + 自动进化经验库 | 支持 Claude Code / Kiro / Cursor / Cline 等代码 AI 客户端

Get the whole plugin
Stats
39,460
Stars
5,492
Forks
Active
Maintenance
PowerShell
Language
MIT
License
11d ago
Last commit
4mo ago
Created
3h ago
Added

Repo: zhaoxuya520/reverse-skill

Other skills on reverse-skill.

binary-diff
Skill

binary-diff

跨版本符号迁移与二进制差分。当你有旧版本的符号/逆向结果,需要快速迁移到新版本时使用。 适用场景:内核缺 PDB 用旧版符号推导、程序更新后批量迁移函数名、应用更新后快速定位新偏移。…