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