Community图像github.com

0xtan0/skills - 基础设施架构演示文稿生成器

此技能能够根据现有基础设施代码(如 Terraform、任务定义、合约等)自动构建一份包含动画“Play”图表的 HTML 演示文稿(HTML Artifact),用于展示系统架构、网络、IAM 角色、发布流程及数据保护矩阵。

skills - 基础设施架构演示文稿生成器 是什么?

该技能旨在帮助开发者或 AI 代理快速创建一份面向技术演示的 HTML 演示文稿(约 8 页幻灯片),用于解释复杂的云/链上系统架构。其核心价值在于“代码驱动”:每个逻辑块、箭头和结论都必须源自真实的基础设施代码(Terraform、CDK、服务代码等),而非记忆或文档。技能自动执行一系列严格的研究步骤(步骤 1),包括分析 VPC 网络、安全组规则、IAM 角色与策略、CI/CD 发布流程、数据存储加密、以及公共暴露面,并生成详细的边缘(edge)和 IAM 账本。基于这些研究结果,技能构建包含多个交互式“Play”图表的幻灯片:主流程、网络路径、IAM 角色、发布流程、数据保护矩阵以及账户/区域/仓库关系图。演示文稿使用 AWS 风格图标,并以约 80% ASD-STE100 简化技术英语书写,确保清晰、无歧义。它支持在 Claude Code、Cursor 或 Codex 等 AI 代理环境中作为技能使用,最终输出一个可供演示者讲解的私有 HTML Artifact。

兼容平台~Claude Code~Codex CLI~Cursor
npx skills add https://github.com/0xtan0/skills/tree/HEAD/skills/infra-flow-deck

Installed? Explore more 图像 skills: steipete/songsee, affaan-m/frontend-design, mattpocock/improve-codebase-architecture · View all 6 →

在你喜欢的 AI 中提问

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

文档

基础设施流程演示文稿

输出:一个私有的 HTML Artifact,约 8 张幻灯片,适用于演示者讲解的会议。 图表传达核心含义,文字尽可能精炼。每一个块、箭头和声明都必须源自代码;不可依赖记忆或纯文档。

工作顺序:第 0 步:准备 → 第 1 步:调研并编写账本 → 第 2 步:构建 → 第 3 步:检查直到 0 problem(s) → 第 4 步:发布并报告。

第 0 步 — 准备

  1. 将 assets/template.html 复制到一个临时路径。每次修订和发布都使用此路径,因此 Artifact URL 保持不变。
  2. 将第 1 步的账本放在其旁边的 ledger.txt 中。assets/ledger.example.txt 显示了格式;其中的 ID 和路径是示例。
  3. 在布局 SVG 之前,加载 artifact-diagramming 技能。遵循 Artifact 页面契约(主题令牌,无文档类型,侧边栏)。

模板是一个带有工作示例的可用演示文稿:幻灯片引擎、播放/步进/重置逻辑、AWS 样式图块、账户和区域框、虚线辅助流程和品牌徽标图块。更改数据和坐标;不要重写引擎。

引擎事实:

  • player(svgId, prefix, steps, idleCaption) 运行一个 Play 幻灯片。前缀 '' 使用 #play/#back/#next/#reset/#cap;'n' 使用 #nplay/…/#ncap(网络),'i' 使用 #iplay/…/#icap(IAM),'r' 使用 #rplay/…/#rcap(发布)。将其返回值推送到 stops。一个步骤是 {n:[节点ID], a:[箭头ID], c:'标题'};a 可以为空。player() 在 window.__players 中注册自身;scripts/check.py 会读取它,因此请保留这行。
  • tile(id,cx,cy,color,glyph,label,sub,side):side 为假值(标签在下方)、'l'、't' 或真值(右侧)。下方的标签会阻止垂直穿过该列的任何线条。将其移开。
  • chipRow(cy, items, x0) 在角色图块旁边绘制授权芯片。每个项目是 [文本, 条纹颜色, id, deny?];每个芯片是一个 .node,因此 Play 步骤可以高亮它,而 deny? 添加红色轮廓。芯片宽度为 360px;如果文本超出,检查会失败。
  • 箭头标记位于 body 顶部一个隐藏但渲染的 SVG 中。永远不要在幻灯片内使用 defs():在 display:none 幻灯片中的标记不会在其他幻灯片上绘制。
  • 线条类:.arr 实心主流箭头(每一个都必须在 Play 步骤中);.arr deny 红色虚线,用于显式 Deny 或权限边界;.mon 虚线辅助流程;.deploy 仓库到账户;.uses 跨账户使用。路径仅使用绝对 M H V L。
  • 字形位于 G 中:核心 clock、ecs、lambda、ssm、kms、sqs、rpc、hash、cube、target;网络 alb、nat、igw、ep、ec2、db、waf、r53、logs、user;身份 role、gcp;发布 branch、cloud;AI brain;品牌 github、vercel、discord、pagerduty、slack。品牌字形为白色:为图块赋予品牌颜色(github #24292f,vercel #000000,discord #5865F2,pagerduty #06AC38;slack 使用彩色,图块 #ffffff)。仅将品牌添加为其实徽标路径。
  • 网络、IAM、发布和矩阵幻灯片在模板中作为注释部分存在。取消注释该部分,填充 #net、#iam、#rel 或 .mx 表格,并使用 player() 注册每个 Play。

第 1 步 — 在代码中调研系统(强制要求,绘图前执行)

调研部署分支:合并后应用到生产环境的分支。仅在与默认分支比较时注意差异;绘制生产环境运行的内容。如果仓库很大,可委派给一个子代理。请求其提供带文件路径的事实摘要。

  1. 阅读仓库的 AGENTS.md / README 文件,然后是 IaC(Terraform、CDK 等)、服务代码、合约和部署文档。跟踪引用到的同级仓库。
  2. 决定图表必须展示的内容。 从用户询问的主要流程开始。列出其触及的元素,从端到端,只保留观众需要理解该流程的部分。典型元素类型:
    • 运行时组件:任务、函数、服务、工作者、监视器、作业。
    • 触发器:调度器、队列、事件、Webhook、用户。
    • 数据和配置:参数存储、密钥、数据库、队列。
    • 信任和签名:密钥存储、签名者、跨越边界的角色。
    • 外部方:RPC/API 提供者、聊天/告警工具、链、第三方服务。
    • 边界:账户、区域、网络、链上 vs 链下。 说明你省略了哪些元素以及原因。
  3. 对于保留的每个元素,在代码中找到图表所需的内容。 仅限成为块、箭头或标题的事实:启动它的内容;它读取的内容;它写入或发送的内容;谁为其签名或授权,以及使用什么;谁为其付费(费用、Gas、成本所有者;查找异常);它位于哪个边界内。
  4. 所有权。 制作一个账户 × 区域的表格,以及仓库 → 每个仓库在何处部署的内容,仅当系统有多个账户或多个区域时。如果没有,则跳过此表格和所有权幻灯片。
  5. 网络。 完整阅读网络 IaC:VPC 和子网(CIDR、AZ 数量、每个资源所在的层级)、路由表、NAT 和互联网网关、私有端点(以及私有 DNS 是否启用)、每个安全组和每个规则(源、端口、CIDR 或 SG 引用)、负载均衡器(内部或面向互联网、监听器默认操作)、CDN 来源类型、服务发现、堡垒机或其他人工访问、流日志。注意位于公共子网中的内容。注意哪些云 API 调用通过 NAT 离开,因为不存在端点。 在绘图之前将结果编写为边缘账本:每个安全组规则对和每个负载均衡器目标组一行,格式为 源 → 目的地 :端口 (文件:行)。在根目录及其调用的每个模块中搜索每个规则资源(对于 AWS:aws_vpc_security_group_ingress_rule、aws_vpc_security_group_egress_rule、ingress/egress 块、aws_lb_target_group、aws_lb_listener、aws_vpc_endpoint)。不要根据摘要或记忆构建账本。
  6. IAM。 在根目录及其模块中搜索每个角色、策略、策略附件、策略文档、信任策略和权限边界。编写一个IAM 账本,每个角色一行:角色 | 受信实体 + 每个条件 | 主要授权 | 显式拒绝、边界 | 文件:行。条件是观众需要了解的事实:OIDC 仓库 ID、引用、环境、ExternalId、SourceAccount、会话名称。然后选择:
    • 主要角色: 跨越边界(另一个账户、CI、客户)、可以更改基础设施或接触客户数据的角色。仅写入自己日志的角色将被省略(报告它们)。
    • 关键策略(0-5): 显式 Deny 语句、权限边界、* 资源、iam:PassRole、跨账户 sts:AssumeRole。引用 sid。如果不存在,则说明;不要编造。
  7. 发布路径。 阅读每个 CI 工作流:触发器(pull_request 或 push、分支、paths)、CI 环境、其假设的角色、fork-PR 保护、应用前的构建步骤以及手动调度。阅读谁合并发布的仓库规则。对于应用镜像,阅读部署者角色(受信任的引用、它们可以推送和更新的内容)以及 IaC 是否忽略任务定义更改。此仓库之外的应用仓库工作流标记为 UNCONFIRMED,除非你阅读了它们。
  8. 数据存储。 列出每个存储客户数据、审计数据或密钥数据的存储:数据库、存储桶、IaC 状态、日志组、密钥存储。对于每个:加密密钥(客户 KMS、云管理、存储管理)和 TLS、保留(备份、对象锁定、版本控制、生命周期、日志天数、删除保护、密钥恢复窗口)、可用性(多 AZ、另一区域或账户中的副本)、暴露、谁可以读取数据(不包括配置)(包括 CI 在其拒绝之后)、以及审计(数据事件、数据库日志)。将每个单元格评级为强、部分或差距,并带有文件:行。
  9. 实时状态。 对于每个计算元素,读取其期望数量(或副本、或调度)及其前面的门(WAF 默认操作、监听器规则、功能标志)。处于零或边缘阻止的服务为已停放;演示文稿会说明。
  10. 公共暴露。 搜索 public_access_block、principals 中的 `

相关技能