| name | agent-creator |
| description | Создание Claude Code subagent'ов в `.claude/agents/<name>.md` с правильным frontmatter, системным промптом, scoped tools и model selection. Используй когда нужно: (1) создать новый саб-агент в `.claude/agents/`, (2) добавить агента в команду, (3) написать subagent frontmatter (name, description, tools, model), (4) выбрать tools (least privilege) и model (Haiku/Sonnet/Opus/inherit), (5) разделить ответственность между skill (entry-point) и subagent (executor).
Триггеры: "создай саб-агента", "сделай subagent", "добавь агента в .claude/agents/", "create a Claude Code subagent", "subagent frontmatter".
DO NOT trigger on Claude Agent SDK requests (Python/TS приложения с `query()`/`ClaudeSDKClient`) — see `agent-sdk-builder` skill.
|
/agent-creator — создание Claude Code subagent'ов
Создание .claude/agents/<name>.md для Claude Code. НЕ про SDK
приложения на Python/TS — для этого есть отдельный skill /agent-sdk-builder.
Step 1 — Decision: skill, subagent, или оба?
Перед созданием subagent'а — убедись, что это правильный формат:
| Признак | Skill | Sub-agent | Гибрид |
|---|
| Триггер | /команда или фраза | Делегация из основного контекста | Skill вызывает агента |
| Контекст | Основной (виден пользователю) | Изолированный | Skill в основном, агент изолирован |
| Назначение | Workflow, диалог, подтверждения, оркестрация | Тяжёлая работа: чтение десятков файлов, research, экспертная роль | Slash UX + изоляция тяжёлой работы |
| Размер процедуры | До ~100 строк | Без жёсткого ограничения | Skill короткий, агент — большой |
Эвристика:
- Задача читает >5 файлов или делает много WebFetch → subagent
- Нужен slash-триггер для UX → skill (или гибрид если задача тяжёлая)
- Эталон гибрида в этом репо: skill
/design-system ↔ agent design-critic
Если ответ — «нужен только skill» → используй skill-creator skill.
Если «subagent» или «гибрид» → продолжай ниже.
Step 2 — Frontmatter
Минимальный обязательный набор:
---
name: <kebab-case>
description: <триггеры>
tools: <список>
model: inherit
---
Полный список 16 полей frontmatter с примерами — в
references/frontmatter-fields.md.
Обязательное правило для description:
- Третье лицо («Reviews code», не «I review code»)
- Содержит и «что делает», и «когда триггерить» — body загружается ПОСЛЕ
триггера, секция «When to Use» в body не помогает
- Нумерованные триггеры:
Use when (1)…, (2)…, (3)…
- Если есть негативное правило (когда НЕ триггерить) — указывать явно
(«DO NOT trigger on …»)
Step 3 — System prompt (body)
Body subagent'а — это его системный промпт. Структура:
# <Имя агента> (короткое описание роли)
## Вход
Что агент ожидает от вызывающего: список параметров, формат, что
обязательно vs опционально.
## Workflow / Steps
Шаги по которым агент работает. Конкретно, без verbose explanations.
## Формат выхода
Что агент возвращает: структура, обязательные поля.
## Правила
3-5 hard правил («НЕ делай X», «всегда Y»).
Размер — рекомендация ≤500 строк. Если больше — выноси детали в
references/. Подробнее в references/system-prompt-patterns.md.
Step 4 — Tools (least privilege)
Whitelist tools — только что нужно. Принципы:
- Read-only research →
Read, Glob, Grep
- File editing without shell →
Read, Write, Edit
- Shell + read →
Bash, Read, Grep, Glob
- Web research →
WebSearch, WebFetch, Read, Write
- Никогда:
Task или Agent в tools subagent'а — субагенты не могут
спавнить субагентов (архитектурный запрет Claude Code)
Полная матрица «задача → набор tools» — в
references/tools-and-models.md.
Step 5 — Model selection
model: inherit
model: claude-haiku-4-5
model: claude-sonnet-4-6
model: claude-opus-4-7
Когда inherit: в подавляющем большинстве случаев. Пользователь сам
выбрал модель — агент не должен переопределять.
Когда конкретная: только если задача гарантированно дешёвая (Haiku),
или гарантированно требует мощную модель (Opus). Подробнее — в
references/tools-and-models.md.
Step 6 — Тестирование через Agent tool
После создания — проверь что:
- Триггер срабатывает. Сформулируй фразу из description и убедись,
что Claude действительно вызывает этого агента, а не другого.
- Tools достаточно. Прогнать на realistic input, посмотреть не
спотыкается ли «нет permission на X».
- Output формат стабилен. 2-3 разных input → одинаковая структура output.
- Не пересекается с другими агентами. Если есть
code-reviewer и
quality-checker — нужно различать. Иначе один поглотит триггеры другого.
Можно вызвать вручную через Agent tool:
Agent({
subagent_type: "<имя_агента>",
description: "smoke test",
prompt: "<тестовый input>"
})
References
Антипаттерны (часто встречающиеся ошибки)
- ❌ Subagent с
Task/Agent в tools — архитектурный запрет
- ❌
model: opus для всех агентов — дорого + медленно без выигрыша
- ❌ Description без явных триггеров — агент не вызывается
- ❌ Дублирование с существующим built-in (Explore, general-purpose)
- ❌ System prompt > 500 строк без references — bloat
Полный чек-лист антипаттернов — в skill-creator/references/anti-patterns.md
(раздел «Anti-patterns специфичные для subagents»).
Совет
Перед созданием нового subagent'а — посмотри что уже есть в
.claude/agents/. Возможно нужный агент уже существует, и достаточно
дополнить его описание или расширить tools.