К основному содержанию
скилл CX Codex

grepai-chunking — скилл для Claude Code: что делает и как установить

Настраивает правила разбиения исходного кода на фрагменты в GrepAI. Помогает сбалансировать размер чанков и контекст при семантическом поиске по репозиторию.

Установить в Claude Code · Через Skills CLI (Vercel) Все способы и платформы ↓
npx skills add yoanbernabeu/grepai-skills --skill grepai-chunking -a claude-code
Открыть на GitHub

Что делает grepai-chunking

Скилл учит агента настраивать разбиение файлов на блоки в .grepai/config.yaml. В конфигурации задаются два ключевых значения: size и overlap. Они определяют целевой размер фрагмента в токенах и степень перекрытия соседних срезов.

Инструмент опирается на синтаксические границы. Он режет код по пустым строкам, скобкам или завершению выражений. Для многословных Java или C# рекомендован размер 768 токенов. Для компактных Rust или Zig хватает 384 токенов.

Изменение настроек всегда требует переиндексации. Придётся удалить файл .grepai/index.gob и заново запустить grepai watch.

Какие задачи решает

  • подобрать размер чанков под синтаксис Go, Python, Java или Rust
  • устранить потерю контекста на границах функций при поиске по коду
  • сократить разрастание индекса эмбеддингов в монорепозиториях
  • переиндексировать проект после изменения параметров нарезки

Примеры запросов агенту

  • Помоги настроить размер чанков в GrepAI для микросервиса на Go
  • Покажи конфигурацию .grepai/config.yaml для монолита на Java
  • Почему семантический поиск GrepAI выдаёт обрывки функций вместо целого блока?

Как установить grepai-chunking

1Через Skills CLI (Vercel)

npx skills add yoanbernabeu/grepai-skills --skill grepai-chunking -a claude-code

2Вручную: положить файлы

~/.claude/skills/grepai-chunking/SKILL.md

Папка скилла целиком; для одного проекта — .claude/skills/grepai-chunking/

По шагам, с командами для каждой платформы: Как установить скилл в Claude Code: пять способов

Вопросы о grepai-chunking

Как установить grepai-chunking в Claude Code?

Выполните команду npx skills add yoanbernabeu/grepai-skills --skill grepai-chunking -a claude-code. Также файл скилла можно положить напрямую в ~/.claude/skills/grepai-chunking/SKILL.md.

Зачем настраивать параметры chunking в GrepAI?

От размера фрагментов зависит качество векторного поиска. Большие блоки снижают точность совпадений, а слишком мелкие теряют контекст вызова функций.

Что нужно сделать после изменения размера чанков?

Необходимо удалить старый индекс командой rm .grepai/index.gob и запустить переиндексацию с помощью grepai watch.

Исходный текст

SKILL.md · MIT
---
name: grepai-chunking
description: Configure code chunking in GrepAI. Use this skill to optimize how code is split for embedding.
---

# GrepAI Chunking Configuration

This skill covers how GrepAI splits code files into chunks for embedding, and how to optimize chunking for your codebase.

## When to Use This Skill

- Optimizing search accuracy
- Adjusting for code style (verbose vs. concise)
- Troubleshooting search results
- Understanding how indexing works

## What is Chunking?

Chunking is the process of splitting source files into smaller segments for embedding:

```
┌─────────────────────────────────────┐
│         Large Source File           │
│         (1000+ tokens)              │
└─────────────────────────────────────┘
                  ↓
┌─────────┐ ┌─────────┐ ┌─────────┐
│ Chunk 1 │ │ Chunk 2 │ │ Chunk 3 │
│ ~512    │ │ ~512    │ │ ~512    │
│ tokens  │ │ tokens  │ │ tokens  │
└─────────┘ └─────────┘ └─────────┘
                  ↓
          Each chunk gets
          its own embedding
```

## Why Chunking Matters

Embedding models have optimal input sizes:
- **Too large chunks:** Less precise search results
- **Too small chunks:** Lost context, fragmented results
- **Just right:** Good balance of precision and context

## Configuration

### Basic Settings

```yaml
# .grepai/config.yaml
chunking:
  size: 512      # Tokens per chunk
  overlap: 50    # Overlap between chunks
```

### Understanding Parameters

#### Chunk Size

The target number of tokens per chunk.

| Size | Effect |
|------|--------|
| 256 | More precise, less context |
| 512 | Balanced (default) |
| 1024 | More context, less precise |

#### Overlap

Tokens shared between adjacent chunks. Preserves context at boundaries.

| Overlap | Effect |
|---------|--------|
| 0 | No overlap, may lose context at boundaries |
| 50 | Standard overlap (default) |
| 100 | More context, larger index |

## Visualization

With size=512 and overlap=50:

```
File: auth.go (1000 tokens)

Chunk 1: tokens 1-512
         ┌────────────────────────────────────┐
         │ func Login(user, pass)...          │
         └────────────────────────────────────┘
                                    ↘
                              50 token overlap
                                    ↙
Chunk 2: tokens 463-974
         ┌────────────────────────────────────┐
         │ ...validate credentials...         │
         └────────────────────────────────────┘
                                    ↘
                              50 token overlap
                                    ↙
Chunk 3: tokens 925-1000
         ┌──────────────┐
         │ ...return    │
         └──────────────┘
```

## Recommended Settings by Language

### Verbose Languages (Java, C#)

```yaml
chunking:
  size: 768    # Larger to capture full methods
  overlap: 75
```

### Concise Languages (Go, Python)

```yaml
chunking:
  size: 512    # Standard size
  overlap: 50
```

### Very Concise (Rust, Zig)

```yaml
chunking:
  size: 384    # Smaller for precise results
  overlap: 40
```

## Recommended Settings by Codebase

### Small Functions (Microservices)

```yaml
chunking:
  size: 384    # Capture individual functions
  overlap: 40
```

### Large Classes (Monolith)

```yaml
chunking:
  size: 768    # Capture more context
  overlap: 100
```

### Mixed Codebase

```yaml
chunking:
  size: 512    # Balanced default
  overlap: 50
```

## How Tokens are Counted

GrepAI uses approximate token counting:
- ~4 characters = 1 token (for English text)
- Code varies based on identifiers and syntax

Example:
```go
func calculateTotal(items []Item) float64 {
    total := 0.0
    for _, item := range items {
        total += item.Price * float64(item.Quantity)
    }
    return total
}
```
≈ 45 tokens

## Impact on Index Size

Larger overlap = more chunks = larger index:

| Size | Overlap | Chunks per 10K tokens | Index Impact |
|------|---------|----------------------|--------------|
| 512 | 0 | ~20 | Smallest |
| 512 | 50 | ~22 | Standard |
| 512 | 100 | ~24 | +10% |
| 256 | 50 | ~44 | +100% |

## Impact on Search Quality

### Too Small Chunks (size: 128)

```
Query: "authentication middleware"

Result: "...c.AbortWithStatus(401)..."
        (Fragment, missing context)
```

### Just Right (size: 512)

```
Query: "authentication middleware"

Result: "func AuthMiddleware() gin.HandlerFunc {
            return func(c *gin.Context) {
                token := c.GetHeader("Authorization")
                if token == "" {
                    c.AbortWithStatus(401)
                    return
                }
                // validate token...
            }
        }"
        (Complete function with context)
```

### Too Large Chunks (size: 2048)

```
Query: "authentication middleware"

Result: "// Multiple unrelated functions...
        func AuthMiddleware()... (your match)
        func LoggingMiddleware()...
        func CORSMiddleware()..."
        (Too much noise)
```

## Experimentation

### Testing Different Settings

1. Try smaller chunks for more precise results:
```yaml
chunking:
  size: 384
  overlap: 40
```

2. Re-index:
```bash
rm .grepai/index.gob
grepai watch
```

3. Test with searches:
```bash
grepai search "your query"
```

4. Adjust and repeat until satisfied.

### Comparing Results

Before changing settings, save a search result:
```bash
grepai search "authentication" > before.txt
```

After changing settings and re-indexing:
```bash
grepai search "authentication" > after.txt
diff before.txt after.txt
```

## Chunk Boundaries

GrepAI tries to split at logical boundaries:
1. Empty lines (function/class boundaries)
2. Closing braces
3. Statement ends

This means actual chunk sizes may vary slightly from the target.

## Best Practices

1. **Start with defaults:** 512/50 works well for most codebases
2. **Adjust based on code style:** Verbose = larger, concise = smaller
3. **Test with real queries:** See what your searches return
4. **Re-index after changes:** Must regenerate embeddings
5. **Consider overlap:** Don't set to 0 unless index size is critical

## Common Issues

❌ **Problem:** Search results are too fragmented
✅ **Solution:** Increase chunk size:
```yaml
chunking:
  size: 768
```

❌ **Problem:** Search results have too much irrelevant context
✅ **Solution:** Decrease chunk size:
```yaml
chunking:
  size: 384
```

❌ **Problem:** Results miss related code at function boundaries
✅ **Solution:** Increase overlap:
```yaml
chunking:
  overlap: 100
```

❌ **Problem:** Index is too large
✅ **Solutions:**
- Decrease overlap
- Increase chunk size
- Add more ignore patterns

## Output Format

Chunking status:

```
✅ Chunking Configuration

   Size: 512 tokens
   Overlap: 50 tokens

   Index Statistics:
   - Total files: 245
   - Total chunks: 1,234
   - Avg chunks/file: 5.0
   - Avg chunk size: 478 tokens

   Recommendations:
   - Current settings are balanced
   - Consider size: 384 for more precise results
   - Consider size: 768 for more context
```

© yoanbernabeu · MIT · yoanbernabeu/grepai-skills

Похожие скиллы

Все скиллы по теме «Настройка агента: память, контекст, субагенты» →
setup-matt-pocock-skills Matt Pocock Скилл настраивает репозиторий для инженерных скиллов Matt Pocock: задаёт трекер задач, метки триажа и расположение доменной документации. Запустите его перед первым использованием остальных скиллов. 1 052 851установок ask-matt Matt Pocock Помогает выбрать подходящий скилл или рабочий поток из набора Matt Pocock. Пригодится, когда непонятно, с чего начать задачу: от идеи до разбора бага. 766 587установок to-tickets Matt Pocock Разбивает план, спецификацию или переписку на небольшие сквозные задачи и отмечает, какие из них блокируют остальные. Пригодится, когда нужно согласовать порядок работы до публикации задач в трекере. 711 230установок writing-plans Jesse Vincent Скилл превращает требования к многошаговой задаче в подробный план реализации до начала работы с кодом. Пригодится, когда исполнителю нужно зафиксировать файлы, интерфейсы и проверки. CX Codex 282 859установок caveman-review JuliusBrussee Пишет замечания к коду одной строкой: место, проблема, исправление. Пригодится, когда ревью диффа или PR надо пройти быстро и без воды. CX Codex +1 411 800установок caveman-compress JuliusBrussee Сжимает CLAUDE.md, списки задач и другие текстовые файлы в краткий формат, сохраняя читаемую резервную копию. CX Codex +1 411 500установок

Из того же набора20

grepai-trace-callees Скилл учит агента вызывать grepai trace callees и разбирать, какие функции вызывает конкретная функция — с файлами, строками и контекстом вызова. CX Codex +1 762установок grepai-search-boosting Скилл настраивает бусты и штрафы в GrepAI, чтобы исходники поднимались выше тестов, документации и вендорного кода. CX Codex +1 749установок grepai-mcp-tools Справочник по пяти инструментам GrepAI для поиска по коду, построения графов вызовов и проверки статуса индекса. CX Codex +1 715установок grepai-languages Справочник поддерживаемых языков для инструмента GrepAI. Показывает, где работает построение графов вызовов, а где доступен только семантический поиск. CX Codex +1 704установок grepai-watch-daemon Скилл учит агента запускать и настраивать демон grepai watch: первичная индексация проекта, слежение за файлами, фоновый режим и разбор сбоев. CX Codex +1 693установок grepai-troubleshooting Скилл помогает найти причины проблем GrepAI: пустого поиска, сломанного индекса, ошибок Ollama и MCP. Подключайте его для диагностики проекта. CX Codex +1 688установок grepai-config-reference Скилл-шпаргалка по всем параметрам .grepai/config.yaml: эмбеддер, хранилище, чанки, поиск. Пригодится, когда нужно понять опцию или починить конфиг. CX Codex +1 688установок grepai-workspaces Скилл учит агента настраивать рабочие пространства GrepAI: несколько проектов, один поисковый индекс, поиск по всем сразу или по одному. CX Codex +1 682установок

Спонсоры проекта

Компании, которые помогают держать аналитику открытой