关于 modular-decomposition
该技能引导 Agent 按顺序执行五种模式,在提取服务前分析代码库。它将组件清单、耦合分析等结果逐步用于候选领域分组,并可按需参考 DDD。
主要功能
- 01按序执行模式 1–5 的分析流程
- 02识别并评估组件规模
- 03检测重复领域逻辑
- 04分析层级结构与耦合
- 05领域分组及可选 DDD 分析
适用场景
- 01拆分单体前分析代码库
- 02梳理组件依赖与耦合
- 03将组件归为候选领域
- 04提取服务前检查有界上下文
安装
复制下面的命令,在终端中运行。
$
npx skills add https:/ / github.com/ tech-leads-club/ agent-skills --skill modular-decomposition安装后在 Claude Code 中输入/modular-decomposition确认已加载。
包含的文件
除 SKILL.md 外,安装时一起下载的参考资料和脚本。
references/domain-analysis-examples.mddomain-analysis-quick-reference.mddomain-analysis.mdpattern-01-identify-and-size-quick-reference.mdpattern-01-identify-and-size.mdpattern-02-common-domain-quick-reference.mdpattern-02-common-domain.mdpattern-03-flattening-quick-reference.mdpattern-03-flattening.mdpattern-04-coupling.mdpattern-05-domain-grouping-quick-reference.mdpattern-05-domain-grouping.md详细介绍
模块化分解
此技能会在服务提取前运行 Patterns 1–5 分析流程。每个模式都是 references/ 下的纯 Markdown 文件;加载对应步骤的文件,并针对用户的代码库执行。
使用方法
快速开始(用户可以这样说)
- 完整流程:“对这个仓库运行 Patterns 1 到 5 的模块化分解”,“分析这个单体应用以确定拆分方案——盘点、耦合和领域分组。”
- 单个前期步骤:“识别并评估这里的组件”,“查找各模块中重复的领域逻辑”,“分析我们各个包之间的耦合。”
- 采用 DDD 视角:“将组件归入领域并检查限界上下文”,“在对服务分组之前,对这个代码库使用 DDD 战略设计。”
如果用户只想在分析完成后了解 提取顺序、阶段或迁移路线图,请改用 decomposition-planning-roadmap。如果他们需要 完整的遗留系统迁移计划(绞杀者模式、调研、多技术栈),在这是主要诉求时,也可以或应该改用 legacy-migration-planner。
Agent 应如何运行
- **范围:**确认任务是结构分析(盘点 → 耦合 → 分组),而不是编写路线图。如果不明确,询问一次他们需要完整的有序流程还是其中一部分。
- **顺序:**按 1 → 2 → 3 → 4 → 5 的顺序运行这些模式。除非用户明确限制范围,否则不要跳过任何步骤;如果跳过了,说明跳过了哪些模式,以及这会如何限制后续结论。
- **加载参考资料:**对于每个模式,打开对应的
references/pattern-NN-*.md文件并遵循其中的说明。如果简短检查清单就足够,也可以使用相同编号的可选*-quick-reference.md。 - **沿用上下文:**在后续模式中复用先前模式的输出(例如,Pattern 1 的组件清单可为 Pattern 4 的耦合分析和 Pattern 5 的分组提供依据)。引用前面步骤中的具体路径、模块或表格。
- **领域语言(Pattern 5):**如果需要结合结构以外的信息来明确子域或限界上下文,请在 Pattern 5 之前或同时阅读
references/domain-analysis.md。也可以打开references/domain-analysis-quick-reference.md或references/domain-analysis-examples.md,查看精简规则或示例。 - **交付:**按模式给出清晰、可执行的发现,或提供一份整合报告;始终以仓库中的证据(文件、依赖、指标)为依据,而不是泛泛而谈。
使用示例
示例 1 — 完整流程
User: "We're going to split this monolith—run the full decomposition analysis (Patterns 1–5)."
Agent: Execute patterns 1→5 in order, loading each references/pattern-NN-*.md, preserving outputs between steps, then summarize cross-cutting recommendations.
示例 2 — 盘点后的耦合分析
User: "We already have a rough module list—focus on coupling (Pattern 4) and then domain grouping (Pattern 5)."
Agent: If no prior inventory exists in the thread, either run Pattern 1 briefly or derive an explicit module list from the repo before 4 and 5. State any assumptions.
示例 3 — 分组前采用 DDD
User: "Map bounded contexts and language, then group components into domains."
Agent: Read references/domain-analysis.md (and optional quick reference/examples) in parallel with or immediately before Pattern 5; align Pattern 5 groupings with linguistic boundaries where evidence supports it.
前置条件
- 除非用户明确缩小范围,否则应先完成 Pattern N,再开始 Pattern N+1。后续模式依赖前面的结果(例如,盘点和结构分析为耦合分析和分组提供依据)。
- 如果业务词汇、子域或限界上下文不明确,请在 Pattern 5 之前或同时使用
references/domain-analysis.md(参见下文“限界上下文”)。
有序工作流(模式 1–5)
| 步骤 | 模式 | 主要参考资料 |
|---|---|---|
| 1 | 识别并评估组件规模 | references/pattern-01-identify-and-size.md(可选:pattern-01-identify-and-size-quick-reference.md) |
| 2 | 常见领域检测 | references/pattern-02-common-domain.md(可选:pattern-02-common-domain-quick-reference.md) |
| 3 | 扁平化/层级结构 | references/pattern-03-flattening.md(可选:pattern-03-flattening-quick-reference.md) |
| 4 | 耦合分析 | references/pattern-04-coupling.md |
| 5 | 领域识别与分组 | references/pattern-05-domain-grouping.md(可选:pattern-05-domain-grouping-quick-reference.md) |
模式 6 — 规划与提取
模式 6(创建领域服务/提取)在此不重复介绍。完成模式 5 后,请切换到 decomposition-planning-roadmap,以规划分阶段提取顺序、里程碑和迁移方案。对于完整的遗留系统迁移策略(绞杀者模式、跨技术栈重写、研究密集型计划),还可选用 legacy-migration-planner。
限界上下文与 DDD 战略设计
- 模式 1–4 聚焦于代码库各部分的结构性盘点、重复、层级和耦合。
- 模式 5 会生成与解决方案空间边界相一致的候选分组(哪些组件应归为同一服务)。
- 战略 DDD(子域、限界上下文、通用语言)见
references/domain-analysis.md,还可选读domain-analysis-quick-reference.md和domain-analysis-examples.md。当你需要依据业务语言验证或优化边界,而非仅依据文件夹结构时,请使用这些资料。
评论
支持 Markdown