PRD Task Creator
Write a clear, actionable PRD or task — output depends on where the user tracks work.
Authorized Scope
Apply this engine only within the user's requested task and existing explicit
authorization. Loading or delegating to it grants no additional authority.
Preserve report-only restrictions and the caller's target, host, provider, and
cost limits. Existing approval satisfies a gate only for the same actions and
scope; obtain approval before expanding them. Forward these limits to delegates.
Contract
Inputs:
- Feature, bug, enhancement, or planning request
- Destination preference: GitHub issue, local PRD/task file, or both
- Optional parent issue, labels, assignee, and priority
Outputs:
- Draft PRD or task body
- Destination-specific create command or file path
- Created issue/file URL or path after approval
Creates/Modifies:
- Local
.agents/memory/<kebab-name>.md PRD files only after draft approval
- GitHub issues/sub-issues only after draft approval
External Side Effects:
- Reads GitHub issue state
- May create GitHub issues, sub-issues, or issue branches
Confirmation Required:
- Always show the draft before creating files or GitHub issues
- Ask before linking sub-issues or creating issue branches
Delegates To:
spec-first when implementation constraints are still unclear
tdd when the work should be executed test-first
github-fix-ci for CI failures after implementation
roadmap-analyzer for roadmap-level planning
cto-advisor for technical strategy and architecture tradeoffs
Step 1: Detect workflow preference
Check in order:
- User explicitly says "GitHub issue", "local file", or both
- Check if
gh auth status succeeds and a GitHub remote exists → GitHub available
- If ambiguous, ask: "GitHub issue, local PRD file in
.agents/memory/, or both?"
Step 2: Understand the request
Ask only what's missing:
- What problem does this solve?
- Who's affected? (user-facing, internal, infra)
- Any hard constraints or dependencies?
- Is this part of a larger epic? (→ sub-issue)
- Priority: critical / high / medium / low
Step 3: Research before writing
- Read relevant architecture docs in
.agents/memory/ (look for architecture, summary, or context files)
- Search codebase for related patterns
- Check for existing issues:
gh issue list --search "[keyword]"
Step 4: Write the PRD
See references/full-guide.md for the full PRD structure.
A good PRD has:
- Problem — why this exists, what breaks without it
- Goal — one sentence, measurable outcome
- Scope — what's in, what's explicitly out
- Acceptance criteria — EARS (
WHEN/WHILE/WHERE/IF … THE SYSTEM SHALL …), testable, not vague
- Technical notes — approach, risks, dependencies
Acceptance criteria must be EARS-shaped and checkable by a human.
Agent-ready issue rules
When the output is an issue for an autonomous or AFK agent, write it as an
agent brief, not a stream-of-consciousness plan:
- Describe behavior and contracts, not file-by-file instructions.
- Avoid line numbers and brittle file paths unless the path is itself the contract.
- Include current behavior, desired behavior, acceptance criteria, and out of scope.
- Name public interfaces, CLI commands, API shapes, config keys, or data contracts when known.
- Keep implementation notes as constraints, not a script the agent must follow.
Vertical-slice breakdown
When breaking an epic, PRD, or plan into issues:
- Prefer thin vertical slices that produce a verifiable outcome.
- Mark each issue as
AFK when an agent can complete it without more human input.
- Mark each issue as
HITL when it needs a human decision, design review, credential, or product judgment.
- Publish blockers before blocked issues so dependencies can reference real issue IDs.
- Keep each sub-issue small enough for one focused PR.
Step 5: Output to correct destination
GitHub (primary if available)
New issue:
gh issue create \
--title "[type]: clear title" \
--body "$(cat <<'BODY'
[PRD content here]
BODY
)" \
--label "type:feature" \
--assignee "@me"
Sub-issue (linked to parent):
# Create sub-issue
gh issue create --title "..." --body "..."
# Link as sub-issue to parent #N
gh issue develop N --checkout # only if needed
# Use: gh api repos/{owner}/{repo}/issues/{parent}/sub_issues --method POST -f sub_issue_id={child_id}
Draft PR from issue:
gh issue develop [issue-number] --branch "feature/[name]"
Local files (optional, or when no GitHub)
- PRD:
.agents/memory/[kebab-name].md
See references/full-guide.md for local file templates.
Step 6: Get approval before creating
Show the draft PRD. Wait for "looks good" or edits. Then create.
Rules
- Reusable engine → act only within the requested destination and approved draft
- Never create files or GitHub issues without user seeing the draft first
- Sub-issues should be small enough to ship in one PR
- If requirements are unclear, write the problem statement first — not the solution
- If rejecting an enhancement as out of scope, record durable reasoning in
.out-of-scope/<concept>.md when the repo uses local out-of-scope memory.
Related
prd-writer — author the PRD document first when requirements are not settled yet; this skill files what that one wrote
spec-first — spec-driven development before writing code
tdd — red-green-refactor execution for tasks with clear behavior
github-fix-ci — fix CI on existing PRs
roadmap-analyzer — broader roadmap planning
cto-advisor — technical strategy and architecture tradeoffs
1---2name: prd-task-creator3description: Files work into a tracker — turns a feature, bug, or finished PRD into GitHub issues, linked sub-issues, or local task files, slicing epics into thin vertical slices sized for one PR each and tagged AFK or HITL. Starts once the requirements are settled; authoring the PRD document itself is `prd-writer`.4---5
6# PRD Task Creator
7
8Write a clear, actionable PRD or task — output depends on where the user tracks work.
9
10## Authorized Scope
11
12Apply this engine only within the user's requested task and existing explicit
13authorization. Loading or delegating to it grants no additional authority.
14Preserve report-only restrictions and the caller's target, host, provider, and
15cost limits. Existing approval satisfies a gate only for the same actions and
16scope; obtain approval before expanding them. Forward these limits to delegates.
17
18## Contract
19
20Inputs:
21
22- Feature, bug, enhancement, or planning request
23- Destination preference: GitHub issue, local PRD/task file, or both
24- Optional parent issue, labels, assignee, and priority
25
26Outputs:
27
28- Draft PRD or task body
29- Destination-specific create command or file path
30- Created issue/file URL or path after approval
31
32Creates/Modifies:
33
34- Local `.agents/memory/<kebab-name>.md` PRD files only after draft approval
35- GitHub issues/sub-issues only after draft approval
36
37External Side Effects:
38
39- Reads GitHub issue state
40- May create GitHub issues, sub-issues, or issue branches
41
42Confirmation Required:
43
44- Always show the draft before creating files or GitHub issues
45- Ask before linking sub-issues or creating issue branches
46
47Delegates To:
48
49- `spec-first` when implementation constraints are still unclear
50- `tdd` when the work should be executed test-first
51- `github-fix-ci` for CI failures after implementation
52- `roadmap-analyzer` for roadmap-level planning
53- `cto-advisor` for technical strategy and architecture tradeoffs
54
55## Step 1: Detect workflow preference
56
57Check in order:
58
591. User explicitly says "GitHub issue", "local file", or both
602. Check if `gh auth status` succeeds and a GitHub remote exists → GitHub available
613. If ambiguous, ask: "GitHub issue, local PRD file in `.agents/memory/`, or both?"
62
63## Step 2: Understand the request
64
65Ask only what's missing:
66
67- What problem does this solve?
68- Who's affected? (user-facing, internal, infra)
69- Any hard constraints or dependencies?
70- Is this part of a larger epic? (→ sub-issue)
71- Priority: critical / high / medium / low
72
73## Step 3: Research before writing
74
75- Read relevant architecture docs in `.agents/memory/` (look for architecture, summary, or context files)
76- Search codebase for related patterns
77- Check for existing issues: `gh issue list --search "[keyword]"`
78
79## Step 4: Write the PRD
80
81See `references/full-guide.md` for the full PRD structure.
82
83A good PRD has:
84
85- **Problem** — why this exists, what breaks without it
86- **Goal** — one sentence, measurable outcome
87- **Scope** — what's in, what's explicitly out
88- **Acceptance criteria** — EARS (`WHEN/WHILE/WHERE/IF … THE SYSTEM SHALL …`), testable, not vague
89- **Technical notes** — approach, risks, dependencies
90
91Acceptance criteria must be EARS-shaped and checkable by a human.
92
93### Agent-ready issue rules
94
95When the output is an issue for an autonomous or AFK agent, write it as an
96agent brief, not a stream-of-consciousness plan:
97
98- Describe behavior and contracts, not file-by-file instructions.
99- Avoid line numbers and brittle file paths unless the path is itself the contract.
100- Include current behavior, desired behavior, acceptance criteria, and out of scope.
101- Name public interfaces, CLI commands, API shapes, config keys, or data contracts when known.
102- Keep implementation notes as constraints, not a script the agent must follow.
103
104### Vertical-slice breakdown
105
106When breaking an epic, PRD, or plan into issues:
107
108- Prefer thin vertical slices that produce a verifiable outcome.
109- Mark each issue as `AFK` when an agent can complete it without more human input.
110- Mark each issue as `HITL` when it needs a human decision, design review, credential, or product judgment.
111- Publish blockers before blocked issues so dependencies can reference real issue IDs.
112- Keep each sub-issue small enough for one focused PR.
113
114## Step 5: Output to correct destination
115
116### GitHub (primary if available)
117
118**New issue:**
119
120```bash
121gh issue create \
122 --title "[type]: clear title" \
123 --body "$(cat <<'BODY'
124[PRD content here]
125BODY
126)" \
127 --label "type:feature" \
128 --assignee "@me"
129```
130
131**Sub-issue** (linked to parent):
132
133```bash
134# Create sub-issue
135gh issue create --title "..." --body "..."
136
137# Link as sub-issue to parent #N
138gh issue develop N --checkout # only if needed
139# Use: gh api repos/{owner}/{repo}/issues/{parent}/sub_issues --method POST -f sub_issue_id={child_id}
140```
141
142**Draft PR from issue:**
143
144```bash
145gh issue develop [issue-number] --branch "feature/[name]"
146```
147
148### Local files (optional, or when no GitHub)
149
150- PRD: `.agents/memory/[kebab-name].md`
151
152See `references/full-guide.md` for local file templates.
153
154## Step 6: Get approval before creating
155
156Show the draft PRD. Wait for "looks good" or edits. Then create.
157
158## Rules
159
160- Reusable engine → act only within the requested destination and approved draft
161- Never create files or GitHub issues without user seeing the draft first
162- Sub-issues should be small enough to ship in one PR
163- If requirements are unclear, write the problem statement first — not the solution
164- If rejecting an enhancement as out of scope, record durable reasoning in `.out-of-scope/<concept>.md` when the repo uses local out-of-scope memory.
165
166## Related
167
168- `prd-writer` — author the PRD document first when requirements are not settled yet; this skill files what that one wrote
169- `spec-first` — spec-driven development before writing code
170- `tdd` — red-green-refactor execution for tasks with clear behavior
171- `github-fix-ci` — fix CI on existing PRs
172- `roadmap-analyzer` — broader roadmap planning
173- `cto-advisor` — technical strategy and architecture tradeoffs