Validate idea and create detailed PRD. Saves docs/PRD.md to project. Use when: user describes an app idea, wants to create something new. Triggers: "I want to build", "create app", "make website", "build MVP", "хочу создать", "сделать приложение".
/plugin marketplace add timequity/vibe-coder/plugin install vibe-coder@vibe-coderThis skill inherits all available tools. When active, it can use any tool Claude has access to.
scripts/validate_prd.pyUnderstand what the user wants, ask the right questions based on project type, and create a comprehensive PRD.
First, determine project type from user's description or ask directly:
question: "Какой тип проекта?"
header: "Type"
options:
- label: "Web App (SaaS)"
description: "Веб-приложение с UI"
- label: "Telegram Bot"
description: "Бот для Telegram"
- label: "REST/GraphQL API"
description: "Backend сервис"
- label: "CLI Tool"
description: "Консольная утилита"
# Other types via "Other": Mobile App, Discord Bot, Library/SDK, Data Pipeline, Browser Extension
Based on complexity, offer brainstorming:
| Signal | Recommendation |
|---|---|
| Description < 10 words | Suggest brainstorm |
| Complex type (Telegram, Mobile, Data) | Suggest brainstorm |
| Detailed description | Suggest skip |
| User says "быстро"/"simple" | Auto-skip |
question: "Хочешь уточнить идею через brainstorm?"
header: "Brainstorm"
options:
- label: "Да, давай уточним"
description: "Детальные вопросы → полный PRD"
- label: "Нет, идея понятна"
description: "Быстрые вопросы → минимальный PRD"
- label: "Частично"
description: "Ключевые вопросы только"
Q1: Problem
question: "Какую проблему это решает?"
header: "Problem"
options: [3-4 contextual options based on idea]
Q2: Target User
question: "Кто будет этим пользоваться?"
header: "User"
options:
- label: "Для себя"
description: "Личное использование"
- label: "AI агенты"
description: "Через API/MCP"
- label: "Команда/Бизнес"
description: "Совместная работа"
- label: "Публичный сервис"
description: "Широкая аудитория"
Q3: Core Action
question: "Что первое делает пользователь?"
header: "Action"
options: [3-4 contextual options]
Q4: Success
question: "Как понять что сработало?"
header: "Success"
options: [3-4 contextual options]
question: "Как бот взаимодействует с пользователем?"
header: "Interaction"
options:
- label: "Команды (/start, /help)"
description: "Структурированное взаимодействие"
- label: "Диалог"
description: "Свободное общение"
- label: "Inline режим"
description: "Поиск из любого чата"
- label: "Кнопки/меню"
description: "Визуальная навигация"
question: "Нужна ли база данных?"
header: "Storage"
options:
- label: "Да, SQLite"
description: "Простое хранение"
- label: "Да, PostgreSQL"
description: "Масштабируемое"
- label: "Нет"
description: "Stateless бот"
question: "Внешние интеграции?"
header: "APIs"
multiSelect: true
options:
- label: "OpenAI/LLM"
- label: "Payment (Stripe/YooKassa)"
- label: "External APIs"
- label: "Нет интеграций"
question: "Нужна ли авторизация?"
header: "Auth"
options:
- label: "Email + пароль"
- label: "OAuth (Google/GitHub)"
- label: "Magic link"
- label: "Не нужна"
question: "Realtime функции?"
header: "Realtime"
options:
- label: "Да, WebSocket"
- label: "Да, Server-Sent Events"
- label: "Нет, обычный HTTP"
question: "Для кого API?"
header: "Audience"
options:
- label: "Internal"
description: "Для своих фронтов"
- label: "Public"
description: "Для внешних разработчиков"
- label: "Partner"
description: "Для партнёров"
question: "Аутентификация?"
header: "Auth"
options:
- label: "API Key"
- label: "JWT"
- label: "OAuth2"
- label: "Без авторизации"
question: "Как запускается?"
header: "Execution"
options:
- label: "Одна команда"
description: "cli do-something"
- label: "Субкоманды"
description: "cli cmd1, cli cmd2"
- label: "Интерактивный"
description: "Диалог с пользователем"
question: "Вывод?"
header: "Output"
options:
- label: "Текст"
- label: "JSON"
- label: "Файлы"
- label: "Табличный"
question: "Есть ли ограничения?"
header: "Constraints"
multiSelect: true
options:
- label: "Бесплатные сервисы only"
description: "Без платных зависимостей"
- label: "Быстрый MVP"
description: "Дедлайн < 1 недели"
- label: "Scale 1000+ пользователей"
description: "Нужна масштабируемость"
- label: "Нет ограничений"
# {Name} PRD
## Problem
{One sentence from Q1}
## User
{From Q2}
## Core Features
- [ ] {Feature from Q3}
- [ ] {Feature 2}
- [ ] {Feature 3}
## Success Metric
{From Q4}
## Tech Stack
{Based on project type}
---
Generated: {date}
Status: Draft
# {Name} PRD
## Problem
{One sentence from Q1}
## User
{From Q2 with context}
## Product Type
{Type} — {type-specific details}
## Core Features (MVP)
1. **{Feature Name}**
- User story: As a {user}, I want to {action} so that {benefit}
- Acceptance criteria:
- [ ] {Criterion 1}
- [ ] {Criterion 2}
2. **{Feature 2}**
...
## Non-Goals
- {What we're NOT building}
## Success Metrics
- **Primary:** {From Q4}
## Tech Stack
{Based on project type and answers}
## Dependencies
- {External APIs if any}
- {Third-party services}
---
Generated: {date}
Status: Draft
# {Name} — Product Requirements Document
## Overview
{Brief description of what we're building and why}
## Problem Statement
{Detailed problem from Q1 with context}
## Target Users
- **Primary persona:** {From Q2}
- **Use context:** {When/where they use this}
- **User volume:** {Expected scale}
## Product Type
{Type}
### Type-Specific Requirements
{Section content varies by project type - from type-specific questions}
## Core Features (MVP)
### Feature 1: {Name}
- **User story:** As a {user}, I want to {action} so that {benefit}
- **Acceptance criteria:**
- [ ] {Criterion 1}
- [ ] {Criterion 2}
- [ ] {Criterion 3}
- **Priority:** P0
### Feature 2: {Name}
...
## Non-Goals (Explicitly Out of Scope)
- Not doing {X} because {Y}
- Not doing {Z} in MVP, maybe later
## Success Metrics
- **Primary:** {From Q4}
- **Secondary:** {Supporting metrics}
## Technical Constraints
- **Hosting:** {Where it runs}
- **Budget:** {Free tier / paid services}
- **Performance:** {Latency/throughput requirements}
- **Security:** {Auth, encryption, compliance}
## Dependencies
- **External APIs:** {list}
- **Third-party services:** {list}
## Risks & Mitigations
- Risk 1 → Mitigation
- Risk 2 → Mitigation
---
Generated: {date}
Status: Draft
| Project Type | Default PRD |
|---|---|
| CLI Tool | Minimal |
| Simple API | Minimal |
| Web App | Standard |
| Telegram Bot | Standard |
| Mobile App | Full |
| Data Pipeline | Full |
| SaaS with Auth | Full |
Override:
Validate PRD:
python3 scripts/validate_prd.py --path docs/PRD.md
Report to user:
PRD saved to docs/PRD.md
Summary:
- Type: {project type}
- Features: {count}
- Complexity: {minimal/standard/full}
Next: Task[rust-project-init] or Task[python-project-init]
This skill should be used when the user asks to "create an agent", "add an agent", "write a subagent", "agent frontmatter", "when to use description", "agent examples", "agent tools", "agent colors", "autonomous agent", or needs guidance on agent structure, system prompts, triggering conditions, or agent development best practices for Claude Code plugins.
This skill should be used when the user asks to "create a slash command", "add a command", "write a custom command", "define command arguments", "use command frontmatter", "organize commands", "create command with file references", "interactive command", "use AskUserQuestion in command", or needs guidance on slash command structure, YAML frontmatter fields, dynamic arguments, bash execution in commands, user interaction patterns, or command development best practices for Claude Code.
This skill should be used when the user asks to "create a hook", "add a PreToolUse/PostToolUse/Stop hook", "validate tool use", "implement prompt-based hooks", "use ${CLAUDE_PLUGIN_ROOT}", "set up event-driven automation", "block dangerous commands", or mentions hook events (PreToolUse, PostToolUse, Stop, SubagentStop, SessionStart, SessionEnd, UserPromptSubmit, PreCompact, Notification). Provides comprehensive guidance for creating and implementing Claude Code plugin hooks with focus on advanced prompt-based hooks API.