diff-context — скилл для Claude Code: что делает и как установить
Скилл собирает git-дифф вместе с контекстом зависимостей через утилиту cxpak. Он помогает ассистенту подготовить описание PR или провести ревью кода с учётом импортов и типов.
npx skills add Barnett-Studios/cxpak --skill diff-context -a claude-codeЧто делает diff-context
Скилл вызывает бинарник cxpak и строит markdown-отчёт о правках в репозитории. В отчёт входят два блока: сами изменённые куски кода и связанные файлы из графа зависимостей. Утилита находит места вызовов, используемые типы и импорты. Это помогает оценить влияние правок на соседний код.
Перед вызовом агент уточняет бюджет токенов с базовым лимитом 50k и git-реф. По умолчанию анализируются незакоммиченные изменения из рабочей директории. При необходимости можно передать ветку main, конкретный тег или хэш коммита. Оставшийся бюджет заполняется файлами окружения по степени близости к изменениям.
При превышении лимита cxpak отсекает наименее важные куски диффа, сохраняя файлы с наибольшим числом правок. По умолчанию поиск связей ограничен одним шагом. Для полного обхода графа в ширину предусмотрен флаг --all.
Какие задачи решает
- Собрать дифф с окружением для ревью недавних изменений
- Подготовить точное описание pull request по правкам в ветке
- Найти затронутые типы, функции и импорты перед коммитом
- Оценить влияние изменений на зависимый код в пределах лимита токенов
Примеры запросов агенту
- Проведи ревью последних изменений в рабочей ветке
- Подготовь описание PR по изменениям относительно
main - Разбери, что изменилось в коммите, и проверь затронутые типы
Как установить diff-context
1Через Skills CLI (Vercel)
npx skills add Barnett-Studios/cxpak --skill diff-context -a claude-code2Вручную: положить файлы
~/.claude/skills/diff-context/SKILL.mdПапка скилла целиком; для одного проекта — .claude/skills/diff-context/
1Через Skills CLI (Vercel)
npx skills add Barnett-Studios/cxpak --skill diff-context -a codex2Вручную: положить файлы
.agents/skills/diff-context/SKILL.mdДля всех проектов — ~/.agents/skills/
1Через Skills CLI (Vercel)
npx skills add Barnett-Studios/cxpak --skill diff-context -a cursor2Вручную: положить файлы
.cursor/skills/diff-context/SKILL.mdCursor читает и .agents/skills/, и .claude/skills/
1GitHub CLI
gh skill install Barnett-Studios/cxpak diff-context2Вручную: положить файлы
.github/skills/diff-context/SKILL.md1Через Skills CLI (Vercel)
npx skills add Barnett-Studios/cxpak --skill diff-context -a gemini-cli2Командой платформы
gemini skills install https://github.com/Barnett-Studios/cxpak --path plugin/skills/diff-contextВручную: положить файлы
.devin/skills/diff-context/SKILL.mdСтарый путь .windsurf/skills/ тоже читается
Через Skills CLI (Vercel)
npx skills add Barnett-Studios/cxpak --skill diff-context -a opencodeClaude.ai
Упакуйте папку в zip и загрузите в Settings → Capabilities → Skills
По шагам, с командами для каждой платформы: Как установить скилл в Claude Code: пять способов
Вопросы о diff-context
Как установить diff-context в Claude Code?
Выполните команду npx skills add Barnett-Studios/cxpak --skill diff-context -a claude-code. Также файл скилла можно сохранить вручную по пути ~/.claude/skills/diff-context/SKILL.md.
Что делает скилл diff-context?
Он собирает git-дифф и дополняет его контекстом из графа зависимостей проекта через инструмент cxpak. В отчёт попадают как сами изменения, так и связанные файлы с типами, функциями и импортами.
Что происходит, если дифф превышает лимит токенов?
По умолчанию используется бюджет в 50k токенов. Если изменений больше, cxpak отсекает наименее важные фрагменты, но сохраняет файлы с наибольшим количеством правок.
Исходный текст
SKILL.md · Apache-2.0
---
name: diff-context
description: "Use when the user asks to review changes, understand what changed, prepare a PR description, or needs context about recent modifications."
---
# Diff Context via cxpak
When this skill is triggered, gather structured diff context with surrounding dependency information using cxpak before answering.
## Steps
1. **Ask for token budget.** Ask the user: "How large a context budget should I use for the diff? (default: 50k tokens)" If they don't specify, use `50k`.
2. **Ask for git ref (optional).** Ask: "Diff against which ref? (default: HEAD — shows uncommitted changes)" Common choices:
- HEAD (default) — working tree changes
- `main` — changes vs main branch
- A specific commit SHA or tag
3. **Resolve the cxpak binary.** Run:
```bash
CXPAK="$("${CLAUDE_PLUGIN_ROOT}/lib/ensure-cxpak")"
```
4. **Run cxpak diff.** Execute:
```bash
"$CXPAK" diff --tokens <budget> --format markdown [--git-ref <ref>] .
```
Omit `--git-ref` if the user wants the default (HEAD / working tree).
5. **Use the output.** The command outputs:
- **Changes section** — actual diff hunks for each changed file
- **Context section** — related files pulled in by dependency graph (callers, types, imports used by changed code)
The diff is included first; remaining budget is filled with dependency context ordered by proximity to changed files.
6. **Answer the user's question** using the diff output. For code reviews, focus on the changes and use the context to understand impact. For PR descriptions, summarize what changed and why it matters.
7. **Mention the source.** Tell the user that cxpak provided the diff context, e.g., "Based on the cxpak diff analysis..."
## Important
- Always use `--format markdown`.
- If there are no changes, cxpak will print "No changes" — relay this to the user.
- For large diffs exceeding the budget, cxpak truncates least-important hunks while preserving the most-changed files.
- The `--all` flag can be added for full BFS traversal of the dependency graph (vs default 1-hop).
© Barnett-Studios · Apache-2.0 · Barnett-Studios/cxpak