tasks.md Generator
Paste a product requirements doc and get a structured tasks.md broken into implementation steps for Codex, Cursor, Claude Code, GitHub Spec Kit, Amazon Kiro, and other AI agents.
2 Paste your PRD or drop a .md / .txt file
3 Stack Hint Improves task ordering & file suggestions
4 Granularity
5 Output Format
6 Include in each task
7 Security & Privacy
8 Notes for the Agent Optional preamble
Preview
Where to place tasks.md
your-project/
├── AGENTS.md
├── .specify/
│ ├── spec.md
│ ├── plan.md
│ └── tasks.md ← GitHub Spec Kit convention
├── .kiro/specs/<feature>/
│ └── tasks.md ← Amazon Kiro convention
└── docs/tasks.md ← ad-hoc / generic
Pair with the universal agent context:
AGENTS.mdAGENTS.md Generator →
DESIGN.mdDESIGN.md Generator →
CLAUDE.mdCLAUDE.md Generator →
.cursor/rules/*.mdcCursor Rules →
Frequently asked questions
What tasks.md is, how the parser works, and how we keep your PRD safe.
What is tasks.md?
A markdown file containing an ordered, checkable list of implementation tasks for an AI coding agent to work through. Popularised by GitHub Spec Kit and Amazon Kiro as the third leg of spec-driven development: spec.md (what), plan.md (how), tasks.md (do).
Is my PRD uploaded anywhere?
No. Parsing happens entirely in your browser using JavaScript. Nothing is sent to design.dev, no analytics on the PRD content, no third-party APIs. You can open DevTools → Network tab and watch — generation produces zero requests. The download is created from an in-memory Blob, never round-tripped through a server.
What file types can I upload, and what's the size cap?
Plain text only — .md, .markdown, .txt. Uploads are capped at 256 KB and rejected if they contain binary signatures (null bytes, executable headers). Pasted text is capped at 100,000 characters. These limits exist to prevent DoS-style inputs and accidental binary paste.
How does the parser turn a PRD into tasks?
A deterministic parser splits the PRD into bullets, numbered items, and requirement sentences — looking for trigger words like must, shall, should, user can, the system, support, enable. Each is normalised into a task, classified by phase (Setup, Data, Backend, UI, Testing, Polish) via keyword matching, and given a stable ID, dependencies, and an acceptance criterion. You control granularity and output style with the segmented controls.
Does it redact secrets before parsing?
It tries to — secret redaction is on by default and is best-effort, not a guarantee. The scrubber matches common patterns (OpenAI sk-…, AWS AKIA…, GitHub ghp_… / gho_…, Stripe sk_live_…, generic Bearer … tokens, JWTs, contextual password=… assignments, and long high-entropy strings) and replaces them with [REDACTED] before any tokenising or rendering. The redaction counter in the preview shows how many were removed. New or unusual key formats may not match — always review the output before sharing, and don't paste production secrets into any tool unless you've verified the rules cover your case.
Who is responsible for what I paste here?
You are. This tool runs entirely in your browser and design.dev never sees the content of your PRD, so we can't filter or audit it on your behalf. You're responsible for ensuring you have the right to share whatever you paste or upload, for reviewing the generated tasks.md before committing it or sending it to a teammate or AI agent, and for any consequences that follow. The redaction step is a convenience to help avoid obvious mistakes — it is not a compliance control and design.dev provides this tool "as is" without warranty. See our Terms for the full disclaimer.
Why is HTML never rendered from my PRD?
All preview output is set via textContent, never innerHTML. Even a PRD that contains <script> tags or onclick= attributes is treated as plain text. There is no Markdown-to-HTML rendering path on this page, so XSS via a hostile PRD is structurally impossible.
Where should I place tasks.md in my repo?
Spec Kit uses .specify/tasks.md, Kiro uses .kiro/specs/<feature>/tasks.md. For ad-hoc use, drop it at the repo root or under docs/ — any agent that follows AGENTS.md will read whichever file you point it at.