← [Раздел](README.md) · [Главная](../README.md)

# Шаблоны промптов и snippets

## Цель

Создавать и хранить **переиспользуемые шаблоны** промптов в Cursor (Notepad, файлы, commands), адаптировать их под разные задачи без копипаста ошибок.

## Предварительно

- [README раздела 09](README.md)
- Раздел [03 — Промпты](../03-prompts/README.md)

## Время

~45 минут.

---

## Зачем шаблоны

Один и тот же запрос «сделай рефакторинг с тестами» без структуры даёт **разный** результат. Шаблон фиксирует:

- роль агента;
- входные данные;
- шаги;
- формат выхода;
- ограничения (что нельзя).

---

## Notepad в Cursor

**Notepad** — встроенное место для длинных текстов, которые вы вставляете в чат через `@Notepad` или копирование.

| Плюс | Минус |
|------|-------|
| Быстро для личных заметок | Не версионируется в Git |
| Удобно черновить | Команда не видит ваш Notepad |

**Когда:** личные эксперименты. **Когда нет:** командные стандарты → `.cursor/commands/` или `docs/prompts/`.

---

## Файловые шаблоны в репозитории

Рекомендуемая папка (создайте сами в проекте):

```text
docs/prompts/
├── bug-report.md
├── feature-request.md
└── refactor-checklist.md
```

Вызов в Agent:

```text
Следуй шаблону @docs/prompts/refactor-checklist.md для модуля billing
```

Плюс: **code review** шаблонов в PR, единый стандарт команды.

---

## Анатомия хорошего шаблона

```markdown
# Шаблон: Исправление бага

## Роль
Ты — инженер, который сначала воспроизводит баг, потом чинит.

## Вход
- Описание симптома: {{СИМПТОМ}}
- Файлы: {{ФАЙЛЫ}}

## Шаги
1. Сформулируй гипотезу
2. Напиши/запусти минимальный тест (RED)
3. Исправь (GREEN)
4. Рефакторинг без смены поведения

## Выход
- Корневая причина (2–3 предложения)
- Список изменённых файлов
- Как проверить вручную

## Запреты
- Не менять API без явного запроса
- Не коммитить
```

Плейсхолдеры `{{СИМПТОМ}}` заменяйте при использовании или оставляйте для подстановки вручную.

---

## Связь с slash-командами

Если шаблон вызывается **часто** и имя стабильно — перенесите в `.cursor/commands/fix-bug.md`:

```markdown
---
description: Багфикс по шаблону RED-GREEN-REFACTOR
---

Следуй шаблону @docs/prompts/bug-report.md
Пользователь опишет симптом после команды.
```

---

## Snippets редактора (Tab)

**Tab completion** — не шаблон промпта, а дополнение кода. Не путайте:

| Механизм | Объект |
|----------|--------|
| Промпт-шаблон | Инструкция агенту |
| Editor snippet | Вставка кода в файл |

Для агента используйте commands/skills, не editor snippets.

---

## ECC-шаблоны

В ECC есть готовые структуры в skills, например:

- `tdd-workflow` — шаблон цикла TDD
- `verification-loop` — чеклист перед merge
- `prp-plan` — product requirements

Вызывайте skill по имени или через `/plan`, не копируйте текст skill в промпт целиком.

---

## Чеклист качества шаблона

- [ ] Есть явный **формат ответа**
- [ ] Есть **запреты** (git push, секреты)
- [ ] Длина < 150 строк (иначе → skill)
- [ ] Плейсхолдеры помечены `{{}}`
- [ ] Указан язык ответа (русский/английский)

---

## Упражнение

1. Создайте `docs/prompts/my-review.md` на 30–40 строк.
2. Вызовите агента с `@docs/prompts/my-review.md` на маленьком diff.
3. Сравните с тем же запросом без шаблона.

---

## Самопроверка

1. Где хранить командный шаблон — Notepad или Git?
2. Зачем плейсхолдеры `{{}}`?
3. Когда переносить шаблон в command?
4. Чем промпт-шаблон отличается от editor snippet?

---

## Дальше

→ [@-упоминания и переменные](variables-i-mentions.md)  
← [Оглавление раздела 09](README.md)
