agentsclimarketplace

Prd

Skill mirkobozzetto/arsenal/plugins/prd/skills/prd

Mirko Bozzetto's curated skills for AI coding agents (Claude Code, Codex, Cursor, ...)

Install
npx -y skills add mirkobozzetto/arsenal --skill prd

Assembled from the repository path, not quoted from the project. Check it against their README if it does not work.

One thing to look at

  • 12 stars12 stars. Stars are a popularity signal and not a quality one, but at this level it is likely that nobody has read this closely except its author, and you would be relying on your own review.

What its author says it does

Copied from the file, not written here

Author a product PRD by interviewing the user, then emit user stories, scope, success metrics, and a derived task list. Triggers on "write a PRD", "create a PRD", "spec this feature", "PRD". A PRD is a product spec (what/why), NOT a technical design (use rfc) and NOT open research (use brainstorm). The PRD generates the todo; it is not itself the todo.

SKILL.md

5.5 KB, as published. Nobody here has run it

<objective> Interview the user about a feature, then produce a complete product PRD and an ordered task list derived from it, following the flow PRD -> tasks -> (handoff to ship). Stop at the task list; never write feature code. </objective> <parameters> - `<feature idea>`: free-text feature name or one-line idea (remainder of input). - `-a`: auto mode, skip AskUserQuestion confirmations, use recommended options. - `-s`: skip-interview, draft directly from the given idea without the question loop (lower quality, use only when the idea is already detailed). </parameters>

<state_variables>

  • feature_name: string # human-readable feature title
  • feature_slug: string # kebab-case slug for filenames
  • answers: object # gathered interview answers (JTBD, user, problem, constraints, 3-dim)
  • feature_dir: string # docs/prd/<slug>/ (one folder per feature)
  • prd_path: string # docs/prd/<slug>/prd.md
  • tasks_path: string # docs/prd/<slug>/tasks.md
  • prd_body: string # the drafted PRD markdown
  • task_list: array # ordered tasks derived from the PRD (nested checklist)
  • auto_mode: boolean # -a
  • skip_interview: boolean # -s </state_variables>
<delimitation> - `prd` != `rfc`: rfc is a technical design doc (alternatives, tradeoffs, architecture). prd stays at product level (user value, scope, metrics) and never picks the technical how. - `prd` != `brainstorm`: brainstorm is open-ended research. prd assumes the idea is chosen and produces a structured spec. - `prd` != `ship`: ship implements. prd stops at the task list and hands off. - The PRD generates the todo. The PRD is not itself the todo. </delimitation>

<file_layout> One folder per feature: docs/prd/<slug>/ containing prd.md + tasks.md.

docs/prd/
  <slug>/
    prd.md      # what/why
    tasks.md    # nested checklist (1.0 parent -> 1.1, 1.2 sub-tasks)

Rules:

  • A big feature does NOT become many files. It becomes more parent tasks in the single tasks.md (phases = parent tasks: 1.0 Phase 1, 2.0 Phase 2).
  • Split into a second PRD ONLY when the scope is genuinely separate. Then add numbered pairs in the same folder: 0001-prd-<x>.md + tasks-0001-<x>.md, 0002-prd-<y>.md + tasks-0002-<y>.md.
  • Never create one folder or one file per task. Tasks are checklist items inside tasks.md.
  • PRD stays 2-4 pages; if it exceeds ~6 pages, split scope into a numbered second PRD rather than padding. </file_layout>

<entry_point> Load steps/step-00-init.md </entry_point>

<step_files>

StepFilePurpose
00steps/step-00-init.mdParse flags, slugify feature, detect resume, setup state
01steps/step-01-interview.mdTargeted clarifying questions, loop until enough signal
02steps/step-02-draft-prd.mdEmit the PRD: problem, goals, stories, scope, metrics, acceptance
03steps/step-03-tasks.mdDerive the ordered task list (the todo) from the PRD
04steps/step-04-finalize.mdWrite artifacts, print handoff to ship
</step_files>
<constraints> - Never write feature code in this skill; stop at the task list. - The task file carries an explicit "Do NOT implement" header until the user runs the implementer. - No comments inside any generated code or scripts. - Converse and write the PRD prose and questions in the language of the conversation (French if the user writes French). Keep in English: the `slug`, code identifiers, frontmatter keys/values, file names, and the structural section headers ship/next parse (`Acceptance criteria`, `Success metrics`, `Out-of-scope`, `## Relevant Files`, `## Tasks`). - Any web lookup uses Exa MCP only (web_search_exa, crawling_exa); never native WebSearch/WebFetch. - Honor the git write-guard: do not commit/push the PRD unless the user asks. - Edit existing PRD files in place rather than creating duplicates. </constraints> <interaction> - **Default is interactive. Ask, do not infer.** Without `-a`/`-s`, the interview questions (the 7 dimensions + the success metric) MUST be asked via AskUserQuestion; never infer an answer the user can give. Inference is allowed only under `-a` (auto) or `-s` (skip-interview). - **Group the interview.** Ask the dimensions in 1-2 AskUserQuestion rounds (the tool takes up to 4 questions per call), not one screen per dimension. - **No empty proceed-gates.** Do not stop with "continue to the next step?" confirmations between draft and tasks; flow through and report one line per artifact. The genuine choices stay: the interview input, the parent-task confirmation, and the final next-action choice (step-04). The user says "stop" or "revise X" to loop back. - **Speak in prose, write markdown to the file.** Talk to the user in short prose in their language; do NOT dump the raw PRD/tasks markdown into the chat - write it to the file and report a one-line recap per artifact. - **Readability of the PRD.** The produced `prd.md` opens with a `## En bref` TL;DR (3 lines), keeps acceptance criteria as a scannable `- [ ]` checklist, and a success metric with baseline -> target -> window. Best practice: the "why" leads, the doc is skimmable in 10 seconds. </interaction>

Keep looking

Skills are one crate of 328,083. Ordering is by how many stacks a row turns up in, so the top of any crate is what has actually been picked rather than what has the most stars.