plan-to-prd/SKILL.md
Turn an idea or spec into a parent PRD plus vertical-sliced GitHub issues ready for the /ship loop, with marketing requirements captured alongside. Use when the user wants to plan a feature, break down work, or convert an idea into issues. Trigger phrases - "/plan", "plan this feature", "break this into issues".
npx skillsauth add paulund/ai plan-to-prdInstall this skill globally with one command. Works with Claude Code, Cursor, and Windsurf.
3 of 9 scanners reported clean
Some scanners were skipped, did not run, or reported a non-clean status. Review each row below.
Turn an idea into a parent PRD plus thin vertical-slice GitHub issues, with marketing requirements captured in the same pass.
Output shape per feature:
prd./ship in a single PR, labelled planned,afk,p{1,2,3}.planned,hitl,marketing.hitl only for genuine human judgement calls.Skip if the user has a clear spec. Only run if the input is vague or the user asks for ideation.
Show the one-pager, confirm, move to Phase 1.
If unexplored, do it now. Understand: current architecture, existing patterns (check AGENTS.md), the domain language, where the work will touch. Use the Explore agent for anything beyond a few files.
Sketch major modules. Actively look for opportunities to extract deep modules — ones that encapsulate functionality behind a simple, testable interface that rarely changes.
Fill in the PRD template (see references/prd-template.md). In particular:
Present the drafted modules + testing plan. Ask:
Iterate until approved.
Propose: blog posts (1–3), social threads, launch assets, SEO metadata, email/newsletter, and acquisition channels. Ground suggestions in the project's existing content calendar if one exists.
Present the marketing items. Ask:
Iterate until approved.
Break into tracer-bullet slices — thin end-to-end paths.
Good: User can create a task (schema + API + UI + test)
Bad: All the database schema
Per slice: AFK/HITL, blocked by, priority (p1/p2/p3).
Present as numbered list with type, priority, blocked by, and acceptance per slice. Iterate until approved.
Create the PRD issue first so subsequent slice issues can reference it.
gh issue create \
--title "feat(PRD): <feature name>" \
--label "prd,feature,<project-scope-label-if-any>" \
--body "<PRD template filled in>"
Capture the issue number returned.
Create in dependency order (blockers first) so Blocked by #N references are real numbers.
gh issue create \
--title "feat: <slice title>" \
--label "planned,afk,p1,feature,<project-scope-label-if-any>" \
--body "<slice template filled in, with Parent: #<PRD number>>"
Use hitl instead of afk when a slice genuinely needs human input.
Create one issue per substantive marketing deliverable. Blog posts, launch assets, and campaign coordination each get their own.
gh issue create \
--title "marketing: <what to produce>" \
--label "planned,hitl,marketing,<project-scope-label-if-any>" \
--body "<marketing template filled in, Parent: #<PRD number>>"
Minor items (X threads, OG image refreshes) can be bundled into a single "launch assets" issue rather than fragmented per-tweet.
Print:
Suggest next step: /loop /ship to start processing the backlog; schedule the first blog post draft yourself (HITL).
Every issue must survive refactors:
undoDelete() to TasksController"/ship works best with many small AFK issuesafk — writing is HITLdevelopment
Use when implementing any logic, fixing any bug, or changing any behaviour. Use when you need to prove code works, when a bug report arrives, or when modifying existing functionality. Do NOT use for config changes, data migrations, or dependency updates.
development
Use when starting a new feature, when requirements are unclear, when asked to write code without a clear spec, or before any non-trivial implementation. Do NOT use for trivial bug fixes or one-line changes.
development
Use when you want authoritative, source-cited code free from outdated patterns. Use when building with any framework or library where correctness matters. Detects the stack from dependency files, fetches official documentation, implements following documented patterns, and cites sources for every framework-specific decision.
development
Use when preparing to ship a feature, release, or deployment. Use before merging to main, creating a release, or deploying to production. Do NOT use for CI-only changes or internal refactors that don't reach production.