目标
GitHub 内的搜索语义与通用 Web 搜索差别很大,必须切换到 GitHub Code Search 限定符。本 skill 给出仓库、Issue、PR、符号、变更历史五个面向的检索规则。
适用场景
- 找用法 / 找历史决策 / 找版本变更 / 找符号定义
规则(共 13 条)
repo:/org:限定:跨仓库搜索时必带,否则结果近似随机。language::明确语言后召回率显著提升。path::用path:**/tests/**/path:docs/**收紧位置。symbol::找符号定义优先symbol:Foo,比正则匹配更准确。extension:/filename::定位 Dockerfile / Makefile /*.toml等约定文件。- Issue 用
is:issue+state::is:issue is:closed reason:completed找已解决问题。 - PR 用
is:pr is:merged:未合并的 PR 不能作为最终方案。 - 结论看 merged commit message + 末段评论:楼主原帖常常不是结论。
- 变更历史用
repo:.../commits检索:搜 commit message 里的关键词比搜代码更直达"什么时候改的"。 label::项目自定义 label(bug / regression / breaking-change)是高信号过滤器。- 跨仓库结果按维护活跃度排序:stars + 最近 commit + open/closed issue 比例,避免选到弃坑仓库。
in:title/in:body:搜 issue 时区分标题与正文,标题命中权重更高。- 优先 official org:同名仓库存在时(fork / mirror),优先官方组织名下的版本作为 ground truth。
执行流程
- 判断目标面:repo / issue / pr / symbol / commits。
- 套用对应限定符模板。
- 结果按活跃度 + 官方度排序。
- 进入仓库后,结合
codebase_search做精确定位。
关联 skill
codebase_search— 进入仓库后的精确 / 结构搜索forum_search— 议题里的社区讨论用社区规则评估general_query_construction— query 构造上游