Communitygithub.com

amirtaherkhani/diago

Diago 将工程工作转化为基于 AI、证据驱动的软件图表,适用于 Codex 和 Claude。

diago 是什么?

Diago 是一个 AI 智能体技能,旨在帮助使用 Codex 和 Claude 等 AI 编码助手的开发者,从工程工作中创建基于证据的软件图表。该技能核心是 Archify 工具,它允许用户从小型类型化 JSON 规范生成自包含的交互式 HTML 图表。它支持多种图表类型,包括架构图、工作流图、序列图、数据流图和生命周期图。该技能强调严谨的创作流程,包括验证和交付步骤,以确保图表质量。它通过提供结构化的 JSON 模式、示例和自动化工具(如验证和交付命令)来减少手动工作。该技能还包含处理 Mermaid 输入、维护创作不变性和利用可选查看器功能(如主题切换、平移/缩放和演示模式)的指南。

兼容平台✓Claude Code✓Codex CLI~Cursor
npx skills add amirtaherkhani/diago

在你喜欢的 AI 中提问

打开一个已预加载此 Agent Skill 的新对话。

文档

Archify

从一个小型类型化 JSON 规范创建一个自包含的交互式 HTML 图表。静态输出是默认值;仅当用户要求演示或展示时才启用动画。

快速创作路径

对于常规生成,请使用此限定路径。除非用户询问相关功能,否则不要阅读可选的查看器运行时参考。

  1. 从问题中选择 architecture、workflow、sequence、dataflow 或 lifecycle。

  2. 读取 schemas/ 中的一个匹配模式、schemas/common.schema.json,以及 examples/ 中的一个匹配 JSON 示例。仅读取这些文件。全新创作意味着新的稳定 ID、领域词汇和布局;使用示例是为了了解字段形状,而非事实。

  3. 首先产出工件:下一个工具操作必须写入候选文件。在检查渲染器内部实现之前写入候选文件。不要用文字描述精确坐标。从一个清晰的主路径、短分支、稀疏标签和最多 12 个主要节点开始。将 meta.quality_profile 设置为 "showcase",除非用户明确要求密集的 standard 地图。从自动路由和标签开始。在诊断要求之前,不要添加 via、channelX、channelY 或 labelAt;每次修复最多应用一次诊断出的几何控制。

  4. 在每次编辑候选文件后以及移交前立即进行验证:

    node bin/archify.mjs validate <type> <candidate.json> --quality showcase --json
    

    仅有 4 项工件检查的回执是基础验证,绝不是展示验收。展示验收必须报告所有 9 项工件检查,且组成错误和警告均为 0。如果候选文件省略或拼写错误了确切的 meta.quality_profile 字段,请在处理几何之前修复它。通过最终验证将冻结候选文件:之后切勿编辑。

  5. 对于交付的 HTML,deliver 是最终验收命令:

    node bin/archify.mjs deliver <type> <candidate.json> <output.html> --quality showcase --json
    

    非零退出码绝不能描述为成功。如果验证失败,仅更改诊断出的 subject,验证 evidence,从 supportedFixes 中选择,然后重新运行。在目标错误计数达到新最小值之前,持续进行聚焦更正。如果连续两轮未改善该最佳计数,则停止并如实报告未解决的诊断。

在第一个候选文件之前,不要读取 renderers/shared/geometry.mjs、渲染器源代码、验证器源代码、测试或基准测试。仅针对不受支持的内部诊断或在两次聚焦修复失败后,才检查实现。

生命周期说明:阶段列 0..4 占据主导轨;事件/结果列 0..2 对齐在后续阶段下方。可恢复状态使用 type: "failure" 加上返回活动状态的实际转换。

类型路由器

类型用途
architecture组件、服务、云/安全边界、基础设施
workflow流程、审批关卡、工具调用、Runbook、CI/CD
sequenceAPI 调用链、请求生命周期、异步追踪、返回值
dataflow管道、ETL/ELT、血缘、治理、消费者
lifecycle状态/状态转换、重试、等待和终止状态

当不明确时,运行 node bin/archify.mjs guide "<scenario>" --json。场景证明示例是结构参考,而非要复制的事实。

Mermaid 输入

阅读 Mermaid 以获取拓扑和含义,然后创作全新的 Archify JSON;不要机械地渲染 Mermaid 样式。

  • flowchart / graph → workflow,或用于组件地图的 architecture。
  • sequenceDiagram → sequence;参与者成为语义参与者,箭头成为消息。
  • stateDiagram → lifecycle;状态和转换保留含义,而非 Mermaid 样式。

创作不变性

  • 一条清晰的主路径;侧分支从最近的主路径节点离开。在添加路由控制之前,移除低价值的边。
  • 对于真实的 auto 默认值,省略 meta.legend。必要时,仅使用 mode: auto|all|hidden 和渲染器支持的 entries.<kind>.label|visible;标签绝不能改变语义。
  • 组件类型为 frontend、backend、database、cloud、security、messagebus 和 external;变体为 default、emphasis、security 和 dashed。
  • 间距指清晰间隙,而非中心距离。对于关系标签,清晰间隙必须超过其测量的遮罩宽度;否则省略标签或有意移动它。
  • 自动路由拥有其端点侧。侧是一个方向约定:第一个和最后一个线段必须垂直于该侧离开/进入。
  • 自动端口扩散是架构、工作流、数据流和生命周期的默认渲染器行为。它跳过单一关系和显式的 via、channelX、channelY、labelAt 或非 auto 路由。近平行端口使用外部桥接,以便自动路由无法创建子 8px 线段或子 16px 内部转弯。
  • 绝不允许边穿过不相关的不透明节点、不明确的共享走廊,或关系标签遮罩另一条路由。

仅当您需要字段枚举、间距计算、几何修复规则、仓库证据或特定模式放置时,才读取 references/authoring-contract.md。

交付

在修复期间使用 validate,并仅使用 deliver 进行一次最终验收。Delivery 将确切的规范字节冻结到私有同目录快照中,渲染并检查该快照,原子化提交 HTML,并报告规范及其工件的 SHA-256 和字节计数。

仅当用户希望立即进行本地预览时,才添加 --open。对于活跃的桌面创作循环,可选命令是:

node bin/archify.mjs preview <type> <input>.json <output>.html --quality showcase

默认情况下不要启动预览。当使用预览、仓库证据、导出回执、视觉审查或提交后打开时,请阅读 references/delivery-contract.md。

可选查看器功能

生成的 HTML 已包含主题切换、平移/缩放、搜索、焦点、关系追踪、语义视图、演示和真实导出。这些是读者能力,而非额外的创作工作。meta.animation: "trace" 是选择加入的;meta.views 是可选的,最多应包含五个精选章节。

仅当用户明确要求分享卡片、路线/可达卡片、动画、引导故事、深层链接、演示、搜索/焦点或任何其他查看器运行时功能时,才读取 references/viewer-runtime.md。

设置和回退

在技能包内无需安装。验证方法如下:

node bin/archify.mjs doctor
node bin/archify.mjs demo <output-directory>

当 shell 访问不可用时,手动将架构 SVG 放入 assets/template.html,使用 CSS 语义类而非内联颜色,并遵循 references/delivery-contract.md 中的视觉审查约定。

输出

返回检查后的 HTML 路径、图表类型、验证摘要、规范/工件回执以及真实的视觉审查状态。不要为非零命令宣称成功,也不要声明您未执行的视觉检查。

相关技能