#Паттерны скиллов: живые данные, вспомогательные файлы и собственный контекст
Средний уровень · Факультатив · около 20 минут · Нужно: Превратите повторяющийся процесс в скилл · Сверено с Claude Code v2.1.285 (stable) 06.10.2026
#Цель
К концу этого факультатива вы сможете написать скилл, который подтягивает в свой промпт живые данные, держит объёмный справочный материал в отдельном файле и выполняется в собственном субагенте.
#Что понадобится
- Репозиторий с незакоммиченными изменениями для ревью и скиллы из урока 1.
- Расход лимита: небольшой.
#Идея
Скиллы из урока 1 состояли из инструкций и $ARGUMENTS. Ещё несколько паттернов позволяют скиллу делать больше, расходуя меньше контекста (Extend Claude with skills):
| Паттерн | Как записывается | Что делает |
|---|---|---|
| Живые данные | !`git diff HEAD` в теле |
Claude Code выполняет команду до того, как Claude прочитает скилл, и подставляет её вывод на это место |
| Вспомогательные файлы | Файлы рядом с SKILL.md, на которые он ссылается |
Объёмный справочный материал, который Claude читает, только когда он нужен |
| Собственный контекст | context: fork во фронтматтере |
Скилл становится промптом субагента, и субагент работает в фоне. Он не видит вашего разговора, а его результат приходит, когда он закончит |
| Именованные аргументы | arguments: [focus], затем $focus |
Каждое слово, которое вы набираете после имени, заполняет свой плейсхолдер |
| Выдача инструментов | allowed-tools: Read, Grep |
Claude может пользоваться этими инструментами без спроса в течение хода, в котором выполняется скилл. Другие инструменты при этом не отнимаются |
Держите SKILL.md коротким: после запуска скилла весь его текст остаётся в разговоре. Документация советует укладываться в 500 строк, а подробности выносить во вспомогательные файлы.
#Разбор примера
- Сохраните это как
.claude/skills/changes-review/SKILL.md:
---
name: changes-review
description: Reviews the uncommitted changes in this repository against the team checklist. Use when the user asks for a review before committing.
context: fork
allowed-tools: Bash(git diff *)
---
## Changes
!`git diff HEAD`
## Your task
Review the changes above against [checklist.md](checklist.md). Report each problem with its file and line, then one line on whether the change is ready to commit.
- Сохраните чек-лист рядом с ним как
.claude/skills/changes-review/checklist.md:
- Every changed function has a test.
- Errors are reported, not swallowed.
- No secrets in code or config.
- Внесите небольшое изменение в исходный файл, запустите
claudeи выполните/changes-review. Claude Code выполнитgit diff HEAD, подставит вывод в скилл и запустит с ним субагента. Субагент прочитает чек-лист, и его отчёт придёт в ваш разговор, когда он закончит. Правилоallowed-toolsзаранее одобряет командыgit diff.git diff HEADработает только на чтение и выполнился бы и без него, но вне режима auto подставляемая команда, которую не разрешают ваши правила, останавливает скилл. - Ещё один пример скилла с заранее одобренными инструментами —
claude-md-reviewиз этого руководства. Егоallowed-tools: Read, Glob, Grepпозволяет читать файлы без запросов; пользоваться другими инструментами Claude он не мешает (Pre-approve tools for a skill).
#Ваша очередь
Сделайте так, чтобы ревью принимало фокус:
- Добавьте
arguments: [focus]во фронтматтерchanges-review. - Измените задачу так, чтобы фокус ревью шёл первым:
Review the changes above against checklist.md, looking hardest at $focus. - Выполните
/changes-review tests, затем/changes-review secretsи сравните два отчёта.
#Проверка
Факультатив пройден, когда выполнено всё это:
-
head -8 .claude/skills/changes-review/SKILL.mdпоказываетcontext: forkиarguments: [focus]. -
grep -c 'git diff HEAD' .claude/skills/changes-review/SKILL.mdвыводит 1, аchecklist.mdлежит рядом сSKILL.md. - Самопроверка (не тестируется): два отчёта уделили больше всего внимания разным вещам.
Если /changes-review останавливается с Shell command failed или Shell command permission check failed, выполните git diff HEAD сами и проверьте строку allowed-tools: подставляемая команда, которая падает или не разрешена вашими правилами, прерывает весь скилл (Inject dynamic context).
#Что дальше
- Skill authoring best practices: как писать описания, структурировать вспомогательные файлы и тестировать скилл.
- anthropics/skills: примеры скиллов от Anthropic. Некоторые из них с открытым исходным кодом, но не под открытой лицензией, поэтому прочитайте лицензию каждого, прежде чем копировать.
- Troubleshooting: скиллы, которые не срабатывают, срабатывают слишком часто или перестают выполняться.
Источники: Extend Claude with skills · anthropics/skills
Назад к оглавлению Среднего уровня · Тема: Скиллы · Застряли на уроке?