Пользовательские навыки — Плейбук вашей команды — Презентация
Продолжительность: ~8 минут Цель: Студенты понимают, что такое навыки (skills), как они устроены и почему они меняют правила игры для единообразия в команде.
Слайд 1: Shell-алиасы для AI
Вы знаете shell-алиасы, верно?
alias k="kubectl"
alias gs="git status"
alias deploy="./scripts/deploy.sh --env staging --notify slack"
Одна короткая команда, которая раскрывается в нечто более длинное и сложное. Навыки (skills) — та же идея, но для AI-рабочих процессов.
/review-k8s → Прочитать все K8s-манифесты, проверить на соответствие
лучшим практикам, сообщить о проблемах с уровнем
серьёзности и предложениями по исправлению
/check-docker → Провести аудит Dockerfile на безопасность, производительность
и оптимизацию сборки
/explain app.ts → Прочитать файл, объяснить что он делает простым языком,
отметить неочевидные паттерны
В чём разница? Shell-алиасы выполняют команды. Навыки выполняют мышление. Они дают Claude структурированный набор инструкций, опциональные ограничения и позволяют ему применять свои рассуждения к вашей конкретной кодовой базе.
Слайд 2: Анатомия навыка
Каждый навык живёт в .claude/skills/<skill-name>/SKILL.md. Вот структура:
.claude/
skills/
review-k8s/
SKILL.md ← Это определение навыка
check-docker/
SKILL.md
explain/
SKILL.md
А вот как выглядит SKILL.md внутри:
---
name: review-k8s
description: Reviews Kubernetes manifests for best practices and security issues
allowed-tools:
- Read
- Glob
- Grep
---
You are a Kubernetes security and best-practices reviewer.
Read all YAML files in the k8s/ directory. For each manifest, check:
1. Resource limits are set (cpu and memory)
2. Security context is configured (non-root, read-only root filesystem)
3. Health checks are present (liveness, readiness)
...
Output a report with: file name, issue, severity, suggested fix.
Три части:
- Фронтматтер — имя, описание и опциональные ограничения инструментов
- Инструкции — что Claude должен делать при вызове навыка
- Всё. Без этапа сборки, без компиляции, без регистрации. Положите файл — и он работает.
Слайд 3: Переменная $ARGUMENTS
Некоторым навыкам нужен ввод. “Объясни этот файл.” “Проверь этот PR.” “Сгенерируй тесты для этого компонента.”
Для этого и существует $ARGUMENTS. Это заполнитель в инструкциях навыка, который заменяется тем, что пользователь вводит после слэш-команды.
---
name: explain
description: Explains any file in plain English
---
Read the file at $ARGUMENTS.
Explain what this file does in plain, jargon-free English. Structure:
1. **Purpose**: One sentence — what problem does this file solve?
2. **How it works**: Walk through the logic step by step
3. **Key patterns**: Note any design patterns or non-obvious techniques
4. **Dependencies**: What does this file rely on?
Использование:
/explain src/app/api/models/route.ts
/explain k8s/deployment.yaml
/explain Dockerfile
$ARGUMENTS заменяется тем, что следует после команды. Просто, гибко, мощно.
Совет: Можно ссылаться на
$ARGUMENTSнесколько раз в одном навыке. Например, навык, который читает файл И его тесты: “Read$ARGUMENTSand look for a corresponding test file.”
Слайд 4: Встроенные навыки
Claude Code поставляется с некоторыми навыками из коробки. Тот, который мы используем сегодня:
/simplify — Проверяет ваш изменённый код и ищет:
- Возможности переиспользовать существующие утилиты вместо повторной реализации
- Улучшения качества кода
- Оптимизации производительности
- Затем автоматически исправляет найденное
Идеально подходит для запуска после реализации большой фичи (как наша тёмная тема из Блока 4). Вы пишете код, чтобы он работал, затем /simplify делает его чистым.
Другие полезные встроенные навыки:
/batch— Вносит одинаковое изменение во множество файлов (переименовать переменную везде, обновить путь импорта, изменить паттерн)/debug— Активирует режим отладки с расширенным диагностическим выводом
Слайд 5: allowed-tools — Предохранитель
Вот где навыки становятся интересными с точки зрения безопасности.
По умолчанию навык может использовать любой инструмент, доступный Claude — читать файлы, записывать файлы, выполнять команды, всё. Но иногда нужно, чтобы навык был только для чтения. Навык ревью не должен ничего модифицировать. Навык объяснения не должен создавать файлы.
Для этого и существует allowed-tools:
---
name: review-k8s
allowed-tools:
- Read
- Glob
- Grep
---
Этот навык может читать файлы, искать паттерны и перечислять файлы — но он не может записывать, редактировать или выполнять команды. Он физически не способен вносить изменения. Отлично подходит для:
- Навыков ревью — смотри, но не трогай
- Навыков аудита — сообщай о проблемах, но пусть человек решает, что исправлять
- Навыков объяснения — читай и объясняй, ничего больше
Сравните с навыком без ограничений:
---
name: fix-k8s
# No allowed-tools = unrestricted
---
Этот навык может вносить изменения, выполнять kubectl, модифицировать файлы — полный набор инструментов. Используйте для навыков, которым нужно делать что-то, а не просто сообщать.
Правило: Если назначение навыка — рассказать вам что-то, ограничьте его инструменты. Если его назначение — сделать что-то, оставьте без ограничений.
Слайд 6: Проектные vs. пользовательские навыки
Как и память, навыки бывают двух видов:
Проектные навыки (.claude/skills/ внутри репозитория):
- Закоммичены в git, доступны всей команде
- Любой, кто клонирует репозиторий, получает навыки
- Отлично подходят для командных плейбуков и проектно-специфичных рабочих процессов
Пользовательские навыки (~/.claude/skills/):
- Персональные навыки, которые следуют за вами по проектам
- Ваши собственные инструменты продуктивности
- Вещи вроде “резюмируй этот PR” или “напиши коммит-сообщение в моём стиле”
~/.claude/
skills/
my-commit/SKILL.md ← Персональный, везде
daily-summary/SKILL.md
ai-coderrank/
.claude/
skills/
review-k8s/SKILL.md ← Командный, только этот проект
check-docker/SKILL.md
Когда вы набираете / в Claude Code, вы видите и проектные, и персональные навыки в автодополнении.
Ключевые выводы
| Концепция | Что это | Когда использовать |
|---|---|---|
| SKILL.md | Файл определения навыка | Всегда — это единственный обязательный файл |
$ARGUMENTS |
Заполнитель для ввода пользователя | Когда навыку нужна цель (файл, путь, имя) |
allowed-tools |
Ограничение доступных инструментов | Навыки ревью/аудита, которые не должны ничего менять |
| Проектные навыки | .claude/skills/ в репозитории |
Командные плейбуки, общие рабочие процессы |
| Пользовательские навыки | ~/.claude/skills/ |
Персональные инструменты продуктивности |
/simplify |
Встроенный навык очистки | После реализации фичи |
Переход: Время строить. Вы сейчас создадите три пользовательских навыка, протестируете их на реальном инфраструктурном коде и запустите
/simplifyна тёмной теме из Блока 4. Поехали.
Готовы проверить себя?
Пройти квиз →