Блок 6 Презентація

Кастомні навички — плейбук вашої команди

Нотатки презентації та структура виступу для Блоку 06.

Тривалість: ~8 хвилин Мета: Студенти розуміють, що таке навички, як вони структуровані та чому вони кардинально змінюють консистентність команди.


Слайд 1: Shell-аліаси для AI

Ви знаєте shell-аліаси, так?

alias k="kubectl"
alias gs="git status"
alias deploy="./scripts/deploy.sh --env staging --notify slack"

Одна коротка команда, що розгортається у щось довше та складніше. Навички — та сама ідея, але для AI-воркфлоу.

/review-k8s     →  Прочитати всі K8s-маніфести, перевірити проти
                    best practices, звітувати про проблеми з серйозністю
                    та пропозиціями виправлень

/check-docker   →  Провести аудит Dockerfile на безпеку, продуктивність
                    та оптимізацію білдів

/explain app.ts →  Прочитати файл, пояснити що він робить простою мовою,
                    відзначити неочевидні патерни

Різниця? Shell-аліаси запускають команди. Навички запускають мислення. Вони дають Claude структуровані інструкції, опціональні обмеження та дозволяють застосувати reasoning до вашої конкретної кодової бази.


Слайд 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.

Три частини:

  1. Фронтматер — ім’я, опис та опціональні обмеження інструментів
  2. Інструкції — що Claude має робити при виклику навички
  3. Це все. Жодного build-кроку, компіляції чи реєстрації. Кидаєте файл — і він працює.

Слайд 3: Змінна $ARGUMENTS

Деяким навичкам потрібен вхід. “Поясни цей файл.” “Перевір цей PR.” “Згенеруй тести для цього компонента.”

Саме для цього існує $ARGUMENTS. Це плейсхолдер в інструкціях навички, що замінюється на те, що користувач ввів після slash-команди.

---
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 $ARGUMENTS and look for a corresponding test file.”


Слайд 4: Вбудовані навички

Claude Code поставляється з деякими навичками з коробки. Та, яку ми використаємо сьогодні:

/simplify — Переглядає ваш змінений код і шукає:

  • Можливості повторного використання існуючих утиліт замість перереалізації
  • Покращення якості коду
  • Оптимізації продуктивності
  • Потім автоматично виправляє знайдене

Ідеально підходить для запуску після масштабної реалізації фічі (як наша темна тема з Блоку 4). Ви пишете код, щоб він працював, потім /simplify робить його чистим.

Інші корисні вбудовані навички:

  • /batch — Вносить ту саму зміну в багато файлів (перейменувати змінну скрізь, оновити шлях імпорту, змінити патерн)
  • /debug — Активує режим troubleshooting з розширеним діагностичним виводом

Слайд 5: allowed-tools — страхувальна сітка

Тут навички стають цікавими з точки зору безпеки.

За замовчуванням навичка може використовувати будь-який інструмент, доступний Claude — читати файли, писати файли, виконувати команди, все. Але іноді потрібно, щоб навичка була read-only. Навичка ревʼю не повинна нічого модифікувати. Навичка пояснення не повинна створювати файли.

Саме для цього існує allowed-tools:

---
name: review-k8s
allowed-tools:
  - Read
  - Glob
  - Grep
---

Ця навичка може читати файли, шукати патерни та переглядати список файлів — але не може писати, редагувати чи виконувати команди. Вона фізично нездатна вносити зміни. Це чудово для:

  • Навичок ревʼю — дивися, але не чіпай
  • Навичок аудиту — звітуй про проблеми, але рішення залишай людині
  • Навичок пояснення — читай і пояснюй, більше нічого

Порівняйте з необмеженою навичкою:

---
name: fix-k8s
# No allowed-tools = unrestricted
---

Ця навичка може вносити зміни, запускати kubectl, модифікувати файли — повний набір інструментів. Використовуйте для навичок, що повинні робити щось, а не лише звітувати.

Правило: Якщо мета навички — розповісти вам щось, обмежте її інструменти. Якщо її мета — зробити щось, залиште необмеженою.


Слайд 6: Проєктні та користувацькі навички

Як і пам’ять, навички бувають двох видів:

Проєктні навички (.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. Поїхали.


Готові перевірити засвоєне?

Пройти квіз →