Generates a clear, actionable Product Requirements Document (PRD) in Markdown from a feature description. Use when a user asks to plan a feature, define requirements, or create a PRD. Covers goals, user stories, requirements, and non-goals for Rails-oriented workflows.
93
92%
Does it follow best practices?
Impact
91%
1.49xAverage score across 3 eval scenarios
Passed
No known issues
Create a clear, actionable PRD in Markdown that a junior developer can use to understand and implement a feature. Focus on what and why, not how.
Core principle: Design before implementation. No code until the PRD is approved.
| Step | Action | Output |
|---|---|---|
| 1 | Receive feature description | Raw input |
| 2 | Ask clarifying questions (only if ambiguous) | Shared understanding |
| 3 | Identify likely implementation surface (when useful) | Rails-aware scope |
| 4 | Generate PRD | prd-[feature-name].md |
| 5 | Save to /tasks/ | File on disk |
| 6 | Suggest next step | Link to generate-tasks / optional ticket-planning |
DO NOT implement the PRD. Only produce the document.
DO NOT skip clarifying questions when the prompt is ambiguous.
DO NOT start generating tasks without user confirmation.generate-tasks for implementation planning and ticket-planning only when the user also wants tickets or sprint placement.controllers, models, services, jobs, serializers, policies, mailers, engines, docs, or external integrations.[feature-name] from the feature (lowercase, hyphenated slug, e.g. user-onboarding, export-csv).prd-[feature-name].md in the /tasks directory (create the directory if needed).Ask only when the answer is not reasonably inferable. Typical areas:
Use numbered questions with A/B/C/D options when possible:
1. What is the primary goal of this feature?
A. Improve onboarding
B. Increase retention
C. Reduce support load
D. Other (describe)
2. Who is the target user?
A. New users only
B. Existing users only
C. All usersGenerate the document with these sections. Use concrete wording; avoid vague phrases.
controllers, services, jobs, engines, docs, etc.) without prescribing code structure..md)/tasks/prd-[feature-name].mdWrite for a junior developer: explicit, unambiguous, minimal jargon. Each requirement should be implementable without guessing.
| Mistake | Reality |
|---|---|
| Jumping straight to PRD without understanding the problem | Ask clarifying questions first — garbage in, garbage out |
| PRD describes "how" instead of "what" | PRD is requirements, not implementation. Leave "how" for tasks |
| Vague requirements ("make it fast", "good UX") | Every requirement must be testable and unambiguous |
| Asking 10+ clarifying questions | Max 3-5 essential questions. Infer the rest |
| Ignoring side effects or external dependencies | Capture jobs, mailers, APIs, audits, and flags early so tasks are scoped correctly |
| Starting implementation after writing PRD | HARD-GATE: only produce the document. Suggest generate-tasks next |
| Skipping Non-Goals section | Non-Goals prevent scope creep. Always include them |
| Skill | When to chain |
|---|---|
| generate-tasks | After PRD is approved — implementation + tests + YARD + docs + review tasks |
| ticket-planning | When the plan also needs Jira-ready tickets, classification, or sprint placement |
| rails-architecture-review | When PRD reveals architectural concerns |
| rails-engine-author | When the PRD is clearly for a mountable engine or host-app integration |
| rails-stack-conventions | When PRD is for a Rails feature |
ae8ea63
If you maintain this skill, you can claim it as your own. Once claimed, you can manage eval scenarios, bundle related skills, attach documentation or rules, and ensure cross-agent compatibility.