From omni
Orchestrates reverse engineering of codebases to extract interfaces, logic architecture, functions, scenarios, constraints into standardized Markdown documents. Supports full pipeline or on-demand targets.
npx claudepluginhub zte-aicloud/co-omnispec --plugin omniThis skill uses the workspace's default tool permissions.
**`reverse` 不是可执行命令,必须按照文档步骤执行!**
Orchestrates full reverse engineering across 8 stages—logic architecture, interfaces, functions, entities, scenarios, requirements, external interfaces, rules—automatically when `reverse --target all`. Non-interactive with fixed outputs.
Reverse-engineers existing codebases into V-Model artifacts: plan-context.md, ADRs, arc42 snapshot, FEATURE inventory, backlog seed, evidence-based BA draft. Use for brownfield projects or when V-Model artifacts are missing.
[UDS] System archeology — reverse engineer code across Logic, Data, and Runtime dimensions
Share bugs, ideas, or general feedback.
reverse 不是可执行命令,必须按照文档步骤执行!
--target 调用对应的 reverse-* Skill(如 reverse-logic-architecture、reverse-interfaces),按照 Skill 中的阶段说明执行🔴 语言要求(必须严格遵守):AI Agent 在执行所有步骤时,必须使用中文进行说明和输出。所有与用户的交互、步骤说明、进度提示都必须使用中文,禁止使用英文。
执行流程:
$ARGUMENTS)--target 参数读取对应的详细指导文档(如 reverse-interfaces.md,相对路径,与本文档同目录)$ARGUMENTS
在继续之前, 你必须考虑用户输入(如果不为空).
🔴 重要:语言要求(必须严格遵守)
reverse 命令支持反构多种要素类型,通过 --target 参数指定要反构的要素类型:
logic_architecture:逻辑架构要素(架构识别 JSON,写入 omni-doc/specs/logic_architecture/,供接口等下游只读使用)deep_logic_architecture:深度逻辑架构要素(生成 omni-doc/on-demand/logic_architecture.md,用于深度架构分析与按需反构)interfaces:接口清单(依赖逻辑架构产物;不再在接口阶段生成 architecture.json)external-interfaces:外部依赖接口识别(识别代码库外模块提供的、且在库内有调用示例的接口)rules:规则/约束反构(从代码库反构规则并生成 .mdc)functions:功能规范(基于入口与场景的功能清单与功能文档)scenarios:场景描述(基于接口/功能等既有产物的场景清单与单场景文档)requirements:需求分析(场景→功能需求→独立需求文件)constraints:约束规则(规划中)entities:逻辑实体(第一阶段实现)on-demand:按需反构(新增支持)all:按固定顺序依次执行逻辑架构→接口→功能→实体→场景→需求→外部接口→规则的全流程反构(默认全自动模式,不进入对话模式)此外,reverse 支持通过 --source 切换反构数据源:
--source code(默认):从代码库反构(本文档主流程)--source icenter:从 iCenter 拉取页面并提取知识(通过 reverse --source icenter 入口触发 reverse-icenter Skill)第一步:解析参数并选择对应 Skill
解析用户输入参数:
$ARGUMENTS 中解析 --source 参数
--source 未指定,默认使用 code--source icenter:必须按 reverse-icenter 的参数约束处理 --page-root(必填),同时调用 Skill reverse-icenter$ARGUMENTS 中解析 --target 参数--target 未指定,默认使用 all,执行完整流水线(logic_architecture → interfaces → functions → entities → scenarios → requirements → external-interfaces → rules)--path、--files、--interactive、--non-interactive、--yes 等)--target functions 时):
--interactive 参数时,才会切换到对话模式,每个阶段完成后会暂停等待用户确认--non-interactive 或 --yes,强制使用全自动模式(与默认行为一致)--interactive,则启用交互模式;否则使用全自动模式--target all 时):
--interactive,都必须按全自动模式执行,不进入对话/确认式交互--target all 时,--interactive 参数应被忽略;如传入 --non-interactive 或 --yes,与默认行为一致,保持全自动--path、--files、--exclude、--output-dir 等通用参数,在全流程各子阶段(interfaces/functions/entities/scenarios/requirements/external-interfaces/rules)中按统一规则复用根据 --target 调用对应的反构 Skill:
claude/skills/reverse-*/SKILL.md 定义详细阶段与调用方式*--source icenter,必须立即调用 Skill reverse-icenter,按照 claude/skills/reverse-icenter/SKILL.md 中的阶段说明执行(此时 --target 取值遵循 iCenter 约定:all|requirements|system-contexts|scenarios|logical-architectures,未指定默认 all),不要继续解析本文其他部分--target logic_architecture,必须立即调用 Skill reverse-logic-architecture,按该 Skill 的 SKILL.md 执行逻辑架构识别并写入 omni-doc/specs/logic_architecture/architecture.json--target deep_logic_architecture,必须立即调用 Skill reverse-deep-logic-architecture,按该 Skill 的 SKILL.md 生成 omni-doc/on-demand/logic_architecture.md--target interfaces,必须立即调用 Skill reverse-interfaces,按照该 Skill 的 SKILL.md 中的阶段说明执行接口清单反构(须读取已存在的逻辑架构产物;单独执行 interfaces 前应先完成 logic_architecture 或确保 architecture.json 已存在)--target entities,必须立即调用 Skill reverse-entities,按照该 Skill 的 SKILL.md 中的阶段说明执行实体清单反构--target on-demand,必须立即调用 Skill reverse-on-demand,按照该 Skill 的 SKILL.md 中的阶段说明执行按需反构--target external-interfaces,必须立即调用 Skill reverse-external-interfaces,按照该 Skill 的 SKILL.md 中的阶段说明执行外部依赖接口识别--target rules,必须立即调用 Skill reverse-rules,按照该 Skill 的 SKILL.md 中的阶段说明执行规则/约束反构--target requirements,必须立即调用 Skill reverse-requirements,按照该 Skill 的 SKILL.md 中的阶段说明执行需求反构--target functions,在 Skill reverse-functions 存在时,应优先调用该 Skill 按其阶段说明执行功能反构{REPO_ROOT}/claude/skills/reverse-interfaces/SKILL.md、{REPO_ROOT}/claude/skills/reverse-scenarios/SKILL.md 等SKILL.md 中的步骤执行,不要尝试直接将本命令当作可执行脚本获取环境信息:
bash .infra/scripts/bash/check-prerequisites.sh --paths-only --jsonpwsh .infra/scripts/powershell/check-prerequisites.ps1 --paths-only --jsonREPO_ROOT(JSON格式).infra/scripts/bash/check-prerequisites.sh(Linux)或 .infra/scripts/powershell/check-prerequisites.ps1(Windows)--paths-only 模式可以跳过分支检查,允许在任何分支(包括 main/master)上执行 reverse 命令第二步:创建初始 Todo 列表
--target logic_architecture,应包含以下 todo 项:
--target deep_logic_architecture,应包含以下 todo 项:
--target interfaces,应包含以下 todo 项:
--target entities,应包含以下 todo 项:
--target on-demand,应包含以下 todo 项:
--target external-interfaces,应包含以下 todo 项:
--target rules,应包含以下 todo 项:
--target requirements,应包含以下 todo 项:
todo_write 工具创建初始 todo 列表,所有项初始状态为 pending第三步:按照对应 Skill 的阶段说明执行
--target 参数,完全按照对应的详细指导文档(如 reverse-interfaces.md 或 reverse-on-demand.md,相对路径)中的步骤执行--path 或 --files 或其他相关参数)REPO_ROOT)in_progresscompleted--target functions 时):所有阶段完成后自动确认,不询问用户,直接继续下一阶段--interactive,当 --target functions 时):每个阶段完成后,AI Agent 必须暂停执行,使用中文询问用户确认,只有在用户确认后才能继续下一阶段--target functions 时,检查参数中是否包含 --interactive,如果没有则使用全自动模式注意:不要尝试直接执行 reverse 命令,它不是一个可执行命令。必须按照文档中的步骤,由 AI Agent 执行分析任务,然后调用脚本处理结果。
根据 --source 参数,调用对应的要素类型 Skill:
--source icenter:调用 Skill reverse-icenter(已实现,claude/skills/reverse-icenter/SKILL.md)根据 --target 参数,调用对应的要素类型 Skill:
--target logic_architecture:调用 Skill reverse-logic-architecture(claude/skills/reverse-logic-architecture/SKILL.md)--target deep_logic_architecture:调用 Skill reverse-deep-logic-architecture(claude/skills/reverse-deep-logic-architecture/SKILL.md)--target interfaces:调用 Skill reverse-interfaces(已实现,claude/skills/reverse-interfaces/SKILL.md)--target external-interfaces:调用 Skill reverse-external-interfaces(已实现,claude/skills/reverse-external-interfaces/SKILL.md)--target rules:调用 Skill reverse-rules(已实现,claude/skills/reverse-rules/SKILL.md)--target on-demand:调用 Skill reverse-on-demand(已实现,claude/skills/reverse-on-demand/SKILL.md)--target functions:调用 Skill reverse-functions(规划中,claude/skills/reverse-functions/SKILL.md)--target scenarios:调用 Skill reverse-scenarios(已实现,claude/skills/reverse-scenarios/SKILL.md)--target requirements:调用 Skill reverse-requirements(已实现,claude/skills/reverse-requirements/SKILL.md)--target constraints:预留未来的 Skill reverse-constraints--target entities:调用 Skill reverse-entities(已实现,claude/skills/reverse-entities/SKILL.md)--target all:调用 Skill reverse-orchestration,按其编排说明依次处理 logic_architecture → interfaces → functions → entities → scenarios → requirements → external-interfaces → rules(默认全自动模式)当用户指定 --target all 时,AI Agent 不得直接在命令层手写 8 个阶段的编排逻辑,而是应:
REPO_ROOT 与通用缓存根目录;--path / --files / --exclude / --clear-cache 等)作为输入,激活 Skill reverse-orchestration;SKILL.md 中的说明执行完整流水线反构:
简而言之:
reverse --target all只是入口命令,真正的全流程编排规范统一收敛到 Skillreverse-orchestration中,由该 Skill 负责调用各reverse-*Skill 并衔接 8 个阶段(逻辑架构必须最先执行,生成的内容供后续要素使用)。deep_logic_architecture为单独 target,不纳入all。
按需反构是一种新的反构模式,它基于需求意图(SDD文档或自然语言)来检索和反构波及的功能。与传统的全量反构不同,按需反构只反构被新需求波及的存量要素,提供更精准和高效的反构体验。
按需反构支持两种复杂度模式:
按需反构的主要特点:
当添加新的要素类型时:
reverse-<element-type>.md,与现有各 reverse-* 子技能文档命名一致)reverse \
[--source <code|icenter>] \
--target <target-type> \
[--path <path1,path2,...>] \
[--files <file1,file2,...>] \
[--interface-types <type1,type2,...>] \
[--output-dir <dir>] \
[--template <template-file>] \
[--page-root <icenter_root_url1,icenter_root_url2,...>] \
[--interactive] \
[--non-interactive] \
[--yes] \
[--preview] \
[--incremental] \
[--git-diff <commit>] \
[--since <date>] \
[--merge] \
[--validate] \
[--exclude <pattern>] \
[--clear-cache] \
[--verbose] \
[--json] \
[--help]
--target (必需):目标要素类型,支持 all、logic_architecture、deep_logic_architecture、interfaces、functions、entities、scenarios、requirements、external-interfaces、rules、on-demand、constraints(预留)等;未指定时默认 all--source (可选):反构数据源,支持 code(默认,从代码库反构)与 icenter--path (可选*):反构的目录路径(逗号分隔)--files (可选*):反构的文件路径(逗号分隔)--interface-types (可选):指定要反构的接口类型(仅当 --target interfaces 时使用)--output-dir (可选):输出目录,默认根据分支类型决定--template (可选):模板文件路径,默认使用内置模板--page-root (当 --source icenter 时必须):iCenter 根页面 URL,支持多个 URL 以英文逗号分隔--interactive (可选):启用交互式确认--non-interactive (可选):强制非交互模式--yes (可选):非交互模式,自动接受所有默认选项--preview (可选):预览模式,不写入文件--incremental (可选):增量反构模式--git-diff (可选):基于 Git 提交差异反构(需配合 --incremental)--since (可选):基于时间戳反构(需配合 --incremental)--merge (可选):合并到现有清单文件(需配合 --incremental)--validate (可选):启用结果校验--exclude (可选):排除文件模式(可多次使用)--clear-cache (可选):清理缓存--verbose (可选):详细输出模式--json (可选):JSON 格式输出--help (可选):显示帮助信息注意:
--source code或没有该参数时:--path 和 --files 至少需要指定一个(对于按需反构,参数要求可能不同,请参考 reverse-on-demand.md)。--source icenter 时:必须提供 --page-root;。# 无参数:按固定顺序执行完整流水线(默认行为)
# 等价于:reverse --target all --path .
reverse --path .
# 仅反构逻辑架构(生成 omni-doc/specs/logic_architecture/architecture.json)
reverse --target logic_architecture --path .
# 仅反构深度逻辑架构(生成 omni-doc/on-demand/logic_architecture.md)
reverse --target deep_logic_architecture --path .
# 仅反构整个代码库的接口(须已有逻辑架构产物,或先执行上一行)
reverse --target interfaces --path .
# 反构指定目录的接口
reverse --target interfaces --path src/api/,src/services/
# 仅反构 RESTful 和消息类接口
reverse --target interfaces --path src/ --interface-types restful,message
# 反构指定文件的接口
reverse --target interfaces --files src/api/user.py
# 基于已完成的接口反构结果,执行实体清单反构
reverse --target entities --path .
# 外部依赖接口识别(识别代码库外模块提供的、且在库内有调用示例的接口)
reverse --target external-interfaces --path .
# 外部依赖接口识别(排除测试与构建目录;对话模式每阶段确认)
reverse --target external-interfaces --path . --exclude "**/test/**" --exclude "**/build/**" --interactive
# 外部依赖接口识别(重录:清除缓存后重新执行)
reverse --target external-interfaces --path . --clear-cache
# 规则反构(从代码库反构规则并生成 .mdc)
reverse --target rules --path .
# 规则反构(对话模式,每阶段确认)
reverse --target rules --path . --interactive
# 需求反构(场景→功能需求→独立需求文件;依赖场景反构产物)
reverse --target requirements
reverse --target requirements --interactive
reverse --target requirements --clear-cache
reverse --target requirements --exclude "**/test/**" --exclude "**/build/**"
# 按需反构(基于SDD需求文档)
reverse --target on-demand --requirement spec.md
# 按需反构(基于需求意图表达)
reverse --target on-demand --intent "实现用户登录功能,支持多因素认证"
# 按需反构(复杂需求模式)
reverse --target on-demand --requirement spec.md --demand-complexity complex
# 交互式反构(仅对单一 target 生效;--target all 时将被忽略,始终全自动)
reverse --target interfaces --path src/ --interactive
reverse --target entities --path src/ --interactive
# 预览模式
reverse --target interfaces --path src/ --preview
# JSON 输出
reverse --target interfaces --path src/ --json
# iCenter 反构:从 iCenter 拉取页面并一次性提取全部知识
reverse --source icenter --target all --page-root "https://i.zte.com.cn/.../wiki/page/xxx/view,https://i.zte.com.cn/.../wiki/page/yyy/view"
# iCenter 反构:仅提取场景(target=scenarios)
reverse --source icenter --target scenarios --page-root "https://i.zte.com.cn/.../wiki/page/xxx/view"