Skip to main content

Parse PRD

In a terminal, each task is printed as soon as Claude finishes writing it, with an elapsed-time counter. --force numbers the new tasks from 1; --append continues after the highest existing ID. With --append, Claude sees the existing tasks’ IDs and titles, so a new task can depend on one of them. The new tasks are added to the tag as it is when they are saved: a change another command or agent made to the tag while Claude was working is kept, and the new tasks take the next free IDs after it. Each task records the PRD section it came from in metadata.source, such as docs/prd.md#authentication, and taskgraph show prints it. Re-running --append on a PRD you edited sends Claude only the sections added since the last parse, so existing tasks aren’t duplicated. Sections whose text changed and sections you removed are listed with the tasks that came from them; those tasks are left as they are for you to review. An unchanged PRD makes no AI call and adds no tasks:
Each change is reported once: after the run, the edited PRD is the new baseline. With --append, Claude decides how many tasks the new sections need; --num-tasks applies to whole-PRD parses. --clarify asks up to 5 questions about requirements the PRD leaves open (the data store, sign-in, platforms, scope), each with a suggested answer. Press Enter to keep the suggestion. The answers are saved in the PRD under ## Clarifications, then the tasks are generated from it, so the decisions stay in the repo:
Running it again skips questions the section already answers, and a new answer to the same question replaces the old one. With no terminal to ask in, or with --yes, the suggested answers are used. If there is nothing to ask, it goes straight to the tasks. Ctrl-C leaves the PRD unchanged. --clarify --json prints only {"prd", "questions": [{"question", "suggestedAnswer"}]} and changes nothing. Add an "answer" to each question and pass the file to --answers (or - for stdin); a question without an "answer" keeps its suggestion. --answers saves the answers and generates the tasks without asking the model for questions again. Each task comes with 2-5 acceptance criteria taken from the PRD, all unchecked. taskgraph show <id> numbers them, and set-status done waits until they are checked off (see Set Task Status).

Add a New Task

Expand Tasks

Each new subtask gets 2-5 acceptance criteria of its own, unchecked. A subtask can’t be marked done until they are checked off with taskgraph set-status <id> --check <n>. --force replaces a task’s subtasks. Dependencies and related / discovered-from links on the old subtasks are dropped first, so they don’t end up naming the new subtasks that reuse their IDs.

Clear Subtasks

Dependencies on the cleared subtasks, and related / discovered-from links to them, are dropped too, as remove-task and remove-subtask do.

Analyze Task Complexity

View Complexity Report

Research Fresh Information

The research role has web search and fetch only. It cannot read or change your files and has no shell. In the CLI you can ask follow-up questions and choose where to save findings.