SuperAPI AI 工具集

docs-diagrams

设计与创作

查看项目

更新于 10-28 21:12

技能介绍

docs-diagrams 是用于 Strands 文档站的图表设计技能,目标是产出清晰、编辑风格、符合 Strands 品牌规范的说明性图示。

用途

当某个文档页面需要配图,或需要为文档内容绘制示意图时使用该技能。图表以主题自适应的 SVG 形式呈现,并通过 <Diagram> 组件渲染到页面中。

主要能力

  • 按页面正文绘制:图表需与所在段落的术语、阶段名称和顺序保持一致,并对照术语参考文件核对用词。
  • 先规划后绘制:在写 SVG 之前,先向用户说明图表要传达的一句话核心信息、选用的图表类型及其理由、计划从原始素材中删减的内容,以及获得强调的一到两个焦点元素。
  • 类型选择:支持循环、扇出、时序、流程图、状态机等常见结构,并说明类型与叙事目标的匹配原因。
  • 克制表达:如果表格或段落能更好地完成任务,应建议不绘图。
  • 规范的 SVG 编写:从参考模板出发,先在纸上布局,按文本宽度估算计算框宽并保持坐标落在 4px 网格;按“区域→连线→标签→节点”的绘制顺序写入文件,仅使用 class,不在 SVG 中写颜色或样式。
  • 主题检查:通过截图脚本在明暗两种主题下查看渲染结果,检查标签是否存在(缺少字体时框体可能为空)、重叠、文字裁切、标签压线、连线交叉以及暗色模式下的可读性,并迭代直到通过参考中的检查清单。
  • Markdown 孪生检查:确认图表位置在 Markdown 输出中显示为 > Diagram: <alt>。

使用方式

  1. 阅读图表将要插入的 .mdx 页面,理解上下文。
  2. 说明图表的叙事、类型、删减内容和焦点。
  3. 在 site/src/assets/diagrams/ 下创建 <concept-name>.svg,并从参考模板开始。
  4. 在页面中引入组件:

import Diagram from '@components/Diagram.astro'

<Diagram name="concept-name" alt="Full prose description of the diagram." />

导入语句放在 frontmatter 之后,与页面其他导入放在一起。 5. 启动本地开发服务器并运行截图脚本查看两种主题下的效果:

npm install && (cd site && npm ci) (cd site && npm run dev > /tmp/site-dev.log 2>&1 &) node .agents/skills/docs-diagrams/screenshot.mjs /docs/<page-path>/

脚本最多等待 90 秒开发服务器启动,也会捕获未激活语言标签页中的图表,并等待 Mermaid 渲染完成。若 Chromium 未安装,可运行 npx playwright install chromium;可用 PLAYWRIGHT_CHROMIUM_EXECUTABLE 指定浏览器二进制文件。 6. 打开脚本输出的每张 PNG 检查,并验证 Markdown 孪生输出:

curl -s http://localhost:4321/docs/<page-path>/index.md | grep -A1 'Diagram:'

  1. 向用户报告新增或替换的图表及其类型、删减内容及原因、截图路径,以及参考规则中不适用的条目(建议修改参考而非默默违反)。

适用场景

适用于为 Strands 文档页面补充结构化的说明性图示,尤其是需要与正文术语严格对齐、需要在明暗主题下都保持可读性的文档配图任务。

限制与注意事项

  • 不得并行编辑同一文件,避免相互覆盖;应顺序编辑并重新读取。
  • 不得硬编码十六进制颜色、字体或 style 属性;若缺少角色样式,应在 site/src/styles/diagrams.css 中添加类。
  • 不得添加页面未描述的节点或组件。
  • 不得通过缩小字号来适配内容,应删减内容或将图表拆分为两个。
  • 截图检查不可省略:未在两种主题下查看渲染结果即视为未完成。