✻ Claude Code по-русски
🎧 Аудиокурс
🎧 Озвучка этой страницы готовится.

#Паттерны скиллов: живые данные, вспомогательные файлы и собственный контекст

Средний уровень · Факультатив · около 20 минут · Нужно: Превратите повторяющийся процесс в скилл · Сверено с Claude Code v2.1.285 (stable) 06.10.2026

#Цель

К концу этого факультатива вы сможете написать скилл, который подтягивает в свой промпт живые данные, держит объёмный справочный материал в отдельном файле и выполняется в собственном субагенте.

#Что понадобится

#Идея

Скиллы из урока 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 строк, а подробности выносить во вспомогательные файлы.

#Разбор примера

  1. Сохраните это как .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.
  1. Сохраните чек-лист рядом с ним как .claude/skills/changes-review/checklist.md:
- Every changed function has a test.
- Errors are reported, not swallowed.
- No secrets in code or config.
  1. Внесите небольшое изменение в исходный файл, запустите claude и выполните /changes-review. Claude Code выполнит git diff HEAD, подставит вывод в скилл и запустит с ним субагента. Субагент прочитает чек-лист, и его отчёт придёт в ваш разговор, когда он закончит. Правило allowed-tools заранее одобряет команды git diff. git diff HEAD работает только на чтение и выполнился бы и без него, но вне режима auto подставляемая команда, которую не разрешают ваши правила, останавливает скилл.
  2. Ещё один пример скилла с заранее одобренными инструментами — claude-md-review из этого руководства. Его allowed-tools: Read, Glob, Grep позволяет читать файлы без запросов; пользоваться другими инструментами Claude он не мешает (Pre-approve tools for a skill).

#Ваша очередь

Сделайте так, чтобы ревью принимало фокус:

  1. Добавьте arguments: [focus] во фронтматтер changes-review.
  2. Измените задачу так, чтобы фокус ревью шёл первым: Review the changes above against checklist.md, looking hardest at $focus.
  3. Выполните /changes-review tests, затем /changes-review secrets и сравните два отчёта.

#Проверка

Факультатив пройден, когда выполнено всё это:

Если /changes-review останавливается с Shell command failed или Shell command permission check failed, выполните git diff HEAD сами и проверьте строку allowed-tools: подставляемая команда, которая падает или не разрешена вашими правилами, прерывает весь скилл (Inject dynamic context).

#Что дальше


Источники: Extend Claude with skills · anthropics/skills

Назад к оглавлению Среднего уровня · Тема: Скиллы · Застряли на уроке?