PRD to Tasks
Break down a Product Requirements Document into executable tasks with priorities and dependencies. Use this skill when a PRD has been created or updated and needs to be converted into a task queue.
Best use case
PRD to Tasks is best used when you need a repeatable AI agent workflow instead of a one-off prompt.
Break down a Product Requirements Document into executable tasks with priorities and dependencies. Use this skill when a PRD has been created or updated and needs to be converted into a task queue.
Teams using PRD to Tasks should expect a more consistent output, faster repeated execution, less prompt rewriting.
When to use this skill
- You want a reusable workflow that can be run more than once with consistent structure.
When not to use this skill
- You only need a quick one-off answer and do not need a reusable workflow.
- You cannot install or maintain the underlying files, dependencies, or repository context.
Installation
Claude Code / Cursor / Codex
Manual Installation
- Download SKILL.md from GitHub
- Place it in
.claude/skills/prd-to-tasks/SKILL.mdinside your project - Restart your AI agent — it will auto-discover the skill
How PRD to Tasks Compares
| Feature / Agent | PRD to Tasks | Standard Approach |
|---|---|---|
| Platform Support | Not specified | Limited / Varies |
| Context Awareness | High | Baseline |
| Installation Complexity | Unknown | N/A |
Frequently Asked Questions
What does this skill do?
Break down a Product Requirements Document into executable tasks with priorities and dependencies. Use this skill when a PRD has been created or updated and needs to be converted into a task queue.
Where can I find the source code?
You can find the source code on GitHub using the link provided at the top of the page.
SKILL.md Source
# Skill: PRD to Tasks ## Metadata | Field | Value | |-------|-------| | **Skill ID** | SKL-0003 | | **Version** | 1.0 | | **Owner** | Orchestrator | | **Inputs** | `docs/PRD.md`, `.claude/project/STATE.md`, `.claude/project/knowledge/OPEN_QUESTIONS.md` (optional) | | **Outputs** | Updated `.claude/project/STATE.md` Next Task Queue (8-15 tasks), optional new entries in `.claude/project/knowledge/OPEN_QUESTIONS.md` | | **Triggers** | `PRD_UPDATED` | --- ## Purpose Convert a completed or updated PRD into a concrete, ordered, beginner-friendly task queue so the system becomes self-planning. This eliminates the need for manual task creation after writing a PRD. --- ## Procedure ### A) Extract Design Document Content Read `docs/PRD.md` and extract the fields below. **If `docs/PRD.md` does not exist**, check for `docs/GDD.md` (Game Design Document) as an alternative input. When reading a GDD, map its sections to the extraction fields: | GDD Section | Maps To | |-------------|---------| | Game Identity + Core Fantasy | Core goal | | Game Identity (audience) | Target user | | MVP Scope | MVP scope (features) | | NOT in Scope | Non-goals | | Risks & Assumptions | Risks and assumptions | | Gameplay Loops + Core Mechanics | Additional feature tasks (implementation) | | Progression & Economy | Additional feature tasks (implementation) | | Player Experience | Validation tasks (playtesting) | | Art Direction + Audio Direction | Asset tasks | From `docs/PRD.md` (or `docs/GDD.md`) extract: 1. **Core goal** — from the Overview or Goals section. 2. **Target user** — from the Target Users section. 3. **MVP scope** — individual features from the MVP Scope section. 4. **Non-goals** — from the Non-Goals section (to avoid generating tasks for these). 5. **Risks and assumptions** — from the Risks and Assumptions section. If any section is missing, proceed with what is available and note the gap. ### B) Generate Task List Produce an ordered list of **8 to 15 tasks** following these rules: 1. **Beginner-friendly titles** — Use short, plain language. Write "Build login screen", not "Implement authentication UI component with OAuth flow". 2. **Name the target file or folder** — Each task must reference the expected output location when known (e.g., `src/`, `docs/`, `lib/`, `manuscript/`, `tests/`). 3. **Priority tagging** — Assign each task one of: `High`, `Medium`, or `Low`. 4. **Logical order** — Tasks should follow a natural build sequence: - Planning and design tasks first (High priority) - Core feature build tasks next (High/Medium priority) - Polish, testing, and review tasks last (Medium/Low priority) 5. **No tasks for non-goals** — Cross-check against the Non-Goals section. Do not generate tasks for anything explicitly excluded. 6. **Skill assignment** — Assign each task a Skill ID from `.claude/skills/REGISTRY.md`. This is the **primary mechanism** by which skills are invoked during the build phase. Use the task format defined in `.claude/project/knowledge/TASK-FORMAT.md` (includes column definitions, skill assignment rules, and common mappings). ### B2) Phase Grouping (Conditional) **Trigger:** Check if `docs/ARCHITECTURE.md` exists and contains real content (not just the placeholder template). **If ARCHITECTURE.md exists:** Group the generated tasks into phases. Each phase gets its own header in the task queue. Tasks are numbered sequentially across all phases. | Phase | Contains | Typical Priority | |-------|----------|-----------------| | **Phase 1: Foundation** | Project setup, config, tooling, environment | High | | **Phase 2: Core** | Data model, auth, core APIs, database schema | High | | **Phase 3: Features** | User-facing functionality, UI, business logic | High/Medium | | **Phase 4: Integration** | Third-party APIs, webhooks, external services | Medium | | **Phase 5: Quality** | Testing, code review, polish, accessibility | Medium | | **Phase 6: Ship** | Deployment, documentation, launch prep | Medium/Low | **Output format with phases:** ``` ### Phase 1: Foundation | # | Task | Priority | Skill | |---|------|----------|-------| | 1 | ... | High | SKL-0008 | | 2 | ... | High | — | ### Phase 2: Core | # | Task | Priority | Skill | |---|------|----------|-------| | 3 | ... | High | SKL-0006 | ... ``` **If ARCHITECTURE.md does not exist:** Skip phase grouping. Output a flat task list as in Step B. This scales naturally: simple projects get flat lists, complex projects with architecture docs get phased breakdown. **Rules:** - Tasks are still numbered sequentially across all phases (1, 2, 3... not restarting per phase) - Empty phases are omitted (don't create a phase with no tasks) - The Orchestrator processes tasks in order regardless of phase headers - Phase headers are organizational only — they help humans understand the sequence ### C) Write to STATE.md (Idempotency Rules) Read `.claude/project/STATE.md` and locate the `## Next Task Queue` section. **Determine queue state using these patterns:** A queue is **empty/placeholder-only** if it matches ANY of: - Contains only `(none)` or `*(none)*` - Contains only `- (none)` - Contains only table headers with no data rows - The section is completely empty **If the queue is empty or placeholder-only:** - Replace the placeholder content with the generated task table. **If the queue already contains real tasks:** - Do NOT replace the existing queue. - Instead, append a new section below the Completed Tasks Log: ``` --- ## Proposed Task Queue (from PRD_UPDATED — YYYY-MM-DD) | # | Task | Priority | Skill | |---|------|----------|-------| | 1 | ... | ... | SKL-XXXX | | ... | ... | ... | ... | > These tasks were auto-generated from docs/PRD.md. Review and merge into the Next Task Queue manually or by running /run-project. ``` ### D) Handle Open Questions While reading the PRD, if any requirements are ambiguous or underspecified: 1. Read `.claude/project/knowledge/OPEN_QUESTIONS.md`. 2. Check if the question already exists (avoid duplicates). 3. If the question is novel, append it using the next available `OQ-XXXX` ID: ``` --- ### OQ-XXXX: <Question title> - **Date:** YYYY-MM-DD - **Source:** PRD analysis via skill-prd-to-tasks - **Context:** <What prompted this question> - **Status:** Open - **Impact:** <What decision is blocked by this question> ``` ### E) Event Suggestion After completing task generation, recommend emitting: ``` TASK_QUEUE_PROPOSED | .claude/project/STATE.md updated with tasks from PRD ``` Print: `"Suggest emitting: TASK_QUEUE_PROPOSED — use /trigger to create it."` (Skills do not emit events directly; the orchestrator or user handles emission.) --- ## Primary Agent Orchestrator (handles PRD analysis and task decomposition internally). ## Review Orchestrator self-reviews task titles for beginner clarity. For deeper quality review, emit `QUALITY_REVIEW_REQUESTED` via `/trigger`. --- ## Definition of Done - [ ] 8-15 tasks generated from PRD content - [ ] Tasks written to .claude/project/STATE.md (seeded or proposed, per idempotency rules) - [ ] Each task has a plain-language title, target location, priority, and Skill ID - [ ] Skill IDs assigned by cross-referencing REGISTRY.md (or `—` if no skill applies) - [ ] No tasks generated for items listed in Non-Goals - [ ] Any ambiguous requirements logged to .claude/project/knowledge/OPEN_QUESTIONS.md - [ ] Event suggestion printed for TASK_QUEUE_PROPOSED - [ ] .claude/project/STATE.md updated with outputs produced and files modified ## Output Contract | Field | Value | |-------|-------| | **Artifacts** | `.claude/project/STATE.md` (Next Task Queue updated with 8-15 tasks), `.claude/project/knowledge/OPEN_QUESTIONS.md` (optional new entries) | | **State Update** | `.claude/project/STATE.md` — mark task complete, log files modified | | **Handoff Event** | `TASK_QUEUE_PROPOSED` (task queue ready for execution) |
Related Skills
Supply Chain Audit
Audit the dependency supply chain for security risks beyond what `npm audit` or `pip audit` catches. Analyzes dependency health, maintainer trust signals, typosquatting risk, and transitive dependency exposure.
SEO Audit
Audit web pages for search engine optimization: meta tags, heading hierarchy, structured data, image optimization, mobile-friendliness, and content quality. Complements SKL-0013 (Growth & Distribution) by validating what was built.
Pitch Deck
Create a structured pitch deck outline for investors, stakeholders, or partners. Covers problem, solution, market, traction, team, and ask. Natural output after PRD + Problem Stress Test validation.
Launch Checklist
Pre-launch validation covering everything deployment (SKL-0021) doesn't: analytics, error tracking, social meta, legal pages, email setup, DNS, SSL, and go-live readiness. Produces a launch readiness report with pass/fail checklist. Use this skill before going live on any project.
Insecure Defaults Detection
Detect insecure default configurations, hardcoded credentials, fail-open security patterns, and dangerous default values in application code and configuration files. Complements SKL-0015 (Security Audit) by focusing on configuration-level vulnerabilities that dependency scanners miss.
Differential Security Review
Security-focused review of code changes using git diff analysis. Identifies security implications of recent modifications — new attack surfaces, removed protections, changed auth logic, and risky refactors. Complements SKL-0016 (Code Review) with a security lens on diffs.
Copywriting
Write conversion-focused copy using proven frameworks (AIDA, PAS, BAB). Produces headlines, CTAs, landing page copy, email sequences, and micro-copy. Ensures copy matches brand voice and target audience.
Competitor Analysis
Structured competitor research: features, pricing, positioning, gaps, and differentiation strategy. Feeds into PRD Writing (SKL-0004) and Problem Stress Test (SKL-0027) with better market context.
UX Design
Design user experiences including wireframes, flows, and interaction patterns. Use this skill when UX design work is requested, including onboarding flows and interface layouts.
User Acceptance Testing
Structured QA testing with four modes: diff-aware (auto-scoped to branch changes), full (systematic exploration), quick (30-second smoke test), and regression (compare against baseline). Produces health score, structured reports, and actionable bug lists. Use this skill when UAT is requested or a feature is ready for acceptance testing.
Token Audit
Audit the current project for token waste patterns. Produces a Token Health Report with scored findings and actionable fixes. Use this skill when token usage feels high, sessions are hitting limits, or before optimizing costs.
Test Writing
Write automated tests for existing or new functionality. Use this skill when tests are requested, including unit tests, integration tests, and end-to-end tests.