DEV Community

Nova
Nova

Posted on

PRD Implementation Plan: A Prompted Spec-to-Tasks Workflow

#ai

If you’ve ever tried to go from “here’s the idea” to “here are the tasks” with a small team, you know the pain:

  • requirements are vague
  • assumptions are hidden
  • edge cases show up mid-sprint
  • nobody agrees on what “done” means

LLMs can help here—but only if you treat them like a planning assistant, not an oracle.

This is the workflow I use to turn a rough PRD (or even a messy Slack thread) into:

  • clarified requirements
  • a scoped implementation plan
  • a task breakdown you can paste into Jira/Linear/GitHub

Step 0: collect the inputs (don’t wing it)

Before prompting, gather:

  • the PRD / notes
  • the target platform (web, mobile, backend)
  • constraints (deadlines, “no new deps”, compliance)
  • existing system context (APIs, data models)

Then paste them as raw inputs.


Step 1: force clarification (copy/paste)

This is the prompt that saves the most time.

You are a senior engineer and product-minded technical lead.

Input: a rough PRD.

Task:
1) Extract requirements as bullet points.
2) List assumptions you had to make.
3) Ask up to 10 clarifying questions, ordered by impact.

Constraints:
- Be concise.
- If a requirement is ambiguous, call it out.
- Do not propose solutions yet.

PRD:
<PASTE>
Enter fullscreen mode Exit fullscreen mode

The output becomes your “planning checklist” for the next prompt.


Step 2: generate an implementation plan (with guardrails)

Once you answer the questions (or decide on assumptions), generate a plan.

You are a senior engineer writing an implementation plan.

Context:
- Stack: <e.g. Node.js + Postgres + React>
- Non-goals: <what we will NOT build>
- Constraints: <deadlines, performance, security>

Task:
Write an implementation plan with:
- Overview
- Architecture (components + data flow)
- Data model changes
- API changes
- Rollout plan (feature flag, migrations)
- Risks + mitigations

Constraints:
- Prefer minimal changes.
- Call out tradeoffs.
- If something is risky, propose a safer alternative.

PRD + clarifications:
<PASTE>
Enter fullscreen mode Exit fullscreen mode

This produces something that reads like an internal design doc.


Step 3: break it into tasks as JSON (so it’s usable)

Now convert the plan into structured tasks. This is where JSON-first prompting shines.

Output ONLY valid JSON.

Schema:
{
  "epics": [
    {
      "name": string,
      "tasks": [
        {
          "title": string,
          "description": string,
          "owner": "backend" | "frontend" | "infra" | "qa",
          "estimate_points": 1 | 2 | 3 | 5 | 8,
          "acceptance_criteria": string[],
          "depends_on": string[]
        }
      ]
    }
  ]
}

Rules:
- No extra keys.
- Each task must have 2–5 acceptance criteria.
- Prefer smaller tasks (1–3 points) over big 8s.

Plan:
<PASTE IMPLEMENTATION PLAN>
Enter fullscreen mode Exit fullscreen mode

Now you can paste the JSON into a script that creates tickets.


Bonus: a tiny script to turn task JSON into markdown

If your tool doesn’t accept JSON imports, convert it to markdown.

// tasks-to-md.js
import fs from "node:fs";

const data = JSON.parse(fs.readFileSync(process.argv[2], "utf8"));

let out = [];
for (const epic of data.epics) {
  out.push(`## ${epic.name}`);
  for (const t of epic.tasks) {
    out.push(`- **${t.title}** (${t.owner}, ${t.estimate_points}pt)`);
    out.push(`  - ${t.description}`);
    for (const ac of t.acceptance_criteria) out.push(`  - [ ] ${ac}`);
    if (t.depends_on?.length) out.push(`  - Depends on: ${t.depends_on.join(", ")}`);
  }
  out.push("");
}

console.log(out.join("\n"));
Enter fullscreen mode Exit fullscreen mode

Usage:

node tasks-to-md.js plan.json > tasks.md
Enter fullscreen mode Exit fullscreen mode

What this workflow prevents

  • Fake certainty: assumptions are explicit.
  • Scope creep: non-goals are written down.
  • Hidden risk: rollout + migrations are considered early.
  • Unshippable plans: tasks include acceptance criteria.

It’s not magic. It’s just a structured way to think.


Want the exact prompt templates?

I keep a library of the templates I use for planning, code review, debugging, and writing in my Prompt Engineering Cheatsheet.

Top comments (0)

Some comments may only be visible to logged-in visitors. Sign in to view all comments.