用途:面向代码结构而非文本匹配的分析技能,核心是区分函数定义、调用、注释与字符串字面量。主要能力包括结构化模式搜索、批量代码迁移、依赖与影响分析、安全重命名、死代码与循环依赖检测、编写 ast-grep 规则与自定义 linting。主工具为 ast-grep(sg / ast-grep),基于 Rust、使用 tree-sitter 解析,开箱支持 20 多种语言。
用法:先检查是否已原生安装:which ast-grep || which sg;未安装可按系统选择 npm install -g @ast-grep/cli、brew install ast-grep 或 cargo install ast-grep --locked。搜索示例:ast-grep -p 'console.log($MSG)' -l js src/。元变量中 $NAME 匹配单个 AST 节点,$$$ARGS 匹配零个或多个节点,$_ 为匿名匹配。TypeScript 泛型调用需单独模式,如 useState<$T>($$$ARGS)。重写可用 -r 预览、--interactive 逐项确认。复杂分析建议用 --json 导出后由脚本处理。
工作流:影响分析按“定位定义、找直接调用者、必要时迭代传递调用者”进行;安全重构与迁移按“搜索、审查、预览、应用、验证零匹配”进行;重命名需多轮处理定义、调用点和导入导出,因为它们是不同的 AST 节点类型。批量图谱任务可用附带脚本:Python 用 python3 <SKILL_DIR>/scripts/build-graph.py <directory>,支持 --callers、--unused、--depends-on、--cycles;JS/TS 用 node <SKILL_DIR>/scripts/parse-js.mjs <file> --symbols。<SKILL_DIR> 需替换为 SKILL.md 所在绝对路径。
依赖与限制:JS/TS 解析脚本需 Node.js v14+、acorn、acorn-walk,可在 ast-code-graph 目录运行 npm install acorn acorn-walk;Python 图谱脚本需 Python 3.8+,仅用标准库。仅需查找字符串、错误信息或配置值时应用 grep;按文件名或扩展名找文件用 find/fd;代码库少于 5 个文件时直接阅读即可。其他未提供的信息暂未说明。