peach-gen-diagram
Compare original and translation side by side
🇺🇸
Original
English🇨🇳
Translation
Chinese다이어그램 생성 스킬
图表生成技能
목적
用途
사용자의 설명, 문서, 코드 구조를 읽고 목적에 맞는 다이어그램 형식을 제안한 뒤 실제 다이어그램을 생성한다.
이 스킬은 ERD가 아닌 범용 시각화에 사용한다.
- 워크플로우
- 시스템/모듈 구조
- 세션 흐름
- 에이전트 협업 구조
- 문서/지식관리 구조
- 사용자 여정
- 배포/운영 흐름
读取用户的描述、文档、代码结构,提出符合需求的图表格式建议后,生成实际图表。
本技能适用于ERD以外的通用可视化场景:
- 工作流
- 系统/模块结构
- 会话流程
- Agent协作结构
- 文档/知识管理结构
- 用户旅程
- 部署/运营流程
핵심 원칙
核心原则
- 먼저 목적과 독자를 파악한다.
- 형식이 명확하지 않으면 예시 형식을 보여주고 사용자가 선택하게 한다.
- 사용자가 빠른 결과를 원하면 AI가 가장 적합한 형식을 고르고, 선택 이유를 짧게 밝힌 뒤 바로 그린다.
- 형식 미지정 요청은 목적에 따라 자동 선택한다. 조건 분기, 합류, 계층 구조, 아키텍처, 상태 흐름, 렌더링 문서가 목적이면 Mermaid를 우선한다.
- 단순 CLI 절차, 짧은 사용 플로우, 원문 가독성이 중요한 안내는 Unicode를 사용한다.
- 사용자가 Mermaid, D2, PNG/SVG 렌더링, sequenceDiagram, C4 등 특정 형식을 명시하면 해당 형식을 우선하고 box-drawing 후보를 별도로 제안하지 않는다.
- 복잡한 관계, GitHub 렌더링, 장기 유지보수, 파일 산출이 핵심이면 Mermaid 또는 D2를 우선 고려한다.
- pure ASCII는 기본 후보에서 제외한다. 사용자가 명시하거나 Unicode 문자가 깨지는 환경이 확인된 경우에만 사용한다.
- DB 테이블 관계는 범위이므로 이 스킬에서 임의로 ERD 워크플로우를 대체하지 않는다.
peach-erd
- 首先明确需求和受众。
- 若格式不明确,展示示例格式供用户选择。
- 若用户希望快速得到结果,AI将选择最合适的格式,简要说明理由后直接生成。
- 未指定格式的请求将根据需求自动选择。如果需求是条件分支、合并、层级结构、架构、状态流、可渲染文档,优先选择Mermaid。
- 简单CLI流程、简短使用流程、强调原文可读性的说明,使用Unicode。
- 若用户明确指定Mermaid、D2、PNG/SVG渲染、sequenceDiagram、C4等特定格式,优先使用该格式,不再额外推荐box-drawing格式。
- 若核心需求是复杂关系展示、GitHub渲染、长期维护、文件输出,优先考虑Mermaid或D2。
- pure ASCII默认不列入候选,仅在用户明确指定或确认Unicode字符显示异常的环境中使用。
- 数据库表关系属于的适用范围,本技能不会擅自替代ERD工作流。
peach-erd
형식 선택 가이드
格式选择指南
| 형식 | 적합한 경우 | 산출물 |
|---|---|---|
| Mermaid flowchart | 조건 분기, 합류, 업무 흐름, 시스템 흐름, 계층 구조, 아키텍처 개요, hook/command 파이프라인 | |
| Mermaid sequenceDiagram | 주체 간 호출 순서, API 요청/응답, 에이전트 협업 순서 | |
| Mermaid stateDiagram | 상태 전이, 승인/검증 단계, 작업 라이프사이클 | |
| Mermaid mindmap | 개념 분류, 기능 목록, 문서 목차 | |
| Unicode box-drawing | 짧은 절차, 단순 목록형 흐름, README에서 렌더링 없이 원문 그대로 읽는 안내. 터미널풍 표현이 필요한 경우 | Markdown |
| D2 | 미감이 중요한 아키텍처/서비스 관계도, 발표·문서용 SVG 산출 | |
| C4 스타일 | 시스템 경계, 컨테이너, 모듈 책임을 보여줄 때 | Mermaid/D2/Structurizr 중 선택 |
| 格式 | 适用场景 | 输出产物 |
|---|---|---|
| Mermaid flowchart | 条件分支、合并、业务流程、系统流程、层级结构、架构概述、hook/command管道 | |
| Mermaid sequenceDiagram | 主体间调用顺序、API请求/响应、Agent协作顺序 | |
| Mermaid stateDiagram | 状态转换、审批/验证步骤、任务生命周期 | |
| Mermaid mindmap | 概念分类、功能列表、文档目录 | |
| Unicode box-drawing | 简短流程、简单列表式流程、无需渲染直接在README原文中阅读的说明、需要终端风格表达的场景 | Markdown |
| D2 | 注重美观的架构/服务关系图、用于演示/文档的SVG输出 | |
| C4风格 | 需要展示系统边界、容器、模块职责时 | 在Mermaid/D2/Structurizr中选择 |
워크플로우
工作流
1단계: 입력 파악
步骤1:解析输入
다음 중 무엇을 받았는지 확인한다.
- 자연어 설명
- 이미지/스케치 설명
- 문서 경로
- 코드/디렉터리 구조
- 기존 Mermaid/ASCII 초안
파일이나 코드 기반 요청이면 먼저 관련 파일을 읽어 근거를 확보한다. 가 설치되어 있고 대상 프로젝트 지침에 인덱스명이 있으면 해당 인덱스로 위치를 먼저 찾는다.
qmd确认接收的内容类型:
- 自然语言描述
- 图片/草图描述
- 文档路径
- 代码/目录结构
- 现有Mermaid/ASCII初稿
若请求基于文件或代码,先读取相关文件获取依据。若已安装且目标项目指南中有索引名称,优先通过该索引定位内容。
qmd2단계: 형식 제안 또는 자동 선택
步骤2:格式建议或自动选择
사용자가 형식을 지정하지 않았고 선택이 필요한 경우 아래처럼 제안한다. 조건 분기·합류·계층 구조는 Mermaid를 기본 추천으로 두고, 짧은 절차나 원문 가독성이 핵심이면 Unicode를 추천한다.
text
다이어그램 형식 후보입니다.
1. Mermaid flowchart
- 장점: 흐름과 분기를 깔끔하게 렌더링 가능, SVG/PNG 저장 가능
- 단점: 렌더러 문법에 민감하므로 라벨 작성 규칙을 지켜야 함
2. Unicode box-drawing
- 장점: Markdown/위키 원문에서 바로 읽기 좋고 렌더링 도구가 필요 없음
- 단점: 복잡한 관계나 자동 렌더링에는 약함. 한글 박스 정렬은 폰트/렌더러마다 흔들릴 수 있음
3. D2
- 장점: 아키텍처/서비스 관계도를 더 현대적인 시각 품질로 렌더링하기 좋음
- 단점: Mermaid보다 기본 지원 생태계가 좁음
제 판단으로는 [추천 형식]이 가장 적합합니다. 이유: [짧은 이유]
선택해주시면 그 형식으로 그리겠습니다. 바로 진행해도 되면 추천 형식으로 작성하겠습니다.사용자가 "알아서", "추천해서", "바로 그려줘"라고 하면 선택 질문 없이 진행한다.
若用户未指定格式且需要选择,按以下方式建议。条件分支、合并、层级结构默认推荐Mermaid;若核心需求是简短流程或原文可读性,推荐Unicode。
text
以下是图表格式候选:
1. Mermaid flowchart
- 优点:可清晰渲染流程与分支,支持保存为SVG/PNG
- 缺点:对渲染器语法敏感,需遵守标签编写规则
2. Unicode box-drawing
- 优点:在Markdown/维基原文中可直接阅读,无需渲染工具
- 缺点:不擅长复杂关系展示和自动渲染;含韩文的方框图表可能因字体/渲染器不同导致显示宽度不一致
3. D2
- 优点:能以更现代的视觉质量渲染架构/服务关系图
- 缺点:默认支持生态比Mermaid窄
我认为[推荐格式]最适合,理由:[简短理由]
请选择格式,我将按该格式绘制;若同意直接推进,我将使用推荐格式生成。若用户回复「自行决定」「推荐格式」「直接绘制」,则跳过选择环节直接生成。
3단계: 다이어그램 작성
步骤3:图表制作
Unicode box-drawing
Unicode box-drawing
아래 규칙을 따른다.
- 코드블록으로 제공한다.
text - 상단 제목 박스를 둔다.
- 주요 노드는 ,
┌─┐,│기반 사각형 박스로 표현한다.└─┘ - 주요 노드를 사각형 박스로 표현할 때는 라벨을 짧게 쓰고, 한글/영문 혼합으로 긴 문장을 넣지 않는다.
- 한글이 들어간 박스형 다이어그램은 표시폭이 렌더러/폰트마다 흔들릴 수 있으므로, 최종 문서에서 표시 상태를 확인한다.
- 흐름 방향은 ,
│,▼,├등 box-drawing과 잘 맞는 문자를 사용한다.└ - 보조 설명은 다이어그램 아래 짧은 bullet로 둔다.
예시:
text
┌──────────────────────────────────────────────┐
│ CLAUDE SESSION │
└──────────────────────────────────────────────┘
┌────────────────────┐
│ SessionStart hook │
│ cat wiki/hot.md │
└─────────┬──────────┘
▼
┌────────────────────┐
│ prior context │
│ injected │
└─────────┬──────────┘
▼
┌──────────────────────────────────────────────┐
│ conversation + slash commands │
└───────┬──────────────┬──────────────┬────────┘
▼ ▼ ▼
┌──────────────┐ ┌──────────────┐ ┌──────────────┐
│ wiki-ingest │ │ save [slug] │ │ autoresearch │
└──────┬───────┘ └──────┬───────┘ └──────┬───────┘
└────────────────┴────────────────┘
▼
┌──────────────┐
│ git commit │
│ + push │
└──────┬───────┘
▼
┌──────────────┐
│ Stop hook │
│ update hot │
└──────────────┘遵循以下规则:
- 以代码块形式提供。
text - 添加顶部标题框。
- 主要节点使用基于、
┌─┐、│的方形框表示。└─┘ - 主要节点用方形框表示时,标签需简短,避免在框内放入韩/英混合的长句。
- 含韩文的方框图表可能因渲染器/字体不同导致显示宽度不一致,需在最终文档中确认显示状态。
- 流程方向使用与box-drawing适配的字符,如、
│、▼、├等。└ - 辅助说明放在图表下方的简短项目符号中。
示例:
text
┌──────────────────────────────────────────────┐
│ CLAUDE SESSION │
└──────────────────────────────────────────────┘
┌────────────────────┐
│ SessionStart hook │
│ cat wiki/hot.md │
└─────────┬──────────┘
▼
┌────────────────────┐
│ prior context │
│ injected │
└─────────┬──────────┘
▼
┌──────────────────────────────────────────────┐
│ conversation + slash commands │
└───────┬──────────────┬──────────────┬────────┘
▼ ▼ ▼
┌──────────────┐ ┌──────────────┐ ┌──────────────┐
│ wiki-ingest │ │ save [slug] │ │ autoresearch │
└──────┬───────┘ └──────┬───────┘ └──────┬───────┘
└────────────────┴────────────────┘
▼
┌──────────────┐
│ git commit │
│ + push │
└──────┬───────┘
▼
┌──────────────┐
│ Stop hook │
│ update hot │
└──────────────┘Mermaid
Mermaid
기본은 Markdown Mermaid 코드블록으로 제공한다.
mermaid
flowchart TD
A[SessionStart hook] --> B[prior context injected]
B --> C[conversation + slash commands]
C --> D[/wiki-ingest]
C --> E[/save slug]
C --> F[/autoresearch x]
D --> G[git commit + push]
E --> G
F --> G
G --> H[Stop hook updates wiki/hot.md]Mermaid 작성 규칙:
- 노드 라벨은 짧게 쓴다.
- 복잡한 설명은 노드 밖의 설명으로 분리한다.
- 한국어 라벨을 사용할 수 있으나 특수문자가 많으면 따옴표로 감싼다.
- 렌더링 오류가 날 수 있는 괄호, 콜론, 슬래시는 필요한 경우 라벨 문자열로 감싼다.
- 같은 슬래시 명령은 반드시
/peach-*처럼 quoted label로 작성한다.Skill["/peach-team"]형태는 렌더러에서 파싱 오류가 날 수 있다.Skill[/peach-team] - 조건 분기와 합류는 Mermaid가 Unicode보다 시인성이 좋은 경우가 많으므로, 문서용 워크플로우라도 분기가 핵심이면 Mermaid를 우선한다.
默认以Markdown Mermaid代码块形式提供。
mermaid
flowchart TD
A[SessionStart hook] --> B[prior context injected]
B --> C[conversation + slash commands]
C --> D[/wiki-ingest]
C --> E[/save slug]
C --> F[/autoresearch x]
D --> G[git commit + push]
E --> G
F --> G
G --> H[Stop hook updates wiki/hot.md]Mermaid编写规则:
- 节点标签需简短。
- 复杂说明放在节点外的注释中。
- 可使用韩文标签,若含较多特殊字符需用引号包裹。
- 可能导致渲染错误的括号、冒号、斜杠,必要时用标签字符串包裹。
- 类斜杠命令必须以
/peach-*这种带引号的标签形式编写,Skill["/peach-team"]格式可能导致渲染器解析错误。Skill[/peach-team] - 条件分支和合并场景下,Mermaid的可读性通常优于Unicode,因此即使是文档用工作流,若核心是分支逻辑,优先选择Mermaid。
4단계: 저장 여부 판단
步骤4:判断是否保存
사용자가 파일 저장을 요청하면 기본 경로를 제안한다.
| 산출물 | 기본 경로 |
|---|---|
| Mermaid 소스 | |
| Unicode box-drawing 다이어그램 | |
| D2 소스 | |
| Markdown 삽입 문서 | 요청 문서 내부 |
| PNG/SVG 렌더링 | |
저장 경로가 지정되어 있으면 사용자의 경로를 우선한다.
若用户请求保存文件,建议默认路径:
| 输出产物 | 默认路径 |
|---|---|
| Mermaid源码 | |
| Unicode box-drawing图表 | |
| D2源码 | |
| Markdown插入文档 | 请求文档内部 |
| PNG/SVG渲染文件 | |
若用户指定了保存路径,优先使用用户指定的路径。
5단계: Mermaid 렌더링
步骤5:Mermaid渲染
Mermaid 파일을 저장했고 사용자가 PNG/SVG 저장 또는 미리보기를 원하면 CLI를 사용한다.
bash
npx @mermaid-js/mermaid-cli@latest \
-i docs/diagrams/{slug}.mmd \
-o docs/diagrams/{slug}.png \
-s 2
npx @mermaid-js/mermaid-cli@latest \
-i docs/diagrams/{slug}.mmd \
-o docs/diagrams/{slug}.svg렌더링 실패 시 Mermaid 문법을 수정하고 한 번 재시도한다.
若已保存Mermaid文件且用户请求保存PNG/SVG或预览,使用CLI命令:
bash
npx @mermaid-js/mermaid-cli@latest \
-i docs/diagrams/{slug}.mmd \
-o docs/diagrams/{slug}.png \
-s 2
npx @mermaid-js/mermaid-cli@latest \
-i docs/diagrams/{slug}.mmd \
-o docs/diagrams/{slug}.svg若渲染失败,修改Mermaid语法后重试一次。
6단계: 검증
步骤6:验证
완료 전 다음을 확인한다.
- 형식이 사용자 목적에 맞는가
- 형식 미지정 요청에서 목적에 따라 Mermaid/Unicode/D2를 선택했는가
- 자동 선택 요청에서는 선택한 형식이 목적·독자·저장/렌더링 요구에 맞는가
- Mermaid는 문법 오류 가능성이 낮은가
- Mermaid에 슬래시 명령이 있으면 quoted label을 사용했는가
/peach-* - Unicode 박스형에 한글이 들어가면 표시폭 흔들림 위험을 점검했는가
- 저장 요청이 있었다면 실제 파일이 생성되었는가
- 렌더링 요청이 있었다면 PNG/SVG 생성 결과를 확인했는가
完成前检查以下内容:
- 格式是否符合用户需求
- 未指定格式的请求是否根据需求选择了Mermaid/Unicode/D2
- 自动选择的格式是否符合需求、受众、保存/渲染要求
- Mermaid语法是否不易出现错误
- Mermaid中若有斜杠命令,是否使用了带引号的标签
/peach-* - Unicode方框图表若含韩文,是否检查了显示宽度不一致的风险
- 若有保存请求,是否已生成实际文件
- 若有渲染请求,是否已确认PNG/SVG生成结果
응답 형식
响应格式
생성만 요청받은 경우:
text
추천 형식: [형식]
이유: [한 문장]
[다이어그램]사용자가 형식을 명시한 경우에는 추천 형식/후보 목록을 생략하고 바로 해당 형식으로 작성한다.
파일까지 만든 경우:
text
생성 완료:
- 소스: docs/diagrams/{slug}.mmd
- 렌더링: docs/diagrams/{slug}.png, docs/diagrams/{slug}.svg
검증:
- Mermaid CLI 렌더링 성공仅请求生成图表时:
text
推荐格式:[格式]
理由:[一句话说明]
[图表内容]若用户明确指定格式,跳过推荐格式/候选列表,直接按指定格式生成。
若已生成文件:
text
生成完成:
- 源码:docs/diagrams/{slug}.mmd
- 渲染文件:docs/diagrams/{slug}.png、docs/diagrams/{slug}.svg
验证:
- Mermaid CLI渲染成功