Kyle Pericak

"It works in my environment"

<Feature Name>

Problem

What's broken or missing? Who has this problem? How do we know it's real?

Goal

What does success look like? One sentence.

Success Metrics

How will we measure whether this worked? 1-3 measurable indicators.

Non-Goals

What are we explicitly NOT doing? Draw the boundary of the solution space.

User Stories

Who does what, and why? 2-5 stories, each with acceptance criteria.

Story: </h3> <p>As a <user>, I want <action> so that <outcome>.</p> <p><strong>Acceptance criteria:</strong></p> <ul class="contains-task-list"> <li class="task-list-item"><input type="checkbox" disabled> <testable condition with specific expected behavior></li> <li class="task-list-item"><input type="checkbox" disabled> <testable condition with specific expected behavior></li> </ul> <h2 id="scope">Scope</h2> <p>What's in v1? What's deferred? Be specific about boundaries.</p> <h2 id="open-questions">Open Questions</h2> <p>What don't we know yet? What needs investigation before implementation?</p> <h2 id="risks">Risks</h2> <p>What could go wrong? What assumptions are we making?</p> </div><div class="mt-8 border-border border-t pt-4"><p class="mb-1 font-mono text-subtle text-sm">Related:</p><a href="/wiki/design-docs/<slug>.html" class="block text-link no-underline hover:underline">wiki/design-docs/<slug></a><a href="/<linear-issue-url>.html" class="block text-link no-underline hover:underline"><linear-issue-url></a></div></article></main><footer class="border-border border-t bg-surface"><div class="mx-auto max-w-5xl px-4 py-4 text-center font-mono text-subtle text-xs sm:px-6">Blog code last updated on <!-- -->2026-06-14<!-- -->: <a href="https://github.com/kylep/multi/commit/b89fbe35b9b1e42389fc1435934623077792e9b3" class="text-link no-underline hover:underline">b89fbe35b9b1e42389fc1435934623077792e9b3</a></div></footer></div></div><script id="__NEXT_DATA__" type="application/json">{"props":{"pageProps":{"route":["wiki","prds","template"],"markdownFiles":[],"categories":{"dev":14,"ai":16,"development":14,"cloud":22,"systems administration":17,"reference pages":5,"projects":5,"gaming":1,"guides":1},"tags":{"tailwind":1,"storybook":1,"claude-code":20,"design-systems":1,"ai-agents":3,"ai":20,"agents":3,"openclaw":6,"pai":1,"kubernetes":3,"plugins":2,"skills":1,"superpowers":1,"reference":1,"cli":1,"ralph":1,"security":5,"macos":1,"ansible":4,"cis":1,"sdlc":1,"product-management":1,"prd":1,"design-docs":1,"automation":1,"go":1,"mcp":6,"cloudflare":2,"dns":2,"orchestration":1,"bot-wiki":3,"hooks":1,"rag":2,"faiss":1,"openrouter":2,"embeddings":1,"python":12,"wiki":1,"knowledge-base":1,"opencode":3,"linear":3,"self-hosted":3,"vault":1,"telegram":1,"docker":11,"linting":1,"ruff":1,"biome":1,"hadolint":1,"tflint":1,"semgrep":1,"trivy":1,"gitleaks":1,"cursor":2,"llm":2,"dev":1,"ga4":1,"google-analytics":1,"next-js":1,"playwright":1,"testing":1,"gherkin":1,"codex":1,"monorepo":1,"ruler":1,"images":2,"comfyui":1,"apple-silicon":2,"sdxl":1,"ip-adapter":1,"ttrpg":1,"coderabbit":1,"code-review":1,"github":1,"llama-cpp":1,"qwen":1,"deepseek":1,"mistral":1,"openai":2,"flux":1,"nano-banana":1,"blog":1,"markdown":1,"mermaid":1,"diagram":1,"openstack":9,"https":3,"openssl":1,"mac-os":4,"ubuntu":9,"kvm":1,"http":1,"api":2,"tshark":1,"tcpdump":1,"nfs":1,"ceph":2,"git":2,"aws":11,"lambda":3,"codebuild":2,"windows":2,"powershell":1,"api-gateway":1,"firebase":2,"cicd":1,"codepipeline":1,"codecommit":1,"ec2":1,"node.js":1,"gcp":7,"vim":2,"s3":1,"remote-access":2,"pure-storage":1,"bash":2,"pypi":1,"minecraft":1,"email":4,"wifi":2,"chrome":1,"ssh":1,"postfix":1,"ci/cd":1,"pelican":4},"currentPageIndexNumber":0,"pageCount":7,"postContent":{},"wikiContent":{"slug":"wiki/prds/template","title":"\u003cFeature Name\u003e","summary":"\u003cOne-liner\u003e","contentHtml":"\u003ch2 id=\"problem\"\u003eProblem\u003c/h2\u003e\n\u003cp\u003eWhat's broken or missing? Who has this problem? How do we know it's real?\u003c/p\u003e\n\u003ch2 id=\"goal\"\u003eGoal\u003c/h2\u003e\n\u003cp\u003eWhat does success look like? One sentence.\u003c/p\u003e\n\u003ch2 id=\"success-metrics\"\u003eSuccess Metrics\u003c/h2\u003e\n\u003cp\u003eHow will we measure whether this worked? 1-3 measurable indicators.\u003c/p\u003e\n\u003ch2 id=\"non-goals\"\u003eNon-Goals\u003c/h2\u003e\n\u003cp\u003eWhat are we explicitly NOT doing? Draw the boundary of the solution space.\u003c/p\u003e\n\u003ch2 id=\"user-stories\"\u003eUser Stories\u003c/h2\u003e\n\u003cp\u003eWho does what, and why? 2-5 stories, each with acceptance criteria.\u003c/p\u003e\n\u003ch3 id=\"story-title\"\u003eStory: \u003ctitle\u003e\u003c/h3\u003e\n\u003cp\u003eAs a \u003cuser\u003e, I want \u003caction\u003e so that \u003coutcome\u003e.\u003c/p\u003e\n\u003cp\u003e\u003cstrong\u003eAcceptance criteria:\u003c/strong\u003e\u003c/p\u003e\n\u003cul class=\"contains-task-list\"\u003e\n\u003cli class=\"task-list-item\"\u003e\u003cinput type=\"checkbox\" disabled\u003e \u003ctestable condition with specific expected behavior\u003e\u003c/li\u003e\n\u003cli class=\"task-list-item\"\u003e\u003cinput type=\"checkbox\" disabled\u003e \u003ctestable condition with specific expected behavior\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2 id=\"scope\"\u003eScope\u003c/h2\u003e\n\u003cp\u003eWhat's in v1? What's deferred? Be specific about boundaries.\u003c/p\u003e\n\u003ch2 id=\"open-questions\"\u003eOpen Questions\u003c/h2\u003e\n\u003cp\u003eWhat don't we know yet? What needs investigation before implementation?\u003c/p\u003e\n\u003ch2 id=\"risks\"\u003eRisks\u003c/h2\u003e\n\u003cp\u003eWhat could go wrong? What assumptions are we making?\u003c/p\u003e\n","metaData":{"title":"\u003cFeature Name\u003e","summary":"\u003cOne-liner\u003e","status":"draft | approved | in-progress | done","owner":"kyle","date":"YYYY-MM-DD","hidden":false,"related":["wiki/design-docs/\u003cslug\u003e","\u003clinear-issue-url\u003e"]},"breadcrumbs":[{"title":"Bot-Wiki","slug":"wiki"},{"title":"Product Requirement Docs","slug":"wiki/prds"},{"title":"\u003cFeature Name\u003e","slug":"wiki/prds/template"}],"childTreeHtml":"","children":[]},"lastGitCommitHash":"b89fbe35b9b1e42389fc1435934623077792e9b3","siteLastModified":"2026-06-14"},"__N_SSG":true},"page":"/[...route]","query":{"route":["wiki","prds","template"]},"buildId":"Z6tKvXJPF-MmvH1D06tfK","isFallback":false,"gsp":true,"scriptLoader":[]}</script></body></html>