用途:作为逆向工程第一阶段,穷尽分析目标代码库结构,识别用户指定范围内的全部入口点、依赖、模块和组件,产出结构图文档并初始化 manifest.json 以供流水线串联。
三条原则:代码即事实,只记录已实现的行为而非应有行为,代码疑似有缺陷时按原样记录并在 Question List 标注;可追溯至行,每条发现必须附 file:line 引用,无法确定行号则排除该发现并记入 Question List,无行号的引用视为幻觉;行为优先于意图,只关注可观察的输入、输出和副作用,不推断业务意图,只记录 what 与 how。
执行流程:第1步准备,确定分析名称(优先用 name 参数,否则从类名、目录名或文件名推导),检测语言(优先用 language 参数,否则按扩展名与项目文件判断,如 .cs/.csproj→csharp,.py/pyproject.toml/setup.py→python,.ts/.tsx/含 typescript 的 package.json→typescript,.java/pom.xml/build.gradle→java,其他→generic),若技能目录存在 references/{language}.md 则加载对应模式,检测 Serena MCP 工具是否可用(如 mcp__serena__find_symbol;可用则作为主要分析工具,否则仅用 Read、Grep、Glob、Bash),并创建目录 mkdir -p docs/reverse/{name} 与 mkdir -p docs/reverse/{name}/verification,初始化 manifest.json。第2步入口点检测,使用 mcp__serena__get_symbols_overview 或 mcp__serena__find_symbol,记录文件路径、行号、函数名与由代码得出的用途。第3步依赖映射,读取项目配置文件列出外部依赖及版本,追踪导入构建依赖图并输出 Mermaid 图,需遵循语法规则避免解析错误。第4步模块与组件列举,列出范围内全部类、接口、函数与重要组件并记录类型与 file:line,禁止只挑选重要项。第5步构建第二阶段目标列表。第6步生成 docs/reverse/{name}/01-structure-map.md,包含技术栈、目录树、入口点、依赖图、组件清单与 Question List,并更新 manifest 状态与 target。
限制:禁止执行代码或运行构建命令;禁止仅凭变量名推断业务逻辑;禁止添加源码中不存在的组件;禁止修改任何源文件;禁止在输出中使用绝对路径。价格、平台支持与效果等资料暂未提供。