# Diagram Generator

> Generate diagrams and flowcharts using Graphviz (Python). Supports flowcharts, architecture diagrams, state diagrams, and data flow diagrams.

- Skill: `zhaog100/diagram-generator` (Agent Skill, multi-file: 7 files)
- Install (CLI): `npx skillmds add zhaog100/diagram-generator`
- Raw SKILL.md: https://api.skillmd.com/api/skills/zhaog100/diagram-generator/raw
- Safety review: pending
- Works with: Claude Code, Claude.ai, OpenAI Codex
- Category: Coding & Dev Tools
- Author: zhaog100 (https://skillmd.com/u/zhaog100)
- Updated: 2026-09-10
- Page: https://skillmd.com/skills/zhaog100/diagram-generator

---


# Diagram Generator

Graphviz-based diagram generation skill using Python.

## Features

- ✅ **Flowcharts** - Business processes, decision trees
- ✅ **Architecture Diagrams** - System architecture, module relationships
- ✅ **State Diagrams** - State machines, lifecycles
- ✅ **Data Flow Diagrams** - Data flow, system interactions

## Installation

✅ Already installed:
- **Graphviz**: System tool (`/usr/bin/dot`)
- **Python graphviz**: Library in `/tmp/chart-venv/`

## Usage

### Activate Environment

```bash
source /tmp/chart-venv/bin/activate
```

### Basic Flowchart

```python
from graphviz import Digraph

# Create flowchart
dot = Digraph()
dot.attr(rankdir='TB')

# Add nodes
dot.node('A', 'Start', shape='ellipse', style='filled', fillcolor='lightblue')
dot.node('B', 'Decision', shape='diamond', style='filled', fillcolor='lightyellow')
dot.node('C', 'Execute', shape='box', style='filled', fillcolor='lightgreen')
dot.node('D', 'End', shape='ellipse', style='filled', fillcolor='lightcoral')

# Add edges
dot.edge('A', 'B')
dot.edge('B', 'C', label='Yes')
dot.edge('B', 'D', label='No')
dot.edge('C', 'D')

# Save as PNG
dot.render('/tmp/flowchart', format='png', cleanup=True)

print("✅ Flowchart generated")
```

## Supported Formats

- **PNG**: Bitmap format (recommended)
- **SVG**: Vector format
- **PDF**: Print format

## Node Shapes

- `box` - Rectangle (normal steps)
- `diamond` - Diamond (decisions)
- `ellipse` - Ellipse (start/end)
- `circle` - Circle (initial state)
- `cylinder` - Cylinder (database)

## Documentation

See `GRAPHVIZ-USAGE.md` for detailed examples:
- Flowcharts
- Architecture diagrams
- State diagrams
- Data flow diagrams

## Quick Test

```bash
source /tmp/chart-venv/bin/activate

python3 << 'EOF'
from graphviz import Digraph

dot = Digraph()
dot.node('A', '测试节点')
dot.render('/tmp/test', format='png', cleanup=True)

print("✅ 测试图表已生成")
EOF

ls -lh /tmp/test.png
```

---

## 📄 许可证与版权声明

MIT License

Copyright (c) 2026 思捷娅科技 (SJYKJ)

**免费使用、修改和重新分发时，需注明出处。**

**出处**：
- GitHub: https://github.com/example-user/openclaw-skills
- ClawHub: https://clawhub.com
- 创建者：小米粒 (miliger)

**商业使用授权**：
- 小微企业（<10 人）：¥999/年
- 中型企业（10-50 人）：¥4,999/年
- 大型企业（>50 人）：¥19,999/年
- 企业定制版：¥99,999 一次性（源码买断）

