技能包

ast-grep 技能:按语法结构搜索代码,而不是只搜文本

适合要按 AST 结构查找代码的人,前提是本机已安装 ast-grep,并在提问里显式要求使用该技能后再做只读搜索。

官方来源 · ast-grep agent-skill

安装

npx skills add ast-grep/agent-skill

适合谁

当你要用编程助手按代码结构(抽象语法树)搜索,而不是只做文本匹配时,再用这个技能。官方把它放在 Claude Code 的插件市场里,提供 ast-grep 结构搜索能力。

前置条件:本机已经安装 ast-grep,并且助手能安装技能。说明没有写 ast-grep 本身怎么装,不要补安装器。说明点名了 Claude Code,不要把其他客户端写成官方专属;名单以外能不能用,原文没写。

安装主路径只有一条 npx 命令。装好后必须在提问里显式要求使用该技能,例如 “Use ast-grep to find...”。说明写到 2025 年 11 月,Claude Code 还不能在所有合适场景自动判断该用 ast-grep。说明没有写落地目录,装完只在当前助手里确认该技能可被点名使用。

3 分钟完成第一次尝试

官方页面:

https://github.com/ast-grep/agent-skill

先确认本机 ast-grep 可用,再执行推荐安装(会往本机写技能文件,先核对仓库名):

npx skills add ast-grep/agent-skill

命令失败就停下。成功后不要先改业务代码。打开一个已有仓库,用自然语言明确说:Use ast-grep to find...,并给出一个低风险的结构目标,例如查找某种函数调用形态。要求助手先分析是否适合用 ast-grep,写出匹配用的示例和规则,并先在示例上测试。

成功信号:助手显式走了 ast-grep,规则已在示例上验证,并且全库结果带有文件路径和行号。若它要写入规则文件或改业务代码,先拦住,确认副作用后再继续。

使用案例

案例一:只读结构搜索。提问必须显式点名 ast-grep。让助手按结构找出匹配,并返回文件路径和行号。第一次只看结果,不要让它顺便重构。说明没有给出语言范围或示例仓库;不要从想象中的语言清单做推断。

案例二:先写规则、再验证、最后搜全库。说明里的步骤是:分析查询是否适合 ast-grep,创建匹配用的示例代码,编写规则,在示例上测试,通过后再搜索整个代码库,最后给出路径和行号。只有示例测试通过,才允许搜全库。说明没有写规则文件路径或 CLI 旗标;缺的不要补。

使用边界

主路径只写到:

npx skills add ast-grep/agent-skill

本机需要已安装 ast-grep。触发必须显式点名,例如 “Use ast-grep to find...”;不要指望它在所有场景自动选用。

能力只证据到结构搜索,以及「示例 → 规则 → 测试 → 全库 → 路径和行号」这条链路。它被写成 Claude Code 插件市场中的技能,但第一次不要改走未出现的市场点击步骤。

说明没有写 ast-grep 的安装命令、计费、语言范围或落地目录。第一次只做只读查找,不要把它当成重构入口。缺依据的项目保持未知,不要补操作。