{"id":"bcf4e966-a053-48f0-af93-fd8b5d1f0bbf","shortId":"mdus2F","kind":"skill","title":"prd","tagline":"Create a PRD through user interview, codebase exploration, and module design. Use when starting a new feature or change.","description":"# PRD Writing\n\nSkip satisfied steps. If argument provided, skip to Step 2.\n\n**Interactive prompts**: present options as a numbered list and wait for the user's choice.\n\n## Input\n\nThe argument is: $ARGUMENTS\n\nIf empty, go to Step 1; derive slug after gathering the idea. If provided, derive slug:\n\n1. Take only the text before the first `—` or `–` (if present)\n2. Strip leading command verbs: create, build, implement, add, update, fix, make, write, plan, get, show, support\n3. Lowercase the text\n4. Remove filler words: a, an, the, for, of, to, in, on, with, and, or, but, is, be\n5. Take the first 4 remaining words (or fewer if less exist)\n6. Join with hyphens → `<slug>`\n\nOutput: `.specs/prds/<slug>.md`. If file exists, present options and wait:\n\n1. Overwrite existing (Recommended)\n2. Pick a new name\n\n## Workflow\n\n### 1. Gather problem description\n\nAsk the user for a detailed description of the problem and any solution ideas.\n\n### 2. Explore codebase\n\nMap current state: data models, services, API routes, frontend, tests. Note exists vs. must build.\n\n**Research protocol**: codebase first, then docs. Unverifiable claims → flag as uncertain, never fabricate.\n\n### 3. Interview\n\nOne question at a time. Lead with your recommended answer (mark it `(Recommended)` and list first). Explore code instead of asking when possible. Present 2–4 options for each question — structured choices are faster than free-text.\n\n| Branch           | Key questions                           | Skip when                        |\n| ---------------- | --------------------------------------- | -------------------------------- |\n| Scope & Surface  | Where? New page or integrated? Roles?   | CLI/library, no new entry points |\n| Data & Concepts  | Definitions, existing vs missing data   | Never skip                       |\n| Behavior         | Interaction patterns, filtering, search | No user-facing behavior          |\n| Display          | Numbers, tables, charts, exports        | No UI                            |\n| Access & Privacy | Who sees what? Sensitive data?          | Single-user, no auth             |\n| Boundaries       | Out of scope, deferred features         | Never skip                       |\n| Integration      | Schema, services, external deps         | Self-contained change            |\n\n### 3b. Gray areas\n\nSurface ambiguities, contradictions, unstated assumptions. For each gray area, present proposed resolution options. Resolve all before continuing.\n\n### 4. Design modules\n\nSketch modules. Favor **deep modules** — simple interface (1-3 entry points) hiding large implementation over shallow modules where interface ≈ implementation.\n\nShallow signals: many small 1:1 functions, callers compose multiple calls, feature changes require interface changes.\n\nPresent modules. Confirm which need tests.\n\n### 5. Write PRD\n\nSave to `.specs/prds/<slug>.md` (create dir if missing).\n\n```markdown\n# Feature Name\n```\n\nPRD body structure. Omit empty sections. No file paths or code snippets.\n\n```\n## Problem Statement\n## Current State (skip if greenfield)\n## Solution (user experience, not architecture)\n## User Stories (numbered, cover happy + edge + error)\n## Implementation Decisions\n### New Modules (name, purpose, interface signatures)\n### Architectural Decisions (definitions, data flow, state)\n### Schema Changes\n### API Contracts\n### Navigation\n## Testing Decisions (behavior tests, key cases, prior art)\n## Out of Scope (be specific)\n```\n\n---\n\nPresent options and wait for the user's choice:\n\n1. Run `/hb:plan <slug>` (Recommended)\n2. Done for now","tags":["prd","agent","skills","helderberto","agent-skills","ai-tools","antigravity","claude-code","cursor","developer-tools","gemini-cli","markdown"],"capabilities":["skill","source-helderberto","skill-prd","topic-agent-skills","topic-ai-tools","topic-antigravity","topic-claude-code","topic-cursor","topic-developer-tools","topic-gemini-cli","topic-markdown","topic-plugin","topic-sdlc","topic-skills","topic-tracer-bullet"],"categories":["agent-skills"],"synonyms":[],"warnings":[],"endpointUrl":"https://skills.sh/helderberto/agent-skills/prd","protocol":"skill","transport":"skills-sh","auth":{"type":"none","details":{"cli":"npx skills add helderberto/agent-skills","source_repo":"https://github.com/helderberto/agent-skills","install_from":"skills.sh"}},"qualityScore":"0.454","qualityRationale":"deterministic score 0.45 from registry signals: · indexed on github topic:agent-skills · 8 github stars · SKILL.md body (3,562 chars)","verified":false,"liveness":"unknown","lastLivenessCheck":null,"agentReviews":{"count":0,"score_avg":null,"cost_usd_avg":null,"success_rate":null,"latency_p50_ms":null,"narrative_summary":null,"summary_updated_at":null},"enrichmentModel":"deterministic:skill-github:v1","enrichmentVersion":1,"enrichedAt":"2026-05-18T19:09:14.129Z","embedding":null,"createdAt":"2026-05-18T13:14:54.400Z","updatedAt":"2026-05-18T19:09:14.129Z","lastSeenAt":"2026-05-18T19:09:14.129Z","tsv":"'-3':348 '/hb':470 '1':58,69,145,155,347,364,365,468 '2':32,80,149,173,230,473 '3':97,204 '3b':317 '4':101,123,231,337 '5':119,382 '6':131 'access':288 'add':88 'ambigu':321 'answer':215 'api':182,443 'architectur':419,435 'area':319,328 'argument':27,50,52 'art':453 'ask':159,226 'assumpt':324 'auth':299 'behavior':271,280,448 'bodi':397 'boundari':300 'branch':244 'build':86,190 'call':370 'caller':367 'case':451 'chang':20,316,372,375,442 'chart':284 'choic':47,237,467 'claim':198 'cli/library':257 'code':223,406 'codebas':8,175,193 'command':83 'compos':368 'concept':263 'confirm':378 'contain':315 'continu':336 'contract':444 'contradict':322 'cover':423 'creat':2,85,389 'current':177,410 'data':179,262,268,294,438 'decis':428,436,447 'deep':343 'defer':304 'definit':264,437 'dep':312 'deriv':59,67 'descript':158,165 'design':12,338 'detail':164 'dir':390 'display':281 'doc':196 'done':474 'edg':425 'empti':54,400 'entri':260,349 'error':426 'exist':130,140,147,187,265 'experi':417 'explor':9,174,222 'export':285 'extern':311 'fabric':203 'face':279 'faster':239 'favor':342 'featur':18,305,371,394 'fewer':127 'file':139,403 'filler':103 'filter':274 'first':76,122,194,221 'fix':90 'flag':199 'flow':439 'free':242 'free-text':241 'frontend':184 'function':366 'gather':62,156 'get':94 'go':55 'gray':318,327 'greenfield':414 'happi':424 'hide':351 'hyphen':134 'idea':64,172 'implement':87,353,359,427 'input':48 'instead':224 'integr':255,308 'interact':33,272 'interfac':346,358,374,433 'interview':7,205 'join':132 'key':245,450 'larg':352 'lead':82,211 'less':129 'list':40,220 'lowercas':98 'make':91 'mani':362 'map':176 'mark':216 'markdown':393 'md':137,388 'miss':267,392 'model':180 'modul':11,339,341,344,356,377,430 'multipl':369 'must':189 'name':153,395,431 'navig':445 'need':380 'never':202,269,306 'new':17,152,252,259,429 'note':186 'number':39,282,422 'omit':399 'one':206 'option':36,142,232,332,460 'output':135 'overwrit':146 'page':253 'path':404 'pattern':273 'pick':150 'plan':93,471 'point':261,350 'possibl':228 'prd':1,4,21,384,396 'present':35,79,141,229,329,376,459 'prior':452 'privaci':289 'problem':157,168,408 'prompt':34 'propos':330 'protocol':192 'provid':28,66 'purpos':432 'question':207,235,246 'recommend':148,214,218,472 'remain':124 'remov':102 'requir':373 'research':191 'resolut':331 'resolv':333 'role':256 'rout':183 'run':469 'satisfi':24 'save':385 'schema':309,441 'scope':249,303,456 'search':275 'section':401 'see':291 'self':314 'self-contain':313 'sensit':293 'servic':181,310 'shallow':355,360 'show':95 'signal':361 'signatur':434 'simpl':345 'singl':296 'single-us':295 'sketch':340 'skill' 'skill-prd' 'skip':23,29,247,270,307,412 'slug':60,68 'small':363 'snippet':407 'solut':171,415 'source-helderberto' 'specif':458 'specs/prds':136,387 'start':15 'state':178,411,440 'statement':409 'step':25,31,57 'stori':421 'strip':81 'structur':236,398 'support':96 'surfac':250,320 'tabl':283 'take':70,120 'test':185,381,446,449 'text':73,100,243 'time':210 'topic-agent-skills' 'topic-ai-tools' 'topic-antigravity' 'topic-claude-code' 'topic-cursor' 'topic-developer-tools' 'topic-gemini-cli' 'topic-markdown' 'topic-plugin' 'topic-sdlc' 'topic-skills' 'topic-tracer-bullet' 'ui':287 'uncertain':201 'unstat':323 'unverifi':197 'updat':89 'use':13 'user':6,45,161,278,297,416,420,465 'user-fac':277 'verb':84 'vs':188,266 'wait':42,144,462 'word':104,125 'workflow':154 'write':22,92,383","prices":[{"id":"7ed902a9-bf76-4d24-951e-6ae66e15c464","listingId":"bcf4e966-a053-48f0-af93-fd8b5d1f0bbf","amountUsd":"0","unit":"free","nativeCurrency":null,"nativeAmount":null,"chain":null,"payTo":null,"paymentMethod":"skill-free","isPrimary":true,"details":{"org":"helderberto","category":"agent-skills","install_from":"skills.sh"},"createdAt":"2026-05-18T13:14:54.400Z"}],"sources":[{"listingId":"bcf4e966-a053-48f0-af93-fd8b5d1f0bbf","source":"github","sourceId":"helderberto/agent-skills/prd","sourceUrl":"https://github.com/helderberto/agent-skills/tree/main/skills/prd","isPrimary":false,"firstSeenAt":"2026-05-18T13:14:54.400Z","lastSeenAt":"2026-05-18T19:09:14.129Z"}],"details":{"listingId":"bcf4e966-a053-48f0-af93-fd8b5d1f0bbf","quickStartSnippet":null,"exampleRequest":null,"exampleResponse":null,"schema":null,"openapiUrl":null,"agentsTxtUrl":null,"citations":[],"useCases":[],"bestFor":[],"notFor":[],"kindDetails":{"org":"helderberto","slug":"prd","github":{"repo":"helderberto/agent-skills","stars":8,"topics":["agent-skills","ai","ai-tools","antigravity","claude-code","cursor","developer-tools","gemini-cli","markdown","plugin","sdlc","skills","tracer-bullet"],"license":"mit","html_url":"https://github.com/helderberto/agent-skills","pushed_at":"2026-05-14T11:37:47Z","description":"My personal SDLC toolbelt for AI coding agents — PRD to ship.","skill_md_sha":"fa07c46640c523ad47815d0096ac5d633f38c320","skill_md_path":"skills/prd/SKILL.md","default_branch":"main","skill_tree_url":"https://github.com/helderberto/agent-skills/tree/main/skills/prd"},"layout":"multi","source":"github","category":"agent-skills","frontmatter":{"name":"prd","description":"Create a PRD through user interview, codebase exploration, and module design. Use when starting a new feature or change."},"skills_sh_url":"https://skills.sh/helderberto/agent-skills/prd"},"updatedAt":"2026-05-18T19:09:14.129Z"}}