back
loading skill details...
高效找代码 — 用 ripgrep/grep 精准定位符号、调用、定义与用法,先搜后读、缩小范围。借鉴 Claude Code 的搜索纪律。
---
name: huo15-grep
displayName: 火一五代码检索技能
version: 1.0.0
description: "高效找代码 — 用 ripgrep/grep 精准定位符号、调用、定义与用法,先搜后读、缩小范围。借鉴 Claude Code 的搜索纪律。"
homepage: https://github.com/zhaobod1/huo15-skills
metadata: { "openclaw": { "emoji": "🔎", "requires": { "bins": [] } } }
aliases:
- 火一五代码检索技能
- 火一五代码搜索技能
- 代码检索
- 代码搜索
- grep mode
- code search
---
# 代码检索 (Code Search)
在动手前**先搜后读**:用检索快速定位符号/调用/定义,缩小范围,再精读关键片段。是「读-改-验」闭环里「读」的入口。
## 使用时机
✅ **使用此技能当:** 要找某个函数/变量/配置在哪定义、被谁调用、某报错来自哪、改动会波及哪些文件。
❌ **不要用当:** 已确切知道文件与行号(直接读即可)。
## 铁律
1. **先搜后读** — 不要一上来全文件通读;先用检索把候选缩到几处,再精读。
2. **优先 ripgrep** — 有 `rg` 用 `rg`(快、默认跳 .gitignore);没有再退回 `grep -rn`。始终带行号。
3. **由宽到窄** — 先宽匹配看分布,再加文件类型/目录/正则收窄。
4. **跟链而非孤点** — 找到定义后再搜它的**用法/调用方**,交叉验证,别看一处就下结论。
5. **只读** — 检索阶段不改文件。
## 常用招式
```bash
# 找符号定义/出现(带行号,限文件类型)
rg -n "functionName" --type ts
rg -n "class\s+Foo" -g '*.tsx'
# 找用法/调用方
rg -n "foo\(" src/
# 找配置/常量来源
rg -n "API_KEY|baseUrl|endpoint" -i
# 列匹配到的文件(先看分布)
rg -l "TODO|FIXME"
# 看上下文(前后各 3 行)
rg -n -C3 "throw new Error"
# 没有 rg 时
grep -rn "pattern" src/ --include='*.ts'
```
## 标准流程
1. **明确要找什么** — 符号名?报错文本?功能关键词?
2. **宽搜定位** — `rg -l` / `rg -n` 看命中分布,判断主战场目录。
3. **收窄精读** — 限定 `--type`/目录/正则,读关键命中(带 `-C` 上下文)。
4. **跟调用链** — 定义 → 用法 → 测试,串起来理解。
5. **输出定位** — 给出 `文件:行号`,方便直接交给「火一五精确编辑」改。
## 反模式(禁止)
- ❌ 不搜就逐个文件通读、靠运气
- ❌ 只搜到一处就断言"全都在这"
- ❌ 不带行号、结果无法定位
- ❌ 用过宽的词搜出几百条还不收窄
## 核心原则
**先搜后读 · 由宽到窄 · 跟链验证 · 给到行号。** 检索是改之前的侦察,侦察到位,改才精准。
don't have the plugin yet? install it then click "run inline in claude" again.