Agent skill
iterative-retrieval
Progressive context refinement for subagents and complex tasks. Retrieves context incrementally based on actual needs rather than loading everything upfront. Reduces context waste and improves relevance.
Install this agent skill to your Project
npx add-skill https://github.com/WenJunDuan/Rlues/tree/main/vibeCoding/old version/claude/config-agent_v7.9.1/.claude/skills/iterative-retrieval
SKILL.md
Iterative Retrieval Skill
Problem
Loading all potentially relevant context upfront:
- Wastes context window
- Includes irrelevant information
- Reduces signal-to-noise ratio
Solution
Retrieve context incrementally based on actual execution needs.
Retrieval Levels
Level 0: Task Description
└── Just the user request
Level 1: Immediate Context
└── Files mentioned + direct dependencies
Level 2: Extended Context
└── Related modules + tests
Level 3: Full Context
└── Architecture docs + cross-cutting concerns
Retrieval Protocol
1. Start Minimal
initial_load:
- Task description
- CLAUDE.md (current section)
- Target file(s) only
2. Detect Gaps
gap_signals:
- Reference to unknown function/type
- Import from unloaded module
- Pattern that needs clarification
- Test failure with unclear cause
3. Retrieve On-Demand
retrieval_action:
signal: "Unknown type UserProfile"
action: Load types/user.ts
scope: Type definitions only
4. Cache Decisions
cache_entry:
query: "UserProfile type"
result: "types/user.ts lines 15-30"
relevance: 0.95
reuse_for: ["user-related tasks"]
Implementation Patterns
For Subagent Delegation
# Subagent Context Protocol
## Mandatory (Level 0-1)
- Task objective
- Target file
- Immediate imports
## On-Request (Level 2)
- Related tests
- Usage examples
- Similar implementations
## Escalation (Level 3)
- Architecture docs
- Cross-module dependencies
- Historical decisions
For Complex Analysis
async function iterativeAnalysis(task) {
// Level 0: Understand task
const taskContext = await loadMinimal(task);
// Level 1: Load immediate
let context = await loadImmediate(task.files);
while (hasGaps(context)) {
// Level 2+: Fill gaps
const gaps = identifyGaps(context);
const additional = await loadForGaps(gaps);
context = mergeContext(context, additional);
// Prevent infinite loops
if (context.level > MAX_LEVEL) break;
}
return context;
}
Gap Detection Rules
| Signal | Action | Priority |
|---|---|---|
| Undefined reference | Load definition file | High |
| Test import | Load test file | Medium |
| Config reference | Load config | Medium |
| Doc comment link | Load doc | Low |
| Historical mention | Query experience | Low |
Context Scoring
relevance_score:
direct_reference: 1.0 # Explicitly mentioned
import_chain: 0.8 # Imported by target
type_dependency: 0.7 # Type used
test_coverage: 0.6 # Tests target
same_module: 0.5 # Same directory
doc_reference: 0.4 # Documentation
historical: 0.3 # Past experience
Integration with VibeCoding
With phase-router
routing_context:
path_a: level 0-1 only
path_b: level 0-2
path_c: full iterative
With subagents
subagent_protocol:
initial: level 0-1
on_request: level 2
escalate_to_main: level 3
With verification-loop
verification_context:
initial: test file + target
on_failure: add related modules
on_complex_failure: full context
Anti-Patterns
❌ Don't: Load entire codebase upfront ✅ Do: Start with target file only
❌ Don't: Include all tests ✅ Do: Load tests when verification fails
❌ Don't: Pass full history to subagent ✅ Do: Pass task-relevant summary
❌ Don't: Keep irrelevant context ✅ Do: Prune after task completion
Metrics
Track retrieval efficiency:
session_metrics:
initial_context_tokens: 2000
final_context_tokens: 8000
retrieval_requests: 5
cache_hits: 3
relevance_score_avg: 0.82
Recommended Agent Skills
Expand your agent's capabilities with these related and highly-rated skills.
agent-teams
Path D 并行编排 — 子代理分工 + Agent Teams 协作。需要 CLAUDE_CODE_EXPERIMENTAL_AGENT_TEAMS=1
tdd
Path 分级 TDD 策略
context7
E 阶段按需拉取库文档 — 用 ctx7 获取准确 API 信息
knowledge
跨会话经验管理 — 在 .ai_state 内沉淀和复用项目经验
code-quality
Rev 阶段 Plugin 编排顺序
verification
V 阶段 Path 分级验证清单
Didn't find tool you were looking for?