✻ Claude Code по-русски
🎧 Аудиокурс
🎧 Слушать урок9:18 · голос Russian_BrightHeroine

#Превратите повторяющийся процесс в скилл

Средний уровень · Урок 1 из 8 · около 20 минут · Нужно: Оглавление Среднего уровня · Сверено с Claude Code v2.1.285 (stable) 06.10.2026

#Цель

К концу урока вы сможете превратить процесс, который постоянно повторяете, в скилл проекта: он запускается, когда вы набираете его имя, и сам подгружается, когда запрос ему соответствует.

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

Примечание

Начиная с этого уровня, уроки написаны для macOS, Linux и WSL 2. В Windows запускайте Claude Code внутри WSL 2 (Set up on Windows): в нативной Windows нет песочницы, которая используется в уроке 4, а хуки в уроке 5 — это bash-скрипты.

#Идея

Скилл — это папка с файлом SKILL.md: сначала YAML-фронтматтер, где сказано, для чего скилл, затем инструкции, которым следует Claude. Скилл проекта лежит в .claude/skills/<name>/SKILL.md. Закоммитьте его — и он будет у всех, кто работает в репозитории.

Пока скилл не запущен, в контексте Claude находится максимум его описание. Запускается он одним из двух способов, и в обоих случаях Claude Code затем загружает файл целиком:

flowchart LR
  accTitle: Два способа запустить скилл
  accDescr: Вы набираете имя скилла и проблему, которая попадает в $ARGUMENTS, или Claude сопоставляет ваш запрос с описанием скилла. В обоих случаях Claude Code загружает весь SKILL.md, и Claude следует его инструкциям.
  A["Вы набираете /five-whys и проблему — она попадает в $ARGUMENTS"] --> C["Claude Code загружает весь SKILL.md"]
  B["Вы задаёте вопрос, совпадающий с описанием скилла"] --> C
  C --> D["Claude следует инструкциям"]

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

  1. В своём репозитории создайте папку скилла и скачайте пример из этого руководства — five-whys. Прочитайте его, прежде чем использовать:
mkdir -p .claude/skills/five-whys
curl -fsSL https://raw.githubusercontent.com/wesammustafa/Claude-Code-Everything-You-Need-to-Know/main/examples/intermediate/01-first-skill/dot-claude/skills/five-whys/SKILL.md -o .claude/skills/five-whys/SKILL.md

Если не считать строк-комментариев в начале фронтматтера, в файле написано:

---
name: five-whys
description: Finds the root cause of a bug, failure or recurring problem by asking "why" until the answer is a cause you can fix. Use when the user asks why something keeps happening, or wants the root cause rather than a quick fix.
argument-hint: "[problem]"
---

Find the root cause of this problem: $ARGUMENTS

Дальше идут пять пронумерованных шагов и правило «Don't change any files» («Не меняй никаких файлов»). 2. Запустите claude в репозитории и выполните /skills (Commands). В списке будет five-whys с пометкой «скилл проекта». 3. Запустите скилл по имени, передав проблему из своего репозитория. В шаблоне для практики:

/five-whys npm run linkcheck -- samples exits with code 1

Claude воспроизводит проблему, задаёт вопрос «почему» на основе фактов, пока не дойдёт до причины, которую команда может изменить, а затем выдаёт цепочку, первопричину и два варианта исправления. Формулировки у вас будут другими. Во втором терминале git status покажет только новые файлы в .claude/: скилл велел Claude ничего не менять. 4. Выполните /clear, затем задайте вопрос, который подходит под описание, не называя скилл:

Why does the test suite pass even though samples/guide.md has a broken link? I want the root cause, not a quick fix.

Прежде чем Claude ответит, в расшифровке появится вызов инструмента Skill для five-whys: Claude подгрузил скилл сам (Tools reference).

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

Допишите незаконченный скилл, который строит функции через тесты (test-first), и воспользуйтесь им обоими способами.

  1. Скачайте незаконченный скилл tdd:
mkdir -p .claude/skills/tdd
curl -fsSL https://raw.githubusercontent.com/wesammustafa/Claude-Code-Everything-You-Need-to-Know/main/examples/intermediate/01-first-skill/dot-claude/skills/tdd/SKILL.md -o .claude/skills/tdd/SKILL.md

В его фронтматтере стоят description: TODO и disable-model-invocation: true, а шаги заканчиваются так:

2. Green: TODO
3. Refactor: TODO
  1. Допишите его в редакторе: - замените TODO в описании одним-двумя предложениями: что делает скилл и когда Claude стоит его использовать; - удалите строку disable-model-invocation: true; - напишите шаги Green и Refactor в том же стиле, что и шаг Red.
  2. Закоммитьте скилл: git add .claude/skills/tdd/SKILL.md, затем git commit -m "Add a tdd skill".
  3. В сессии запустите его по имени на небольшой функции. В шаблоне для практики:
/tdd a slugify(heading) function in src/slug.js that turns a Markdown heading into its link anchor: lowercase, punctuation dropped, spaces turned into hyphens

Одобрите правки и запуски тестов и дайте скиллу сделать коммит. Затем сохраните этот коммит: git rev-parse HEAD > .practice/i-1-commit.txt. 5. Выполните /clear и попросите сделать ещё одну небольшую функцию через тесты, не называя скилл, например Add a countHeadings(markdown) function, test-first. Проследите, как Claude сам запускает tdd через инструмент Skill. Увидев это, можете нажать Esc, чтобы остановить Claude (Interactive mode), и выполнить /rewind, чтобы откатить его правки (Checkpointing), как в уроке 4 Начального уровня.

#Проверка

Урок пройден, когда выполнено всё это:

Запустите npm run check -- i-1 --dir <your repo> из своей копии для практики или npm run check -- i-1 в самой копии.

Если скилл не закоммитился, выполните git check-ignore -v .claude/skills/tdd/SKILL.md: правило игнорирования, совпадающее с .claude, — в .gitignore, .git/info/exclude или вашем глобальном файле исключений — прячет папку от git add, поэтому добавьте файл через git add -f. Если не проходит второй пункт, перепишите описание так: что делает скилл, затем «Use when» и запросы, которым он подходит, — ведь решая, подгружать ли скилл, Claude читает только описание. Если не проходит пункт о коммите, снова запустите /tdd на новой небольшой функции и дайте ему закоммитить тест вместе с кодом.

#Осторожно

#Что дальше


Источники: Extend Claude with skills · Advanced setup · Commands · Tools reference · Interactive mode · Checkpointing

← Оглавление Среднего уровня · Организуйте память проекта и посмотрите, что загрузилось → · Тема: Скиллы · Застряли на уроке?