prd-writer
Write enterprise-ready, agent-executable Product Requirements Documents (PRDs). Use this skill whenever the user wants to "write a PRD", "create a PRD", "draft product requirements", "create a product spec", "write requirements for a new feature", "create a product document", "write an agentic PRD", "create a requirements document", "draft a PRD for coding agents", "plan a new product or feature", or mentions "PRD", "product requirements document", or "product spec" in the context of writing or creating one. Also triggers when the user says "help me plan a feature", "scope out a project", or "define requirements for" something. This skill produces PRDs that coding agents can execute with low drift, low rework, and strong governance.
What this skill does
# PRD Writer You are guiding the user through writing an enterprise-ready PRD that serves three purposes simultaneously: 1. **A product contract** — what problem is being solved, for whom, and how success is measured. 2. **An execution contract for coding agents** — how the work should be sliced, constrained, validated, and handed off. 3. **A governance artifact** — approved stack, security posture, compliance constraints, and review rules. ## Core philosophy In the agentic era, a PRD must do more than explain *what* to build and *why*. It must make execution, validation, and governance explicit. A weak PRD pushes ambiguity downstream into the agent loop, where it becomes drift, retries, and noisy pull requests. Your job is to surface and resolve that ambiguity *now*, before any code is written. **You must use the AskUserQuestion tool aggressively throughout this process.** Every section of the PRD requires specific information from the user. Do not guess, assume, or fill in placeholders. If the user's answer is vague, ask a follow-up. If a critical detail is missing, ask for it. The goal is zero ambiguity in the final document. ## How to run this skill ### Phase 1: Understand the project Before writing anything, conduct a structured interview. Ask the user these questions using AskUserQuestion — one or two at a time, not all at once (that would be overwhelming): **Round 1 — The basics:** - What is the product or feature you want to build? - Who are the primary users? What problem does this solve for them? - Why now? What is the trigger or business driver? **Round 2 — Scope and boundaries:** - What is explicitly in scope for this PRD? - What is explicitly out of scope or a non-goal? - Are there any forbidden approaches or shortcuts? **Round 3 — Technical context:** - Is there an existing codebase? If so, what repo(s)? - Is the tech stack already decided, or does it need to be chosen? - Are there compliance, security, or regulatory constraints? **Round 4 — Delivery shape:** - How should the work be phased? Are there natural milestones? - Who needs to review and approve? - What does "done" look like? Adapt these questions to the user's context. If they've already provided some of this information, acknowledge it and skip to what's missing. If they mention a domain you're unfamiliar with, ask clarifying questions about it. ### Phase 2: Draft the PRD section by section Work through each section of the PRD in order. For each section: 1. **Explain** what the section covers and why it matters (briefly). 2. **Ask** the user for the specific information needed using AskUserQuestion. 3. **Draft** the section based on their answers. 4. **Confirm** the draft with the user before moving on. If the user says "I don't know" or "skip this for now," mark the section with an ambiguity tag (see Phase 3) and move on. Do not block progress, but do record what's unresolved. Use the PRD template from `references/template.md` as the structural backbone. Every section in the template should appear in the final PRD. #### Section-specific guidance **Document Control (Section 1):** Ask for: PRD title, owner name, target repository, data classification, any compliance tags. If the user doesn't have formal approvers yet, note it as an open question. **Executive Summary (Section 2):** Draft this after Sections 3-5, when you have enough context. Keep it to 5-10 lines. Ask the user to confirm the framing. **Problem Statement (Section 3):** Push for specificity. "Users are frustrated" is not enough — ask *which* users, *what* frustrates them, *how often*, and *what it costs*. Ask for measurable outcomes: reduced cycle time, fewer manual steps, improved completion rate, lower operational risk, fewer defect escapes. **Scope (Section 4):** This section prevents agent sprawl. Be especially thorough here. Ask the user to confirm each non-goal individually. If the user gives a broad scope, push them to narrow it by asking: "Can this be split into smaller deliverables?" **Personas and Scenarios (Section 5):** Ask the user to describe their top 1-3 user types and what they do. Push for scenario language that can be turned into tests: "Given X, when Y, then Z." **Functional Requirements (Section 6):** Each requirement needs: unique ID, plain-language description, rationale, priority (Must/Should/Could), acceptance criteria, and a testability note. Ask the user to walk through requirements one by one. If they give a bullet list, expand each into the full format by asking follow-up questions. **Non-Functional Requirements (Section 7):** Walk through each category (performance, resilience, accessibility, observability, security, maintainability) and ask if there are expectations. Don't skip observability — in enterprise contexts it's a production requirement, not an optional extra. **Tech Stack Decision (Section 8):** This is a first-class section, not a footnote. Ask about: language(s), framework(s), runtime(s), database, CI/CD, test framework, linting/formatting tools, package manager, deployment target. Ask what alternatives were considered and why they were rejected. Document guardrails: what the agent may not substitute without approval. **Architecture and Repo Boundaries (Section 9):** Ask which directories/modules will change and which are off-limits. This stops agents from wandering across unrelated services. **Build/Run/Validate Contract (Section 10):** This is one of the most critical sections for agent execution. Ask for the exact commands for: setup, local run, lint, tests, build, and security scans. Also ask about runtime versions, environment variables, preconditions, and known flaky steps. If the user doesn't have these yet (e.g., greenfield project), work with them to define what they *will* be. **Security, Risk, and Compliance (Section 11):** Ask about: data classification, secret handling, access scope, prohibited data in logs, threat assumptions, review requirements before merge. This section is mandatory for enterprise use. **Observability and Operational Readiness (Section 12):** Ask about: required logs, metrics, alerts, dashboards, audit trails, retention policy, support ownership. **Phase Plan (Section 13):** Break the work into epics that fit one agentic coding session. Read `references/epic-sizing.md` for the sizing rubric. Organize epics under phase headings (Phase 0 — Foundations, Phase 1 — Core Vertical Slices, Phase 2 — Hardening, Phase 3 — Rollout). Each epic in the phase plan must be a markdown checkbox item (`- [ ] E0: Name — objective`) so the PRD doubles as a living progress tracker — teams and agents can check off epics as they are completed. **Epic Cards (Section 14):** For each epic in the phase plan, create a detailed card. Use checkboxes (`- [ ]`) for acceptance criteria and evidence items within each card so they can be checked off during implementation. Ask the user to confirm each epic's scope and validation commands. **Open Questions and Decision Log (Section 15):** Compile all unresolved items from the drafting process. Ask the user if there are additional open questions. **Definition of Done (Section 16):** Present the standard definition-of-done checklist and ask the user to confirm or modify it. ### Phase 3: Track and report ambiguity Throughout the process, maintain an internal ambiguity tracker. When you encounter any of these situations, log it: - The user said "I don't know" or "skip this" - The user gave a vague answer that you couldn't fully resolve - A decision depends on information not yet available - A requirement is stated but has no acceptance criteria - A technical choice is deferred - A security or compliance question is unanswered At the end of the PRD, add a dedicated section: ```markdown ## Appendix: Unresolved Ambiguity Log | # | Section | Topic | What's Missing | Impact | Suggested Next Step | |---|---------|-------|----------------|--------|---------------------| | 1 | Tech Stack | Dat
Related in AI Agents
skill-development
IncludedComprehensive meta-skill for creating, managing, validating, auditing, and distributing Claude Code skills and slash commands (unified in v2.1.3+). Provides skill templates, creation workflows, validation patterns, audit checklists, naming conventions, YAML frontmatter guidance, progressive disclosure examples, and best practices lookup. Use when creating new skills, validating existing skills, auditing skill quality, understanding skill architecture, needing skill templates, learning about YAML frontmatter requirements, progressive disclosure patterns, tool restrictions (allowed-tools), skill composition, skill naming conventions, troubleshooting skill activation issues, creating custom slash commands, configuring command frontmatter, using command arguments ($ARGUMENTS, $1, $2), bash execution in commands, file references in commands, command namespacing, plugin commands, MCP slash commands, Skill tool configuration, or deciding between skills vs slash commands. Delegates to docs-management skill for official documentation.
reprompter
IncludedTransform messy prompts into well-structured, effective prompts — single or multi-agent. Use when: "reprompt", "reprompt this", "clean up this prompt", "structure my prompt", rough text needing XML tags and best practices, "reprompter teams", "repromptception", "run with quality", "smart run", "smart agents", multi-agent tasks, audits, parallel work, anything going to agent teams. Don't use when: simple Q&A, pure chat, immediate execution-only tasks. See "Don't Use When" section for details. Outputs: Structured XML/Markdown prompt, quality score (before/after), optional team brief + per-agent sub-prompts, agent team output files. Success criteria: Single mode quality score ≥ 7/10; Repromptception per-agent prompt quality score 8+/10; all required sections present, actionable and specific.
adaptive-compaction
IncludedAdaptive add-on policy and recovery layer that decides WHEN to compact, prune, snapshot, or fork -- replacing fixed-percent auto-compaction across Claude Code, Codex, and MCP-capable hosts. Trigger on auto-compact timing or damage: "when should I compact", "is it safe to compact now or start a fresh session", "auto-compact fires too early/mid-task", "switching to an unrelated task but the window still has space", "context rot", "answers get worse the longer the session runs", "the agent forgot the plan or my decisions after it summarized", "add a layer on top that manages context without changing the agent", raising autoCompactWindow to give the policy room, or installing/tuning a cross-tool compaction policy or PreCompact hook -- even when "compaction" is never said but the problem is context-window pressure or post-summarization memory loss. Do NOT use to summarize a conversation, build RAG, write a summarization prompt (decides WHEN not HOW), or answer max-context-length trivia.
agent-skill-creator
IncludedCreate cross-platform agent skills from workflow descriptions. Activates when users ask to create an agent, automate a repetitive workflow, create a custom skill, or need advanced agent creation. Triggers on phrases like create agent for, automate workflow, create skill for, every day I have to, daily I need to, turn process into agent, need to automate, create a cross-platform skill, validate this skill, export this skill, migrate this skill. Supports single skills, multi-agent suites, transcript processing, template-based creation, interactive configuration, cross-platform export, and spec validation.
llm-wiki
IncludedUse when building or maintaining a persistent personal knowledge base (second brain) in Obsidian where an LLM incrementally ingests sources, updates entity/concept pages, maintains cross-references, and keeps a synthesis current. Triggers include "second brain", "Obsidian wiki", "personal knowledge management", "ingest this paper/article/book", "build a research wiki", "compound knowledge", "Memex", or whenever the user wants knowledge to accumulate across sessions instead of being re-derived by RAG on every query.
skill-master
IncludedAgent Skills authoring, evaluation, and optimization. Create, edit, validate, benchmark, and improve skills following the agentskills.io specification. Use when designing SKILL.md files, structuring skill folders (references, scripts, assets), ingesting external documentation into skills, running trigger evals, benchmarking skill quality, optimizing descriptions, or performing blind A/B comparisons. Keywords: agentskills.io, SKILL.md, skill authoring, eval, benchmark, trigger optimization.