mcpField
O
oma-architecture

oma-architecture

github.com/first-fluke开发1.4k62 次安装1 天前更新
代码仓库

关于 oma-architecture

oma-architecture 是用于分析、比较和记录软件架构决策的技能,面向需要处理系统设计、模块边界或架构问题的团队。它根据决策风险选择分析方法,并明确权衡、风险和验证步骤。

主要功能

  1. 01架构问题诊断与建议
  2. 02模块、服务和所有权边界分析
  3. 03多方案权衡比较
  4. 04ATAM 风险分析与 CBAM 优先级评估
  5. 05ADR 编写与决策记录
  6. 06API 版本演进与弃用策略

适用场景

  1. 01比较系统设计方案并给出建议
  2. 02梳理隐藏依赖或变更扩散问题
  3. 03评估架构投资与重构优先级
  4. 04制定 API 版本和弃用计划

安装

复制下面的命令,在终端中运行。

$npx skills add https://github.com/first-fluke/oh-my-agent --skill oma-architecture

安装后在 Claude Code 中输入/oma-architecture确认已加载。

包含的文件

除 SKILL.md 外,安装时一起下载的参考资料和脚本。

resources/
api-evolution.md
checklist.md
execution-protocol.md
methodology-selection.md
migration-patterns.md
output-templates.md
stakeholder-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)
  • 针对所选方案的 ADR 和保留建议,存放在 docs/decisions/,并从 docs/decisions/index.md 链接
  • 针对特定运行生成的评审、诊断、CBAM 分析及未选中的比较草稿,存放在 .agents/results/architecture/
outputs:
  - name: architecture-decision
    description: ADR or retained recommendation for a selected approach, with its actual authority status
    artifact: "docs/decisions/*.md"
    required: false
  - name: architecture-artifact
    description: Run-specific review, diagnosis, CBAM analysis, or unselected comparison draft
    artifact: ".agents/results/architecture/*.md"
    required: false
  - name: architecture-decision-diagram-html
    description: archify interactive HTML diagram (+ JSON spec) beside a retained structural decision; only when the archify engine resolves
    artifact: "docs/decisions/*.archify.html"
    required: false
  - name: architecture-diagram-html
    description: archify interactive HTML diagram (+ JSON spec) beside a run-specific structural report; only when the archify engine resolves
    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,并管理验证/交付流程
控制流特性
  • 根据请求清晰度、决策重要性、风险等级和是否需要利益相关方协商进行分支处理
  • 可先比较多个方案,再提出建议
  • 生成基于源材料的文档,而不直接更改实现

结构化流程

入口
  1. 明确架构问题、决策或痛点信号。
  2. 收集现有约束、源证据和利益相关方背景。
  3. 阅读 docs/decisions/ 中的既往决策;在迁移完成前,将 .agents/results/architecture/、docs/design-docs/ 和 docs/plans/designs/ 作为历史背景。新决策须明确取代旧决策,不得默默与其矛盾。
  4. 选择足以解决问题的最轻量方法。
场景
  1. 准备:明确范围、质量属性、约束条件和目标产物。
  2. 收集:阅读代码和文档,并在需要时收集利益相关者或运营方面的证据。
  3. 推理:诊断、比较选项、分析权衡并评估风险。
  4. 验证:检查假设、验证步骤以及方案与约束的契合度。
  5. 定稿:产出建议、ADR 或架构产物。
转换条件
  • 如果请求含糊不清,先使用诊断模式,再提出建议。
  • 如果决策影响重大,至少比较两个真正不同的选项。
  • 如果风险或质量属性占主导地位,使用 ATAM 风格的分析。
  • 如果要确定架构投入的优先级,使用 CBAM 风格的成本效益分析。
  • 如果决策已定,按 ADR 格式整理。
失败与恢复
  • 如果证据不足,说明假设,并请求或搜索缺失的上下文。
  • 如果利益相关者的诉求相互冲突,综合权衡,而不是强行达成共识。
  • 如果任务属于其他领域,则转交给相关技能。
退出条件
  • 成功:建议或产物说明了假设、选项、权衡、风险和验证方式。
  • 部分成功:明确说明未解决的假设或缺失的证据。

逻辑操作

操作
操作SSL 基元证据
分类架构请求SELECT方法选择摘要
阅读代码、文档和上下文READ基于源代码的架构证据
比较选项COMPARE双方案设计或建议模式
推断风险与权衡INFERATAM/CBAM 风格的分析
验证决策契合度VALIDATE检查清单和验证步骤
编写产物WRITEADR 或架构结果
通知结果NOTIFY最终建议摘要
工具和手段
  • 用于读取和搜索代码库及文档的本地文件工具
  • 架构方法参考资料和输出模板
  • 仅在涉及范围足够广、值得投入成本时,才进行可选的利益相关者 Agent 咨询
标准工作流路径

使用已配置的代码智能提供程序来查看结构、符号、引用和集成点。如果不可用,则仅对项目之外的路径或被忽略的路径使用原生命令搜索:

1. Read prior decisions in docs/decisions/; read old result/design directories as legacy fallback until migration.
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_FSdocs/decisions/ 中的决策记录,以及 .agents/results/architecture/ 中的运行报告
MEMORY假设、选项矩阵、权衡说明
前提条件
  • 能够识别架构关注点或决策边界。
  • 可以读取相关上下文,或能够明确说明假设。
影响与副作用
  • 创建架构建议或 ADR 风格的记录。
  • 可能影响实现方向、职责边界和未来的重构。
  • 除非另行请求实现任务,否则不会直接修改产品代码。
护栏
  1. 选择方法前,先诊断架构问题。
  2. 针对当前决策,采用足以解决问题的最轻量方法。
  3. 区分架构设计、UI/视觉设计和 Terraform 交付。
  4. 只有在决策影响范围足够广、足以证明成本合理时,才咨询利益相关方 Agent。
  5. 推荐质量比追求表面共识更重要:广泛征求意见,明确作出决定。
  6. 每项建议都必须说明假设、权衡、风险和验证步骤。
  7. 默认考虑成本:实现成本、运营成本、团队复杂度和未来变更成本。
  8. 对于重大决策,推荐方案前至少比较两个真正不同的选项。
  9. 将已选方案的 ADR 和保留的建议保存到 docs/decisions/,并更新其索引。将运行评审、诊断、CBAM 分析和未选中的草案保存在 .agents/results/architecture/。晋升到 docs/ 时,在源报告中留下指向目标位置的链接。
  10. 决策前,先阅读 docs/decisions/ 中的既有决策;迁移完成前,也要查阅旧位置。替换旧决策时,将其标记为已取代,而不是与其矛盾。派发的 result-*.md 报告始终放入 .agents/results/,并保留其任务/运行/会话文件名。
  11. 在活跃的 OMA 工作流中完成持久化文档时,使用 architecture.adr-complete(执行协议第 7 步)记录其实际建议、权威状态、理由、修订版本和证据。已完成的提案不代表用户批准,也不授权实施。
方法选择摘要
  • 诊断模式:问题描述模糊,架构症状不明确
  • 建议模式:为具体的架构决策选择方向
  • 双重设计模式:承诺采用前,比较 2 种或更多实质不同的设计
  • 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

评论

支持 Markdown