用途
APEX Decompose 用于在重平台化(replatforming)或迁移(migration)工作流中,将现有代码库中的功能拆解为详细、可直接用于实现的规格说明,供智能体在新架构中重建该功能。它解决的核心问题是:在重写代码之前,先理解现有代码到底做了什么。该技能的输出是规格文档,而不是代码。
主要能力
该技能围绕一个五步工作流展开:
-
识别功能范围:收集所有相关源文件,确定要拆解的功能或模块,获取相关源文件或目录的路径。阅读范围内的每个文件,构建依赖图:哪些文件导入了哪些文件、调用了哪些外部服务、修改了哪些状态。可使用依赖扫描脚本加速此步骤:
Linux/Mac:
bash "${CLAUDE_SKILL_DIR}/scripts/scan-deps.sh" <source-dir>Windows:
powershell -File "${CLAUDE_SKILL_DIR}/scripts/scan-deps.ps1" <source-dir> -
分析行为与契约:对范围内的每个函数、类或模块,记录以下方面:
- 输入:参数、环境变量、配置值、请求结构
- 输出:返回值、响应结构、写入的文件、发出的事件
- 副作用:数据库写入、API 调用、缓存变更、日志记录
- 错误处理:try/catch 模式、错误码、回退行为
- 依赖:内部导入、外部包、调用的服务
-
提取隐式知识:这是大多数迁移会遗漏的关键步骤,需要查找:
- 魔法值:没有文档说明的硬编码字符串、数字或阈值
- 顺序依赖:必须按特定顺序执行的操作
- 竞态条件:并发访问模式或对时序敏感的逻辑
- 功能开关:基于配置或环境的条件行为
- 未文档化的 API:内部端点或服务之间的契约
-
生成规格:使用 references/spec-template.md 中的模板,将规格写入 specs/{feature-name}.md。
-
验证规格:将规格与源代码交叉比对。对记录的每个行为,确认其与实际实现一致。对任何歧义用 [VERIFY] 标签标记,供人工审查。
使用方式
该技能以工作流方式使用,需要用户提供要拆解的功能或模块,以及相关源文件或目录的路径。技能会读取范围内的文件、构建依赖图、分析行为契约、提取隐式知识,最终生成 Markdown 规格文件。规格文件输出到 specs/ 目录,例如 specs/user-authentication.md。
示例输出结构包含:功能概述、行为契约(输入表、输出表、副作用列表)、边界情况、迁移备注(含 [VERIFY] 标记)。
适用场景
- 在重写代码之前理解现有代码的行为
- 重平台化或迁移工作流的第一步
- 需要将旧代码库的功能转化为可供智能体消费的规格说明
- 需要提取代码中的隐式知识(魔法值、顺序依赖、竞态条件、功能开关、未文档化 API)
限制
- 输出是规格文档,不是代码
- 需要用户提供功能范围和源文件路径
- 规格中的歧义需要人工审查(通过 [VERIFY] 标签标记)
- 关于收费、价格、平台支持范围等信息,资料中暂未提供