Skip to content
Back to skills

Spec First

ASecurity

Start a new project with a spec before code. Two phases: Vision (what/why) then Blueprint (how/order). Use when: user describes a new project idea ("I want to build a bot", "need a site for...", "new project", "start a project", "plan the project", "build me", "let's make"), says /spec-first, or when existing code has no docs/vision/blueprint. Also triggers on Russian: "хочу сделать", "нужен сайт для", "новый проект", "начинаем", "давай спеку", "запускаем". Do NOT use for: reviewing existing ...

  • 5 stars
  • 0 votes
  • 0 copies
  • 2 views
  • Added October 12, 2026
ai-agentsreactvuedebuggingapi

Works with

  • api

Security analysis

A100/100

Pro scans all 3 files and shows the line behind each finding

Scanned October 12, 2026

npx -y skills add GuruDevvv/my-claude-skills --skill spec-first --agent claude-code

Installs into .claude/skills of the current project.

Are you the author of Spec First?

Add the live security badge to your README. It updates with every re-scan.

Security grade badge for Spec First
[![Security: A — Skills Directory](https://www.skillsdirectory.com/api/skills/gurudevvv-spec-first/badge)](https://www.skillsdirectory.com/skills/gurudevvv-spec-first)

More formats (shields.io, HTML) on the badges page. Keep it an A: scan every change in CI with Pro.

Download with Pro
SKILL.md
---
name: spec-first
description: >
  Start a new project with a spec before code. Two phases: Vision (what/why) then Blueprint (how/order).
  Use when: user describes a new project idea ("I want to build a bot", "need a site for...",
  "new project", "start a project", "plan the project",
  "build me", "let's make"), says /spec-first, or when existing code has no docs/vision/blueprint.
  Also triggers on Russian: "хочу сделать", "нужен сайт для", "новый проект", "начинаем",
  "давай спеку", "запускаем".
  Do NOT use for: reviewing existing specs (use multi-layer-review), debugging, code review, adding features
  to a project that already has docs/vision.md, or general Q&A.
---

# Spec-First — старт проекта через спецификацию

Структурированный запуск проекта: сначала спека, потом код. Две фазы: Vision (что и зачем) → Blueprint (как и в каком порядке).

## Онбординг

Скажи пользователю:

"Давай сначала опишем проект — я задам несколько простых вопросов, а потом сам составлю план сборки. Это займёт около 20 минут.

Без плана я могу начать делать не то, выбрать неподходящие технологии или забыть важное на полпути. С планом — собираем с первого раза, и если продолжим в новой сессии — контекст не потеряется."

---

## Определи фазу

Все пути (`docs/vision.md`, `docs/blueprint.md`) — относительно корня проекта (текущая рабочая директория). Если папка `docs/` не существует — создай.

### Проверь контекст

| Код есть? | vision.md | blueprint.md | Действие |
|-----------|-----------|--------------|----------|
| Нет | Нет | Нет | **Vision** с нуля |
| Нет | Да | Нет | Проверь что vision.md содержит секции "User Stories" и "MVP Scope". Если да → **Blueprint**. Если нет → дополни Vision |
| Нет | Да | Да | Покажи статус (задачи из blueprint), предложи начать сборку |
| **Да** | **Нет** | **Нет** | **Ретроспека**: изучи код (package.json/requirements.txt, главный файл, модели), предложи черновик ответов на Q1-Q9. Спроси: "По коду я понял так: [...]. Верно?" Дальше — стандартный Vision, но только по неотвеченным вопросам |
| Да | Да | Нет | Проверь vision.md на соответствие коду, затем **Blueprint** |

### Аргументы
- `vision` — фаза Vision (если vision.md есть — покажи и спроси: "Переделываем или правим?")
- `blueprint` — фаза Blueprint (если vision.md нет — предупреди и начни с Vision)
- Любой другой текст — прими как описание проекта (ответ на Q1), начни Vision с Q2

---

## Фаза Vision (что и зачем)

Задавай вопросы ПО ОДНОМУ. Жди ответа перед следующим. Если пользователь ответил сразу на несколько — прими все ответы, подтверди ("Понял: это [X], для [Y]"), продолжи с первого неотвеченного.

### Вопросы (порядок: сначала мечта, потом рамки, потом проверка)

**Q1:** Что ты хочешь сделать? Опиши в одном-двух предложениях.

**Q1.5:** Зачем тебе это? Что изменится, когда проект заработает?

**Q2:** Для кого это? Ты сам, друзья, публичная аудитория?

**Q3:** Опиши главный сценарий: пользователь открывает → делает → видит. По шагам, как инструкцию.

**Q4:** Пользователь закрыл приложение и вернулся завтра. Что должно сохраниться? (история, настройки, ничего?)

**Q5** (если в ответах упоминается AI/LLM/нейросеть/генерация): Как AI должен общаться? Формально, дружески? Есть ли запретные темы?

**Q6:** Есть ли что-то похожее на то, что ты хочешь? Чем твоё будет отличаться?
*Подсказка: если не знает — предложи 2-3 известных аналога из этой области. Если аналогов нет — запиши "Аналоги не выявлены" и продолжай.*

**Q7:** Где это будет работать — телефон, компьютер, Telegram?

**Q7.5:** Нужны ли внешние сервисы (API, базы, платёжки)? Есть ограничения по бюджету?

**Q8:** Чего точно НЕ будем делать в первой версии?
*Подсказка: если затрудняется — предложи 3-4 типичных расширения для такого типа проекта и спроси: "Берём в v1 или оставим на потом?"*

**Q9:** Представь — проект готов. Ты открываешь и проверяешь. Какие 3 вещи сделаешь чтобы убедиться что всё работает?
(Пример: "напишу боту /start и получу приветствие")

### Если пользователь затрудняется

Не оставляй вопрос без ответа. Помоги:
- **Q1:** предложи аналогию: "Это как [X], только для [Y]?"
- **Q3:** пройди вместе: "Представь — ты открыл. Что первое видишь?"
- **Q4:** предложи варианты: "Обычно для такого проекта сохраняют: тексты, настройки, историю действий, ничего. Что ближе?"
- **Q5:** предложи рамку: "Представь AI как сотрудника — он формальный и точный, или дружелюбный и разговорчивый?"
- **Q6:** подскажи 2-3 аналога из области. Если пользователь не знает — это нормально, запиши и двигайся дальше
- **Q7:** предложи дефолт: "Для начала — локально. Деплой добавим потом. Ок?"
- **Q7.5:** предложи типичные варианты: "Обычно для такого проекта нужны: база данных, API какого-то сервиса, хостинг. Что из этого актуально? По бюджету — бесплатные тарифы или готов платить?"
- **Q8:** подсказка уже встроена в вопрос. Если затрудняется — предложи 3-4 типичных расширения и спроси что оставить на потом
- **Q9:** предложи 3-4 проверки из контекста проекта, спроси какие подходят

Если после двух попыток ответа нет — предложи разумный дефолт и запиши в секцию "Риски" как допущение.

### Генерация vision.md

После всех ответов сгенерируй `docs/vision.md`:

```
# Vision: [Название]
## Одной строкой
## Проблема
## Для кого
## User Stories (минимум 2, из ответов на Q3; если мало — спроси ещё)
## Аналоги и отличия (из Q6; если аналогов нет — "Не выявлены")
## MVP Scope (чеклист фич, каждая помечена [MUST], [NICE] или [LATER])
## НЕ делаем в v1
## Проверки готовности (превращай ответы Q9 в конкретные проверки с числами — это твоя работа, не пользователя)
## Данные и состояние (из Q4)
## AI-поведение (если применимо, из Q5)
## Риски (минимум 1 запись)
```

### Gate → Blueprint

Не переходи дальше пока не выполнено:
- Минимум 2 сценария "делаю X → получаю Y" (из Q3/Q9)
- Хотя бы 1 конкретная проверка (не "чтобы работало", а действие → результат)
- Есть хотя бы 1 пункт в "НЕ делаем"
- Пользователь подтвердил Vision

Если не хватает — скажи что именно и задай уточняющий вопрос.

**Если пользователь настаивает пропустить:** "Понимаю, хочется быстрее. Но без [недостающее] через 2 часа упрёмся в переделку. Давай за 2 минуты закроем — вот вопрос: [...]". Если настаивает второй раз — пропусти, но запиши пропущенное в "Риски" с пометкой `[GATE SKIP]`.

Когда gate пройден: "Vision готов. Сейчас подготовлю план сборки — тебе нужно будет только проверить и одобрить."

---

## Фаза Blueprint (как строим)

Прочитай `docs/vision.md`. Проверь наличие обязательных секций. Если чего-то нет — дополни через вопросы Vision прежде чем продолжать.

Проходи шаги ИНТЕРАКТИВНО — каждый покажи; где решение за пользователем, жди ответа:

**Шаг 1. Технологии** — предложи 2 готовых набора технологий. Объясни разницу простым языком: не "React vs Vue", а "Вариант 1 загружается быстрее, Вариант 2 проще и дешевле". Дай рекомендацию. **Жди выбора.**

**Шаг 2. Какие данные хранит приложение** — покажи наглядно таблицей (сущности, поля). Обязательно учти ответ на Q4 (что сохраняется между сессиями). Спроси: "Ничего не забыл?" **Жди ответа.**

**Шаг 3. Структура проекта** — дерево папок и файлов. Покажи и сразу переходи к шагу 4: решать тут пользователю нечего, поправит, если захочет.

**Примечание по дизайну:** если проект имеет визуальный интерфейс (сайт, приложение) — упомяни что дизайн прорабатывается отдельно, перед началом вёрстки. Не углубляйся — это не задача этого скилла. Достаточно добавить в план сборки задачу-placeholder: "Подготовить дизайн/прототип (отдельный этап)".

**Шаг 4. Деплой** — основной вариант — VPS владельца (его сервер Timeweb, где живут остальные проекты); альтернатива — локально или Telegram-хостинг, если проекту не нужен сервер. Облачные хостинги (Vercel и подобные) не предлагай, если пользователь сам о них не попросил. Учти ответы на Q7/Q7.5 (платформа, бюджет). Если проект чисто локальный — скажи "Деплой не нужен, запускаем локально" и двигайся дальше. **Жди ответа.**

**Шаг 5. План сборки** — 3-15 задач в правильном порядке. Каждая задача в формате:
```
1. [ ] Название задачи (зависит от N)
   Файлы: file1.js, file2.js
   Готово когда: [конкретная проверка — что можно увидеть/запустить]
```
Каждая задача понятна без технических знаний. Если >15 — предложи разбить на этапы. **Жди ответа.**

**Шаг 6. Чек-лист проверки** — минимум 5 проверок "Делаю X → Вижу Y" (из Q9 + дополнительные). **Жди ответа.**

**Шаг 7** (если в vision есть AI-поведение): добавь в стек AI-провайдер, задачу на системный промпт, 2+ проверки на AI-поведение. **Жди ответа.**

**Шаг 8. Свежий взгляд** — после шагов 1-7 предложи:

"Хочешь, я взгляну на весь план свежим взглядом — проверю, не упустил ли чего?"

Если пользователь согласен — перечитай vision.md и все шаги Blueprint заново. Проверь:
1. **Полнота:** все ли фичи из MVP Scope попали в задачи? Нет ли обсуждённого в Vision, что потерялось?
2. **Порядок:** задачи стоят в правильной последовательности? Зависимости не нарушены?
3. **Конкретность:** каждый "Готово когда" — это проверяемое действие, а не "должно работать"?
4. **Фазы разработки:** учтены ли все этапы — настройка, основная логика, интеграции, деплой, проверки?
5. **Соответствие Vision:** blueprint не противоречит scope, антископу или ограничениям?

Покажи результат: что ок, что предлагаешь исправить. Если есть правки — внеси после одобрения. **Жди ответа.**

Если пользователь отказался — двигайся дальше без задержки.

### Генерация blueprint.md

После одобрения (или пропуска шага 8) — сгенерируй `docs/blueprint.md`:

```
# Blueprint: [Название]
## Tech Stack (с обоснованием)
## Структура проекта (дерево)
## Data Model (таблицы)
## API / Endpoints (если есть)
## Деплой (куда, как, бюджет)
## Задачи (чеклист: название, файлы, "готово когда")
## Проверки готовности (минимум 5)
```

### Gate → код

- Стек одобрен
- 3-15 задач
- Минимум 5 проверок готовности
- Данные описаны
- Нет противоречий с vision.md

**Если пользователь настаивает пропустить:** те же правила — одна попытка убедить, при втором отказе пропустить с записью в blueprint.md секции "Пропущенные проверки".

Когда gate пройден — обнови CLAUDE.md проекта (**дополни**, не перезаписывай если уже существует):
- Описание проекта (из vision)
- Стек и структура (из blueprint)
- Boundaries: Always (тесты, .env, коммиты, **сверяться с docs/blueprint.md перед началом работы**) / Ask First (новые зависимости, миграции БД) / Never (секреты в коде, удаление данных)
- Ссылки на docs/vision.md и docs/blueprint.md

Скажи: "План готов! Скажи 'поехали' — и начинаю собирать по шагам."

При старте сборки: если доступен скилл `superpowers:executing-plans` — используй его. Если нет — бери задачи из blueprint.md по порядку, реализуй по одной, отмечай [x] после каждой.

---

## Навигация между фазами

**Возврат из Blueprint в Vision:**
Если пользователь хочет изменить scope/сценарий во время Blueprint:
1. Мелкая правка (добавить/убрать фичу) → обнови vision.md, продолжи Blueprint
2. Меняется суть (другая аудитория, другой сценарий) → вернись к нужному вопросу, пересоздай vision.md, проверь gate

**После любого изменения vision.md** — проверь, не противоречит ли текущий blueprint. Если да — предупреди и предложи пересобрать затронутые секции.

---

## Антипаттерны

Проверяй на каждом ответе. Если замечаешь — сразу мягко предупреди:

- **"Ещё одну фичу"** → покажи сколько компонентов добавится, предложи v1.1
- **"Сделай чтобы работало"** → уточни ЧТО и КАК конкретно
- **"Потом разберёмся"** → запиши в риски vision.md
- **Scope > 15 задач** → предложи разбить на этапы

Files in this skill

  • README.md7.1 KB
  • SKILL.md18.3 KB
  • research.md24.2 KB

Attribution

Is this your skill, or is something wrong with this listing? Request removal or report an issue. Author removals are honored within 72 hours.

Comments

Loading comments…

Newsletter

Get the weekly list of safe new skills, and the ones we pulled.