/design -- Product Validation Gate Quick Ref: Validates that a proposed goal aligns with the product's strategic direction before discovery begins major work. Council-gated with . --- Quick Start --- Execution Steps Step 0: Check for PRODUCT.md Locate in the repo root. If absent: Output a warning and return PASS with note: "No PRODUCT.md found -- skipping product validation gate. Run to generate one." If present: Continue to Step 1. Step 1: Load Product Context Read and extract: - Mission -- the product's core purpose - Personas -- defined user types and their needs - Gaps -- known product ga…

\"\ncheck \"SKILL.md has name: design\" \"grep -q '^name: design' '$SKILL_DIR/SKILL.md'\"\ncheck \"SKILL.md references PRODUCT.md alignment\" \"grep -q 'PRODUCT\\\\.md' '$SKILL_DIR/SKILL.md'\"\ncheck \"SKILL.md mentions council gate or product preset\" \"grep -qiE 'council|preset=product' '$SKILL_DIR/SKILL.md'\"\n\necho \"\"; echo \"Results: $PASS passed, $FAIL failed\"\n[ $FAIL -eq 0 ] && exit 0 || exit 1\n","content_type":"application/x-sh; charset=utf-8","language":"bash","size":744,"content_sha256":"82acf9e961d80d673bde5d9d031e75e269fc75f23b489c5cb68b5274293a3253"}],"content_json":{"type":"doc","content":[{"type":"heading","attrs":{"level":1},"content":[{"text":"/design -- Product Validation Gate","type":"text"}]},{"type":"blockquote","content":[{"type":"paragraph","content":[{"text":"Quick Ref:","type":"text","marks":[{"type":"strong"}]},{"text":" Validates that a proposed goal aligns with the product's strategic direction before discovery begins major work. Council-gated with ","type":"text"},{"text":"--preset=product","type":"text","marks":[{"type":"code_inline"}]},{"text":".","type":"text"}]}]},{"type":"hr","attrs":{"markup":"---"}},{"type":"heading","attrs":{"level":2},"content":[{"text":"Quick Start","type":"text"}]},{"type":"code_block","attrs":{"wrap":false,"language":"bash"},"content":[{"text":"/design \"add caching layer for CLI\" # validate goal against PRODUCT.md\n/design --quick \"add caching layer\" # inline check, no council spawning\n/design --strict \"redesign hook system\" # higher threshold (avg >= 2.5)\n/design # infers goal from recent context","type":"text"}]},{"type":"hr","attrs":{"markup":"---"}},{"type":"heading","attrs":{"level":2},"content":[{"text":"Execution Steps","type":"text"}]},{"type":"heading","attrs":{"level":3},"content":[{"text":"Step 0: Check for PRODUCT.md","type":"text"}]},{"type":"paragraph","content":[{"text":"Locate ","type":"text"},{"text":"PRODUCT.md","type":"text","marks":[{"type":"code_inline"}]},{"text":" in the repo root.","type":"text"}]},{"type":"code_block","attrs":{"wrap":false,"language":"bash"},"content":[{"text":"ls PRODUCT.md 2>/dev/null","type":"text"}]},{"type":"paragraph","content":[{"text":"If absent:","type":"text","marks":[{"type":"strong"}]},{"text":" Output a warning and return PASS with note: \"No PRODUCT.md found -- skipping product validation gate. Run ","type":"text"},{"text":"/product","type":"text","marks":[{"type":"code_inline"}]},{"text":" to generate one.\"","type":"text"}]},{"type":"paragraph","content":[{"text":"If present:","type":"text","marks":[{"type":"strong"}]},{"text":" Continue to Step 1.","type":"text"}]},{"type":"heading","attrs":{"level":3},"content":[{"text":"Step 1: Load Product Context","type":"text"}]},{"type":"paragraph","content":[{"text":"Read ","type":"text"},{"text":"PRODUCT.md","type":"text","marks":[{"type":"code_inline"}]},{"text":" and extract:","type":"text"}]},{"type":"bullet_list","content":[{"type":"list_item","content":[{"type":"paragraph","content":[{"text":"Mission","type":"text","marks":[{"type":"strong"}]},{"text":" -- the product's core purpose","type":"text"}]}]},{"type":"list_item","content":[{"type":"paragraph","content":[{"text":"Personas","type":"text","marks":[{"type":"strong"}]},{"text":" -- defined user types and their needs","type":"text"}]}]},{"type":"list_item","content":[{"type":"paragraph","content":[{"text":"Gaps","type":"text","marks":[{"type":"strong"}]},{"text":" -- known product gaps or roadmap items","type":"text"}]}]},{"type":"list_item","content":[{"type":"paragraph","content":[{"text":"Competitive landscape","type":"text","marks":[{"type":"strong"}]},{"text":" -- how the product differentiates","type":"text"}]}]}]},{"type":"paragraph","content":[{"text":"If any section is missing, note it as unavailable and score that dimension conservatively (1).","type":"text"}]},{"type":"heading","attrs":{"level":3},"content":[{"text":"Step 2: Score Alignment Matrix","type":"text"}]},{"type":"paragraph","content":[{"text":"Evaluate the proposed goal against five dimensions. Use the scoring rubric in ","type":"text"},{"text":"references/alignment-matrix.md","type":"text","marks":[{"type":"link","attrs":{"href":"references/alignment-matrix.md","title":null}}]},{"text":".","type":"text"}]},{"type":"table","attrs":{"layout":null},"content":[{"type":"tr","content":[{"type":"th","attrs":{"colspan":1,"rowspan":1,"colwidth":null,"alignment":""},"content":[{"type":"paragraph","content":[{"text":"Dimension","type":"text"}]}]},{"type":"th","attrs":{"colspan":1,"rowspan":1,"colwidth":null,"alignment":""},"content":[{"type":"paragraph","content":[{"text":"Score (0-3)","type":"text"}]}]},{"type":"th","attrs":{"colspan":1,"rowspan":1,"colwidth":null,"alignment":""},"content":[{"type":"paragraph","content":[{"text":"Rationale","type":"text"}]}]}]},{"type":"tr","content":[{"type":"td","attrs":{"colspan":1,"rowspan":1,"colwidth":null,"alignment":""},"content":[{"type":"paragraph","content":[{"text":"Gap Alignment","type":"text"}]}]},{"type":"td","attrs":{"colspan":1,"rowspan":1,"colwidth":null,"alignment":""},"content":[{"type":"paragraph"}]},{"type":"td","attrs":{"colspan":1,"rowspan":1,"colwidth":null,"alignment":""},"content":[{"type":"paragraph","content":[{"text":"Does this goal address a known product gap?","type":"text"}]}]}]},{"type":"tr","content":[{"type":"td","attrs":{"colspan":1,"rowspan":1,"colwidth":null,"alignment":""},"content":[{"type":"paragraph","content":[{"text":"Persona Fit","type":"text"}]}]},{"type":"td","attrs":{"colspan":1,"rowspan":1,"colwidth":null,"alignment":""},"content":[{"type":"paragraph"}]},{"type":"td","attrs":{"colspan":1,"rowspan":1,"colwidth":null,"alignment":""},"content":[{"type":"paragraph","content":[{"text":"Does this serve defined personas?","type":"text"}]}]}]},{"type":"tr","content":[{"type":"td","attrs":{"colspan":1,"rowspan":1,"colwidth":null,"alignment":""},"content":[{"type":"paragraph","content":[{"text":"Competitive Diff","type":"text"}]}]},{"type":"td","attrs":{"colspan":1,"rowspan":1,"colwidth":null,"alignment":""},"content":[{"type":"paragraph"}]},{"type":"td","attrs":{"colspan":1,"rowspan":1,"colwidth":null,"alignment":""},"content":[{"type":"paragraph","content":[{"text":"Does this strengthen competitive position?","type":"text"}]}]}]},{"type":"tr","content":[{"type":"td","attrs":{"colspan":1,"rowspan":1,"colwidth":null,"alignment":""},"content":[{"type":"paragraph","content":[{"text":"Precedent","type":"text"}]}]},{"type":"td","attrs":{"colspan":1,"rowspan":1,"colwidth":null,"alignment":""},"content":[{"type":"paragraph"}]},{"type":"td","attrs":{"colspan":1,"rowspan":1,"colwidth":null,"alignment":""},"content":[{"type":"paragraph","content":[{"text":"Has similar work been done before? What can we learn?","type":"text"}]}]}]},{"type":"tr","content":[{"type":"td","attrs":{"colspan":1,"rowspan":1,"colwidth":null,"alignment":""},"content":[{"type":"paragraph","content":[{"text":"Scope Fit","type":"text"}]}]},{"type":"td","attrs":{"colspan":1,"rowspan":1,"colwidth":null,"alignment":""},"content":[{"type":"paragraph"}]},{"type":"td","attrs":{"colspan":1,"rowspan":1,"colwidth":null,"alignment":""},"content":[{"type":"paragraph","content":[{"text":"Is this appropriately scoped for the current phase?","type":"text"}]}]}]}]},{"type":"paragraph","content":[{"text":"Compute the average score across all five dimensions.","type":"text"}]},{"type":"heading","attrs":{"level":3},"content":[{"text":"Step 3: Run Council","type":"text"}]},{"type":"paragraph","content":[{"text":"Invoke council with the product preset. See ","type":"text"},{"text":"references/product-council-preset.md","type":"text","marks":[{"type":"link","attrs":{"href":"references/product-council-preset.md","title":null}}]},{"text":" for judge configuration.","type":"text"}]},{"type":"code_block","attrs":{"wrap":false,"language":""},"content":[{"text":"Skill(skill=\"council\", args=\"--preset=product validate design alignment for: \u003cgoal>\")","type":"text"}]},{"type":"paragraph","content":[{"text":"Pass the alignment matrix from Step 2 as context to the council judges.","type":"text"}]},{"type":"paragraph","content":[{"text":"If ","type":"text"},{"text":"--quick","type":"text","marks":[{"type":"code_inline"}]},{"text":" flag is set, skip council spawning and perform inline assessment instead.","type":"text"}]},{"type":"heading","attrs":{"level":3},"content":[{"text":"Step 4: Write Design Artifact","type":"text"}]},{"type":"paragraph","content":[{"text":"Write the design artifact to ","type":"text"},{"text":".agents/design/","type":"text","marks":[{"type":"code_inline"}]},{"text":":","type":"text"}]},{"type":"code_block","attrs":{"wrap":false,"language":"bash"},"content":[{"text":"mkdir -p .agents/design","type":"text"}]},{"type":"paragraph","content":[{"text":"Filename: ","type":"text"},{"text":"\u003cdate>-design-\u003cgoal-slug>.md","type":"text","marks":[{"type":"code_inline"}]},{"text":" (e.g., ","type":"text"},{"text":"2026-03-30-design-add-caching-layer.md","type":"text","marks":[{"type":"code_inline"}]},{"text":")","type":"text"}]},{"type":"paragraph","content":[{"text":"Artifact contents:","type":"text"}]},{"type":"bullet_list","content":[{"type":"list_item","content":[{"type":"paragraph","content":[{"text":"Goal statement","type":"text"}]}]},{"type":"list_item","content":[{"type":"paragraph","content":[{"text":"Alignment matrix with scores and rationale","type":"text"}]}]},{"type":"list_item","content":[{"type":"paragraph","content":[{"text":"Council verdict (or inline assessment if ","type":"text"},{"text":"--quick","type":"text","marks":[{"type":"code_inline"}]},{"text":")","type":"text"}]}]},{"type":"list_item","content":[{"type":"paragraph","content":[{"text":"Final verdict and recommendation","type":"text"}]}]}]},{"type":"heading","attrs":{"level":3},"content":[{"text":"Step 5: Output Verdict","type":"text"}]},{"type":"paragraph","content":[{"text":"Determine the final verdict based on scores:","type":"text"}]},{"type":"table","attrs":{"layout":null},"content":[{"type":"tr","content":[{"type":"th","attrs":{"colspan":1,"rowspan":1,"colwidth":null,"alignment":""},"content":[{"type":"paragraph","content":[{"text":"Condition","type":"text"}]}]},{"type":"th","attrs":{"colspan":1,"rowspan":1,"colwidth":null,"alignment":""},"content":[{"type":"paragraph","content":[{"text":"Verdict","type":"text"}]}]}]},{"type":"tr","content":[{"type":"td","attrs":{"colspan":1,"rowspan":1,"colwidth":null,"alignment":""},"content":[{"type":"paragraph","content":[{"text":"Average score >= 2.0 AND no dimension at 0","type":"text"}]}]},{"type":"td","attrs":{"colspan":1,"rowspan":1,"colwidth":null,"alignment":""},"content":[{"type":"paragraph","content":[{"text":"PASS","type":"text","marks":[{"type":"strong"}]},{"text":" -- goal aligns with product direction","type":"text"}]}]}]},{"type":"tr","content":[{"type":"td","attrs":{"colspan":1,"rowspan":1,"colwidth":null,"alignment":""},"content":[{"type":"paragraph","content":[{"text":"Average score >= 1.5 OR one dimension at 0 with others strong","type":"text"}]}]},{"type":"td","attrs":{"colspan":1,"rowspan":1,"colwidth":null,"alignment":""},"content":[{"type":"paragraph","content":[{"text":"WARN","type":"text","marks":[{"type":"strong"}]},{"text":" -- goal has alignment concerns, review before proceeding","type":"text"}]}]}]},{"type":"tr","content":[{"type":"td","attrs":{"colspan":1,"rowspan":1,"colwidth":null,"alignment":""},"content":[{"type":"paragraph","content":[{"text":"Average score \u003c 1.5 OR multiple dimensions at 0","type":"text"}]}]},{"type":"td","attrs":{"colspan":1,"rowspan":1,"colwidth":null,"alignment":""},"content":[{"type":"paragraph","content":[{"text":"FAIL","type":"text","marks":[{"type":"strong"}]},{"text":" -- goal does not align with product direction","type":"text"}]}]}]}]},{"type":"paragraph","content":[{"text":"When ","type":"text"},{"text":"--strict","type":"text","marks":[{"type":"code_inline"}]},{"text":" is set, raise the PASS threshold to average >= 2.5.","type":"text"}]},{"type":"paragraph","content":[{"text":"Output the verdict in this format:","type":"text"}]},{"type":"code_block","attrs":{"wrap":false,"language":""},"content":[{"text":"DESIGN VERDICT: \u003cPASS|WARN|FAIL>\n Gap Alignment: \u003cscore>/3 -- \u003cone-line rationale>\n Persona Fit: \u003cscore>/3 -- \u003cone-line rationale>\n Competitive Diff: \u003cscore>/3 -- \u003cone-line rationale>\n Precedent: \u003cscore>/3 -- \u003cone-line rationale>\n Scope Fit: \u003cscore>/3 -- \u003cone-line rationale>\n Average: \u003cavg>/3.0\n Artifact: .agents/design/\u003cfilename>.md","type":"text"}]},{"type":"hr","attrs":{"markup":"---"}},{"type":"heading","attrs":{"level":2},"content":[{"text":"Flags","type":"text"}]},{"type":"table","attrs":{"layout":null},"content":[{"type":"tr","content":[{"type":"th","attrs":{"colspan":1,"rowspan":1,"colwidth":null,"alignment":""},"content":[{"type":"paragraph","content":[{"text":"Flag","type":"text"}]}]},{"type":"th","attrs":{"colspan":1,"rowspan":1,"colwidth":null,"alignment":""},"content":[{"type":"paragraph","content":[{"text":"Effect","type":"text"}]}]}]},{"type":"tr","content":[{"type":"td","attrs":{"colspan":1,"rowspan":1,"colwidth":null,"alignment":""},"content":[{"type":"paragraph","content":[{"text":"--quick","type":"text","marks":[{"type":"code_inline"}]}]}]},{"type":"td","attrs":{"colspan":1,"rowspan":1,"colwidth":null,"alignment":""},"content":[{"type":"paragraph","content":[{"text":"Inline check without council spawning. Faster but less thorough.","type":"text"}]}]}]},{"type":"tr","content":[{"type":"td","attrs":{"colspan":1,"rowspan":1,"colwidth":null,"alignment":""},"content":[{"type":"paragraph","content":[{"text":"--strict","type":"text","marks":[{"type":"code_inline"}]}]}]},{"type":"td","attrs":{"colspan":1,"rowspan":1,"colwidth":null,"alignment":""},"content":[{"type":"paragraph","content":[{"text":"Raise PASS threshold from avg >= 2.0 to avg >= 2.5. Use for high-stakes changes.","type":"text"}]}]}]}]},{"type":"hr","attrs":{"markup":"---"}},{"type":"heading","attrs":{"level":2},"content":[{"text":"Reference Documents","type":"text"}]},{"type":"bullet_list","content":[{"type":"list_item","content":[{"type":"paragraph","content":[{"text":"references/design.feature","type":"text","marks":[{"type":"link","attrs":{"href":"references/design.feature","title":null}}]},{"text":" — Executable spec: goal-vs-PRODUCT.md council verdict before discovery, --quick inline, --strict threshold (soc-qk4b)","type":"text"}]}]},{"type":"list_item","content":[{"type":"paragraph","content":[{"text":"references/alignment-matrix.md","type":"text","marks":[{"type":"link","attrs":{"href":"references/alignment-matrix.md","title":null}}]},{"text":" -- Scoring rubric for the five alignment dimensions","type":"text"}]}]},{"type":"list_item","content":[{"type":"paragraph","content":[{"text":"references/project-reality-check.md","type":"text","marks":[{"type":"link","attrs":{"href":"references/project-reality-check.md","title":null}}]},{"text":" -- Quick reality-check prompts before committing to a project direction","type":"text"}]}]},{"type":"list_item","content":[{"type":"paragraph","content":[{"text":"references/product-council-preset.md","type":"text","marks":[{"type":"link","attrs":{"href":"references/product-council-preset.md","title":null}}]},{"text":" -- Council ","type":"text"},{"text":"--preset=product","type":"text","marks":[{"type":"code_inline"}]},{"text":" judge configuration and verdict rules","type":"text"}]}]}]},{"type":"hr","attrs":{"markup":"---"}},{"type":"heading","attrs":{"level":2},"content":[{"text":"See Also","type":"text"}]},{"type":"bullet_list","content":[{"type":"list_item","content":[{"type":"paragraph","content":[{"text":"skills/council/SKILL.md","type":"text","marks":[{"type":"link","attrs":{"href":"../council/SKILL.md","title":null}}]},{"text":" -- Multi-model consensus council","type":"text"}]}]},{"type":"list_item","content":[{"type":"paragraph","content":[{"text":"skills/product/SKILL.md","type":"text","marks":[{"type":"link","attrs":{"href":"../product/SKILL.md","title":null}}]},{"text":" -- Generate PRODUCT.md","type":"text"}]}]},{"type":"list_item","content":[{"type":"paragraph","content":[{"text":"skills/discovery/SKILL.md","type":"text","marks":[{"type":"link","attrs":{"href":"../discovery/SKILL.md","title":null}}]},{"text":" -- Discovery phase orchestrator","type":"text"}]}]},{"type":"list_item","content":[{"type":"paragraph","content":[{"text":"skills/pre-mortem/SKILL.md","type":"text","marks":[{"type":"link","attrs":{"href":"../pre-mortem/SKILL.md","title":null}}]},{"text":" -- Plan validation gate","type":"text"}]}]}]},{"type":"hr","attrs":{"markup":"---"}}]},"metadata":{"date":"2026-06-05","name":"design","author":"@skillopedia","source":{"stars":375,"repo_name":"agentops","origin_url":"https://github.com/boshu2/agentops/blob/HEAD/skills/design/SKILL.md","repo_owner":"boshu2","body_sha256":"6549c4b040789659973d130622467aa68537f89891ddd3083daba865dbfd780e","cluster_key":"dc36f2babe9d8ad9d3e8aefeb45900e1f085434f60e32a317fea85c6eb0681e6","clean_bundle":{"format":"clean-skill-bundle-v1","source":"boshu2/agentops/skills/design/SKILL.md","attachments":[{"id":"d4d3723e-267f-5aa6-aa47-de2965bbd124","key":"uploads/10433ee7-ad12-4ae0-b34e-97553e46c6c8/d4d3723e-267f-5aa6-aa47-de2965bbd124/attachment.md","path":"references/alignment-matrix.md","size":3012,"sha256":"73f7ab351dee9b8986b5277a40ed163d2926a0e32ea929b0384518c352001838","contentType":"text/markdown; charset=utf-8"},{"id":"62e1bea7-795f-57ff-b317-6103c3599b7b","key":"uploads/10433ee7-ad12-4ae0-b34e-97553e46c6c8/62e1bea7-795f-57ff-b317-6103c3599b7b/attachment.feature","path":"references/design.feature","size":1344,"sha256":"af146d13e064c6b280a086d84b610e420b9bc4901768bd8a569e0f18cbfdce4f","contentType":"text/plain; charset=utf-8"},{"id":"84bf7ae3-c047-5ef9-bc7d-fc2a88c7d4dd","key":"uploads/10433ee7-ad12-4ae0-b34e-97553e46c6c8/84bf7ae3-c047-5ef9-bc7d-fc2a88c7d4dd/attachment.md","path":"references/product-council-preset.md","size":2339,"sha256":"0eed208a212cc9290fe447dcc3db421970ae388a2599cb482b5452e264124b95","contentType":"text/markdown; charset=utf-8"},{"id":"74907a2a-c5a4-5435-87c5-394213dd1449","key":"uploads/10433ee7-ad12-4ae0-b34e-97553e46c6c8/74907a2a-c5a4-5435-87c5-394213dd1449/attachment.md","path":"references/project-reality-check.md","size":1137,"sha256":"627fcd66108b400910bd44dc34f6f98af67a09e7482c49c38d527644f84cadfc","contentType":"text/markdown; charset=utf-8"},{"id":"42231c86-a687-5adf-ae06-38fe03f8958a","key":"uploads/10433ee7-ad12-4ae0-b34e-97553e46c6c8/42231c86-a687-5adf-ae06-38fe03f8958a/attachment.sh","path":"scripts/validate.sh","size":744,"sha256":"82acf9e961d80d673bde5d9d031e75e269fc75f23b489c5cb68b5274293a3253","contentType":"application/x-sh; charset=utf-8"}],"bundle_sha256":"9d1dd1d42b4bf6597d068ba22825610b110aff5dbbb1d3c0430369e07cf074ea","attachment_count":5,"text_attachments":4,"attachment_storage":"skillopedia-attachments-v1","binary_attachments":1,"excluded_attachments":[]},"cluster_size":1,"skill_md_path":"skills/design/SKILL.md","import_metadata":{"date":"2026-06-05","author":"@skillopedia","version":"v1","category":"design-ux","category_label":"Design"},"exact_dupes_collapsed_into_this":0},"context":{"intent":{"mode":"task"},"window":"fork","sections":{"exclude":["HISTORY"]},"intel_scope":"full"},"version":"v1","category":"design-ux","consumes":["standards"],"metadata":{"tier":"judgment","dependencies":["council","shared"]},"produces":["result.json"],"practices":["lean-startup","ddd-bounded-context","mythical-man-month"],"import_tag":"clean-skills-v1","context_rel":[{"kind":"shared-kernel","with":"standards"}],"description":"Validate product fit before discovery.","hexagonal_role":"domain","user-invocable":true,"output_contract":"skills/council/schemas/verdict.json","skill_api_version":1}},"renderedAt":1782981282235}

/design -- Product Validation Gate Quick Ref: Validates that a proposed goal aligns with the product's strategic direction before discovery begins major work. Council-gated with . --- Quick Start --- Execution Steps Step 0: Check for PRODUCT.md Locate in the repo root. If absent: Output a warning and return PASS with note: "No PRODUCT.md found -- skipping product validation gate. Run to generate one." If present: Continue to Step 1. Step 1: Load Product Context Read and extract: - Mission -- the product's core purpose - Personas -- defined user types and their needs - Gaps -- known product ga…