重要前提
安装AI Skills的关键前提是:必须科学上网,且开启TUN模式,这一点至关重要,直接决定安装能否顺利完成,在此郑重提醒三遍:科学上网,科学上网,科学上网。查看完整安装教程 →
adr-graph-easy-architect by terrylica/cc-skills
npx skills add https://github.com/terrylica/cc-skills --skill adr-graph-easy-architect使用 graph-easy 为架构决策记录 (ADR) 创建全面的 ASCII 架构图。纯文本输出,自动布局 - 无需图像渲染。
在渲染图表之前,请确保 graph-easy 已安装且功能正常。
完整设置说明:飞行前设置
快速验证:
echo "[Test] -> [OK]" | graph-easy --as=boxart &>/dev/null && echo "✓ graph-easy ready"
包含示例、节点样式、边样式和表情符号规则的完整语法:DSL 语法参考
[Node] # 节点
[A] -> [B] # 边
[A] -- label --> [B] # 带标签的边
[A] <-> [B] # 双向边
( Group: [Node A] [Node B] ) # 分组/容器
[id] { label: "Display"; } # 自定义标签
广告位招租
在这里展示您的产品或服务
触达数万 AI 开发者,精准高效
graph { flow: south; } # 从上到下(架构、决策)
graph { flow: east; } # 从左到右(流水线、序列)
警告:这是最常被遗忘的要求。没有标签的图表是无效的。
正确示例:
graph { label: "🔄 Database Migration"; flow: south; }
[Old DB] -> [New DB]
反模式(无效):
graph { flow: south; }
[Old DB] -> [New DB]
缺少带表情符号的 label:。飞行前验证器将阻止任何包含没有 graph { label: "emoji ..."; } 的图表的 ADR。
| 图表类型 | 表情符号 | 图表类型 | 表情符号 |
|---|---|---|---|
| 迁移/变更 | 🔄 | 架构 | 🏗️ |
| 部署/发布 | 🚀 | 网络/API | 🌐 |
| 数据流 | 📊 | 存储/数据库 | 💾 |
| 安全/认证 | 🔐 | 监控 | 📡 |
| 错误/故障 | ⚠️ | 钩子/事件 | 🪝 |
| 决策/分支 | 🔀 | 之前/之后 | ⏮️/⏭️ |
| 样式 | 语法 | 用于 |
|---|---|---|
| 圆角 | { shape: rounded; } | 开始/结束节点 |
| 双边框 | { border: double; } | 关键/强调节点 |
| 粗边框 | { border: bold; } | 重要节点 |
| 虚线边框 | { border: dotted; } | 可选/可跳过的节点 |
| 实线箭头 | -> | 主要/正常路径 |
| 虚线箭头 | ..> | 条件/备用路径 |
| 粗箭头 | ==> | 强调/关键路径 |
| 带标签的边 | -- label --> | 带注释的连接 |
graph { label: } 中的图形表情符号:可以完整符号参考:等宽安全符号
graph { flow: south; }
[Before] -- migrate --> [After]
graph { flow: south; }
[A] -> [B] -> [C]
[B] -> [D]
graph { flow: east; }
[Input] -> [Process] -> [Output]
graph { flow: south; }
[Decision] -> [Option A]
[Decision] -> [Option B]
( Group:
[Component 1]
[Component 2]
)
[External] -> [Component 1]
[Client] <-> [Server]
[Server] -> [Database]
按 ADR 类型的更多模式:图表示例
graph-easy --as=boxart << 'EOF'
graph { flow: south; }
[A] -> [B] -> [C]
EOF
切勿使用 --as=ascii - 它会产生丑陋的 +--+ 框,而不是干净的 ┌──┐ 线条。
# 1. 将 DSL 写入 heredoc
# 2. 使用 boxart 渲染
# 3. 审查输出
# 4. 如果需要则迭代
# 5. 将最终的 ASCII 复制到 ADR
每个渲染的图表必须包含一个可折叠的 <details> 块,其中包含 graph-easy 源代码。完整格式指南和 GFM 语法规则:ADR 嵌入指南
必需格式:
```
┌───────┐ ┌──────┐
│ Build │ --> │ Test │
└───────┘ └──────┘
```
<details>
<summary>graph-easy source</summary>
```
graph { label: "🚀 Pipeline"; flow: east; }
[Build] -> [Test]
```
</details>
<details> 块是必需的 - 切勿在没有其源代码的情况下嵌入图表。
graph { label: "🚀 Title"; } - 语义表情符号 + 标题(最常被遗忘 - 首先检查!)graph { flow: south; } 或 graph { flow: east; } - 明确指定方向--as=boxart - 切勿使用 --as=ascii<details> 块 - 每个图表都必须有可折叠的源代码块<details><summary>graph-easy source</summary>{ shape: rounded; } - 入口/出口点{ border: double; } 或 { border: bold; }{ border: dotted; }\n 换行 - 每行最多约 15 个字符-> 实线箭头..> 虚线箭头==> 粗箭头-- YES -->、-- error -->graph { label: "..."; } 标题( Name: ... ) 进行逻辑聚类[db] { label: "PostgreSQL"; }<details> 块+--+\n 换行,不截断\n 换行的多行标题( Group: ... ) 容器中每周安装数
65
仓库
GitHub 星标数
26
首次出现
Jan 24, 2026
安全审计
安装于
opencode62
gemini-cli61
codex60
github-copilot59
cursor58
amp58
Create comprehensive ASCII architecture diagrams for Architecture Decision Records (ADRs) using graph-easy. Pure text output with automatic layout - no image rendering required.
Ensure graph-easy is installed and functional before rendering diagrams.
Full setup instructions: Preflight Setup
Quick verify:
echo "[Test] -> [OK]" | graph-easy --as=boxart &>/dev/null && echo "✓ graph-easy ready"
Full syntax with examples, node styling, edge styles, and emoji rules: DSL Syntax Reference
[Node] # Node
[A] -> [B] # Edge
[A] -- label --> [B] # Labeled edge
[A] <-> [B] # Bidirectional
( Group: [Node A] [Node B] ) # Group/container
[id] { label: "Display"; } # Custom label
graph { flow: south; } # Top-to-bottom (architecture, decisions)
graph { flow: east; } # Left-to-right (pipelines, sequences)
WARNING : This is the most commonly forgotten requirement. Diagrams without labels are invalid.
Correct:
graph { label: "🔄 Database Migration"; flow: south; }
[Old DB] -> [New DB]
Anti-Pattern (INVALID):
graph { flow: south; }
[Old DB] -> [New DB]
Missing label: with emoji. The preflight validator will BLOCK any ADR containing diagrams without graph { label: "emoji ..."; }.
| Diagram Type | Emoji | Diagram Type | Emoji |
|---|---|---|---|
| Migration/Change | 🔄 | Architecture | 🏗️ |
| Deployment/Release | 🚀 | Network/API | 🌐 |
| Data Flow | 📊 | Storage/Database | 💾 |
| Security/Auth | 🔐 | Monitoring | 📡 |
| Error/Failure | ⚠️ | Hook/Event | 🪝 |
| Decision/Branch | 🔀 | Before/After | ⏮️/⏭️ |
| Style | Syntax | Use For |
|---|---|---|
| Rounded corners | { shape: rounded; } | Start/end nodes |
| Double border | { border: double; } | Critical/emphasis |
| Bold border | { border: bold; } | Important nodes |
| Dotted border | { border: dotted; } | Optional/skippable |
| Solid arrow | -> |
graph { label: }: OKFull symbol reference: Monospace-Safe Symbols
graph { flow: south; }
[Before] -- migrate --> [After]
graph { flow: south; }
[A] -> [B] -> [C]
[B] -> [D]
graph { flow: east; }
[Input] -> [Process] -> [Output]
graph { flow: south; }
[Decision] -> [Option A]
[Decision] -> [Option B]
( Group:
[Component 1]
[Component 2]
)
[External] -> [Component 1]
[Client] <-> [Server]
[Server] -> [Database]
More patterns by ADR type: Diagram Examples
graph-easy --as=boxart << 'EOF'
graph { flow: south; }
[A] -> [B] -> [C]
EOF
Never use --as=ascii - it produces ugly +--+ boxes instead of clean ┌──┐ lines.
# 1. Write DSL to heredoc
# 2. Render with boxart
# 3. Review output
# 4. Iterate if needed
# 5. Copy final ASCII to ADR
Every rendered diagram MUST include a collapsible <details> block with graph-easy source. Full format guide and GFM syntax rules: ADR Embedding Guide
Required format:
```
┌───────┐ ┌──────┐
│ Build │ --> │ Test │
└───────┘ └──────┘
```
<details>
<summary>graph-easy source</summary>
```
graph { label: "🚀 Pipeline"; flow: east; }
[Build] -> [Test]
```
</details>
The<details> block is MANDATORY - never embed a diagram without its source.
graph { label: "🚀 Title"; } - semantic emoji + title (MOST FORGOTTEN - check first!)graph { flow: south; } or graph { flow: east; } - explicit direction--as=boxart - NEVER --as=ascii<details> block with source - EVERY diagram MUST have collapsible source code block<details><summary>graph-easy source</summary> with source{ shape: rounded; } - entry/exit points{ border: double; } or { border: bold; }{ border: dotted; }\n for multiline - max ~15 chars per line-> solid arrow..> dotted arrow==> bold arrow-- YES -->, -- error -->graph { label: "..."; } title( Name: ... ) used for logical clustering when 4+ related nodes[db] { label: "PostgreSQL"; }<details> block with source+--+\n, no truncation\n for complex diagrams( Group: ... ) containers| Issue | Cause | Solution |
|---|---|---|
command not found | graph-easy not installed | Run preflight check |
| Misaligned boxes | Used --as=ascii | Always use --as=boxart |
| Box border broken | Graphical emoji in node | Remove emojis from nodes, use ASCII markers |
| Nodes overlap | Too complex | Split into multiple diagrams (max 7-10 nodes) |
| Edge labels cut off | Label too long |
Weekly Installs
65
Repository
GitHub Stars
26
First Seen
Jan 24, 2026
Security Audits
Gen Agent Trust HubFailSocketPassSnykWarn
Installed on
opencode62
gemini-cli61
codex60
github-copilot59
cursor58
amp58
API设计指南:REST/GraphQL设计原则、规范文档与版本控制策略
11,500 周安装
AI编码智能体AGENTS.md生成器:优化令牌使用,创建层次化技术文档
68 周安装
高级机器学习工程师技能:生产级AI/ML系统部署、MLOps与LLM集成实战指南
500 周安装
Java测试技能:JUnit 5、Mockito、Testcontainers集成测试与TDD实践
502 周安装
Tailwind CSS v4 最佳实践:Vite插件、@theme指令、OKLCH颜色格式详解
501 周安装
医疗器械质量文档管理专家 | ISO 13485文档控制、FDA法规文档、变更管理
501 周安装
Exa Search API 技能:语义搜索、内容提取与结构化研究,优化AI搜索功能
498 周安装
| Main/happy path |
| Dotted arrow | ..> | Conditional/alternate |
| Bold arrow | ==> | Emphasized/critical |
| Labeled edge | -- label --> | Annotated connections |
| Shorten to 1-3 words |
| No title showing | Wrong syntax | Use graph { label: "Title"; flow: south; } |
| Weird layout | No flow direction | Add graph { flow: south; } or flow: east |
| Parse error | Special chars in node | Escape or simplify node names |