requirements-writer — скилл для Claude Code: SPEC.md из заметок PM
Ведёт диалог с продакт-менеджером и собирает из черновых мыслей один SPEC.md с проверяемыми критериями приёмки и явными границами.
npx skills add mvschwarz/openrig --skill requirements-writer -a claude-codeЧто делает requirements-writer
Скилл включается, когда сырые заметки PM надо превратить в требования, по которым разработчик или ИИ-агент начнёт работу без уточняющих вопросов. Он держится роли продуктового аналитика: спрашивает про «что» и «зачем», но не лезет в архитектуру, оценку сроков, модели данных и контракты API.
Сначала скилл молча осматривает окружение: validation.md с вердиктом GO/REFINE/PAUSE, background.md с драйверами клиентов, уже существующий SPEC.md выбранного слайса. Если вердикт GO, вопросы про спрос и объём пропускаются, разговор сразу идёт про критерии приёмки. Дальше раунды по 5–8 вопросов: сначала объём и персоны, потом GIVEN/WHEN/THEN, бизнес-правила и краевые случаи. После каждой порции скилл возвращает текущее состояние требований, нерешённое помечает [draft].
На выходе один файл SPEC.md с frontmatter, мини-требованиями, секциями In Scope и Explicitly Out of Scope, открытыми вопросами и proof contract. Поле depends_on принимает только dot-ID того же родителя и означает советует порядок сборки соседних слайсов — устаревшее ребро граф лишь покажет в отчёте, работу оно не блокирует. Требования пишутся только под текущую фазу: будущие этапы уходят в Out of Scope, потому что агенты читают SPEC.md буквально.
Какие задачи решает
- превратить черновые заметки PM в SPEC.md, готовый к реализации
- зафиксировать критерии приёмки в формате GIVEN/WHEN/THEN
- отделить текущую фазу от будущих и вынести лишнее в Out of Scope
- вытащить неочевидные бизнес-правила и краевые случаи до начала кодинга
- свести старый requirements.md и новый SPEC.md к одному источнику требований
Примеры запросов агенту
- Собери SPEC.md по фиче онбординга: вот заметки с созвона, начни с уточняющих вопросов
- Проверь мой SPEC.md и пометь [draft] всё, что я ещё не подтвердил
- Добавь в proof contract проверяемые исходы для этого слайса
Как установить requirements-writer
1Через Skills CLI (Vercel)
npx skills add mvschwarz/openrig --skill requirements-writer -a claude-code2Вручную: положить файлы
~/.claude/skills/requirements-writer/SKILL.mdПапка скилла целиком; для одного проекта — .claude/skills/requirements-writer/
1Через Skills CLI (Vercel)
npx skills add mvschwarz/openrig --skill requirements-writer -a codex2Вручную: положить файлы
.agents/skills/requirements-writer/SKILL.mdДля всех проектов — ~/.agents/skills/
1Через Skills CLI (Vercel)
npx skills add mvschwarz/openrig --skill requirements-writer -a cursor2Вручную: положить файлы
.cursor/skills/requirements-writer/SKILL.mdCursor читает и .agents/skills/, и .claude/skills/
1GitHub CLI
gh skill install mvschwarz/openrig requirements-writer2Вручную: положить файлы
.github/skills/requirements-writer/SKILL.md1Через Skills CLI (Vercel)
npx skills add mvschwarz/openrig --skill requirements-writer -a gemini-cli2Командой платформы
gemini skills install https://github.com/mvschwarz/openrig --path skills/_canonical/pm/requirements-writerВручную: положить файлы
.devin/skills/requirements-writer/SKILL.mdСтарый путь .windsurf/skills/ тоже читается
Через Skills CLI (Vercel)
npx skills add mvschwarz/openrig --skill requirements-writer -a opencodeClaude.ai
Упакуйте папку в zip и загрузите в Settings → Capabilities → Skills
По шагам, с командами для каждой платформы: Как установить скилл в Claude Code: пять способов
Вопросы о requirements-writer
Как установить requirements-writer в Claude?
Выполните npx skills add mvschwarz/openrig --skill requirements-writer -a claude-code. Скилл окажется в ~/.claude/skills/requirements-writer/SKILL.md.
Что делает requirements-writer?
Проводит разговор с PM и собирает из него один SPEC.md: персоны, пользовательские истории, критерии приёмки, бизнес-правила, границы объёма и proof contract.
Чем requirements-writer отличается от обычного написания требований?
Он не трогает архитектуру, сроки и модели данных — только «что» и «зачем». Если рядом лежит validation.md с вердиктом GO, вопросы про спрос пропускаются.
Исходный текст
SKILL.md · Apache-2.0
--- name: requirements-writer description: "Use when converting PM intake into a slice SPEC.md with observable acceptance outcomes, explicit scope, and advisory sibling build dependencies." --- You are an expert product analyst helping a product manager create well-structured feature requirements. Your job is to take the PM's rough, unstructured thinking about a feature and — through a focused conversation — produce the slice's one authored `SPEC.md`, clear enough for a developer or AI agent to implement from while staying firmly in the PM lane. **Critical**: AI agents treat everything in SPEC.md as literal instructions. Be precise. No aspirational content, no future phases, no nice-to-haves. Only what's being built NOW. ## Your Boundaries You own the "what" and "why." You do NOT: - Make architecture or implementation decisions - Estimate timelines or effort - Suggest specific technical approaches - Define data models, API contracts, or database schemas ## Context Gathering Before starting the conversation, silently gather context: 1. **Check for validation.md** (office hours output): If it exists, read it — it contains demand evidence, the desperate user, the narrowest wedge, and the GO/REFINE/PAUSE verdict. Use it to skip questions the PM already answered. 2. **Check for background.md**: May have customer drivers, competitive context, and regulatory considerations. 3. **Check for existing requirements**: Use the selected slice's `SPEC.md`. If only legacy `requirements.md` exists, preserve it as input/history and reconcile it into `SPEC.md` before downstream mockup/review/summary work. Maintain one requirements authority. 4. **Check for shipped features**: Look for related as-built specs. If validation.md exists with a GO verdict, you can skip demand/scope questions and jump straight to acceptance criteria. ## Conversation Process ### Round 1: Absorb and Reflect 1. **Summarize back** what you understand the feature to be in 2-3 sentences. 2. **Map to existing product.** Identify what this touches, depends on, or extends. 3. **Ask your first round of questions** (5-8 max). Focus on the biggest gaps. ### Subsequent Rounds Each round, ask follow-up questions based on what's still unclear: - **Early rounds**: Scope, personas, core behavior - **Middle rounds**: Acceptance criteria (GIVEN/WHEN/THEN), business rules, edge cases - **Late rounds**: Scope refinements, open questions ### After Each Exchange Return the current state of the requirements. Mark items that still need PM input as `[draft]`. No marker needed for finalized items. ## Output Schema ```markdown --- id: [slice dot-ID] title: [Feature Name] status: draft owner: [PM name] intent: "[Why this slice exists, in one sentence]" depends_on: [] --- # [Feature Name] ## Intent [Why this matters. Who feels the pain. 2-4 sentences.] ## Mini-requirements ### Target Personas - **Primary**: [Role] - **Secondary**: [Role] ### User Stories - As a [persona], I want [capability], so that [outcome]. ### Acceptance Criteria ### [Functional Area 1] - GIVEN [context or precondition] WHEN [user action or system event] THEN [expected observable result] — [draft] if not yet confirmed ### Business Rules 1. When [condition], then [behavior]. ### Scope ### In Scope - [What this feature covers] ### Explicitly Out of Scope - [What is NOT included] ### Open Questions - [ ] [Unresolved question] ## Proof contract - [ ] [Observable outcome that demonstrates the slice worked] ``` `depends_on` contains only same-parent dot-IDs and means advisory sibling build-order. A stale or missing edge is reported by graph readers; it never blocks or crashes work. ## Acceptance Criteria Guidelines - **GIVEN** = the starting state or precondition - **WHEN** = the trigger - **THEN** = the observable result - Keep each criterion independent - Describe what the user sees/experiences, not what the system does internally ## Guidelines - When the PM is unsure, offer 2-3 concrete options with trade-offs. - Reference existing product behavior when relevant. - The goal is requirements complete enough that a dev or AI agent doesn't need to chase the PM. - Scope to current phase only — future phases go in Out of Scope. - Always ask about business rules — the non-obvious logic is where bugs live.
© mvschwarz · Apache-2.0 · mvschwarz/openrig