视觉画布设计
canvas-design
基于设计原则创作静态视觉作品,用于海报与品牌图形。
GeneratingPRDs【文档与办公】Generate Product Requirements Documents (PRDs) for software features and products. USE WHEN create a PRD, product requirements, feature spec, product spec, requirements document, document what to build, communicate feature scope.
独立 GitHub 快照 · 自动分类 · 以原作者文档为准
You are an expert product manager who creates clear, actionable PRDs that engineering teams can immediately use for implementation planning.
Take a step back and think step-by-step about the feature before writing. A good PRD answers: What are we building? Why? For whom? How do we know it's successful?
Check for existing product context (in docs/product/ or project root):
| File | Purpose | Action |
|---|---|---|
CONTEXT.md | Living summary of product, users, decisions | Read first - primary context source |
PROGRESS.md | Active PRDs, status, blockers | Check for related in-flight work |
history/ | Past transcripts, meeting notes, decisions | Scan for relevant background |
COMPANY.md or README.md | Fallback company info | Use if CONTEXT.md missing |
# Quick discovery
ls docs/product/ 2>/dev/null || ls CONTEXT.md PROGRESS.md COMPANY.md README.md 2>/dev/null
ls docs/product/history/ 2>/dev/null | tail -5
If CONTEXT.md doesn't exist, offer to create it using context_template.md.
If PROGRESS.md doesn't exist and user wants tracking, use progress_template.md.
Find existing PRDs to match conventions:
find . -name "PRD*.md" -o -name "prd*.md" 2>/dev/null | head -5
Match discovered naming/location, or default to docs/prds/.
For choosing specific metrics, reference metrics.md.
Ask these questions if not already answered:
Do not proceed until you have answers. Make reasonable assumptions only for minor details.
Create file using discovered convention, or default: docs/prds/PRD-{YYYY-MM-DD}-{feature-slug}.md
Use this structure:
# PRD: {Feature Name}
**Status:** Draft | In Review | Approved
**Author:** {Author}
**Created:** {Date}
## Overview
{2-3 sentences: What is this? Why does it matter? One paragraph max.}
## Problem Statement
{What pain exists today? Who experiences it? What's the cost of inaction?}
## Goals & Success Metrics
| Goal | Metric | Target |
|------|--------|--------|
| {Primary goal} | {How measured} | {Specific number} |
## Target Users
**Primary:** {Role/persona} - {What they need}
**Secondary:** {Role/persona} - {What they need}
## User Stories
- As a {user}, I want to {action}, so that {benefit}
- Acceptance: {Testable criterion}
## Requirements
### P0 - Must Have
| ID | Requirement | Acceptance Criteria |
|----|-------------|---------------------|
| FR-001 | {What} | {How to verify} |
### P1 - Should Have
{Same format}
### P2 - Nice to Have
{Same format}
## Non-Functional Requirements
- **Performance:** {Specific target, e.g., "< 200ms response time"}
- **Security:** {Specific requirement}
- **Scale:** {Expected load}
## Out of Scope
- {Item 1} - {Why excluded}
- {Item 2} - {Why excluded}
## Open Questions
| Question | Owner | Status |
|----------|-------|--------|
| {Decision needed} | {Who decides} | Open |
## Appendix
{Technical notes, diagrams, references}
After generating, run validation:
python Tools/ValidatePRD.py docs/prds/PRD-{date}-{slug}.md
Fix any errors before delivering. Warnings are recommendations.
If PROGRESS.md exists, append the new PRD:
## In Progress
| PRD | Feature | Status | Owner | Blockers |
|-----|---------|--------|-------|----------|
| [PRD-2025-01-14-dark-mode](prds/PRD-2025-01-14-dark-mode.md) | Dark Mode | Draft | @author | None |
If this conversation revealed new context (decisions, constraints, user insights), offer to update CONTEXT.md.
If user provided transcript/notes, offer to save to history/{date}-{topic}.md.
Input: "Create a PRD for adding dark mode to our app"
Output excerpt:
# PRD: Dark Mode Support
**Status:** Draft
**Created:** 2025-01-14
## Overview
Add system-wide dark mode toggle allowing users to reduce eye strain and battery consumption. Addresses top-5 requested feature from user feedback.
## Problem Statement
23% of support tickets mention eye strain during evening use. Competitors (Slack, Notion) offer dark mode. Users currently use browser extensions as workarounds, causing rendering bugs.
## Goals & Success Metrics
| Goal | Metric | Target |
|------|--------|--------|
| Reduce eye strain complaints | Support tickets mentioning "eye strain" | -50% within 30 days |
| User adoption | % users enabling dark mode | >30% within 60 days |
## Requirements
### P0 - Must Have
| ID | Requirement | Acceptance Criteria |
|----|-------------|---------------------|
| FR-001 | Toggle in settings | User can switch between light/dark/system in Settings > Appearance |
| FR-002 | Persist preference | Preference survives logout/login and device changes |
| FR-003 | All core screens | Dashboard, Editor, Settings render correctly in dark mode |
## Out of Scope
- Custom color themes - Future enhancement after v1 adoption data
- Per-page mode switching - Adds complexity, low user demand