Skip to content
Back to skills

Retrieval Playbook For Ai

ASecurity

กลยุทธ์การ retrieve context ให้ AI อย่างมีประสิทธิภาพ - เลือกอะไร ไม่เลือกอะไร และจัดลำดับอย่างไร

  • 666 stars
  • 0 votes
  • 0 copies
  • 1 view
  • Added September 2, 2026
ai-agentstypescriptgodebuggingrefactoringgitapidocumentation

Works with

  • api

Security analysis

A100/100

Scanned September 2, 2026

npx -y skills add majiayu000/claude-skill-registry --skill retrieval-playbook-for-ai --agent claude-code

Installs into .claude/skills of the current project.

Are you the author of Retrieval Playbook For Ai?

Add the live security badge to your README. It updates with every re-scan.

Security grade badge for Retrieval Playbook For Ai
[![Security: A — Skills Directory](https://www.skillsdirectory.com/api/skills/majiayu000-retrieval-playbook-for-ai-claude-skill-registry/badge)](https://www.skillsdirectory.com/skills/majiayu000-retrieval-playbook-for-ai-claude-skill-registry)

More formats (shields.io, HTML) on the badges page. Keep it an A: scan every change in CI with Pro.

Download with Pro
SKILL.md
---
name: Retrieval Playbook for AI
description: กลยุทธ์การ retrieve context ให้ AI อย่างมีประสิทธิภาพ - เลือกอะไร ไม่เลือกอะไร และจัดลำดับอย่างไร
---

# Retrieval Playbook for AI

## Overview

Playbook สำหรับตัดสินใจว่าจะ retrieve context อะไรให้ AI - เลือกแค่ที่จำเป็น ตัดที่ไม่เกี่ยว จัดลำดับให้เหมาะสม

## Why This Matters

- **Relevance**: เฉพาะที่เกี่ยวข้อง
- **Token efficiency**: ไม่เสีย token กับข้อมูลไม่เกี่ยว
- **Better results**: AI focus ได้ดีขึ้น
- **Faster**: น้อย context = เร็วขึ้น

---

## Decision Tree

```
Task received
    ↓
Is it code-related?
    ├─ Yes → Retrieve code files
    └─ No → Skip code
         ↓
Need current state?
    ├─ Yes → Include recent changes
    └─ No → Skip history
         ↓
Need examples?
    ├─ Yes → Include 1-2 examples
    └─ No → Skip examples
         ↓
Assemble context
```

---

## Retrieval Rules

### Rule 1: Only Direct Dependencies
```
❌ Include entire codebase
✅ Include only files directly related

Example:
Task: Fix bug in auth.ts
Include:
- auth.ts (the file)
- types.ts (if auth.ts imports it)
- config.ts (if auth.ts uses it)

Don't include:
- unrelated files
- test files (unless debugging tests)
- documentation
```

### Rule 2: Snippets Over Full Files
```
❌ Include entire 500-line file
✅ Include 20-line relevant function

Example:
Task: Fix validateToken function
Include:
- validateToken function (lines 45-60)
- Related types (5 lines)
- Helper functions used (10 lines)

Total: ~35 lines vs 500 lines
Savings: 93%
```

### Rule 3: Recent Over Old
```
✅ Last 3 commits
❌ Full git history

✅ Current implementation
❌ Deprecated code
```

### Rule 4: Examples Only When Needed
```
Include examples when:
✓ New pattern/concept
✓ Complex logic
✓ User explicitly asks

Skip examples when:
✗ Simple CRUD
✗ Standard patterns
✗ Self-explanatory
```

---

## Context Prioritization

### Priority 1: Critical (Always Include)
```
- File with the bug/feature
- Error messages
- Relevant types/interfaces
- Direct dependencies
```

### Priority 2: Important (Include if Space)
```
- Related functions
- Configuration
- Recent changes
- Test cases
```

### Priority 3: Nice-to-Have (Usually Skip)
```
- Full documentation
- Examples
- Comments
- Historical context
```

---

## Retrieval Strategies by Task Type

### Bug Fix
```
Retrieve:
✓ File with bug (snippet)
✓ Error message
✓ Stack trace
✓ Related types

Skip:
✗ Entire file
✗ Unrelated files
✗ Documentation
✗ Tests (unless test is failing)
```

### Feature Development
```
Retrieve:
✓ Similar existing features (1 example)
✓ Relevant types
✓ API contracts
✓ Configuration

Skip:
✗ Multiple examples
✗ Full documentation
✗ Unrelated features
```

### Code Review
```
Retrieve:
✓ Changed files (diff)
✓ Related files (if imports changed)
✓ Style guide (summary)

Skip:
✗ Unchanged files
✗ Full style guide
✗ Historical context
```

### Refactoring
```
Retrieve:
✓ File to refactor
✓ Files that import it
✓ Tests for it

Skip:
✗ Unrelated files
✗ Documentation
✗ Examples
```

---

## Smart Filtering

### Filter by Recency
```typescript
// Get files changed in last 7 days
const recentFiles = gitLog()
  .filter(commit => commit.date > sevenDaysAgo)
  .flatMap(commit => commit.files);
```

### Filter by Relevance
```typescript
// Score files by relevance
const relevantFiles = allFiles
  .map(file => ({
    file,
    score: calculateRelevance(file, task)
  }))
  .filter(f => f.score > 0.7)
  .sort((a, b) => b.score - a.score)
  .slice(0, 5);  // Top 5 only
```

### Filter by Size
```typescript
// Prefer smaller, focused files
const files = candidates
  .filter(f => f.lines < 200)  // Skip large files
  .sort((a, b) => a.lines - b.lines);
```

---

## Context Assembly

### Order Matters
```
1. Summary (what we're doing)
2. Error/issue (if applicable)
3. Relevant code (snippets)
4. Types/interfaces
5. Configuration (if needed)

❌ Don't:
- Start with full files
- Mix unrelated contexts
- Bury important info
```

### Example Assembly
```markdown
# Task: Fix login bug

## Issue
Login fails with "Invalid token" error

## Code
```typescript
// auth.ts:45-60
function validateToken(token: string) {
  // Bug: missing null check
  return jwt.verify(token, SECRET);
}
```

## Types
```typescript
interface Token {
  userId: string;
  exp: number;
}
```

## Goal
Add null check before jwt.verify
```

---

## Metrics to Track

### Retrieval Efficiency
```typescript
interface RetrievalMetrics {
  filesRetrieved: number;
  tokensUsed: number;
  relevanceScore: number;  // 0-1
  taskSuccess: boolean;
}

// Good retrieval:
{
  filesRetrieved: 3,
  tokensUsed: 500,
  relevanceScore: 0.9,
  taskSuccess: true
}

// Bad retrieval:
{
  filesRetrieved: 20,
  tokensUsed: 5000,
  relevanceScore: 0.3,
  taskSuccess: false
}
```

---

## Anti-Patterns

### ❌ Kitchen Sink Approach
```
"Include everything just in case"
Result: 10,000 tokens, AI confused
```

### ❌ No Filtering
```
"Retrieve all files that mention 'user'"
Result: 50 files, mostly irrelevant
```

### ❌ Full File Dumps
```
"Here's the entire codebase"
Result: Context limit exceeded
```

### ❌ No Prioritization
```
"All files are equally important"
Result: Critical info buried
```

---

## Quick Checklist

```
Before retrieving, ask:
☐ Is this directly related to the task?
☐ Can I use a snippet instead of full file?
☐ Is this the most recent version?
☐ Will AI actually use this?
☐ Am I under my token budget?

If any answer is "no", reconsider including it.
```

---

## Summary

**Retrieval Playbook:** เลือก context อย่างชาญฉลาด

**Rules:**
1. Only direct dependencies
2. Snippets over full files
3. Recent over old
4. Examples only when needed

**Priorities:**
- P1: Critical (always)
- P2: Important (if space)
- P3: Nice-to-have (skip)

**By Task:**
- Bug fix: Error + snippet
- Feature: Example + types
- Review: Diff only
- Refactor: File + dependents

**Target:**
- 3-5 files max
- 500-1000 tokens
- 90%+ relevance

Attribution

Is this your skill, or is something wrong with this listing? Request removal or report an issue. Author removals are honored within 72 hours.

Comments

Loading comments…

Newsletter

Get the weekly list of safe new skills, and the ones we pulled.