Install
npx skillscat add oneboxcream/claude-code-setup/iterative-retrieval Install via the SkillsCat registry.
SKILL.md
Iterative Retrieval
问题
大代码库中,一次性搜索很难找到所有相关文件:
- 搜太宽:上下文爆炸,关键信息被淹没
- 搜太窄:遗漏重要依赖和关联
四阶段检索循环
Phase 1: DISPATCH(广撒网)
用高层级关键词进行初始搜索:
- Glob: 文件名模式匹配(*.py, *config*, *train*)
- Grep: 核心概念搜索(class名, 函数名, 关键变量)
- 目标: 建立初始候选文件列表(10-20个)Phase 2: EVALUATE(评估筛选)
对每个候选文件打分 0-1:
- 1.0: 核心文件,必须完整阅读
- 0.7-0.9: 高度相关,需要读关键部分
- 0.3-0.6: 可能相关,先记录备用
- 0.0-0.2: 不相关,排除关键:记录从文件中新发现的术语(类名、配置项、路径模式)
Phase 3: REFINE(精确搜索)
用 Phase 2 中发现的新术语重新搜索:
- 替换模糊关键词为项目特定术语
- 追踪 import 链和调用关系
- 排除已确认无关的目录Phase 4: LOOP(循环判断)
- 如果高分文件 ≥ 3 个且无新发现 → 停止,上下文够了
- 如果仍有明显知识缺口 → 回到 Phase 1(最多 3 轮)
适用场景
- 调试跨模块的数据流问题
- 理解训练 pipeline 的完整链路
- 分析模型推理的依赖关系
- 大型项目的功能开发前探索
输出格式
## 检索结果
### 核心文件(必读)
1. `path/to/file.py` [1.0] - 主入口,包含核心逻辑
2. `path/to/config.py` [0.9] - 配置定义
### 辅助文件(参考)
3. `path/to/utils.py` [0.6] - 工具函数
### 检索过程
- Round 1: "train" → 发现 TrainEngine 类
- Round 2: "TrainEngine" → 发现 DataPipeline 依赖
- Round 3: "DataPipeline" → 确认完整链路