Руководство по Agent Skills
Agent Skills - это переиспользуемые возможности на основе файловой системы, которые расширяют функциональность Claude. Они упаковывают предметную экспертизу, рабочие процессы и лучшие практики в обнаруживаемые компоненты, которые Claude автоматически задействует, когда они уместны.
Обзор
Agent Skills - это модульные возможности, превращающие агентов общего назначения в специалистов. В отличие от промптов (инструкций уровня диалога для разовых задач), skills загружаются по требованию и избавляют от необходимости повторно давать одни и те же указания в разных диалогах.
Ключевые преимущества
- Специализация Claude: адаптация возможностей под задачи конкретной предметной области
- Меньше повторений: создайте один раз - используйте автоматически во всех диалогах
- Композиция возможностей: объединяйте skills для построения сложных рабочих процессов
- Масштабирование процессов: переиспользуйте skills в разных проектах и командах
- Поддержание качества: встраивайте лучшие практики прямо в свой рабочий процесс
Skills следуют открытому стандарту Agent Skills, совместимому с различными AI-инструментами. Claude Code расширяет стандарт дополнительными возможностями: управлением вызовом, выполнением в субагентах и динамическим внедрением контекста.
Примечание: пользовательские slash-команды теперь объединены со skills. Файлы .claude/commands/ по-прежнему работают и поддерживают те же поля frontmatter. Для новой разработки рекомендуется использовать skills. Если по одному и тому же пути существуют оба варианта (например, .claude/commands/review.md и .claude/skills/review/SKILL.md), приоритет отдаётся skill.
Как работают skills: постепенное раскрытие
Skills построены на архитектуре постепенного раскрытия (progressive disclosure): Claude подгружает информацию поэтапно, по мере необходимости, а не загружает весь контекст заранее. Это обеспечивает эффективное управление контекстом при неограниченной масштабируемости.
Три уровня загрузки
graph TB
subgraph "Level 1: Metadata (Always Loaded)"
A["YAML Frontmatter"]
A1["~100 tokens per skill"]
A2["name + description"]
end
subgraph "Level 2: Instructions (When Triggered)"
B["SKILL.md Body"]
B1["Under 5k tokens"]
B2["Workflows & guidance"]
end
subgraph "Level 3: Resources (As Needed)"
C["Bundled Files"]
C1["Effectively unlimited"]
C2["Scripts, templates, docs"]
end
A --> B
B --> C
| Level | When Loaded | Token Cost | Content |
|---|
| Level 1: Metadata | Always (at startup) | ~100 tokens per Skill | name and description from YAML frontmatter |
| Level 2: Instructions | When Skill is triggered | Under 5k tokens | SKILL.md body with instructions and guidance |
| Level 3+: Resources | As needed | Effectively unlimited | Bundled files executed via bash without loading contents into context |
| Это означает, что можно установить сколько угодно Skills без ущерба для контекста - до момента фактической активации Claude знает лишь о том, что тот или иной Skill существует и когда его следует применять. | | | |
Процесс загрузки Skill
sequenceDiagram
participant User
participant Claude
participant System
participant SkillInst as Skill Instructions
participant SkillRes as Skill Resources
User->>Claude: "Review this code for security issues"
Claude->>System: Check available skills (metadata)
System-->>Claude: Skill descriptions loaded at startup
Claude->>Claude: Match request to skill description
Claude->>SkillInst: Read code-review-specialist/SKILL.md
SkillInst-->>Claude: Level 2: Instructions loaded
Claude->>Claude: Determine: Need templates?
Claude->>SkillRes: Read templates/checklist.md
SkillRes-->>Claude: Level 3: Template loaded
Claude->>Claude: Execute skill instructions
Claude->>User: Comprehensive code review
Типы skills и их расположение
| Type | Location | Scope | Shared | Best For |
|---|
| Enterprise | Managed settings | All org users | Yes | Organization-wide standards |
| Personal | ~/.claude/skills/<skill-name>/SKILL.md | Individual | No | Personal workflows |
| Project | .claude/skills/<skill-name>/SKILL.md | Team | Yes (via git) | Team standards |
| Plugin | <plugin>/skills/<skill-name>/SKILL.md | Where enabled | Depends | Bundled with plugins |
Когда skills имеют одинаковое имя на разных уровнях, побеждают расположения с более высоким приоритетом: enterprise > project > personal. Проектные skills по умолчанию переопределяют личные; настройка skillOverrides (v2.1.129+) позволяет управлять этим поведением - см. Управление поведением переопределения skills. Plugin skills используют namespace вида plugin-name:skill-name, поэтому конфликты для них исключены. | | | | |
Обнаружение skills субагентами (v2.1.133+): Субагенты теперь обнаруживают project-, user- и plugin-skills через инструмент Skill так же, как это делает основная сессия. В более ранних версиях субагенты были ограничены собственным встроенным набором, из-за чего сценарии с совместным использованием skills и субагентов незаметно деградировали; начиная с v2.1.133 обоим доступен один и тот же каталог skills.
Автоматическое обнаружение
Вложенные директории: Когда вы работаете с файлами в поддиректориях, Claude Code автоматически обнаруживает skills из вложенных директорий .claude/skills/. Например, если вы редактируете файл в packages/frontend/, Claude Code также ищет skills в packages/frontend/.claude/skills/. Это удобно для monorepo, где у отдельных пакетов есть собственные skills. Начиная с v2.1.178, при совпадении имени skill во вложенных директориях .claude/skills/ побеждает директория, ближайшая к текущей рабочей директории - skill уровня пакета переопределяет одноимённый skill из корня репозитория.
Директории --add-dir: Skills из директорий, добавленных через --add-dir, загружаются автоматически с отслеживанием изменений в реальном времени. Любые правки файлов skill в этих директориях вступают в силу немедленно, без перезапуска Claude Code.
Перезагрузка skills: Команда /reload-skills (добавлена в v2.1.152) повторно сканирует все директории skills без перезапуска сессии - полезно после добавления или редактирования skill, который не был подхвачен автоматическим отслеживанием. Hook SessionStart может инициировать такое же повторное сканирование, вернув reloadSkills: true (см. Hooks).
Бюджет описаний: Описания skills (метаданные уровня 1) ограничены 1% окна контекста (значение по умолчанию: 8000 символов). Если у вас установлено много skills, описания могут быть сокращены. Имена skills включаются всегда, а описания обрезаются, чтобы уложиться в лимит. Выносите ключевой сценарий использования в начало описания. Переопределить бюджет можно с помощью переменной окружения SLASH_COMMAND_TOOL_CHAR_BUDGET.
Создание собственных skills
Базовая структура директорий
my-skill/
├── SKILL.md # Main instructions (required)
├── template.md # Template for Claude to fill in
├── examples/
│ └── sample.md # Example output showing expected format
└── scripts/
└── validate.sh # Script Claude can execute
Формат SKILL.md
---
name: your-skill-name
description: Brief description of what this Skill does and when to use it
---
Provide clear, step-by-step guidance for Claude.
Show concrete examples of using this Skill.
Обязательные поля
- name: только строчные буквы, цифры и дефисы (не более 64 символов). Не должно содержать "anthropic" или "claude".
- description: что делает Skill и когда его следует использовать (не более 1024 символов). Это критически важно для того, чтобы Claude понимал, когда активировать skill.
Необязательные поля frontmatter
---
name: my-skill
description: What this skill does and when to use it
argument-hint: "[filename] [format]"
disable-model-invocation: true
user-invocable: false
allowed-tools: Read, Grep, Glob
disallowed-tools: Write, Edit
model: opus
effort: high
context: fork
agent: Explore
background: false
shell: bash
hooks:
PreToolUse:
- matcher: "Bash"
hooks:
- type: command
command: "./scripts/validate.sh"
paths: "src/api/**/*.ts"
---
| Field | Description |
|---|
name | Lowercase letters, numbers, hyphens only (max 64 chars). Cannot contain "anthropic" or "claude". |
description | What the Skill does AND when to use it (max 1024 chars). Critical for auto-invocation matching. |
argument-hint | Hint shown in the / autocomplete menu (e.g., "[filename] [format]"). |
disable-model-invocation | true = only the user can invoke via /name. Claude will never auto-invoke. |
user-invocable | false = hidden from the / menu. Only Claude can invoke it automatically. |
allowed-tools | Comma-separated list of tools the skill may use without permission prompts. |
disallowed-tools | Comma-separated list of tools to remove while the skill is active (complements allowed-tools). Added v2.1.152. |
model | Model override while the skill is active (e.g., opus, sonnet). |
effort | Effort level override while the skill is active: low, medium, high, xhigh, or max - all five are supported on Opus 5, Sonnet 5, Opus 4.8, and Opus 4.7. The default effort is high on every model that supports effort, except Opus 4.7 which defaults to xhigh. |
context | fork to run the skill in a forked subagent context with its own context window. |
agent | Subagent type when context: fork (e.g., Explore, Plan, general-purpose). |
background | Only meaningful with context: fork. Defaults to true for context: fork skills, so they run in the background; set false to run them in the foreground. Added v2.1.218. |
shell | Shell used for !`command` substitutions and scripts: bash (default) or powershell. |
hooks | Hooks scoped to this skill's lifecycle (same format as global hooks). |
paths | Glob patterns that limit when the skill is auto-activated. Comma-separated string or YAML list. Same format as path-specific rules. |
Начиная с v2.1.218, булевы поля frontmatter также принимают yes/no, on/off и 1/0 (без учёта регистра) в дополнение к true/false. | |
Типы содержимого skill
Skill могут содержать два типа содержимого, каждый из которых подходит для своих задач:
Справочные материалы
Добавляют знания, которые Claude применяет в вашей текущей работе, - соглашения, паттерны, style guides, знания предметной области. Работают непосредственно в контексте вашего диалога.
---
name: api-conventions
description: API design patterns for this codebase
---
When writing API endpoints:
- Use RESTful naming conventions
- Return consistent error formats
- Include request validation
Содержимое задачи
Пошаговые инструкции для выполнения конкретных действий. Часто вызываются напрямую через /skill-name.
---
name: deploy
description: Deploy the application to production
context: fork
disable-model-invocation: true
---
Deploy the application:
1. Run the test suite
2. Build the application
3. Push to the deployment target
Управление вызовом skill
По умолчанию вызвать любой skill можете как вы, так и Claude. За три режима вызова отвечают два поля во frontmatter:
| Frontmatter | You can invoke | Claude can invoke |
|---|
| (default) | Yes | Yes |
disable-model-invocation: true | Yes | No |
user-invocable: false | No | Yes |
Используйте disable-model-invocation: true для workflow с побочными эффектами: /commit, /deploy, /send-slack-message. Вряд ли вам захочется, чтобы Claude сам решил выполнить деплой только потому, что код кажется ему готовым. | | |
Используйте user-invocable: false для справочных знаний, которые не предполагают выполнения как команды. Skill legacy-system-context описывает работу устаревшей системы - это полезно Claude, но не является осмысленным действием для пользователя.
Подстановка строк
Skills поддерживают динамические значения, которые подставляются до того, как содержимое skill попадёт к Claude:
| Variable | Description |
|---|
$ARGUMENTS | All arguments passed when invoking the skill |
$ARGUMENTS[N] or $N | Access specific argument by index (0-based) |
${CLAUDE_SESSION_ID} | Current session ID |
${CLAUDE_SKILL_DIR} | Directory containing the skill's SKILL.md file |
${CLAUDE_PROJECT_DIR} | Absolute path to the project root. Usable in the skill body and in allowed-tools (v2.1.196) |
${CLAUDE_EFFORT} | Current effort level (low, medium, high, xhigh, or max). Useful for branching skill behavior: e.g., [ "${CLAUDE_EFFORT}" = "max" ] && deep_analysis (v2.1.120+) |
!`command` | Dynamic context injection - runs a shell command and inlines the output |
| Пример: | |
---
name: fix-issue
description: Fix a GitHub issue
---
Fix GitHub issue $ARGUMENTS following our coding standards.
1. Read the issue description
2. Implement the fix
3. Write tests
4. Create a commit
Запуск /fix-issue 123 подставляет 123 вместо $ARGUMENTS.
Комбинирование skills
В одном вызове можно комбинировать несколько slash-skills, например /code-review /fix-issue 123. Начиная с v2.1.199, при этом загружаются ВСЕ идущие подряд в начале skills - первый и ещё до 5 - и каждому из них передаются замыкающие аргументы (123); ранее загружался только первый skill. Если один и тот же skill указан несколько раз, его одинаковое содержимое дедуплицируется (v2.1.202), а не добавляется повторно.
Подстановка динамического контекста
Синтаксис !`command` выполняет shell-команды перед тем, как содержимое skill будет отправлено в Claude:
---
name: pr-summary
description: Summarize changes in a pull request
context: fork
agent: Explore
---
- PR diff: !`gh pr diff`
- PR comments: !`gh pr view --comments`
- Changed files: !`gh pr diff --name-only`
Summarize this pull request...
Команды выполняются немедленно; Claude видит только итоговый вывод. По умолчанию команды запускаются в bash. Укажите shell: powershell в frontmatter, чтобы использовать PowerShell.
Запуск skill в субагентах
Добавьте context: fork, чтобы запустить skill в изолированном контексте субагента. Содержимое skill становится задачей для отдельного субагента с собственным окном контекста, благодаря чему основной диалог не засоряется. Начиная с v2.1.218, для skill с context: fork параметр background по умолчанию равен true, поэтому они запускаются в фоне; укажите background: false в frontmatter, чтобы запустить fork-skill на переднем плане.
Исправление в v2.1.145: skill, использующий context: fork, ранее в редких случаях мог вызвать бесконечный цикл повторных вызовов. Обновитесь до v2.1.145+, если вы разрабатываете skill с forking или используете такие skill.
Поле agent определяет, какой тип агента использовать:
| Agent Type | Best For |
|---|
Explore | Read-only research, codebase analysis |
Plan | Creating implementation plans |
general-purpose | Broad tasks requiring all tools |
| Custom agents | Specialized agents defined in your configuration |
| Текущая дата: вторник, 4 августа 2026 г. | |
<query>
Пример frontmatter:
</query>
```yaml
---
context: fork
agent: Explore
---
```
**Полный пример skill:**
```yaml
---
name: topic-research
description: Research a topic thoroughly
context: fork
agent: Explore
---
Research $ARGUMENTS thoroughly:
- Find relevant files using Glob and Grep
- Read and analyze the code
- Summarize findings with specific file references
## Практические примеры
### Пример 1: skill для code review
**Структура каталога:**
~/.claude/skills/code-review-specialist/
├── SKILL.md
├── templates/
│ ├── review-checklist.md
│ └── finding-template.md
└── scripts/
├── analyze-metrics.py
└── compare-complexity.py
**Файл:** `~/.claude/skills/code-review-specialist/SKILL.md`
```yaml
---
name: code-review-specialist
description: Comprehensive code review with security, performance, and quality analysis. Use when users ask to review code, analyze code quality, evaluate pull requests, or mention code review, security analysis, or performance optimization.
---
# Code Review Skill
This skill provides comprehensive code review capabilities focusing on:
1. **Security Analysis**
- Authentication/authorization issues
- Data exposure risks
- Injection vulnerabilities
- Cryptographic weaknesses
2. **Performance Review**
- Algorithm efficiency (Big O analysis)
- Memory optimization
- Database query optimization
- Caching opportunities
3. **Code Quality**
- SOLID principles
- Design patterns
- Naming conventions
- Test coverage
4. **Maintainability**
- Code readability
- Function size (should be < 50 lines)
- Cyclomatic complexity
- Type safety
## Review Template
For each piece of code reviewed, provide:
### Summary
- Overall quality assessment (1-5)
- Key findings count
- Recommended priority areas
### Critical Issues (if any)
- **Issue**: Clear description
- **Location**: File and line number
- **Impact**: Why this matters
- **Severity**: Critical/High/Medium
- **Fix**: Code example
For detailed checklists, see [templates/review-checklist.md](templates/review-checklist.md).
Пример 2: Skill для визуализации кодовой базы
Skill, генерирующий интерактивные HTML-визуализации:
Структура каталогов:
~/.claude/skills/codebase-visualizer/
├── SKILL.md
└── scripts/
└── visualize.py
Текущая дата: вторник, 4 августа 2026 г.
<query>
Файл: ~/.claude/skills/codebase-visualizer/SKILL.md
</query>
````yaml
---
name: codebase-visualizer
description: Generate an interactive collapsible tree visualization of your codebase. Use when exploring a new repo, understanding project structure, or identifying large files.
allowed-tools: Bash(python *)
---
Codebase Visualizer
Generate an interactive HTML tree view showing your project's file structure.
Usage
Run the visualization script from your project root:
python ~/.claude/skills/codebase-visualizer/scripts/visualize.py .
This creates codebase-map.html and opens it in your default browser.
What the visualization shows
- Collapsible directories: Click folders to expand/collapse
- File sizes: Displayed next to each file
- Colors: Different colors for different file types
- Directory totals: Shows aggregate size of each folder
Входящий в комплект Python-скрипт берёт на себя основную работу, а Claude отвечает за оркестрацию.
### Пример 3: Skill для развёртывания (только по явному вызову пользователем)
```yaml
---
name: deploy
description: Deploy the application to production
disable-model-invocation: true
allowed-tools: Bash(npm *), Bash(git *)
---
Deploy $ARGUMENTS to production:
1. Run the test suite: `npm test`
2. Build the application: `npm run build`
3. Push to the deployment target
4. Verify the deployment succeeded
5. Report deployment status
```
### Пример 4: Skill «Голос бренда» (справочные знания)
```yaml
---
name: brand-voice
description: Ensure all communication matches brand voice and tone guidelines. Use when creating marketing copy, customer communications, or public-facing content.
user-invocable: false
---
## Tone of Voice
- **Friendly but professional** - approachable without being casual
- **Clear and concise** - avoid jargon
- **Confident** - we know what we're doing
- **Empathetic** - understand user needs
## Writing Guidelines
- Use "you" when addressing readers
- Use active voice
- Keep sentences under 20 words
- Start with value proposition
For templates, see [templates/](templates/).
```
### Пример 5: Skill для генерации CLAUDE.md
```yaml
---
name: claude-md
description: Create or update CLAUDE.md files following best practices for optimal AI agent onboarding. Use when users mention CLAUDE.md, project documentation, or AI onboarding.
---
## Core Principles
**LLMs are stateless**: CLAUDE.md is the only file automatically included in every conversation.
### The Golden Rules
1. **Less is More**: Keep under 300 lines (ideally under 100)
2. **Universal Applicability**: Only include information relevant to EVERY session
3. **Don't Use Claude as a Linter**: Use deterministic tools instead
4. **Never Auto-Generate**: Craft it manually with careful consideration
## Essential Sections
- **Project Name**: Brief one-line description
- **Tech Stack**: Primary language, frameworks, database
- **Development Commands**: Install, test, build commands
- **Critical Conventions**: Only non-obvious, high-impact conventions
- **Known Issues / Gotchas**: Things that trip up developers
```
### Пример 6: Skill для рефакторинга со скриптами
**Структура каталогов:**
```
refactor/
├── SKILL.md
├── references/
│ ├── code-smells.md
│ └── refactoring-catalog.md
├── templates/
│ └── refactoring-plan.md
└── scripts/
├── analyze-complexity.py
└── detect-smells.py
```
Текущая дата: вторник, 4 августа 2026 г.
<query>
**Файл:** `refactor/SKILL.md`
</query>
```yaml
---
name: refactor
description: Systematic code refactoring based on Martin Fowler's methodology. Use when users ask to refactor code, improve code structure, reduce technical debt, or eliminate code smells.
---
# Code Refactoring Skill
A phased approach emphasizing safe, incremental changes backed by tests.
## Workflow
Phase 1: Research & Analysis → Phase 2: Test Coverage Assessment →
Phase 3: Code Smell Identification → Phase 4: Refactoring Plan Creation →
Phase 5: Incremental Implementation → Phase 6: Review & Iteration
## Core Principles
1. **Behavior Preservation**: External behavior must remain unchanged
2. **Small Steps**: Make tiny, testable changes
3. **Test-Driven**: Tests are the safety net
4. **Continuous**: Refactoring is ongoing, not a one-time event
For code smell catalog, see [references/code-smells.md](references/code-smells.md).
For refactoring techniques, see [references/refactoring-catalog.md](references/refactoring-catalog.md).
```
## Вспомогательные файлы
Помимо `SKILL.md`, skill может содержать в своей директории и другие файлы. Такие вспомогательные файлы (шаблоны, примеры, скрипты, справочные материалы) позволяют не перегружать основной файл skill, предоставляя Claude дополнительные ресурсы, которые он может подгружать по мере необходимости.
```
my-skill/
├── SKILL.md # Main instructions (required, keep under 500 lines)
├── templates/ # Templates for Claude to fill in
│ └── output-format.md
├── examples/ # Example outputs showing expected format
│ └── sample-output.md
├── references/ # Domain knowledge and specifications
│ └── api-spec.md
└── scripts/ # Scripts Claude can execute
└── validate.sh
```
Рекомендации по вспомогательным файлам:
- Держите `SKILL.md` в пределах **500 строк**. Выносите подробные справочные материалы, объёмные примеры и спецификации в отдельные файлы.
- Ссылайтесь на дополнительные файлы из `SKILL.md` по **относительным путям** (например, `[справочник по API](references/api-spec.md)`).
- Вспомогательные файлы загружаются на Level 3 (по мере необходимости), поэтому они не расходуют context, пока Claude фактически их не прочитает.
## Управление skills
### Просмотр доступных skills
Спросите Claude напрямую:
```
What Skills are available?
```
Или проверьте файловую систему:
```bash
# List personal Skills
ls ~/.claude/skills/
# List project Skills
ls .claude/skills/
```
> **Совет (v2.1.121+):** начните вводить текст, чтобы отфильтровать интерактивное меню `/skills` - удобно, когда установлено много skills.
### Тестирование skill
Есть два способа:
**Дать Claude вызвать skill автоматически** - задайте вопрос, соответствующий описанию:
```
Can you help me review this code for security issues?
```
**Или вызовите его напрямую**, указав имя skill:
```
/code-review-specialist src/auth/login.ts
```
> **Примечание**: Этот локальный skill устанавливается под именем `code-review-specialist`, чтобы **не** конфликтовать со встроенной командой `/code-review` (это переименованная `/simplify`, появившаяся в Claude Code v2.1.146). Если же скопировать его в `~/.claude/skills/code-review/`, он перекроет встроенную команду - поэтому оставляйте суффикс `-specialist`.
### Обновление skill
Отредактируйте файл `SKILL.md` напрямую. Изменения вступят в силу при следующем запуске Claude Code.
```bash
# Personal Skill
code ~/.claude/skills/my-skill/SKILL.md
# Project Skill
code .claude/skills/my-skill/SKILL.md
```
### Ограничение доступа Claude к skills
Три способа управления тем, какие skills Claude может вызывать:
**Отключить все skills** в `/permissions`:
```
# Add to deny rules:
Skill
```
**Разрешить или запретить определённые skills**:
```
# Allow only specific skills
Skill(commit)
Skill(review-pr *)
# Deny specific skills
Skill(deploy *)
```
**Скрыть отдельные skills** можно, добавив `disable-model-invocation: true` в их frontmatter.
### Управление поведением переопределения skills (`skillOverrides`)
Когда project skill и user skill имеют одинаковое имя, по умолчанию побеждает project. Настройка `skillOverrides` (v2.1.129+) позволяет изменить это поведение. Добавьте её в `~/.claude/settings.json` или в `.claude/settings.json` проекта:
```json
{
"skillOverrides": "name-only"
}
```
Допустимые значения:
| Value | Behavior |
|-------|----------|
| `"on"` (default) | A repo skill can override a user skill of the same name. |
| `"off"` | Disable overriding entirely - user skills always win. |
| `"name-only"` | Match overrides only on skill name (ignore description / source). |
| `"user-invocable-only"` | Only user-invocable skills can be overridden - model-invoked skills always come from their original location. |
Полезно, когда командная политика требует, чтобы «пользовательские skills всегда имели приоритет» (`"off"`) или «разрешались только точечные переопределения по имени» (`"name-only"`).
## Лучшие практики
### 1. Делайте описания конкретными
- **Плохо (расплывчато)**: «Помогает с документами»
- **Хорошо (конкретно)**: «Извлекает текст и таблицы из PDF-файлов, заполняет формы, объединяет документы. Используйте при работе с PDF-файлами или когда пользователь упоминает PDF, формы или извлечение данных из документов».
### 2. Делайте skills узкоспециализированными
- Один skill = одна возможность
- ✅ «Заполнение PDF-форм»
- ❌ «Обработка документов» (слишком широко)
### 3. Включайте триггерные термины
Добавляйте в описания ключевые слова, которые встречаются в запросах пользователей:
```yaml
description: Analyze Excel spreadsheets, generate pivot tables, create charts. Use when working with Excel files, spreadsheets, or .xlsx files.
```
### 4. Держите SKILL.md в пределах 500 строк
Выносите подробные справочные материалы в отдельные файлы, которые Claude подгружает по мере необходимости.
### 5. Ссылайтесь на вспомогательные файлы
```markdown
## Additional resources
- For complete API details, see [reference.md](reference.md)
- For usage examples, see [examples.md](examples.md)
```
### Рекомендации
- Используйте понятные, описательные имена
- Пишите исчерпывающие инструкции
- Добавляйте конкретные примеры
- Объединяйте связанные скрипты и шаблоны в один пакет
- Проверяйте на реальных сценариях
- Документируйте зависимости
### Чего делать не следует
- Не создавайте skills под разовые задачи
- Не дублируйте уже существующую функциональность
- Не делайте skills слишком универсальными
- Не оставляйте поле description пустым
- Не устанавливайте skills из непроверенных источников без предварительного аудита
## Устранение неполадок
### Краткая справка
| Issue | Solution |
|-------|----------|
| Claude doesn't use Skill | Make description more specific with trigger terms |
| Skill file not found | Verify path: `~/.claude/skills/name/SKILL.md` |
| YAML errors | Check `---` markers, indentation, no tabs |
| Skills conflict | Use distinct trigger terms in descriptions |
| Scripts not running | Check permissions: `chmod +x scripts/*.py` |
| Claude doesn't see all skills | Too many skills; check `/context` for warnings |
### Skill не срабатывает
Если Claude не использует ваш skill, когда вы этого ожидаете:
1. Убедитесь, что описание содержит ключевые слова, которые пользователи произнесли бы естественным образом
2. Проверьте, что skill отображается в ответе на вопрос «Какие skills доступны?»
3. Попробуйте переформулировать запрос так, чтобы он соответствовал описанию
4. Вызовите skill напрямую через `/skill-name` для проверки
### Skill срабатывает слишком часто
Если Claude использует ваш skill в нежелательных случаях:
1. Сделайте описание более конкретным
2. Добавьте `disable-model-invocation: true`, чтобы разрешить только ручной вызов
### Claude видит не все skills
Описания skills загружаются в объёме **1% окна контекста** (запасное значение: **8000 символов**). Каждая запись ограничена 250 символами независимо от бюджета. Выполните `/context`, чтобы проверить наличие предупреждений об исключённых skills. Переопределить бюджет можно через переменную окружения `SLASH_COMMAND_TOOL_CHAR_BUDGET`.
## Вопросы безопасности
**Используйте Skills только из доверенных источников.** Skills предоставляют Claude возможности через инструкции и код - вредоносный Skill может заставить Claude вызывать инструменты или выполнять код опасным образом.
**Ключевые аспекты безопасности:**
- **Проводите тщательный аудит**: просматривайте все файлы в директории Skill
- **Внешние источники несут риск**: Skills, загружающие данные с внешних URL, могут быть скомпрометированы
- **Злоупотребление инструментами**: вредоносные Skills могут вызывать инструменты во вред
- **Относитесь к этому как к установке ПО**: используйте Skills только из доверенных источников
### Отключение shell-подстановки в skills
Skills поддерживают синтаксис `` !`command` `` для вставки вывода shell-команд в prompt до того, как его увидит Claude. В окружениях с повышенными требованиями к безопасности (общие корпоративные развёртывания, изолированные CI-раннеры) эту подстановку можно полностью отключить через параметр `disableSkillShellExecution` (добавлен в **v2.1.91**):
```jsonc
// ~/.claude/settings.json or managed policy
{
"disableSkillShellExecution": true
}
```
Когда `disableSkillShellExecution` установлено в `true`, любые маркеры `` !`command` `` внутри skill остаются литеральным текстом и не выполняются - это убирает поверхность атаки shell-injection на уровне skill, не отключая сами skills. Такую настройку стоит комбинировать с белым списком `allowedTools` для эшелонированной защиты.
### Скрытие встроенных skills (`disableBundledSkills`)
Настройка `disableBundledSkills` (добавлена в **v2.1.169**) скрывает от модели встроенные skills, workflows и команды, поставляемые в комплекте с Claude Code. Используйте её, если встроенные skills создают лишний шум в конкретном проекте или если нужно сократить доступную модели поверхность skills:
```jsonc
// ~/.claude/settings.json or project .claude/settings.json
{
"disableBundledSkills": true
}
```
Эквивалентная форма через переменную окружения:
```bash
export CLAUDE_CODE_DISABLE_BUNDLED_SKILLS=1
```
## Skills и другие возможности
| Feature | Invocation | Best For |
|---------|------------|----------|
| **Skills** | Auto or `/name` | Reusable expertise, workflows |
| **Slash Commands** | User-initiated `/name` | Quick shortcuts (merged into skills) |
| **Subagents** | Auto-delegated | Isolated task execution |
| **Memory (CLAUDE.md)** | Always loaded | Persistent project context |
| **MCP** | Real-time | External data/service access |
| **Hooks** | Event-driven | Automated side effects |
## Встроенные skills
В комплект Claude Code входит набор встроенных skills, доступных сразу без установки (наиболее полезные перечислены ниже; полный список см. в [справочнике команд](https://code.claude.com/docs/en/commands)):
| Skill | Description |
|-------|-------------|
| `/batch <instruction>` | Orchestrate large-scale parallel changes across codebase using git worktrees |
| `/claude-api` | Load Claude API/SDK reference; auto-activates on `anthropic`/`@anthropic-ai/sdk` imports |
| `/dataviz` | Chart and dashboard design guidance with a runnable color-palette validator (v2.1.198) |
| `/debug [description]` | Troubleshoot current session by reading debug log |
| `/deep-research <topic>` | Run an in-depth research pass on a topic (explicit invocation only since v2.1.218 - Claude won't trigger this on its own) |
| `/fewer-permission-prompts` | Scan transcripts and propose a prioritized allowlist for common read-only tools |
| `/loop [interval] <prompt>` | Run prompt repeatedly on interval (e.g., `/loop 5m check the deploy`) |
| `/run` *(v2.1.145+)* | Launch this project's app to see a change running - looks for a project skill, otherwise falls back to built-in patterns per project type |
| `/run-skill-generator` *(v2.1.145+)* | Teach `/run`/`/verify` how to handle a specific project by generating a per-project skill |
| `/code-review [effort]` | Review the current diff for correctness bugs at a chosen effort level (e.g. `/code-review high`); pass `--comment` to post findings as inline PR comments. A distinct skill from `/simplify` (quality/reuse cleanups), which was split back out in v2.1.154. (explicit invocation only since v2.1.215 - Claude won't trigger this on its own) Since v2.1.218 it runs as a background subagent, so review work no longer fills your conversation and stacked slash commands stay its review target. |
| `/simplify` | Cleanup-only review - reuse, simplification, efficiency, altitude - and applies the fixes. Split back out from `/code-review` in v2.1.154 |
| `/verify` *(v2.1.145+)* | Build, run, and observe the app to confirm a fix works (not just that tests pass) (explicit invocation only since v2.1.215 - Claude won't trigger this on its own) |
Эти skills доступны из коробки и не требуют установки или настройки. Они используют тот же формат SKILL.md, что и пользовательские skills.
## Совместное использование Skills
### Проектные Skills (общие для команды)
1. Создайте Skill в `.claude/skills/`
2. Закоммитьте в git
3. Участники команды делают pull изменений - Skills сразу доступны
### Личные Skills
```bash
# Copy to personal directory
cp -r my-skill ~/.claude/skills/
# Make scripts executable
chmod +x ~/.claude/skills/my-skill/scripts/*.py
```
### Распространение через плагины
Упаковывайте skills в директорию `skills/` плагина для более широкого распространения.
## Что дальше: коллекция skills и менеджер skills
Когда вы всерьёз возьмётесь за создание skills, вам понадобятся две вещи: библиотека проверенных skills и инструмент для управления ими.
**[luongnv89/skills](https://github.com/luongnv89/skills)** - коллекция skills, которые я ежедневно использую почти во всех своих проектах. Из наиболее интересных стоит отметить `logo-designer` (на лету генерирует логотипы проектов) и `ollama-optimizer` (подстраивает производительность локальных LLM под ваше железо). Отличная отправная точка, если вам нужны готовые к использованию skills.
**[luongnv89/asm](https://github.com/luongnv89/asm)** - Agent Skill Manager. Отвечает за разработку skills, обнаружение дубликатов и тестирование. Команда `asm link` позволяет тестировать skill в любом проекте без копирования файлов - незаменимая вещь, когда skills становится больше нескольких штук.
## Дополнительные материалы
- [Официальная документация по skills](https://code.claude.com/docs/en/skills)
- [Статья в блоге об архитектуре Agent Skills](https://claude.com/blog/equipping-agents-for-the-real-world-with-agent-skills)
- [Репозиторий skills](https://github.com/luongnv89/skills) - коллекция готовых к использованию skills
- [Руководство по slash-командам](../01-slash-commands/) - сокращения, запускаемые пользователем
- [Руководство по subagents](../04-subagents/) - делегируемые AI-агенты
- [Руководство по memory](../02-memory/) - постоянный контекст
- [MCP (Model Context Protocol)](../05-mcp/) - внешние данные в реальном времени
- [Руководство по hooks](../06-hooks/) - автоматизация на основе событий
---
**Последнее обновление**: 4 августа 2026 г.
**Версия Claude Code**: 2.1.220
**Источники**:
- https://code.claude.com/docs/en/skills
- https://github.com/anthropics/claude-code/blob/main/CHANGELOG.md
- https://code.claude.com/docs/en/model-config
**Совместимые модели**: Claude Fable 5, Claude Opus 5, Claude Sonnet 5, Claude Sonnet 4.6, Claude Opus 4.8, Claude Haiku 4.5