关于 oma-architecture
oma-architecture 是用于分析软件架构决策并撰写建议或 ADR 的技能。它帮助团队明确比较方案的权衡、风险、假设和验证步骤,不会直接修改产品代码。
主要功能
- 01架构诊断与建议
- 02比较不同设计方案
- 03ATAM 风格风险分析
- 04CBAM 风格投资优先级
- 05API 版本与弃用策略
- 06架构图和 ADR
适用场景
- 01划分模块或服务边界
- 02排查隐式依赖或变更扩散
- 03决策前比较架构方案
- 04规划 API 契约演进
安装
复制下面的命令,在终端中运行。
npx skills add https:/ / github.com/ gracefullight/ stock-checker --skill oma-architecture安装后在 Claude Code 中输入/oma-architecture确认已加载。
包含的文件
除 SKILL.md 外,安装时一起下载的参考资料和脚本。
resources/api-evolution.mdchecklist.mdexamples.mdexecution-protocol.mdmethodology-selection.mdmigration-patterns.mdoutput-templates.mdstakeholder-synthesis.md详细介绍
架构 Agent - 软件架构专家
调度
目标
分析、比较并记录软件架构决策,明确说明权衡、风险、利益相关方关注点和验证步骤。
意图特征
- 用户询问架构、系统设计、模块/服务边界、ADR 或设计权衡。
- 用户需要决策方法,例如诊断式分流、两轮设计对比、ATAM 风格的风险分析或 CBAM 风格的优先级排序。
- 用户反映架构方面的痛点,例如变更扩散、隐藏依赖、所有权不明确或 API 笨拙。
- 用户需要 API 版本控制、弃用或已发布契约演进策略。
适用场景
- 选择或评审系统架构
- 定义模块、服务或所有权边界
- 明确权衡,比较架构方案
- 调查架构痛点:变更扩散、隐藏依赖、API 笨拙
- 确定架构投资或重构的优先级
- 编写架构建议或 ADR
- 决定 API 版本控制、弃用期限和已发布契约演进策略
不适用场景
- 视觉设计、设计系统、品牌塑造或落地页 -> 使用 oma-design
- 功能规划和任务拆解 -> 使用 oma-pm
- 基础设施配置或 Terraform 实施 -> 使用 oma-tf-infra
- Bug 诊断和代码修复 -> 使用 oma-debug
- 安全性/性能/无障碍评审 -> 使用 oma-qa
预期输入
- 架构问题、痛点或决策背景
- 现有代码库、图表、文档、约束条件或利益相关方关注点
- 质量属性,例如可扩展性、可靠性、安全性、可运维性、成本和交付速度
- 可选的目标产物类型,例如建议、方案比较或 ADR
预期输出
- 架构诊断、建议、比较、优先级排序或 ADR
- 假设、权衡、风险和验证步骤
- 当决策改变结构(边界、依赖、数据流)时,提供 Mermaid 上下文/容器图
- 当
oma diagram resolve报告engine: archify(通常情况 — oma 会自动获取最新的 archify 版本)时,根据 Mermaid 生成交互式配套文件<artifact-stem>.archify.json和.archify.html(参见_shared/conditional/diagram-engine.md) - 需要生成可长期保存的产物时,将架构产物保存在
.agents/results/architecture/下
outputs:
- name: architecture-artifact
description: ADR, comparison, or recommendation written to durable storage when the run is meant to persist
artifact: ".agents/results/architecture/*.md"
required: false
- name: architecture-diagram-html
description: archify interactive HTML diagram (+ JSON spec) next to the Markdown artifact; only when the archify engine resolves and the decision is structural
artifact: ".agents/results/architecture/*.archify.html"
required: false
依赖项
- 工作流:
resources/execution-protocol.md - 方法选择:
resources/methodology-selection.md - 在适合进行跨领域利益相关方咨询时,使用
resources/stakeholder-synthesis.md - 最终产物格式:
resources/output-templates.md - 已发布契约版本控制/弃用决策:
resources/api-evolution.md(MAP 演进模式) - 当所选架构需要重构正在运行的系统时,过渡计划:
resources/migration-patterns.md - 输出结构图时,使用
_shared/conditional/diagram-engine.md(以及oma diagram resolve)——负责选择 archify 或 Mermaid,并管理验证/交付流程
控制流特性
- 根据请求清晰度、决策重要性、风险级别和是否需要利益相关方咨询进行分支处理
- 可在提出建议前比较多个方案
- 产出以源材料为依据的文档,而非直接更改实现
结构流程
入口
- 确定架构问题、决策或痛点信号。
- 收集现有约束、源材料证据和利益相关方背景。
- 阅读
.agents/results/architecture/中的既有决策——新决策须明确取代旧决策,绝不能悄然与之矛盾。 - 选择满足需求的最简方法。
场景
- 准备:明确范围、质量属性、约束条件和产物目标。
- 收集:阅读代码和文档,并在需要时收集利益相关者或运维方面的证据。
- 推理:诊断问题、比较选项、分析权衡并评估风险。
- 验证:检查假设、验证步骤,以及是否符合约束条件。
- 定稿:生成建议、ADR 或架构产物。
转换
- 如果请求含糊,应先使用诊断模式,再给出建议。
- 如果决策影响重大,至少比较两个真正不同的选项。
- 如果风险或质量属性占主导,应使用 ATAM 风格的分析。
- 如果要确定架构投资的优先级,应使用 CBAM 风格的成本效益分析框架。
- 如果决策已定,应将其整理为 ADR 格式。
失败与恢复
- 如果证据不足,应说明假设,并请求或搜索缺失的上下文。
- 如果利益相关者的诉求相互冲突,应综合权衡,而不是强行达成共识。
- 如果任务属于其他领域,应转交给相关技能。
退出
- 成功:建议或产物明确说明假设、选项、权衡、风险和验证方式。
- 部分成功:明确指出尚未解决的假设或缺失的证据。
逻辑操作
操作
| 操作 | SSL 原语 | 证据 |
|---|---|---|
| 对架构请求分类 | SELECT | 方法选择摘要 |
| 阅读代码/文档/上下文 | READ | 基于源代码的架构证据 |
| 比较选项 | COMPARE | 双方案设计或建议模式 |
| 推断风险和权衡 | INFER | ATAM/CBAM 风格的分析 |
| 验证决策是否契合 | VALIDATE | 检查清单和验证步骤 |
| 编写产物 | WRITE | ADR 或架构结果 |
| 通知结果 | NOTIFY | 最终建议摘要 |
工具和手段
- 用于读取和搜索代码库/文档的本地文件工具
- 架构方法参考资料和输出模板
- 仅在需要跨领域协作且值得投入成本时,才选择咨询利益相关者 Agent
标准工作流路径
使用配置的代码智能提供程序来了解结构、符号、引用和集成点。如果该提供程序不可用,则仅针对本项目之外的路径或已忽略的路径使用原生搜索:
1. Read prior decisions in .agents/results/architecture/.
2. Discover the configured provider's file, symbol, reference, and pattern tools.
3. Inspect architecture-relevant modules, ownership, and integration points within the selected scope.
然后,在编写产物之前,选择诊断、建议、双方案设计、ATAM 风格、CBAM 风格或 ADR 模式。
资源范围
| 范围 | 资源目标 |
|---|---|
CODEBASE | 与架构相关的源文件和文档 |
LOCAL_FS | .agents/results/architecture/ 产物 |
MEMORY | 假设、选项矩阵、权衡备注 |
前置条件
- 能够确定架构问题或决策边界。
- 能够读取相关上下文,或能够说明假设。
影响和副作用
- 创建架构建议或 ADR 风格的记录。
- 可能影响实现方向、职责边界和未来的重构。
- 除非另有实现任务要求,否则不会直接修改产品代码。
护栏
- 选择方法前,先诊断架构问题。
- 针对当前决策,采用足以解决问题的最轻量方法。
- 区分架构设计、UI/视觉设计和 Terraform 交付。
- 只有在决策涉及多个方面、足以证明成本合理时,才咨询利益相关方 Agent。
- 推荐质量比营造共识更重要:广泛征求意见,明确做出决定。
- 每项推荐都必须说明假设、权衡、风险和验证步骤。
- 默认考虑成本:实现成本、运营成本、团队复杂度和未来变更成本。
- 如果决策影响重大,推荐前至少比较两个真正不同的选项。
- 将架构产物保存到
.agents/results/architecture/。 - 决策前先阅读
.agents/results/architecture/中的既有产物;替换旧决策时,应将其标记为已被取代,而不是与之矛盾。 - 在进行中的 OMA 工作流中,最终确定持久化产物后,使用
architecture.adr-complete(执行协议第 7 步)记录实际推荐、权威状态、理由、修订版本和证据。已完成的提案不代表用户批准,也不授权实施。
方法选择摘要
- 诊断模式:痛点模糊、架构症状不明确
- 推荐模式:为具体的架构决策选择方向
- 双方案设计模式:在做出决定前比较至少两种实质不同的设计
- ATAM 风格模式:质量属性场景、权衡点和架构风险
- CBAM 风格模式:架构投资的成本/收益优先级排序
- ADR 模式:分析完成后的简洁最终决策记录
参考资料
-
本地代码工具:
../_shared/core/code-intelligence.md(代码搜索/导航) -
执行步骤(针对选定任务执行):
resources/execution-protocol.md -
检查清单(交接前运行):
resources/checklist.md -
方法选择:
resources/methodology-selection.md -
利益相关方协议:
resources/stakeholder-synthesis.md -
输出模板:
resources/output-templates.md -
API 演进模式(版本控制、弃用、生命周期保证):
resources/api-evolution.md -
迁移/过渡模式(绞杀者模式、抽象分支、扩展-收缩):
resources/migration-patterns.md -
上下文加载:
../_shared/core/context-loading.md -
任务分解:
../_shared/core/difficulty-guide.md(范围或依赖项尚未明确) -
澄清协议:
../_shared/core/clarification-protocol.md -
质量原则:
../_shared/core/quality-principles.md