---
name: новый-скилл
description: Создаёт новые скиллы для Claude Code из паттернов разговора или описания пользователя. Вызывай когда пользователь говорит «сделай скилл», «создай скилл», «упакуй это в скилл», «сохрани как скилл», «новый скилл», «/новый-скилл», или хочет переиспользовать удачный воркфлоу.
allowedTools:
  - Read
  - Write
  - Edit
  - Bash
  - Glob
  - Grep
  - AskUserQuestion
---

# Новый Скилл — Pattern -> Skill Converter

Превращает проверенные паттерны работы в готовые SKILL.md для Claude Code. Анализирует текущий разговор или описание пользователя, извлекает паттерн, проверяет на дубликаты, создаёт скилл, устанавливает и тестирует.

## Триггеры

- `/новый-скилл` — запуск мастера
- «Сделай скилл из этого», «упакуй в скилл», «save this as a skill»
- «Хочу переиспользовать этот воркфлоу»
- После удачной многошаговой задачи, если пользователь просит сохранить паттерн

---

## АЛГОРИТМ

### Фаза 1: ЗАХВАТ ПАТТЕРНА

#### 1.1. Определи источник

**Вариант A — из текущего разговора:**
Проанализируй историю текущей сессии и извлеки:
- Какие инструменты и команды использовались
- Последовательность шагов (что за чем)
- Форматы входных данных (что подавал пользователь)
- Форматы выходных данных (что получилось)
- Поправки пользователя (это САМОЕ ВАЖНОЕ — в них суть паттерна)
- Конкретные промпты/формулировки, давшие хороший результат

**Вариант B — из описания пользователя:**
Пользователь описывает паттерн словами. Переходи к 1.2.

#### 1.2. Уточни через AskUserQuestion (все вопросы сразу)

```
1. "Как назвать скилл?" (предложи 2-3 варианта в kebab-case)

2. "Когда этот скилл должен срабатывать? Какие фразы/ситуации?" (триггер)

3. "Что на входе? Что на выходе?"

4. "Нужны ли внешние зависимости?" (API, скрипты, MCP серверы)
```

### Фаза 2: ПРОВЕРКА НА ДУБЛИКАТЫ

#### 2.1. Сканируй существующие скиллы

```bash
ls ~/.claude/skills/
```

Прочитай description из YAML frontmatter каждого SKILL.md, который может пересекаться по функционалу:

```bash
for d in ~/.claude/skills/*/; do
  echo "=== $(basename $d) ==="
  head -5 "$d/SKILL.md" 2>/dev/null
done
```

#### 2.2. Если есть пересечение — спроси пользователя:

> Уже есть похожий скилл: **`<название>`** — «<описание>».
> Варианты:
> 1. Расширить существующий
> 2. Создать отдельный (с чётким разделением триггеров)
> 3. Заменить существующий

### Фаза 3: СОЗДАНИЕ SKILL.MD

#### 3.1. Определи уровень свободы

| Уровень | Когда | Пример |
|---------|-------|--------|
| **Высокая свобода** | Креативные задачи | «Напиши копирайт для лендинга» |
| **Средняя свобода** | Есть предпочтительный паттерн | «Проанализируй транскрипцию по шаблону» |
| **Низкая свобода** | Важна точность и повторяемость | «Создай XLSX для Директа по формату» |

#### 3.2. Составь SKILL.md

**Структура файла (следуй ТОЧНО):**

```markdown
---
name: <kebab-case>
description: <ЧТО делает + КОГДА триггерится. Описание "пушистое" — лучше перетриггерить. Включай конкретные фразы-триггеры. Макс 300 символов.>
allowedTools:
  - <только нужные инструменты>
---

# <Название>

<2-3 предложения: что это, зачем, результат>

## Триггеры

<конкретные фразы и ситуации, когда запускать>

## Конфигурация (если есть плейсхолдеры)

| Плейсхолдер | Пример | Описание |
...

## Алгоритм

### Шаг 1: ...
### Шаг 2: ...
...

## Формат выхода

<шаблон/пример того, что скилл создаёт>

## Важные правила

<ограничения, edge cases, что НЕ делать>
```

#### 3.3. Принципы написания (чеклист при создании)

**Экономия контекста:**
- НЕ объяснять то, что Claude и так знает (Python-синтаксис, HTML-теги...)
- Добавлять ТОЛЬКО специфичное, неочевидное знание
- Конкретный пример > длинное объяснение

**Описание (description) — решает, загрузится ли скилл:**
- Включи 3-5 конкретных триггерных фраз
- Пиши и ЧТО делает, и КОГДА использовать
- Будь «навязчивым» — лучше перетриггерить

**allowedTools — только нужные:**
- Read/Write/Edit — работа с файлами
- Bash — выполнение команд, curl, скрипты
- WebSearch/WebFetch — если нужен интернет
- Agent — если параллельные подзадачи
- AskUserQuestion — если нужно уточнение
- Glob/Grep — если нужен поиск по файлам
- TodoWrite — если много шагов и нужен прогресс-бар

**Универсальность:**
- Используй плейсхолдеры `{{VAR}}` вместо хардкод-путей
- Добавь секцию «Конфигурация» с таблицей плейсхолдеров
- Абсолютные пути — но через переменные

### Фаза 4: УСТАНОВКА И ТЕСТИРОВАНИЕ

#### 4.1. Создай файлы

```bash
mkdir -p ~/.claude/skills/<skill-name>
```

Запиши SKILL.md через Write tool.

Если скилл нуждается в вспомогательных файлах:
```
<skill-name>/
├── SKILL.md
├── references/     (справочные материалы, если много)
├── examples/       (примеры входа/выхода)
└── scripts/        (детерминированная логика — Python/Bash)
```

#### 4.2. Верификация

Прочитай созданный файл и проверь по чеклисту:

- [ ] name в kebab-case
- [ ] description отвечает на «когда использовать» + содержит триггерные фразы
- [ ] allowedTools — только нужные, не избыточные
- [ ] Инструкции конкретны и проверяемы
- [ ] Есть шаблон формата выхода
- [ ] Есть обработка ошибок / edge cases
- [ ] Нет секретов/ключей в коде
- [ ] Стиль консистентен с другими скиллами

#### 4.3. Сгенерируй тест-кейсы

Покажи пользователю 3-5 примеров запросов:

```
Тест-кейсы для скилла «<название>»:

Должен сработать:
1. "<типичный запрос>"
2. "<запрос другой формулировкой>"
3. "<граничный случай>"

НЕ должен сработать:
4. "<похожий запрос, но для другого скилла>"
5. "<слишком общий запрос>"
```

### Фаза 5: ФИНАЛЬНЫЙ ОТЧЁТ

```
СКИЛЛ СОЗДАН
---
Название: <название>
Путь: ~/.claude/skills/<skill-name>/SKILL.md
Триггер: "<как вызывать>"

Тест-кейсы:
  "<пример 1>" -> должен сработать
  "<пример 2>" -> должен сработать
  "<пример 3>" -> НЕ должен сработать

Следующий шаг: попробуй вызвать `/<skill-name>` в новом чате
```

---

## ВАЖНЫЕ ПРАВИЛА

1. **Сначала проверь дубликаты** — не создавай скилл, если уже есть похожий
2. **Description = 80% успеха** — если описание плохое, скилл не будет триггериться
3. **Не перегружай** — скилл должен делать ОДНУ вещь хорошо. Если сложный — разбей на 2
4. **Стиль = как существующие** — пользователь привык к формату
5. **allowedTools = минимум** — каждый лишний инструмент расширяет поверхность атаки
6. **Тестируй ментально** — пройдись по алгоритму «как если бы я был Claude, читающий этот SKILL.md впервые»

---

## КАТАЛОГ allowedTools

Для быстрого выбора при создании скилла:

| Нужно... | allowedTools |
|----------|-------------|
| Читать/создавать файлы | Read, Write, Edit |
| Выполнять команды | Bash |
| Искать в интернете | WebSearch, WebFetch |
| Параллельные задачи | Agent |
| Спрашивать пользователя | AskUserQuestion |
| Искать по файлам | Glob, Grep |
| Показывать прогресс | TodoWrite |
| Генерировать изображения | Bash (curl к API) |
| Работать с API | Bash (curl) |

---

## ПРИМЕРЫ ХОРОШИХ ОПИСАНИЙ (description)

```yaml
# Хорошо — конкретные триггеры, понятно ЧТО и КОГДА
description: Транскрибирует Zoom-записи через API, создаёт саммари. Вызывай когда пользователь просит обработать звонки/встречи.

# Хорошо — много триггерных фраз
description: Генерирует XLSX-файлы для импорта в Яндекс Директ. Вызывай когда пользователь говорит «кампания для директа», «файл для импорта», «xlsx для яндекса».

# Плохо — слишком общее
description: Помогает с маркетингом.

# Плохо — нет триггеров
description: Создаёт презентации.
```
