build-skill — скилл для Claude Code: собирает новые скиллы
Помогает создать новый скилл с готовой структурой и проверками. Пригодится, когда нужно превратить повторяющийся рабочий процесс в слэш-команду.
npx skills add LukeRenton/explore-claude-code --skill build-skill -a claude-codeЧто делает build-skill
Скилл ведёт вас от идеи до готового файла SKILL.md. Сначала он смотрит, сколько вы уже рассказали: если это одно название, задаст больше вопросов, если подробное описание — уточнит пару деталей. Дальше проверяет папку .claude/skills/ на похожие скиллы и предупредит, если такой уже есть.
Внутри — набор правил оформления. Поля frontmatter идут в заданном порядке, описание обязано содержать условие срабатывания, тело открывается короткой фразой о роли. Ядро оборачивается в теги <!-- <DO_NOT_TOUCH> -->, а внизу остаётся зона <!-- <MAY_EDIT> --> для настроек проекта. Перед показом черновик прогоняется по чек-листу, и тире в тексте не допускаются.
Ограничение важное: скиллы не поддерживают поля allowed-tools, model, context и hooks. Если вашему скиллу нужны ограниченный набор инструментов, отдельная модель или форк-запуск, автор советует делать субагента, а не скилл. Готовый файл пишется в .claude/skills/<name>/SKILL.md.
Какие задачи решает
- собрать новый скилл с нуля по единому шаблону
- превратить повторяющийся рабочий процесс в слэш-команду
- проверить черновик скилла по чек-листу до записи файла
- найти пересечение с уже существующими скиллами в проекте
- отделить зону правок проекта от неизменяемого ядра скилла
Примеры запросов агенту
- Собери скилл, который проверяет миграции перед деплоем
- Хочу слэш-команду для генерации changelog из коммитов
- Сделай скилл для ревью SQL-запросов в нашем проекте
Как установить build-skill
1Через Skills CLI (Vercel)
npx skills add LukeRenton/explore-claude-code --skill build-skill -a claude-code2Вручную: положить файлы
~/.claude/skills/build-skill/SKILL.mdПапка скилла целиком; для одного проекта — .claude/skills/build-skill/
1Через Skills CLI (Vercel)
npx skills add LukeRenton/explore-claude-code --skill build-skill -a codex2Вручную: положить файлы
.agents/skills/build-skill/SKILL.mdДля всех проектов — ~/.agents/skills/
1Через Skills CLI (Vercel)
npx skills add LukeRenton/explore-claude-code --skill build-skill -a cursor2Вручную: положить файлы
.cursor/skills/build-skill/SKILL.mdCursor читает и .agents/skills/, и .claude/skills/
1GitHub CLI
gh skill install LukeRenton/explore-claude-code build-skill2Вручную: положить файлы
.github/skills/build-skill/SKILL.md1Через Skills CLI (Vercel)
npx skills add LukeRenton/explore-claude-code --skill build-skill -a gemini-cli2Командой платформы
gemini skills install https://github.com/LukeRenton/explore-claude-code --path .claude/skills/build-skillВручную: положить файлы
.devin/skills/build-skill/SKILL.mdСтарый путь .windsurf/skills/ тоже читается
Через Skills CLI (Vercel)
npx skills add LukeRenton/explore-claude-code --skill build-skill -a opencodeClaude.ai
Упакуйте папку в zip и загрузите в Settings → Capabilities → Skills
По шагам, с командами для каждой платформы: Как установить скилл в Claude Code: пять способов
Вопросы о build-skill
Как установить build-skill в Claude Code?
Выполните npx skills add LukeRenton/explore-claude-code --skill build-skill -a claude-code. Файл появится по пути ~/.claude/skills/build-skill/SKILL.md.
Что делает build-skill?
Создаёт новый скилл: уточняет задачу, проверяет пересечения с существующими скиллами, пишет SKILL.md по стандартам и показывает черновик до записи файла.
Почему для ограниченных инструментов советуют субагента?
Скиллы не поддерживают поля allowed-tools, model, context и hooks. Если нужен ограниченный набор инструментов или отдельная модель, скилл этого не даст.
Исходный текст
SKILL.md · MIT
---
name: build-skill
description: Builds new Claude Code skills with consistent structure, enforced standards, and project-aware configuration. Use when creating a new skill, when the user describes a workflow they want automated, or when the user says they want a new slash command.
argument-hint: description of the skill to build
---
You are a skill builder. You create well-structured, consistent Claude Code SKILL.md files that follow established standards. Your output is a complete, ready-to-use skill file.
## Process
### 1. Assess Input Completeness
Read what the user provided in `$ARGUMENTS` and the surrounding conversation context. Determine how much is already specified vs what needs clarification.
Categorize as:
- **Minimal** (just a name or vague idea): Full Q&A needed
- **Medium** (clear purpose but missing details): Targeted questions only
- **Rich** (detailed description with specifics): Confirm and clarify 1-2 things
### 2. Adaptive Q&A
Ask only what's missing. Never re-ask what's already clear. Cover these areas as needed:
- **Intent**: What problem does this skill solve? What's the trigger scenario?
- **Invocation**: User-only (`disable-model-invocation: true`), Claude-only (`user-invocable: false`), or both (default)?
- **Arguments**: Does it accept arguments? What format?
- **Supporting files**: Does it need templates, scripts, or reference docs?
- **Team membership**: Is this a standalone utility or joining the core agent team?
- **Scope**: If the skill needs restricted tools, forked execution, or a specific model, suggest building it as an agent instead (skills do not support `allowed-tools`, `model`, `context`, or `hooks` frontmatter).
### 3. Check for Overlap
Before drafting, scan `.claude/skills/` for existing skills with similar purpose. If significant overlap exists, warn the user and suggest modifying the existing skill instead. Proceed only if the user confirms they want a new one.
### 4. Draft the Skill
Write the SKILL.md following these structural principles:
**Supported frontmatter fields (in order):**
```
name
description
argument-hint
disable-model-invocation
user-invocable
```
These are the ONLY supported skill frontmatter fields: `name`, `description`, `argument-hint`, `disable-model-invocation`, `user-invocable`, `compatibility`, `license`, `metadata`. Fields like `allowed-tools`, `model`, `context`, `agent`, and `hooks` are NOT supported in skills despite appearing in some documentation. Do not use them.
Only include fields that are relevant. Do not add fields with default values.
**YAML pitfall:** `argument-hint` must be a plain string. Never use square brackets (YAML parses them as arrays). Write `argument-hint: topic to brainstorm` not `argument-hint: [topic to brainstorm]`.
**Body structural principles:**
- Open with a 1-2 sentence role/purpose statement
- Group instructions into logical sections with headings suited to the skill's purpose (do not force a rigid template; headings should serve the content)
- Use numbered steps for sequential workflows, bullets for unordered items
- Wrap core content in `<!-- <DO_NOT_TOUCH> -->` tags
- Add a `<!-- <MAY_EDIT> -->` zone at the bottom for project-specific configuration
- Target roughly 60 lines of body content (soft limit, completeness wins over brevity)
**Naming conventions:**
- Skill name: `kebab-case`
- Core team skills: prefix with `core-`
- Directory: `.claude/skills/<name>/SKILL.md`
**Quality standards:**
- No em-dashes (use commas, periods, or colons instead)
- Description must include trigger conditions ("Use when...")
- Concise but complete: every line should earn its place, but never sacrifice completeness for brevity
### 5. Self-Critique
Before showing the user, review the draft against this checklist:
- [ ] All relevant frontmatter fields present and correctly ordered
- [ ] Description includes clear trigger conditions
- [ ] Body opens with concise role/purpose statement
- [ ] Instructions grouped into logical, well-headed sections
- [ ] Sequential workflows use numbered steps
- [ ] `<!-- <DO_NOT_TOUCH> -->` wraps core content
- [ ] `<!-- <MAY_EDIT> -->` zone exists at the bottom
- [ ] No em-dashes anywhere
- [ ] Concise but complete (no padding, no gaps)
- [ ] No significant overlap with existing skills (or overlap acknowledged)
If any check fails, fix it before presenting.
### 6. Present to User
Show the complete draft. Explain any decisions you made. Ask for approval or changes.
### 7. Write the File
On approval:
1. Write to `.claude/skills/<name>/SKILL.md` (recommend project-level, but ask the user if they want it elsewhere, e.g. `~/.claude/skills/` for personal scope)
2. If the skill is joining the core team, read the orchestrator agent file and append a reference to the new skill in its `<!-- <MAY_EDIT> -->` zone under the available team members
3. Output a summary card:
```
Created: .claude/skills/<name>/SKILL.md
Purpose: <one-line summary>
Invocation: /name | Claude auto | Both
Tools: <list or "all">
Runs: inline | forked (<agent type>)
```
4. If the skill is standalone and immediately usable, offer to test it
<!-- <MAY_EDIT> -->
## Project-Specific Context
<!-- Add project-specific skill-building conventions, preferred patterns, or team standards here -->
<!-- </MAY_EDIT> -->
© LukeRenton · MIT · LukeRenton/explore-claude-code