affaan-m/ECC

iterative-retrieval

Pattern for progressively refining context retrieval to solve the subagent context problem

74Collecting
See how to use itView GitHub source
npx skills add https://github.com/affaan-m/ECC --skill "docs/zh-TW/skills/iterative-retrieval"
Automated source guide

Source checked Jul 28, 2026·Refresh due Oct 26, 2026

Reorganized from the pinned upstream SKILL.md

Turn iterative-retrieval's source instructions into a guide you can follow

According to the pinned SKILL.md from affaan-m/ECC: 解決多 agent 工作流程中的「上下文問題」,其中子 agents 在開始工作之前不知道需要什麼上下文。

npx skills add https://github.com/affaan-m/ECC --skill "docs/zh-TW/skills/iterative-retrieval"
Check the pinned source

Best fit

  • Pattern for progressively refining context retrieval to solve the subagent context problem

Bring this context

  • A concrete task that matches the documented purpose of iterative-retrieval.
  • The files, examples, or context the task depends on.
  • Your constraints, target environment, and definition of done.

Expected outputs

  • A result that follows the pinned iterative-retrieval instructions.
  • A concise record of assumptions, inputs used, and unresolved questions.
  • A final check against the source workflow and relevant permission signals.

Key source sections

Read iterative-retrieval through these 5 source sections

Sections are extracted automatically from the pinned SKILL.md and link back to the source.

01

問題

子 agents 以有限上下文產生。它們不知道: - 哪些檔案包含相關程式碼 - 程式碼庫中存在什麼模式 - 專案使用什麼術語

SKILL.md · 問題
哪些檔案包含相關程式碼程式碼庫中存在什麼模式專案使用什麼術語
02

解決方案:迭代檢索

評分標準: - 高(0.8-1.0):直接實作目標功能 - 中(0.5-0.7):包含相關模式或類型 - 低(0.2-0.4):間接相關 - 無(0-0.2):不相關,排除

SKILL.md · 解決方案:迭代檢索
高(0.8-1.0):直接實作目標功能中(0.5-0.7):包含相關模式或類型低(0.2-0.4):間接相關
03

階段 1:DISPATCH

Review the “階段 1:DISPATCH” section in the pinned source before continuing.

SKILL.md · 階段 1:DISPATCH
Review and apply the “階段 1:DISPATCH” source section.
04

階段 2:EVALUATE

評分標準: - 高(0.8-1.0):直接實作目標功能 - 中(0.5-0.7):包含相關模式或類型 - 低(0.2-0.4):間接相關 - 無(0-0.2):不相關,排除

SKILL.md · 階段 2:EVALUATE
高(0.8-1.0):直接實作目標功能中(0.5-0.7):包含相關模式或類型低(0.2-0.4):間接相關
05

階段 3:REFINE

Review the “階段 3:REFINE” section in the pinned source before continuing.

SKILL.md · 階段 3:REFINE
Review and apply the “階段 3:REFINE” source section.

SkillSignal prompt templates

Provide the task, context, and acceptance criteria

These prompts were written by SkillSignal from the source structure; they are not upstream text.

Task-start prompt

Confirm source fit, inputs, and outputs before acting.

Use iterative-retrieval to help me with: [specific task]. Context: [files, data, or background]. Constraints: [environment, scope, and prohibited actions]. Before acting, check the pinned SKILL.md and explain which sections apply, what inputs are still missing, and what you will deliver.

Source-guided execution

Make the Agent explicitly follow the key extracted sections.

Apply the pinned iterative-retrieval source to [task]. Pay particular attention to these source sections: “問題”, “解決方案:迭代檢索”, “階段 1:DISPATCH”, “階段 2:EVALUATE”, “階段 3:REFINE”. Preserve the important decision at each step. Mark facts not covered by the source as “needs confirmation” instead of inventing them. Then verify the result against my acceptance criteria: [criteria].

Result-review prompt

Check omissions, permissions, and source drift before delivery.

Review the current iterative-retrieval result: (1) does it satisfy the original task; (2) were any applicable steps or limits in the pinned SKILL.md missed; (3) did it perform any unauthorized file, command, network, or data action; and (4) which conclusions remain unverified? List issues first, then fix only what the source or user authorization supports.

Output checklist

Verify each item before delivery

The task matches the purpose documented in the SKILL.md.

The source section “問題” has been checked.

The source section “解決方案:迭代檢索” has been checked.

The source section “階段 1:DISPATCH” has been checked.

The source section “階段 2:EVALUATE” has been checked.

Inputs, constraints, and acceptance criteria are explicit.

Unverified facts, compatibility, and outcome claims are clearly marked.

Any file, command, network, or data action has been reviewed.

Choose a different workflow

When another Skill is the better fit

FAQ

What does iterative-retrieval do?

解決多 agent 工作流程中的「上下文問題」,其中子 agents 在開始工作之前不知道需要什麼上下文。

How do I start using iterative-retrieval?

The catalog detected this source-specific install command: npx skills add https://github.com/affaan-m/ECC --skill "docs/zh-TW/skills/iterative-retrieval". Inspect the command and pinned source before running it.

Which Agent platforms does it declare?

No dedicated Agent platform is declared in the pinned source record.

Repository stars
234,327
Repository forks
35,711
Quality
74/100
Source repository last pushed

Quality breakdown

Based on traceable docs and repository signals; stars are not treated as quality.

74/100
Documentation23/30
Specificity18/25
Maintenance18/20
Trust signals15/25
View original Skill.mdThis page is parsed directly from the repository SKILL.md without editorial rewriting. Collected: Jul 28, 2026 · about 1 min

迭代檢索模式

解決多 agent 工作流程中的「上下文問題」,其中子 agents 在開始工作之前不知道需要什麼上下文。

問題

子 agents 以有限上下文產生。它們不知道:

  • 哪些檔案包含相關程式碼
  • 程式碼庫中存在什麼模式
  • 專案使用什麼術語

標準方法失敗:

  • 傳送所有內容:超過上下文限制
  • 不傳送內容:Agent 缺乏關鍵資訊
  • 猜測需要什麼:經常錯誤

解決方案:迭代檢索

一個漸進精煉上下文的 4 階段循環:

┌─────────────────────────────────────────────┐
│                                             │
│   ┌──────────┐      ┌──────────┐            │
│   │ DISPATCH │─────│ EVALUATE │            │
│   └──────────┘      └──────────┘            │
│        ▲                  │                 │
│        │                  ▼                 │
│   ┌──────────┐      ┌──────────┐            │
│   │   LOOP   │─────│  REFINE  │            │
│   └──────────┘      └──────────┘            │
│                                             │
│        最多 3 個循環,然後繼續               │
└─────────────────────────────────────────────┘

階段 1:DISPATCH

初始廣泛查詢以收集候選檔案:

// 從高層意圖開始
const initialQuery = {
  patterns: ['src/**/*.ts', 'lib/**/*.ts'],
  keywords: ['authentication', 'user', 'session'],
  excludes: ['*.test.ts', '*.spec.ts']
};

// 派遣到檢索 agent
const candidates = await retrieveFiles(initialQuery);

階段 2:EVALUATE

評估檢索內容的相關性:

function evaluateRelevance(files, task) {
  return files.map(file => ({
    path: file.path,
    relevance: scoreRelevance(file.content, task),
    reason: explainRelevance(file.content, task),
    missingContext: identifyGaps(file.content, task)
  }));
}

評分標準:

  • 高(0.8-1.0):直接實作目標功能
  • 中(0.5-0.7):包含相關模式或類型
  • 低(0.2-0.4):間接相關
  • 無(0-0.2):不相關,排除

階段 3:REFINE

基於評估更新搜尋標準:

function refineQuery(evaluation, previousQuery) {
  return {
    // 新增在高相關性檔案中發現的新模式
    patterns: [...previousQuery.patterns, ...extractPatterns(evaluation)],

    // 新增在程式碼庫中找到的術語
    keywords: [...previousQuery.keywords, ...extractKeywords(evaluation)],

    // 排除確認不相關的路徑
    excludes: [...previousQuery.excludes, ...evaluation
      .filter(e => e.relevance < 0.2)
      .map(e => e.path)
    ],

    // 針對特定缺口
    focusAreas: evaluation
      .flatMap(e => e.missingContext)
      .filter(unique)
  };
}

階段 4:LOOP

以精煉標準重複(最多 3 個循環):

async function iterativeRetrieve(task, maxCycles = 3) {
  let query = createInitialQuery(task);
  let bestContext = [];

  for (let cycle = 0; cycle < maxCycles; cycle++) {
    const candidates = await retrieveFiles(query);
    const evaluation = evaluateRelevance(candidates, task);

    // 檢查是否有足夠上下文
    const highRelevance = evaluation.filter(e => e.relevance >= 0.7);
    if (highRelevance.length >= 3 && !hasCriticalGaps(evaluation)) {
      return highRelevance;
    }

    // 精煉並繼續
    query = refineQuery(evaluation, query);
    bestContext = mergeContext(bestContext, highRelevance);
  }

  return bestContext;
}

實際範例

範例 1:Bug 修復上下文

任務:「修復認證 token 過期 bug」

循環 1:
  DISPATCH:在 src/** 搜尋 "token"、"auth"、"expiry"
  EVALUATE:找到 auth.ts (0.9)、tokens.ts (0.8)、user.ts (0.3)
  REFINE:新增 "refresh"、"jwt" 關鍵字;排除 user.ts

循環 2:
  DISPATCH:搜尋精煉術語
  EVALUATE:找到 session-manager.ts (0.95)、jwt-utils.ts (0.85)
  REFINE:足夠上下文(2 個高相關性檔案)

結果:auth.ts、tokens.ts、session-manager.ts、jwt-utils.ts

範例 2:功能實作

任務:「為 API 端點增加速率限制」

循環 1:
  DISPATCH:在 routes/** 搜尋 "rate"、"limit"、"api"
  EVALUATE:無匹配 - 程式碼庫使用 "throttle" 術語
  REFINE:新增 "throttle"、"middleware" 關鍵字

循環 2:
  DISPATCH:搜尋精煉術語
  EVALUATE:找到 throttle.ts (0.9)、middleware/index.ts (0.7)
  REFINE:需要路由器模式

循環 3:
  DISPATCH:搜尋 "router"、"express" 模式
  EVALUATE:找到 router-setup.ts (0.8)
  REFINE:足夠上下文

結果:throttle.ts、middleware/index.ts、router-setup.ts

與 Agents 整合

在 agent 提示中使用:

為此任務檢索上下文時:
1. 從廣泛關鍵字搜尋開始
2. 評估每個檔案的相關性(0-1 尺度)
3. 識別仍缺少的上下文
4. 精煉搜尋標準並重複(最多 3 個循環)
5. 回傳相關性 >= 0.7 的檔案

最佳實務

  1. 從廣泛開始,逐漸縮小 - 不要過度指定初始查詢
  2. 學習程式碼庫術語 - 第一個循環通常會揭示命名慣例
  3. 追蹤缺失內容 - 明確的缺口識別驅動精煉
  4. 在「足夠好」時停止 - 3 個高相關性檔案勝過 10 個普通檔案
  5. 自信地排除 - 低相關性檔案不會變得相關

相關

  • Longform Guide - 子 agent 協調章節
  • continuous-learning 技能 - 用於隨時間改進的模式
  • ~/.claude/agents/ 中的 Agent 定義
Source repo
affaan-m/ECC
Skill path
docs/zh-TW/skills/iterative-retrieval/SKILL.md
Commit SHA
4e973d3eaf92
Repository license
MIT
Data collected