affaan-m/ECC

iterative-retrieval

서브에이전트 컨텍스트 문제를 해결하기 위한 점진적 컨텍스트 검색 개선 패턴

74CollectingNetwork access
See how to use itView GitHub source
npx skills add https://github.com/affaan-m/ECC --skill "docs/ko-KR/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: 서브에이전트가 작업을 시작하기 전까지 필요한 컨텍스트를 알 수 없는 멀티 에이전트 워크플로우의 "컨텍스트 문제"를 해결합니다.

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

Best fit

  • 서브에이전트 컨텍스트 문제를 해결하기 위한 점진적 컨텍스트 검색 개선 패턴

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

활성화 시점

사전에 예측할 수 없는 코드베이스 컨텍스트가 필요한 서브에이전트를 생성할 때

SKILL.md · 활성화 시점
사전에 예측할 수 없는 코드베이스 컨텍스트가 필요한 서브에이전트를 생성할 때컨텍스트가 점진적으로 개선되는 멀티 에이전트 워크플로우를 구축할 때에이전트 작업에서 "컨텍스트 초과" 또는 "컨텍스트 누락" 실패를 겪을 때
02

문제

서브에이전트는 제한된 컨텍스트로 생성됩니다. 다음을 알 수 없습니다: - 관련 코드가 포함된 파일 - 코드베이스에 존재하는 패턴 - 프로젝트에서 사용하는 용어

SKILL.md · 문제
관련 코드가 포함된 파일코드베이스에 존재하는 패턴프로젝트에서 사용하는 용어
03

해결책: 반복적 검색

컨텍스트를 점진적으로 개선하는 4단계 루프:

SKILL.md · 해결책: 반복적 검색
높음 (0.8-1.0): 대상 기능을 직접 구현중간 (0.5-0.7): 관련 패턴이나 타입을 포함낮음 (0.2-0.4): 간접적으로 관련
04

1단계: DISPATCH

후보 파일을 수집하기 위한 초기 광범위 쿼리:

SKILL.md · 1단계: DISPATCH
후보 파일을 수집하기 위한 초기 광범위 쿼리:
05

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): 간접적으로 관련

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”. 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 “해결책: 반복적 검색” has been checked.

The source section “1단계: DISPATCH” 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?

서브에이전트가 작업을 시작하기 전까지 필요한 컨텍스트를 알 수 없는 멀티 에이전트 워크플로우의 "컨텍스트 문제"를 해결합니다.

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/ko-KR/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
Documentation22/30
Specificity18/25
Maintenance20/20
Trust signals14/25
View original Skill.mdThis page is parsed directly from the repository SKILL.md without editorial rewriting. Collected: Jul 28, 2026 · about 2 min

반복적 검색 패턴

서브에이전트가 작업을 시작하기 전까지 필요한 컨텍스트를 알 수 없는 멀티 에이전트 워크플로우의 "컨텍스트 문제"를 해결합니다.

활성화 시점

  • 사전에 예측할 수 없는 코드베이스 컨텍스트가 필요한 서브에이전트를 생성할 때
  • 컨텍스트가 점진적으로 개선되는 멀티 에이전트 워크플로우를 구축할 때
  • 에이전트 작업에서 "컨텍스트 초과" 또는 "컨텍스트 누락" 실패를 겪을 때
  • 코드 탐색을 위한 RAG 유사 검색 파이프라인을 설계할 때
  • 에이전트 오케스트레이션에서 토큰 사용량을 최적화할 때

문제

서브에이전트는 제한된 컨텍스트로 생성됩니다. 다음을 알 수 없습니다:

  • 관련 코드가 포함된 파일
  • 코드베이스에 존재하는 패턴
  • 프로젝트에서 사용하는 용어

표준 접근법의 실패:

  • 모든 것을 전송: 컨텍스트 제한 초과
  • 아무것도 전송하지 않음: 에이전트가 중요한 정보를 갖지 못함
  • 필요한 것을 추측: 종종 잘못됨

해결책: 반복적 검색

컨텍스트를 점진적으로 개선하는 4단계 루프:

┌─────────────────────────────────────────────┐
│                                             │
│   ┌──────────┐      ┌──────────┐            │
│   │ DISPATCH │─────│ EVALUATE │            │
│   └──────────┘      └──────────┘            │
│        ▲                  │                 │
│        │                  ▼                 │
│   ┌──────────┐      ┌──────────┐            │
│   │   LOOP   │─────│  REFINE  │            │
│   └──────────┘      └──────────┘            │
│                                             │
│        Max 3 cycles, then proceed           │
└─────────────────────────────────────────────┘

1단계: DISPATCH

후보 파일을 수집하기 위한 초기 광범위 쿼리:

// Start with high-level intent
const initialQuery = {
  patterns: ['src/**/*.ts', 'lib/**/*.ts'],
  keywords: ['authentication', 'user', 'session'],
  excludes: ['*.test.ts', '*.spec.ts']
};

// Dispatch to retrieval 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 {
    // Add new patterns discovered in high-relevance files
    patterns: [...previousQuery.patterns, ...extractPatterns(evaluation)],

    // Add terminology found in codebase
    keywords: [...previousQuery.keywords, ...extractKeywords(evaluation)],

    // Exclude confirmed irrelevant paths
    excludes: [...previousQuery.excludes, ...evaluation
      .filter(e => e.relevance < 0.2)
      .map(e => e.path)
    ],

    // Target specific gaps
    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);

    // Check if we have sufficient context
    const highRelevance = evaluation.filter(e => e.relevance >= 0.7);
    if (highRelevance.length >= 3 && !hasCriticalGaps(evaluation)) {
      return highRelevance;
    }

    // Refine and continue
    query = refineQuery(evaluation, query);
    bestContext = mergeContext(bestContext, highRelevance);
  }

  return bestContext;
}

실용적인 예시

예시 1: 버그 수정 컨텍스트

Task: "Fix the authentication token expiry bug"

Cycle 1:
  DISPATCH: Search for "token", "auth", "expiry" in src/**
  EVALUATE: Found auth.ts (0.9), tokens.ts (0.8), user.ts (0.3)
  REFINE: Add "refresh", "jwt" keywords; exclude user.ts

Cycle 2:
  DISPATCH: Search refined terms
  EVALUATE: Found session-manager.ts (0.95), jwt-utils.ts (0.85)
  REFINE: Sufficient context (2 high-relevance files)

Result: auth.ts, tokens.ts, session-manager.ts, jwt-utils.ts

예시 2: 기능 구현

Task: "Add rate limiting to API endpoints"

Cycle 1:
  DISPATCH: Search "rate", "limit", "api" in routes/**
  EVALUATE: No matches - codebase uses "throttle" terminology
  REFINE: Add "throttle", "middleware" keywords

Cycle 2:
  DISPATCH: Search refined terms
  EVALUATE: Found throttle.ts (0.9), middleware/index.ts (0.7)
  REFINE: Need router patterns

Cycle 3:
  DISPATCH: Search "router", "express" patterns
  EVALUATE: Found router-setup.ts (0.8)
  REFINE: Sufficient context

Result: throttle.ts, middleware/index.ts, router-setup.ts

에이전트와의 통합

에이전트 프롬프트에서 사용:

When retrieving context for this task:
1. Start with broad keyword search
2. Evaluate each file's relevance (0-1 scale)
3. Identify what context is still missing
4. Refine search criteria and repeat (max 3 cycles)
5. Return files with relevance >= 0.7

모범 사례

  1. 광범위하게 시작하여 점진적으로 좁히기 - 초기 쿼리를 과도하게 지정하지 않기
  2. 코드베이스 용어 학습 - 첫 번째 사이클에서 주로 네이밍 컨벤션이 드러남
  3. 누락된 것 추적 - 명시적 격차 식별이 개선을 주도
  4. "충분히 좋은" 수준에서 중단 - 관련성 높은 파일 3개가 보통 수준의 파일 10개보다 나음
  5. 자신 있게 제외 - 관련성 낮은 파일은 관련성이 높아지지 않음

관련 항목

  • The Longform Guide - 서브에이전트 오케스트레이션 섹션
  • continuous-learning 스킬 - 시간이 지남에 따라 개선되는 패턴
  • ~/.claude/agents/의 에이전트 정의
Source repo
affaan-m/ECC
Skill path
docs/ko-KR/skills/iterative-retrieval/SKILL.md
Commit SHA
4e973d3eaf92
Repository license
MIT
Data collected