ascii-to-diagram
SKILL.md
ASCII to Diagram 转换器
将 AI 生成的 ASCII 文本架构图转换为美观的图形,支持 PNG 输出。
使用方法
/ascii-to-diagram <输入文件路径> [输出路径] [--style=modern|minimal|dark]
参数说明
<输入文件路径>: 包含 ASCII 架构图的文本文件[输出路径]: 可选,输出 PNG 文件路径,默认为输入文件同目录--style: 可选,样式主题(modern/minimal/dark),默认 modern
示例
/ascii-to-diagram ~/design.txt
/ascii-to-diagram ~/design.txt ~/output.png --style=dark
工作流程
当用户调用此技能时,请按以下步骤执行:
步骤 1:读取输入文件
cat $ARGUMENTS
读取 ASCII 架构图内容。
步骤 2:解析架构图结构
分析 ASCII 图,识别以下元素:
- 层级/分组:大的框体,通常包含标题如"收集层"、"存储层"
- 组件框:内部的小框,包含名称和要点列表
- 连接关系:箭头(→、↓、↑、←)和连线(─、│、┌、┐、└、┘)
- 特殊组件:Kafka、数据库、API 网关等
输出结构化 JSON:
{
"layers": [
{
"name": "COLLECTION 收集层",
"type": "layer",
"color_theme": "blue",
"components": [...]
}
],
"connections": [
{"from": "component_id_1", "to": "component_id_2", "type": "arrow"}
]
}
步骤 3:调用渲染脚本
执行渲染脚本生成 PNG:
python3 ${CLAUDE_SKILL_DIR}/ascii_to_diagram.py \
--input "<解析后的JSON>" \
--output "<输出路径>" \
--style "<样式>"
步骤 4:返回结果
告知用户输出文件路径,并提供预览(如果可能)。
支持的图标类型
技能内置以下组件图标:
- 消息队列:Kafka、RabbitMQ、RocketMQ
- 数据库:MySQL、PostgreSQL、OceanBase、Redis、ClickHouse
- 存储:File、S3、OSS
- 网关:API Gateway、Proxy、Load Balancer
- 计算:Flink、Spark、Agent、Worker
- 搜索:Elasticsearch、Vector DB、BM25
样式主题
| 主题 | 描述 |
|---|---|
modern |
现代简约风格,蓝绿橙配色,适合正式演示 |
minimal |
极简黑白灰,适合技术文档 |
dark |
深色主题,适合技术分享 |
注意事项
- 输入文件应为纯文本 ASCII 架构图
- 支持中英文混合
- 图片默认分辨率 1600x1800,可通过 --width/--height 调整
- 需要系统安装 Python3 和 Pillow 库