my-skill — скилл для Claude Code: устройство и установка
my-skill описывает структуру скилла: поля метаданных, аргументы, подстановки и подключение вспомогательных файлов. Пригодится при настройке собственного скилла.
npx skills add LukeRenton/explore-claude-code --skill my-skill -a claude-codeЧто делает my-skill
Это шаблон и справочник по устройству скилла, а не инструкция для конкретной задачи. В SKILL.md задаются имя и описание, а в основном тексте — инструкции для агента. Можно добавить подсказку для аргументов, список разрешённых инструментов или запуск в изолированном субагенте.
Скилл умеет подставлять переданные аргументы и результат shell-команды, выполненной при загрузке. Подробные материалы, шаблоны и скрипты предлагается хранить в отдельных файлах и подключать относительными путями. Файл SKILL.md должен быть короче 500 строк, а ссылки на справочные материалы — вести на один уровень вниз.
Для установки в Claude Code используйте npx skills add LukeRenton/explore-claude-code --skill my-skill -a claude-code; файл скилла находится по пути ~/.claude/skills/my-skill/SKILL.md. Обратите внимание: без $ARGUMENTS переданные пользователем аргументы добавляются в конец содержимого как ARGUMENTS: <value>.
Какие задачи решает
- описать инструкции скилла в
SKILL.md - передать скиллу аргументы по позициям
- подставить вывод shell-команды при загрузке
- вынести справочные материалы и скрипты в отдельные файлы
Примеры запросов агенту
- Покажи, как устроить
SKILL.mdдля моего скилла. - Объясни, как передать в скилл два аргумента и обратиться к каждому отдельно.
- Настрой подстановку списка изменённых файлов через
git diff --name-only.
Как установить my-skill
1Через Skills CLI (Vercel)
npx skills add LukeRenton/explore-claude-code --skill my-skill -a claude-code2Вручную: положить файлы
~/.claude/skills/my-skill/SKILL.mdПапка скилла целиком; для одного проекта — .claude/skills/my-skill/
1Через Skills CLI (Vercel)
npx skills add LukeRenton/explore-claude-code --skill my-skill -a codex2Вручную: положить файлы
.agents/skills/my-skill/SKILL.mdДля всех проектов — ~/.agents/skills/
1Через Skills CLI (Vercel)
npx skills add LukeRenton/explore-claude-code --skill my-skill -a cursor2Вручную: положить файлы
.cursor/skills/my-skill/SKILL.mdCursor читает и .agents/skills/, и .claude/skills/
1GitHub CLI
gh skill install LukeRenton/explore-claude-code my-skill2Вручную: положить файлы
.github/skills/my-skill/SKILL.md1Через Skills CLI (Vercel)
npx skills add LukeRenton/explore-claude-code --skill my-skill -a gemini-cli2Командой платформы
gemini skills install https://github.com/LukeRenton/explore-claude-code --path site/content/.claude/skills/my-skillВручную: положить файлы
.devin/skills/my-skill/SKILL.mdСтарый путь .windsurf/skills/ тоже читается
Через Skills CLI (Vercel)
npx skills add LukeRenton/explore-claude-code --skill my-skill -a opencodeClaude.ai
Упакуйте папку в zip и загрузите в Settings → Capabilities → Skills
По шагам, с командами для каждой платформы: Как установить скилл в Claude Code: пять способов
Вопросы о my-skill
Как установить my-skill в Claude Code?
Выполните npx skills add LukeRenton/explore-claude-code --skill my-skill -a claude-code. Файл скилла будет доступен по пути ~/.claude/skills/my-skill/SKILL.md.
Что делает my-skill?
Он описывает устройство скиллов Claude Code: метаданные, тело инструкций, аргументы, подстановки и вспомогательные файлы. Это основа для оформления собственного скилла.
Что произойдёт, если в скилле нет $ARGUMENTS?
Переданные после имени скилла аргументы добавятся в конец его содержимого в виде ARGUMENTS: <value>. Для отдельных аргументов можно использовать $ARGUMENTS[N] или $N.
Исходный текст
SKILL.md · MIT
---
name: my-skill
description: What this skill does and when to use it. Claude reads this to decide relevance. Include keywords users would naturally say.
---
These two fields are the only ones required. `name` must be lowercase with hyphens, max 64 characters, and match the parent directory name. `description` is what Claude reads at startup to decide when the skill is relevant (max 1024 characters).
## Optional Frontmatter Fields
Add any of these to the `---` block above to customise behaviour:
| Field | Example | Purpose |
|---|---|---|
| `argument-hint` | `[issue-number]` | Hint shown during autocomplete to indicate expected arguments |
| `disable-model-invocation` | `true` | Prevent Claude from auto-loading. User must type `/name` explicitly. Use for deploys, sends, destructive ops |
| `user-invocable` | `false` | Hide from the `/` menu. Claude can still load it automatically. Use for background knowledge |
| `allowed-tools` | `Read, Grep, Bash(npm *)` | Tools Claude can use without asking permission. Space-delimited, supports patterns |
| `model` | `claude-sonnet-4-6` | Override the model when this skill is active. Useful for cost control |
| `context` | `fork` | Run in an [isolated subagent](^A separate Claude instance with its own context. The skill content becomes the subagent's system prompt). Skill content becomes the subagent's prompt |
| `agent` | `Explore` | Which subagent runs when `context: fork`. Built-in: `Explore`, `Plan`, `general-purpose`, or custom from `.claude/agents/` |
| `license` | `Apache-2.0` | License name or reference to a bundled LICENSE file |
| `compatibility` | `Requires git, docker` | Environment requirements (max 500 chars) |
| `metadata` | key-value pairs | Arbitrary metadata (author, version, etc.) |
---
# Body Content
Everything below the frontmatter is the instruction body. Claude reads this when the skill is activated. Write whatever helps Claude perform the task. There are no format restrictions.
Good body content includes:
- Step-by-step instructions for the task
- Examples of inputs and expected outputs
- Common edge cases and how to handle them
- References to supporting files in this skill folder
## String Substitutions
[Placeholders](^Variables in your SKILL.md that get replaced with real values before Claude sees the content) are replaced with real values before Claude sees the content:
| Placeholder | Resolves To |
|---|---|
| `$ARGUMENTS` | Everything the user typed after the skill name |
| `$ARGUMENTS[N]` or `$N` | A specific argument by index (0-based) |
| `${CLAUDE_SESSION_ID}` | The current session ID |
| `${CLAUDE_SKILL_DIR}` | Path to this skill's directory |
Example: `/my-skill SearchBar React Vue` gives `$0` = "SearchBar", `$1` = "React", `$2` = "Vue".
If `$ARGUMENTS` is not present in the content, arguments are appended as `ARGUMENTS: <value>`.
## Dynamic Context Injection
The `!` backtick syntax runs shell commands before the content reaches Claude. Output replaces the placeholder:
- PR diff: `` !`gh pr diff` ``
- Dependencies: `` !`cat package.json | jq .dependencies` ``
- Changed files: `` !`git diff --name-only` ``
This is [preprocessing](^The commands run at skill load time, not during conversation. Claude only sees the final output, not the commands themselves). Claude only sees the final output, not the commands.
---
# Supporting Files
Keep SKILL.md under 500 lines. Move detailed material to separate files and reference them from the body:
- [references/REFERENCE.md](references/REFERENCE.md): Detailed documentation loaded on demand
- [assets/template.md](assets/template.md): Templates and static resources
- [scripts/helper.sh](scripts/helper.sh): Executable code Claude can run
Use relative paths from SKILL.md. Keep references one level deep. Navigate into these folders to learn more about each.
© LukeRenton · MIT · LukeRenton/explore-claude-code