02-prd
1
总安装量
1
周安装量
#49898
全站排名
安装命令
npx skills add https://github.com/kelvinz/cobb --skill 02-prd
Agent 安装分布
kilo
1
amp
1
opencode
1
codex
1
antigravity
1
Skill 文档
02 prd
Create a clear, implementation-ready prd for a single feature (not code).
Guardrails
- Do not implement the feature.
- If the user asks to implement, propose writing a prd first (or ask if they want to skip the prd).
- Prefer asking a small number of high-value questions; otherwise write a draft prd with explicit assumptions.
- Write the prd so a junior dev (or another AI) can implement it without extra context (plain language, explicit edge cases, verifiable acceptance criteria).
Workflow
- Identify the feature:
- Prefer a feature ID like
f-01if available. - If
tasks/todo.mdexists, use the matching feature entry as the baseline for outcome + scope. - If the feature entry includes
Type:, carry it into the prd Summary so03-execan branch and execute appropriately. - If
Type:is missing, assumeType: feat. - If
tasks/todo.mdis missing or the feature is not in it yet, stop and use01-newto add the feature totasks/todo.mdfirst. - If
tasks/memory.mdexists, skim relevant key decisions / notes before finalizing requirements.
- Prefer a feature ID like
- Check priority (if
tasks/todo.mdexists):- Priority is determined by list order (higher in the list = higher priority).
- If there are higher-priority unchecked items above this feature, ask the user to confirm they want to proceed (vs writing a prd for one of the higher-priority items first). Mention the higher-priority IDs/names.
- If the user says this item is urgent, recommend switching to
01-newto move it higher intasks/todo.md, then return to02-prd.
- Determine the prd file path:
- If the feature entry in
tasks/todo.mdalready has aprd:line, use that path. - Otherwise use
tasks/f-##-<feature-slug>.md(include the feature ID in the filename).
- If the feature entry in
- If a prd already exists at that path, update it in place (do not create a duplicate prd unless the user asks). Do not reset any status checklists inside the prd.
- Ask essential clarifying questions (lettered options) only when needed.
- Confirm scope boundaries (in-scope vs non-goals) and success metrics.
- Write or update the prd at the chosen path (create
tasks/if missing):- Ensure the prd includes
## Execution Status (03-exe)(add it if missing; do not reset checkboxes if present). - If
tasks/todo.mdlistsDependencies:for this feature, include them in “Dependencies & Constraints” (dependency validation happens during03-exe).
- Ensure the prd includes
- If
tasks/todo.mdexists, update it to reflect the prd:- Check the feature checkbox (
- [ ]â- [x]). - Add/update a
prd: \“ line under that feature.
- Check the feature checkbox (
- Reply with the file path and a short summary + open questions.
Clarifying Questions (Only If Needed)
Ask up to ~7 questions. Use numbered questions with A/B/C/D options and an Other option so the user can reply like 1B, 2D, 3A.
Cover only what is ambiguous:
- which feature this prd is for (feature ID/name)
- user + use case
- problem + desired outcome
- scope boundaries (in scope vs out of scope)
- whether this is
Type: featvsfixvschore - feature dependencies (by feature ID)
- conflicts with existing decisions/constraints (from
tasks/memory.md) - platforms/surfaces
- data + permissions
- integrations / external dependencies
- success metrics
- rollout constraints / timeline
Example question format
1. What is the primary goal?
A. Enable a new capability
B. Improve an existing workflow
C. Reduce cost / time / errors
D. Other: [describe]
prd Template (Markdown)
Write the prd using this default structure. Drop sections that truly do not apply, but prefer completeness.
# prd: <Feature name>
## Execution Status (03-exe)
- [ ] Implemented
- [ ] Merged
## 0. Summary
- **Feature ID**: f-##
- **Type**: feat | fix | chore
- **Dependencies** (feature IDs): <none> | f-02, f-10
- **What**: â¦
- **Why**: â¦
- **Who**: â¦
- **Success looks like**: â¦
- **Assumptions** (if any): â¦
## 1. Problem / Opportunity
Describe the user pain / opportunity and why now.
For fix items, include current behavior, expected behavior, and repro steps (if applicable).
## 2. Goals
- G-1: â¦
- G-2: â¦
## 3. Non-goals
- NG-1: â¦
- NG-2: â¦
## 4. Users & Use Cases
- Primary user: â¦
- Secondary user(s): â¦
- Key scenarios: â¦
## 5. UX / Flows (if applicable)
### 5.1 Primary flow
1. â¦
2. â¦
### 5.2 Edge cases & error states
- â¦
### 5.3 Accessibility (UI)
- â¦
## 6. Requirements
### 6.1 User stories
Write small stories that can be implemented in a focused session.
Make each story a checklist item so `03-exe` can execute in pieces and check things off.
- [ ] US-001: <Title>
- **Description:** As a <user>, I want <capability> so that <benefit>.
- **Acceptance criteria:**
- [ ] Specific, verifiable criterion (avoid "works", "correctly", "fast" without numbers)
- [ ] Key edge cases + error states are specified (including empty/loading states if applicable)
- [ ] Permissions/roles are specified (if applicable)
- [ ] Manual verification steps are listed (if UI)
### 6.2 Functional requirements
- FR-1: â¦
- FR-2: â¦
### 6.3 Non-functional requirements
- NFR-1 (performance): â¦
- NFR-2 (security/privacy): â¦
- NFR-3 (reliability/observability): â¦
## 7. Dependencies & Constraints (if applicable)
- Feature dependencies (from `tasks/todo.md`): <none> | f-02, f-10
- External dependencies (if any): â¦
- Constraints: â¦
## 8. Data, APIs, and Integrations (if applicable)
- Data model changes: â¦
- API changes: â¦
- Backward compatibility / migration: â¦
## 9. Analytics & Success Metrics
- Metrics: â¦
- Events/instrumentation: â¦
## 10. Rollout / Release Plan
- Feature flag: â¦
- Phases: â¦
- Rollback plan: â¦
## 11. Testing & QA Plan (if applicable)
- Test cases (happy path + key edge cases): â¦
- What is automated vs manual: â¦
- Environments / data setup needed: â¦
## 12. Risks & Mitigations
- R-1: â¦
- R-2: â¦
## 13. Open Questions
- Q-1: â¦
- Q-2: â¦
## 14. Appendix (optional)
- Alternatives considered: â¦
- Links to mockups/designs: â¦
Acceptance criteria examples
- Bad: “Export works.”
- Good: “When a user clicks Export CSV, the app downloads a CSV that includes columns A/B/C in that order; if there are 0 rows, download still occurs with headers only; errors show a non-blocking toast with retry.”
Output
- Create or reuse
tasks/. - Save/update the prd at the chosen path (prefer existing
prd:path intasks/todo.md; otherwisetasks/f-##-<feature-slug>.md). - If the slug or scope is ambiguous, ask the user to confirm before saving.
- If
tasks/todo.mdexists, update it (check the feature + link the prd). - If the prd introduces durable decisions/constraints, capture them in
tasks/memory.mdvia04-rem.
Todo Sync (If tasks/todo.md Exists)
- Update
tasks/todo.mdin place; do not reformat the whole file. - Find the matching feature by ID (preferred) or by feature name.
- Update the feature checklist item to checked (
- [ ]â- [x]). Intasks/todo.md, checked means “prd exists” (not “built”). - Ensure the feature has a
prd: \“ line; add/update it if missing or wrong. - Preserve the feature’s
Type:/Dependencies:lines as-is unless the user explicitly asked to change them. - Preserve the feature’s status indicator (
â/ð¨/â) as-is; status is managed by03-exe. - If the feature is not present in
tasks/todo.md, do not create a prd yetâuse01-newto add the feature first, then return to02-prd.
Quality Checklist
Before saving the prd:
- If a prd already existed, it was updated in place (no duplicates).
- If updating an existing prd, keep existing execution status checkboxes (do not reset them).
- prd includes
## Execution Status (03-exe). - prd Summary includes
Type:. - If the feature has dependencies in
tasks/todo.md, they are referenced by ID and included in “Dependencies & Constraints”. - prd is consistent with
tasks/memory.md(or the change is captured via04-rem). - Goals are measurable and directly tied to success metrics.
- Non-goals are explicit (prevent scope creep).
- User stories are checklist items with verifiable acceptance criteria.
- Requirements are numbered (FR/NFR) and unambiguous.
- Edge cases, error states, and permissions are specified.
- Rollout plan and rollback plan exist (if risk warrants it).
- Saved/updated at the chosen prd path.
- If
tasks/todo.mdexists, the feature is checked and links to this prd.