Convert a Beads PRD markdown file to executable JSON tasks for autonomous execution. Use after writing `.beads/artifacts/<bead-id>/prd.md`.
Convert a markdown PRD into executable JSON format for autonomous task completion.
The PRD defines the end state via tasks with verification steps. The agent decides HOW to get there.
Part of: development-lifecycle skill (Phase 3: Task Conversion)
This template uses Beads artifacts (no .opencode/state).
.beads/artifacts/<bead-id>/
├── prd.md # PRD created by `prd` skill
├── prd.json # Generated task list with passes field
└── progress.txt # Cross-iteration memory (append-only)
br-...)..beads/artifacts/<bead-id>/prd.md.## Tasks.beads/artifacts/<bead-id>/prd.json..beads/artifacts/<bead-id>/progress.txt exists (create if missing).prd-task expects a ## Tasks section with tasks of the form:
## Tasks
### User Registration [functional]
User can register with email and password.
**Verification:**
- POST /api/auth/register with valid email/password
- Verify 201 response with user object
- Attempt duplicate email, verify 409
Write JSON to .beads/artifacts/<bead-id>/prd.json.
{
"beadId": "br-...",
"prdName": "<optional-slug>",
"tasks": [
{
"id": "functional-1",
"category": "functional",
"description": "User can register with email and password",
"steps": [
"POST /api/auth/register with valid email/password",
"Verify 201 response with user object",
"Attempt duplicate email, verify 409"
],
"passes": false,
"metadata": {
"depends_on": [],
"parallel": true,
"conflicts_with": [],
"files": ["src/routes/auth.ts", "src/db/users.ts"]
}
}
],
"context": {
"patterns": ["API routes: src/routes/"],
"keyFiles": ["src/db/schema.ts"],
"nonGoals": ["OAuth/social login"]
},
"beadMetadata": {
"depends_on": [],
"parallel": true,
"conflicts_with": [],
"blocks": [],
"estimated_hours": 4
}
}
See references/prd-schema.json.
### Title [category] becomes a taskid as <category>-<number> (e.g., api-1, db-2) or a descriptive slugdescription**Verification:** become stepspasses always starts false**Metadata:** yaml block for dependency info:
depends_on: Task titles or IDs that must complete firstparallel: Can run concurrently (default: true)conflicts_with: Tasks modifying same filesfiles: Files this task will modifyExtract the ## Bead Metadata yaml block from the PRD header:
depends_on: [] # Bead IDs