Claude Code agents vs skills: що обрати
Claude Code agents vs skills — одне з перших питань, які виникають, коли налаштування виростає за межі одного файлу CLAUDE.md. Обидва живуть у .claude/, обидва — це Markdown з кількома рядками YAML зверху, і обидва можуть запускатися автоматично. Втім, вони вирішують різні задачі, і плутанина між ними робить налаштування повільним і непередбачуваним.
Коротко: skill додає знання до розмови, в якій ви перебуваєте; субагент виконує роботу в окремому контексті й повертає лише результат. Усе нижче спирається на офіційну документацію субагентів і skills. Ми щодня використовуємо обидва механізми у своїй студії, і правило в кінці статті — з тієї практики.
Що таке субагент
Субагент — це спеціалізований асистент, який працює у власному контекстному вікні, з власним системним промптом, власним доступом до інструментів і власними дозволами. Він не бачить історію вашої розмови. Claude пише йому задачу, субагент працює, а назад повертається лише підсумок.
У цьому й суть: побічна задача, яка затопила б основну розмову результатами пошуку, логами чи вмістом файлів, залишається всередині субагента.
---
name: code-reviewer
description: Reviews code for quality and best practices
tools: Read, Glob, Grep
model: sonnet
---
You are a code reviewer. When invoked, analyze the code and provide
specific, actionable feedback on quality, security, and best practices.
Збережіть його як .claude/agents/code-reviewer.md для одного проєкту або ~/.claude/agents/code-reviewer.md для всіх. Обов’язкові лише name і description. Поле tools — це список дозволених інструментів: якщо його не вказати, субагент отримує всі інструменти, доступні субагентам.
Claude делегує задачу самостійно, коли вона відповідає опису. Можна також попросити на ім’я або згадати його як @"code-reviewer (agent)", щоб точно запустити. Claude Code також має вбудовані субагенти, як-от Explore для швидкого пошуку лише для читання та Plan для дослідження в режимі планування.
Що таке skill
Skill — це папка з файлом SKILL.md: інструкції плюс необов’язкові допоміжні файли, як-от довідкові нотатки або скрипти. Він виконується в основній розмові, а не в окремому контексті.
---
name: summarize-changes
description: Summarizes uncommitted changes and flags anything risky. Use when the user asks what changed, wants a commit message, or asks to review their diff.
---
Summarize the uncommitted changes in two or three bullet points,
then list anything risky: deleted files, changed permissions, new dependencies.
Збережіть його як .claude/skills/summarize-changes/SKILL.md. За замовчуванням його можете використовувати і ви, і Claude: ви вводите /summarize-changes, або Claude завантажує його, коли ваш запит відповідає опису.
Деталь, важлива для вартості: у звичайній сесії в контексті лежать лише описи skills. Повний текст завантажується, коли skill використано. Довга довідка у skill коштує майже нічого, доки не знадобиться, — на відміну від тексту в CLAUDE.md, який там завжди.
Кастомні slash-команди тепер є частиною skills: .claude/commands/deploy.md і .claude/skills/deploy/SKILL.md обидва створюють /deploy.
Claude Code agents vs skills поруч
| Субагент | Skill | |
|---|---|---|
| Де виконується | власне контекстне вікно | основна розмова |
| Бачить вашу розмову | ні | так |
| Що повертає | підсумок | робота відбувається на місці |
| Файл | .claude/agents/name.md |
.claude/skills/name/SKILL.md |
| Типовий запуск | Claude делегує задачу | Claude або ви через /name |
| Для чого підходить | пошук, рев’ю, довгі побічні задачі | процедури, внутрішні правила, довідка |
Вони також поєднуються. Субагент може підключати skills через поле skills, тож рев’юер стартує з вашим чеклистом. А skill з context: fork запускається в субагенті: текст skill стає задачею, а ваш основний контекст залишається чистим.
Просте правило вибору
Задайте собі одне питання: чи потрібні мені деталі цієї роботи в розмові після її завершення?
- Ні, лише результат. Використовуйте субагент. Пошук у великій кодовій базі, рев’ю diff, читання довгих логів: вам потрібен висновок, а не кожен файл, який він відкрив.
- Так, це частина того, що я роблю зараз. Використовуйте skill. Чеклист релізу, формат commit-повідомлень, як ваш проєкт називає речі: знання, якими розмова має керуватися.
Два попереджувальні знаки з практики. Якщо розділ у CLAUDE.md перетворився на покрокову процедуру — він хоче стати skill. Якщо skill постійно тягне десятки файлів у розмову — він хоче context: fork або субагента.
Помилки, які роблять налаштування непередбачуваним
- Розмиті описи. І те, й інше обирається за
description. «Допомагає з кодом» підходить усьому і нічому. Напишіть, що саме воно робить і коли його використовувати. - Забагато довгих описів. Описи завантажуються на початку кожної сесії. Тримайте їх короткими, а деталі — в основному тексті.
- Субагент з усіма інструментами за замовчуванням. Якщо рев’юеру треба лише читати, дайте йому
Read, Glob, Grep— і нічого більше. - Правила, які мають виконуватися строго, написані як skill. Skill направляє; він не примушує. Для «ніколи не роби цього» використовуйте правила дозволів і хуки, як у нашій статті про хуки Claude Code.
Коли передати це нам
Якщо ваша папка .claude/ швидко розрослася і ніхто вже не пам’ятає, який агент або skill за що відповідає, ми складаємо карту налаштувань, впорядковуємо agents і skills та додаємо перевірені правила. Подивіться, як влаштована наша власна система, на сторінці робіт.
Запитання
Чи skill — це просто збережений промпт?
Майже, але це більше. Skill — це папка з файлом SKILL.md і необов'язковими допоміжними файлами. Claude бачить лише його опис, доки skill не використано; він може завантажити його самостійно, коли задача підходить, а ви можете викликати його як /skill-name.
Чи субагенти бачать мою розмову?
Ні. Кожен субагент стартує зі чистим контекстним вікном: власний системний промпт, задача, яку пише для нього Claude, CLAUDE.md і будь-які skills, які ви підключили заздалегідь. Він повертає лише підсумок у основну розмову.
Що сталося з кастомними slash-командами?
Їх об'єднали зі skills. Файл .claude/commands/deploy.md і skill .claude/skills/deploy/SKILL.md обидва створюють /deploy. Старі файли команд продовжують працювати.
Чи можна використовувати обидва одночасно?
Так, в обидва боки. Субагент може підключати skills через поле skills, а skill з context: fork запускається всередині субагента замість основної розмови.