Communitygithub.com

ChaoChuan05/系统设计技能

根据需求或代码创建、完善或审查系统分析与软件架构图,包括UML、ERD、DFD、C4、BPMN及工作流,支持图选型、符号检查、跨图一致性和可编辑的Draw.io交付物。

系统设计技能 是什么?

该技能旨在帮助开发者和AI代理根据用户输入(如需求、代码或现有架构)生成最简洁有效的软件架构视图。其核心工作流包括明确受众与抽象层级、选择合适的图表类型、构建语义清单、遵循特定图绘制流程,并利用内置的Draw.io生成能力创建原生形状和连接器。它支持广泛的图表类型,如UML(类图、序列图、状态机等)、ERD、DFD、BPMN、C4模型和流程图,并通过参考路由表指导用户选择正确的参考文档。此外,技能还内置了验证脚本和清单,可检查结构错误、符号正确性和跨视图一致性,同时要求所有事实必须有依据或明确标注假设,确保模型的严谨性和可编辑性。

兼容平台~Claude Code~Codex CLI~Cursor
npx skills add https://github.com/ChaoChuan05/Agent-Skills/tree/HEAD/skill/system-design

在你喜欢的 AI 中提问

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

文档

系统设计

创建能够回答用户问题的最少视图集。优先使用可编辑的 .drawio 文件制作正式图表;尊重所要求的符号、格式、课程评分标准以及现有文件。一个有效的 XML 文件并非正确模型的证明。

工作流

  1. 确定受众、系统边界、问题、场景和抽象层级。阅读所提供的需求/模式/代码以及任何评分标准。记录不确定的基数、权限、生命周期规则和外部接口作为假设;仅在它们会实质性地改变答案时才提出问题。不要发明基础设施或强制性的关系。
  2. 根据下面的路由表选择视图。只阅读相关的参考资料以及 diagram-validation.md。区分当前状态的证据和提议的设计。当多个视图共享概念时,保留一个小型词汇表并附上稳定的概念ID。
  3. 在放置形状之前构建语义清单:参与者/元素、带有方向和端点含义的关系、约束以及需求ID。对于DFD,添加流字典和分解边界签名;对于数据模型,确定键和依赖关系。
  4. 遵循特定图的绘制流程。明确设置符号(例如 UML 2、Crow's Foot、Gane–Sarson;先上下文再0级)。将语义规则与建议的布局选择分开。按照 sources.md 中的描述解决冲突的来源。
  5. 对于 Draw.io,阅读 drawio-rendering.md 和 layout.md。使用 XML 序列化器创建带有稳定ID的原生形状和连接器。仅在替换其领域事实后复制相关示例。对于其他格式,阅读 fallbacks.md。
  6. 运行 python3 <skill-dir>/scripts/validate_drawio.py <file-or-directory>。修复报告的结构性错误。使用语义和跨视图检查清单:该脚本无法证明 UML、DFD、ERD 或 BPMN 的正确性。
  7. 在 diagrams.net 中打开/导入,或使用可用的 Draw.io 渲染器导出。检查每个页面的标签、箭头端点、裁切、包含和交叉;调整并再次检查。如果没有渲染器可用,则交付可编辑的源文件并明确报告渲染未经验证。不要将 XML 解析视为可打开性测试。
  8. 交付源文件、有用的预览图以及简短的验证/假设说明。明确说明运行了哪些检查。在编辑期间保留现有的手动布局和不相关的页面;刷新过时的预览图。

参考路由表

用户问题阅读资料
UML选择/符号基线uml.md
角色与用户目标use-case.md
领域或软件结构class-diagram.md
跨协作者的一个场景sequence-diagram.md
工作流、分支、并发activity-diagram.md
一个实体的事件驱动生命周期state-machine.md
实例、链接、模块、运行时部署structural-views.md
通信、时序、交互概览advanced-interactions.md
实体、关系、关系模式erd.md, normalization.md
数据移动与分解dfd.md, context-diagram.md
架构层次c4-model.md
业务协作/流程bpmn.md
简单流程或职责交接flowchart-swimlane.md
输出生成/美化drawio-rendering.md, layout.md, fallbacks.md
审查/多视图一致性diagram-validation.md
来源溯源/版本/限制sources.md

输出约定

尊重用户路径。否则使用 docs/diagrams/<system>-<view>.drawio,并尽可能附上对应的 .svg 或 .png 预览图。对于重要的假设使用 <system>-assumptions.md,对于多视图审计使用 <system>-validation.md。将临时导出文件保留在最终交付物之外。对于独立维护的视图使用单独的文件,对于协调的视图集使用命名页面。切勿以通用流程图静默替换所要求的正式符号。

不可妥协的检查项

  • 模型事实必须来自证据或标注的假设。
  • 检查端点语义;方向错误的箭头在语法上可能仍然有效。
  • DFD 箭头承载数据;UML/BPMN 控制流承载执行含义。
  • 不要从外键或模糊的“has-a”短语推断生命周期所有权。
  • 审查相关共享概念;不要求不同范围的视图包含完全相同的内容。
  • 保持图形可编辑;嵌入在 .drawio 文件中的图像不是原生图表。

示例和可执行检查位于 examples/ 和 scripts/ 目录。特定包的测试证据在 TEST-REPORT.md 中。

Individual skills in this repo

This repo contains 4 individual skills — each has its own dedicated page.

ChaoChuan05/Agent-Skills

Diagnose bugs and failures through reproduction, connected-flow evidence, and root-cause testing; recommend or apply the smallest authorized fix. Also handles explicit behavior-preserving refactoring and structural repair. Use for broken behavior, unexplained errors, or requested refactors; broad quality review and release verification belong to qa-tester.

ChaoChuan05/Agent-Skills

Turn a requested feature, change, or established fix into a repository-grounded implementation plan before coding. Use for implementation sequencing, affected-file and contract analysis, migration risks, and test acceptance planning. Planning does not authorize implementation; unexplained failures belong to debug-and-refactor and architectural modeling to system-design when needed.

ChaoChuan05/Agent-Skills

Test whether software satisfies its requirements. Use for QA reviews, acceptance testing, requirements traceability, test plans, exploratory testing, API/database/UI checks, defect reproduction, regression, fix verification and release readiness. Compare expected and actual behavior with evidence; existing passing tests alone are insufficient. Apply implementation fixes only when the user's task authorizes them.

ChaoChuan05/Agent-Skills

Create, audit, or maintain implementation-grounded developer documentation for software repositories. Use for README, onboarding, setup, configuration, architecture, API reference, deployment runbooks, troubleshooting, undocumented environment variables, and stale documentation. Inspect code and verify procedures; do not use for marketing copy or implementation changes alone.

相关技能