[{"data":1,"prerenderedAt":-1},["ShallowReactive",2],{"skill-anthropic-write-spec":3,"mdc--5jbthn-key":34,"related-repo-anthropic-write-spec":1401,"related-org-anthropic-write-spec":1518},{"slug":4,"name":4,"fn":5,"description":6,"org":7,"tags":12,"stars":23,"repoUrl":24,"updatedAt":25,"license":26,"forks":27,"topics":28,"repo":29,"sourceUrl":32,"mdContent":33},"write-spec","write feature specs and PRDs","Write a feature spec or PRD from a problem statement or feature idea. Use when turning a vague idea or user request into a structured document, scoping a feature with goals and non-goals, defining success metrics and acceptance criteria, or breaking a big ask into a phased spec.",{"slug":8,"name":9,"logoUrl":10,"githubOrg":11},"anthropic","Anthropic","https:\u002F\u002Fpexgzepcugksgbtrxkhf.supabase.co\u002Fstorage\u002Fv1\u002Fobject\u002Fpublic\u002Forg-logos\u002Fanthropic.png","anthropics",[13,17,20],{"name":14,"slug":15,"type":16},"Writing","writing","tag",{"name":18,"slug":19,"type":16},"Specs","specs",{"name":21,"slug":22,"type":16},"Product Management","product-management",22885,"https:\u002F\u002Fgithub.com\u002Fanthropics\u002Fknowledge-work-plugins","2026-04-06T17:59:03.939605",null,2736,[],{"repoUrl":24,"stars":23,"forks":27,"topics":30,"description":31},[],"Open source repository of plugins primarily intended for knowledge workers to use in Claude Cowork","https:\u002F\u002Fgithub.com\u002Fanthropics\u002Fknowledge-work-plugins\u002Ftree\u002FHEAD\u002Fproduct-management\u002Fskills\u002Fwrite-spec","---\nname: write-spec\ndescription: Write a feature spec or PRD from a problem statement or feature idea. Use when turning a vague idea or user request into a structured document, scoping a feature with goals and non-goals, defining success metrics and acceptance criteria, or breaking a big ask into a phased spec.\nargument-hint: \"\u003Cfeature or problem statement>\"\n---\n\n# Write Spec\n\n> If you see unfamiliar placeholders or need to check which tools are connected, see [CONNECTORS.md](..\u002F..\u002FCONNECTORS.md).\n\nWrite a feature specification or product requirements document (PRD).\n\n## Usage\n\n```\n\u002Fwrite-spec $ARGUMENTS\n```\n\n## Workflow\n\n### 1. Understand the Feature\n\nAsk the user what they want to spec. Accept any of:\n- A feature name (\"SSO support\")\n- A problem statement (\"Enterprise customers keep asking for centralized auth\")\n- A user request (\"Users want to export their data as CSV\")\n- A vague idea (\"We should do something about onboarding drop-off\")\n\n### 2. Gather Context\n\nAsk the user for the following. Be conversational — do not dump all questions at once. Ask the most important ones first and fill in gaps as you go:\n\n- **User problem**: What problem does this solve? Who experiences it?\n- **Target users**: Which user segment(s) does this serve?\n- **Success metrics**: How will we know this worked?\n- **Constraints**: Technical constraints, timeline, regulatory requirements, dependencies\n- **Prior art**: Has this been attempted before? Are there existing solutions?\n\n### 3. Pull Context from Connected Tools\n\nIf **~~project tracker** is connected:\n- Search for related tickets, epics, or features\n- Pull in any existing requirements or acceptance criteria\n- Identify dependencies on other work items\n\nIf **~~knowledge base** is connected:\n- Search for related research documents, prior specs, or design docs\n- Pull in relevant user research findings\n- Find related meeting notes or decision records\n\nIf **~~design** is connected:\n- Pull related mockups, wireframes, or design explorations\n- Search for design system components relevant to the feature\n\nIf these tools are not connected, work entirely from what the user provides. Do not ask the user to connect tools — just proceed with available information.\n\n### 4. Generate the PRD\n\nProduce a structured PRD with these sections. See **PRD Structure** below for detailed guidance on what each section should contain.\n\n- **Problem Statement**: The user problem, who is affected, and impact of not solving it (2-3 sentences)\n- **Goals**: 3-5 specific, measurable outcomes tied to user or business metrics\n- **Non-Goals**: 3-5 things explicitly out of scope, with brief rationale for each\n- **User Stories**: Standard format (\"As a [user type], I want [capability] so that [benefit]\"), grouped by persona\n- **Requirements**: Categorized as Must-Have (P0), Nice-to-Have (P1), and Future Considerations (P2), each with acceptance criteria\n- **Success Metrics**: Leading indicators (change quickly) and lagging indicators (change over time), with specific targets\n- **Open Questions**: Unresolved questions tagged with who needs to answer (engineering, design, legal, data)\n- **Timeline Considerations**: Hard deadlines, dependencies, and phasing\n\n### 5. Review and Iterate\n\nAfter generating the PRD:\n- Ask the user if any sections need adjustment\n- Offer to expand on specific sections\n- Offer to create follow-up artifacts (design brief, engineering ticket breakdown, stakeholder pitch)\n\n## PRD Structure\n\n### Problem Statement\n- Describe the user problem in 2-3 sentences\n- Who experiences this problem and how often\n- What is the cost of not solving it (user pain, business impact, competitive risk)\n- Ground this in evidence: user research, support data, metrics, or customer feedback\n\n### Goals\n- 3-5 specific, measurable outcomes this feature should achieve\n- Each goal should answer: \"How will we know this succeeded?\"\n- Distinguish between user goals (what users get) and business goals (what the company gets)\n- Goals should be outcomes, not outputs (\"reduce time to first value by 50%\" not \"build onboarding wizard\")\n\n### Non-Goals\n- 3-5 things this feature explicitly will NOT do\n- Adjacent capabilities that are out of scope for this version\n- For each non-goal, briefly explain why it is out of scope (not enough impact, too complex, separate initiative, premature)\n- Non-goals prevent scope creep during implementation and set expectations with stakeholders\n\n### User Stories\nWrite user stories in standard format: \"As a [user type], I want [capability] so that [benefit]\"\n\nGuidelines:\n- The user type should be specific enough to be meaningful (\"enterprise admin\" not just \"user\")\n- The capability should describe what they want to accomplish, not how\n- The benefit should explain the \"why\" — what value does this deliver\n- Include edge cases: error states, empty states, boundary conditions\n- Include different user types if the feature serves multiple personas\n- Order by priority — most important stories first\n\nExample:\n- \"As a team admin, I want to configure SSO for my organization so that my team members can log in with their corporate credentials\"\n- \"As a team member, I want to be automatically redirected to my company's SSO login so that I do not need to remember a separate password\"\n- \"As a team admin, I want to see which members have logged in via SSO so that I can verify the rollout is working\"\n\n### Requirements\n\n**Must-Have (P0)**: The feature cannot ship without these. These represent the minimum viable version of the feature. Ask: \"If we cut this, does the feature still solve the core problem?\" If no, it is P0.\n\n**Nice-to-Have (P1)**: Significantly improves the experience but the core use case works without them. These often become fast follow-ups after launch.\n\n**Future Considerations (P2)**: Explicitly out of scope for v1 but we want to design in a way that supports them later. Documenting these prevents accidental architectural decisions that make them hard later.\n\nFor each requirement:\n- Write a clear, unambiguous description of the expected behavior\n- Include acceptance criteria (see below)\n- Note any technical considerations or constraints\n- Flag dependencies on other teams or systems\n\n### Open Questions\n- Questions that need answers before or during implementation\n- Tag each with who should answer (engineering, design, legal, data, stakeholder)\n- Distinguish between blocking questions (must answer before starting) and non-blocking (can resolve during implementation)\n\n### Timeline Considerations\n- Hard deadlines (contractual commitments, events, compliance dates)\n- Dependencies on other teams' work or releases\n- Suggested phasing if the feature is too large for one release\n\n## User Story Writing\n\nGood user stories are:\n- **Independent**: Can be developed and delivered on their own\n- **Negotiable**: Details can be discussed, the story is not a contract\n- **Valuable**: Delivers value to the user (not just the team)\n- **Estimable**: The team can roughly estimate the effort\n- **Small**: Can be completed in one sprint\u002Fiteration\n- **Testable**: There is a clear way to verify it works\n\n### Common Mistakes in User Stories\n- Too vague: \"As a user, I want the product to be faster\" — what specifically should be faster?\n- Solution-prescriptive: \"As a user, I want a dropdown menu\" — describe the need, not the UI widget\n- No benefit: \"As a user, I want to click a button\" — why? What does it accomplish?\n- Too large: \"As a user, I want to manage my team\" — break this into specific capabilities\n- Internal focus: \"As the engineering team, we want to refactor the database\" — this is a task, not a user story\n\n## Requirements Categorization\n\n### MoSCoW Framework\n- **Must have**: Without these, the feature is not viable. Non-negotiable.\n- **Should have**: Important but not critical for launch. High-priority fast follows.\n- **Could have**: Desirable if time permits. Will not delay delivery if cut.\n- **Won't have (this time)**: Explicitly out of scope. May revisit in future versions.\n\n### Tips for Categorization\n- Be ruthless about P0s. The tighter the must-have list, the faster you ship and learn.\n- If everything is P0, nothing is P0. Challenge every must-have: \"Would we really not ship without this?\"\n- P1s should be things you are confident you will build soon, not a wish list.\n- P2s are architectural insurance — they guide design decisions even though you are not building them now.\n\n## Success Metrics Definition\n\n### Leading Indicators\nMetrics that change quickly after launch (days to weeks):\n- **Adoption rate**: % of eligible users who try the feature\n- **Activation rate**: % of users who complete the core action\n- **Task completion rate**: % of users who successfully accomplish their goal\n- **Time to complete**: How long the core workflow takes\n- **Error rate**: How often users encounter errors or dead ends\n- **Feature usage frequency**: How often users return to use the feature\n\n### Lagging Indicators\nMetrics that take time to develop (weeks to months):\n- **Retention impact**: Does this feature improve user retention?\n- **Revenue impact**: Does this drive upgrades, expansion, or new revenue?\n- **NPS \u002F satisfaction change**: Does this improve how users feel about the product?\n- **Support ticket reduction**: Does this reduce support load?\n- **Competitive win rate**: Does this help win more deals?\n\n### Setting Targets\n- Targets should be specific: \"50% adoption within 30 days\" not \"high adoption\"\n- Base targets on comparable features, industry benchmarks, or explicit hypotheses\n- Set a \"success\" threshold and a \"stretch\" target\n- Define the measurement method: what tool, what query, what time window\n- Specify when you will evaluate: 1 week, 1 month, 1 quarter post-launch\n\n## Acceptance Criteria\n\nWrite acceptance criteria in Given\u002FWhen\u002FThen format or as a checklist:\n\n**Given\u002FWhen\u002FThen**:\n- Given [precondition or context]\n- When [action the user takes]\n- Then [expected outcome]\n\nExample:\n- Given the admin has configured SSO for their organization\n- When a team member visits the login page\n- Then they are automatically redirected to the organization's SSO provider\n\n**Checklist format**:\n- [ ] Admin can enter SSO provider URL in organization settings\n- [ ] Team members see \"Log in with SSO\" button on login page\n- [ ] SSO login creates a new account if one does not exist\n- [ ] SSO login links to existing account if email matches\n- [ ] Failed SSO attempts show a clear error message\n\n### Tips for Acceptance Criteria\n- Cover the happy path, error cases, and edge cases\n- Be specific about the expected behavior, not the implementation\n- Include what should NOT happen (negative test cases)\n- Each criterion should be independently testable\n- Avoid ambiguous words: \"fast\", \"user-friendly\", \"intuitive\" — define what these mean concretely\n\n## Scope Management\n\n### Recognizing Scope Creep\nScope creep happens when:\n- Requirements keep getting added after the spec is approved\n- \"Small\" additions accumulate into a significantly larger project\n- The team is building features no user asked for (\"while we're at it...\")\n- The launch date keeps moving without explicit re-scoping\n- Stakeholders add requirements without removing anything\n\n### Preventing Scope Creep\n- Write explicit non-goals in every spec\n- Require that any scope addition comes with a scope removal or timeline extension\n- Separate \"v1\" from \"v2\" clearly in the spec\n- Review the spec against the original problem statement — does everything serve it?\n- Time-box investigations: \"If we cannot figure out X in 2 days, we cut it\"\n- Create a \"parking lot\" for good ideas that are not in scope\n\n## Output Format\n\nUse markdown with clear headers. Keep the document scannable — busy stakeholders should be able to read just the headers and bold text to get the gist.\n\n## Tips\n\n- Be opinionated about scope. It is better to have a tight, well-defined spec than an expansive vague one.\n- If the user's idea is too big for one spec, suggest breaking it into phases and spec the first phase.\n- Success metrics should be specific and measurable, not vague (\"improve user experience\").\n- Non-goals are as important as goals. They prevent scope creep during implementation.\n- Open questions should be genuinely open — do not include questions you can answer from context.\n",{"data":35,"body":37},{"name":4,"description":6,"argument-hint":36},"\u003Cfeature or problem statement>",{"type":38,"children":39},"root",[40,48,67,72,79,92,98,105,110,135,141,146,200,206,218,236,246,264,274,287,292,298,310,415,421,426,444,449,454,477,482,505,510,533,538,559,564,597,602,620,625,635,645,655,660,683,688,706,711,729,735,740,803,809,837,843,849,892,898,921,927,933,938,1001,1007,1012,1065,1071,1099,1105,1110,1120,1153,1157,1175,1184,1238,1244,1272,1278,1284,1289,1317,1323,1356,1362,1367,1373],{"type":41,"tag":42,"props":43,"children":44},"element","h1",{"id":4},[45],{"type":46,"value":47},"text","Write Spec",{"type":41,"tag":49,"props":50,"children":51},"blockquote",{},[52],{"type":41,"tag":53,"props":54,"children":55},"p",{},[56,58,65],{"type":46,"value":57},"If you see unfamiliar placeholders or need to check which tools are connected, see ",{"type":41,"tag":59,"props":60,"children":62},"a",{"href":61},"..\u002F..\u002FCONNECTORS.md",[63],{"type":46,"value":64},"CONNECTORS.md",{"type":46,"value":66},".",{"type":41,"tag":53,"props":68,"children":69},{},[70],{"type":46,"value":71},"Write a feature specification or product requirements document (PRD).",{"type":41,"tag":73,"props":74,"children":76},"h2",{"id":75},"usage",[77],{"type":46,"value":78},"Usage",{"type":41,"tag":80,"props":81,"children":85},"pre",{"className":82,"code":84,"language":46},[83],"language-text","\u002Fwrite-spec $ARGUMENTS\n",[86],{"type":41,"tag":87,"props":88,"children":90},"code",{"__ignoreMap":89},"",[91],{"type":46,"value":84},{"type":41,"tag":73,"props":93,"children":95},{"id":94},"workflow",[96],{"type":46,"value":97},"Workflow",{"type":41,"tag":99,"props":100,"children":102},"h3",{"id":101},"_1-understand-the-feature",[103],{"type":46,"value":104},"1. Understand the Feature",{"type":41,"tag":53,"props":106,"children":107},{},[108],{"type":46,"value":109},"Ask the user what they want to spec. Accept any of:",{"type":41,"tag":111,"props":112,"children":113},"ul",{},[114,120,125,130],{"type":41,"tag":115,"props":116,"children":117},"li",{},[118],{"type":46,"value":119},"A feature name (\"SSO support\")",{"type":41,"tag":115,"props":121,"children":122},{},[123],{"type":46,"value":124},"A problem statement (\"Enterprise customers keep asking for centralized auth\")",{"type":41,"tag":115,"props":126,"children":127},{},[128],{"type":46,"value":129},"A user request (\"Users want to export their data as CSV\")",{"type":41,"tag":115,"props":131,"children":132},{},[133],{"type":46,"value":134},"A vague idea (\"We should do something about onboarding drop-off\")",{"type":41,"tag":99,"props":136,"children":138},{"id":137},"_2-gather-context",[139],{"type":46,"value":140},"2. Gather Context",{"type":41,"tag":53,"props":142,"children":143},{},[144],{"type":46,"value":145},"Ask the user for the following. Be conversational — do not dump all questions at once. Ask the most important ones first and fill in gaps as you go:",{"type":41,"tag":111,"props":147,"children":148},{},[149,160,170,180,190],{"type":41,"tag":115,"props":150,"children":151},{},[152,158],{"type":41,"tag":153,"props":154,"children":155},"strong",{},[156],{"type":46,"value":157},"User problem",{"type":46,"value":159},": What problem does this solve? Who experiences it?",{"type":41,"tag":115,"props":161,"children":162},{},[163,168],{"type":41,"tag":153,"props":164,"children":165},{},[166],{"type":46,"value":167},"Target users",{"type":46,"value":169},": Which user segment(s) does this serve?",{"type":41,"tag":115,"props":171,"children":172},{},[173,178],{"type":41,"tag":153,"props":174,"children":175},{},[176],{"type":46,"value":177},"Success metrics",{"type":46,"value":179},": How will we know this worked?",{"type":41,"tag":115,"props":181,"children":182},{},[183,188],{"type":41,"tag":153,"props":184,"children":185},{},[186],{"type":46,"value":187},"Constraints",{"type":46,"value":189},": Technical constraints, timeline, regulatory requirements, dependencies",{"type":41,"tag":115,"props":191,"children":192},{},[193,198],{"type":41,"tag":153,"props":194,"children":195},{},[196],{"type":46,"value":197},"Prior art",{"type":46,"value":199},": Has this been attempted before? Are there existing solutions?",{"type":41,"tag":99,"props":201,"children":203},{"id":202},"_3-pull-context-from-connected-tools",[204],{"type":46,"value":205},"3. Pull Context from Connected Tools",{"type":41,"tag":53,"props":207,"children":208},{},[209,211,216],{"type":46,"value":210},"If ",{"type":41,"tag":153,"props":212,"children":213},{},[214],{"type":46,"value":215},"~~project tracker",{"type":46,"value":217}," is connected:",{"type":41,"tag":111,"props":219,"children":220},{},[221,226,231],{"type":41,"tag":115,"props":222,"children":223},{},[224],{"type":46,"value":225},"Search for related tickets, epics, or features",{"type":41,"tag":115,"props":227,"children":228},{},[229],{"type":46,"value":230},"Pull in any existing requirements or acceptance criteria",{"type":41,"tag":115,"props":232,"children":233},{},[234],{"type":46,"value":235},"Identify dependencies on other work items",{"type":41,"tag":53,"props":237,"children":238},{},[239,240,245],{"type":46,"value":210},{"type":41,"tag":153,"props":241,"children":242},{},[243],{"type":46,"value":244},"~~knowledge base",{"type":46,"value":217},{"type":41,"tag":111,"props":247,"children":248},{},[249,254,259],{"type":41,"tag":115,"props":250,"children":251},{},[252],{"type":46,"value":253},"Search for related research documents, prior specs, or design docs",{"type":41,"tag":115,"props":255,"children":256},{},[257],{"type":46,"value":258},"Pull in relevant user research findings",{"type":41,"tag":115,"props":260,"children":261},{},[262],{"type":46,"value":263},"Find related meeting notes or decision records",{"type":41,"tag":53,"props":265,"children":266},{},[267,268,273],{"type":46,"value":210},{"type":41,"tag":153,"props":269,"children":270},{},[271],{"type":46,"value":272},"~~design",{"type":46,"value":217},{"type":41,"tag":111,"props":275,"children":276},{},[277,282],{"type":41,"tag":115,"props":278,"children":279},{},[280],{"type":46,"value":281},"Pull related mockups, wireframes, or design explorations",{"type":41,"tag":115,"props":283,"children":284},{},[285],{"type":46,"value":286},"Search for design system components relevant to the feature",{"type":41,"tag":53,"props":288,"children":289},{},[290],{"type":46,"value":291},"If these tools are not connected, work entirely from what the user provides. Do not ask the user to connect tools — just proceed with available information.",{"type":41,"tag":99,"props":293,"children":295},{"id":294},"_4-generate-the-prd",[296],{"type":46,"value":297},"4. Generate the PRD",{"type":41,"tag":53,"props":299,"children":300},{},[301,303,308],{"type":46,"value":302},"Produce a structured PRD with these sections. See ",{"type":41,"tag":153,"props":304,"children":305},{},[306],{"type":46,"value":307},"PRD Structure",{"type":46,"value":309}," below for detailed guidance on what each section should contain.",{"type":41,"tag":111,"props":311,"children":312},{},[313,323,333,343,375,385,395,405],{"type":41,"tag":115,"props":314,"children":315},{},[316,321],{"type":41,"tag":153,"props":317,"children":318},{},[319],{"type":46,"value":320},"Problem Statement",{"type":46,"value":322},": The user problem, who is affected, and impact of not solving it (2-3 sentences)",{"type":41,"tag":115,"props":324,"children":325},{},[326,331],{"type":41,"tag":153,"props":327,"children":328},{},[329],{"type":46,"value":330},"Goals",{"type":46,"value":332},": 3-5 specific, measurable outcomes tied to user or business metrics",{"type":41,"tag":115,"props":334,"children":335},{},[336,341],{"type":41,"tag":153,"props":337,"children":338},{},[339],{"type":46,"value":340},"Non-Goals",{"type":46,"value":342},": 3-5 things explicitly out of scope, with brief rationale for each",{"type":41,"tag":115,"props":344,"children":345},{},[346,351,353,359,361,366,368,373],{"type":41,"tag":153,"props":347,"children":348},{},[349],{"type":46,"value":350},"User Stories",{"type":46,"value":352},": Standard format (\"As a ",{"type":41,"tag":354,"props":355,"children":356},"span",{},[357],{"type":46,"value":358},"user type",{"type":46,"value":360},", I want ",{"type":41,"tag":354,"props":362,"children":363},{},[364],{"type":46,"value":365},"capability",{"type":46,"value":367}," so that ",{"type":41,"tag":354,"props":369,"children":370},{},[371],{"type":46,"value":372},"benefit",{"type":46,"value":374},"\"), grouped by persona",{"type":41,"tag":115,"props":376,"children":377},{},[378,383],{"type":41,"tag":153,"props":379,"children":380},{},[381],{"type":46,"value":382},"Requirements",{"type":46,"value":384},": Categorized as Must-Have (P0), Nice-to-Have (P1), and Future Considerations (P2), each with acceptance criteria",{"type":41,"tag":115,"props":386,"children":387},{},[388,393],{"type":41,"tag":153,"props":389,"children":390},{},[391],{"type":46,"value":392},"Success Metrics",{"type":46,"value":394},": Leading indicators (change quickly) and lagging indicators (change over time), with specific targets",{"type":41,"tag":115,"props":396,"children":397},{},[398,403],{"type":41,"tag":153,"props":399,"children":400},{},[401],{"type":46,"value":402},"Open Questions",{"type":46,"value":404},": Unresolved questions tagged with who needs to answer (engineering, design, legal, data)",{"type":41,"tag":115,"props":406,"children":407},{},[408,413],{"type":41,"tag":153,"props":409,"children":410},{},[411],{"type":46,"value":412},"Timeline Considerations",{"type":46,"value":414},": Hard deadlines, dependencies, and phasing",{"type":41,"tag":99,"props":416,"children":418},{"id":417},"_5-review-and-iterate",[419],{"type":46,"value":420},"5. Review and Iterate",{"type":41,"tag":53,"props":422,"children":423},{},[424],{"type":46,"value":425},"After generating the PRD:",{"type":41,"tag":111,"props":427,"children":428},{},[429,434,439],{"type":41,"tag":115,"props":430,"children":431},{},[432],{"type":46,"value":433},"Ask the user if any sections need adjustment",{"type":41,"tag":115,"props":435,"children":436},{},[437],{"type":46,"value":438},"Offer to expand on specific sections",{"type":41,"tag":115,"props":440,"children":441},{},[442],{"type":46,"value":443},"Offer to create follow-up artifacts (design brief, engineering ticket breakdown, stakeholder pitch)",{"type":41,"tag":73,"props":445,"children":447},{"id":446},"prd-structure",[448],{"type":46,"value":307},{"type":41,"tag":99,"props":450,"children":452},{"id":451},"problem-statement",[453],{"type":46,"value":320},{"type":41,"tag":111,"props":455,"children":456},{},[457,462,467,472],{"type":41,"tag":115,"props":458,"children":459},{},[460],{"type":46,"value":461},"Describe the user problem in 2-3 sentences",{"type":41,"tag":115,"props":463,"children":464},{},[465],{"type":46,"value":466},"Who experiences this problem and how often",{"type":41,"tag":115,"props":468,"children":469},{},[470],{"type":46,"value":471},"What is the cost of not solving it (user pain, business impact, competitive risk)",{"type":41,"tag":115,"props":473,"children":474},{},[475],{"type":46,"value":476},"Ground this in evidence: user research, support data, metrics, or customer feedback",{"type":41,"tag":99,"props":478,"children":480},{"id":479},"goals",[481],{"type":46,"value":330},{"type":41,"tag":111,"props":483,"children":484},{},[485,490,495,500],{"type":41,"tag":115,"props":486,"children":487},{},[488],{"type":46,"value":489},"3-5 specific, measurable outcomes this feature should achieve",{"type":41,"tag":115,"props":491,"children":492},{},[493],{"type":46,"value":494},"Each goal should answer: \"How will we know this succeeded?\"",{"type":41,"tag":115,"props":496,"children":497},{},[498],{"type":46,"value":499},"Distinguish between user goals (what users get) and business goals (what the company gets)",{"type":41,"tag":115,"props":501,"children":502},{},[503],{"type":46,"value":504},"Goals should be outcomes, not outputs (\"reduce time to first value by 50%\" not \"build onboarding wizard\")",{"type":41,"tag":99,"props":506,"children":508},{"id":507},"non-goals",[509],{"type":46,"value":340},{"type":41,"tag":111,"props":511,"children":512},{},[513,518,523,528],{"type":41,"tag":115,"props":514,"children":515},{},[516],{"type":46,"value":517},"3-5 things this feature explicitly will NOT do",{"type":41,"tag":115,"props":519,"children":520},{},[521],{"type":46,"value":522},"Adjacent capabilities that are out of scope for this version",{"type":41,"tag":115,"props":524,"children":525},{},[526],{"type":46,"value":527},"For each non-goal, briefly explain why it is out of scope (not enough impact, too complex, separate initiative, premature)",{"type":41,"tag":115,"props":529,"children":530},{},[531],{"type":46,"value":532},"Non-goals prevent scope creep during implementation and set expectations with stakeholders",{"type":41,"tag":99,"props":534,"children":536},{"id":535},"user-stories",[537],{"type":46,"value":350},{"type":41,"tag":53,"props":539,"children":540},{},[541,543,547,548,552,553,557],{"type":46,"value":542},"Write user stories in standard format: \"As a ",{"type":41,"tag":354,"props":544,"children":545},{},[546],{"type":46,"value":358},{"type":46,"value":360},{"type":41,"tag":354,"props":549,"children":550},{},[551],{"type":46,"value":365},{"type":46,"value":367},{"type":41,"tag":354,"props":554,"children":555},{},[556],{"type":46,"value":372},{"type":46,"value":558},"\"",{"type":41,"tag":53,"props":560,"children":561},{},[562],{"type":46,"value":563},"Guidelines:",{"type":41,"tag":111,"props":565,"children":566},{},[567,572,577,582,587,592],{"type":41,"tag":115,"props":568,"children":569},{},[570],{"type":46,"value":571},"The user type should be specific enough to be meaningful (\"enterprise admin\" not just \"user\")",{"type":41,"tag":115,"props":573,"children":574},{},[575],{"type":46,"value":576},"The capability should describe what they want to accomplish, not how",{"type":41,"tag":115,"props":578,"children":579},{},[580],{"type":46,"value":581},"The benefit should explain the \"why\" — what value does this deliver",{"type":41,"tag":115,"props":583,"children":584},{},[585],{"type":46,"value":586},"Include edge cases: error states, empty states, boundary conditions",{"type":41,"tag":115,"props":588,"children":589},{},[590],{"type":46,"value":591},"Include different user types if the feature serves multiple personas",{"type":41,"tag":115,"props":593,"children":594},{},[595],{"type":46,"value":596},"Order by priority — most important stories first",{"type":41,"tag":53,"props":598,"children":599},{},[600],{"type":46,"value":601},"Example:",{"type":41,"tag":111,"props":603,"children":604},{},[605,610,615],{"type":41,"tag":115,"props":606,"children":607},{},[608],{"type":46,"value":609},"\"As a team admin, I want to configure SSO for my organization so that my team members can log in with their corporate credentials\"",{"type":41,"tag":115,"props":611,"children":612},{},[613],{"type":46,"value":614},"\"As a team member, I want to be automatically redirected to my company's SSO login so that I do not need to remember a separate password\"",{"type":41,"tag":115,"props":616,"children":617},{},[618],{"type":46,"value":619},"\"As a team admin, I want to see which members have logged in via SSO so that I can verify the rollout is working\"",{"type":41,"tag":99,"props":621,"children":623},{"id":622},"requirements",[624],{"type":46,"value":382},{"type":41,"tag":53,"props":626,"children":627},{},[628,633],{"type":41,"tag":153,"props":629,"children":630},{},[631],{"type":46,"value":632},"Must-Have (P0)",{"type":46,"value":634},": The feature cannot ship without these. These represent the minimum viable version of the feature. Ask: \"If we cut this, does the feature still solve the core problem?\" If no, it is P0.",{"type":41,"tag":53,"props":636,"children":637},{},[638,643],{"type":41,"tag":153,"props":639,"children":640},{},[641],{"type":46,"value":642},"Nice-to-Have (P1)",{"type":46,"value":644},": Significantly improves the experience but the core use case works without them. These often become fast follow-ups after launch.",{"type":41,"tag":53,"props":646,"children":647},{},[648,653],{"type":41,"tag":153,"props":649,"children":650},{},[651],{"type":46,"value":652},"Future Considerations (P2)",{"type":46,"value":654},": Explicitly out of scope for v1 but we want to design in a way that supports them later. Documenting these prevents accidental architectural decisions that make them hard later.",{"type":41,"tag":53,"props":656,"children":657},{},[658],{"type":46,"value":659},"For each requirement:",{"type":41,"tag":111,"props":661,"children":662},{},[663,668,673,678],{"type":41,"tag":115,"props":664,"children":665},{},[666],{"type":46,"value":667},"Write a clear, unambiguous description of the expected behavior",{"type":41,"tag":115,"props":669,"children":670},{},[671],{"type":46,"value":672},"Include acceptance criteria (see below)",{"type":41,"tag":115,"props":674,"children":675},{},[676],{"type":46,"value":677},"Note any technical considerations or constraints",{"type":41,"tag":115,"props":679,"children":680},{},[681],{"type":46,"value":682},"Flag dependencies on other teams or systems",{"type":41,"tag":99,"props":684,"children":686},{"id":685},"open-questions",[687],{"type":46,"value":402},{"type":41,"tag":111,"props":689,"children":690},{},[691,696,701],{"type":41,"tag":115,"props":692,"children":693},{},[694],{"type":46,"value":695},"Questions that need answers before or during implementation",{"type":41,"tag":115,"props":697,"children":698},{},[699],{"type":46,"value":700},"Tag each with who should answer (engineering, design, legal, data, stakeholder)",{"type":41,"tag":115,"props":702,"children":703},{},[704],{"type":46,"value":705},"Distinguish between blocking questions (must answer before starting) and non-blocking (can resolve during implementation)",{"type":41,"tag":99,"props":707,"children":709},{"id":708},"timeline-considerations",[710],{"type":46,"value":412},{"type":41,"tag":111,"props":712,"children":713},{},[714,719,724],{"type":41,"tag":115,"props":715,"children":716},{},[717],{"type":46,"value":718},"Hard deadlines (contractual commitments, events, compliance dates)",{"type":41,"tag":115,"props":720,"children":721},{},[722],{"type":46,"value":723},"Dependencies on other teams' work or releases",{"type":41,"tag":115,"props":725,"children":726},{},[727],{"type":46,"value":728},"Suggested phasing if the feature is too large for one release",{"type":41,"tag":73,"props":730,"children":732},{"id":731},"user-story-writing",[733],{"type":46,"value":734},"User Story Writing",{"type":41,"tag":53,"props":736,"children":737},{},[738],{"type":46,"value":739},"Good user stories are:",{"type":41,"tag":111,"props":741,"children":742},{},[743,753,763,773,783,793],{"type":41,"tag":115,"props":744,"children":745},{},[746,751],{"type":41,"tag":153,"props":747,"children":748},{},[749],{"type":46,"value":750},"Independent",{"type":46,"value":752},": Can be developed and delivered on their own",{"type":41,"tag":115,"props":754,"children":755},{},[756,761],{"type":41,"tag":153,"props":757,"children":758},{},[759],{"type":46,"value":760},"Negotiable",{"type":46,"value":762},": Details can be discussed, the story is not a contract",{"type":41,"tag":115,"props":764,"children":765},{},[766,771],{"type":41,"tag":153,"props":767,"children":768},{},[769],{"type":46,"value":770},"Valuable",{"type":46,"value":772},": Delivers value to the user (not just the team)",{"type":41,"tag":115,"props":774,"children":775},{},[776,781],{"type":41,"tag":153,"props":777,"children":778},{},[779],{"type":46,"value":780},"Estimable",{"type":46,"value":782},": The team can roughly estimate the effort",{"type":41,"tag":115,"props":784,"children":785},{},[786,791],{"type":41,"tag":153,"props":787,"children":788},{},[789],{"type":46,"value":790},"Small",{"type":46,"value":792},": Can be completed in one sprint\u002Fiteration",{"type":41,"tag":115,"props":794,"children":795},{},[796,801],{"type":41,"tag":153,"props":797,"children":798},{},[799],{"type":46,"value":800},"Testable",{"type":46,"value":802},": There is a clear way to verify it works",{"type":41,"tag":99,"props":804,"children":806},{"id":805},"common-mistakes-in-user-stories",[807],{"type":46,"value":808},"Common Mistakes in User Stories",{"type":41,"tag":111,"props":810,"children":811},{},[812,817,822,827,832],{"type":41,"tag":115,"props":813,"children":814},{},[815],{"type":46,"value":816},"Too vague: \"As a user, I want the product to be faster\" — what specifically should be faster?",{"type":41,"tag":115,"props":818,"children":819},{},[820],{"type":46,"value":821},"Solution-prescriptive: \"As a user, I want a dropdown menu\" — describe the need, not the UI widget",{"type":41,"tag":115,"props":823,"children":824},{},[825],{"type":46,"value":826},"No benefit: \"As a user, I want to click a button\" — why? What does it accomplish?",{"type":41,"tag":115,"props":828,"children":829},{},[830],{"type":46,"value":831},"Too large: \"As a user, I want to manage my team\" — break this into specific capabilities",{"type":41,"tag":115,"props":833,"children":834},{},[835],{"type":46,"value":836},"Internal focus: \"As the engineering team, we want to refactor the database\" — this is a task, not a user story",{"type":41,"tag":73,"props":838,"children":840},{"id":839},"requirements-categorization",[841],{"type":46,"value":842},"Requirements Categorization",{"type":41,"tag":99,"props":844,"children":846},{"id":845},"moscow-framework",[847],{"type":46,"value":848},"MoSCoW Framework",{"type":41,"tag":111,"props":850,"children":851},{},[852,862,872,882],{"type":41,"tag":115,"props":853,"children":854},{},[855,860],{"type":41,"tag":153,"props":856,"children":857},{},[858],{"type":46,"value":859},"Must have",{"type":46,"value":861},": Without these, the feature is not viable. Non-negotiable.",{"type":41,"tag":115,"props":863,"children":864},{},[865,870],{"type":41,"tag":153,"props":866,"children":867},{},[868],{"type":46,"value":869},"Should have",{"type":46,"value":871},": Important but not critical for launch. High-priority fast follows.",{"type":41,"tag":115,"props":873,"children":874},{},[875,880],{"type":41,"tag":153,"props":876,"children":877},{},[878],{"type":46,"value":879},"Could have",{"type":46,"value":881},": Desirable if time permits. Will not delay delivery if cut.",{"type":41,"tag":115,"props":883,"children":884},{},[885,890],{"type":41,"tag":153,"props":886,"children":887},{},[888],{"type":46,"value":889},"Won't have (this time)",{"type":46,"value":891},": Explicitly out of scope. May revisit in future versions.",{"type":41,"tag":99,"props":893,"children":895},{"id":894},"tips-for-categorization",[896],{"type":46,"value":897},"Tips for Categorization",{"type":41,"tag":111,"props":899,"children":900},{},[901,906,911,916],{"type":41,"tag":115,"props":902,"children":903},{},[904],{"type":46,"value":905},"Be ruthless about P0s. The tighter the must-have list, the faster you ship and learn.",{"type":41,"tag":115,"props":907,"children":908},{},[909],{"type":46,"value":910},"If everything is P0, nothing is P0. Challenge every must-have: \"Would we really not ship without this?\"",{"type":41,"tag":115,"props":912,"children":913},{},[914],{"type":46,"value":915},"P1s should be things you are confident you will build soon, not a wish list.",{"type":41,"tag":115,"props":917,"children":918},{},[919],{"type":46,"value":920},"P2s are architectural insurance — they guide design decisions even though you are not building them now.",{"type":41,"tag":73,"props":922,"children":924},{"id":923},"success-metrics-definition",[925],{"type":46,"value":926},"Success Metrics Definition",{"type":41,"tag":99,"props":928,"children":930},{"id":929},"leading-indicators",[931],{"type":46,"value":932},"Leading Indicators",{"type":41,"tag":53,"props":934,"children":935},{},[936],{"type":46,"value":937},"Metrics that change quickly after launch (days to weeks):",{"type":41,"tag":111,"props":939,"children":940},{},[941,951,961,971,981,991],{"type":41,"tag":115,"props":942,"children":943},{},[944,949],{"type":41,"tag":153,"props":945,"children":946},{},[947],{"type":46,"value":948},"Adoption rate",{"type":46,"value":950},": % of eligible users who try the feature",{"type":41,"tag":115,"props":952,"children":953},{},[954,959],{"type":41,"tag":153,"props":955,"children":956},{},[957],{"type":46,"value":958},"Activation rate",{"type":46,"value":960},": % of users who complete the core action",{"type":41,"tag":115,"props":962,"children":963},{},[964,969],{"type":41,"tag":153,"props":965,"children":966},{},[967],{"type":46,"value":968},"Task completion rate",{"type":46,"value":970},": % of users who successfully accomplish their goal",{"type":41,"tag":115,"props":972,"children":973},{},[974,979],{"type":41,"tag":153,"props":975,"children":976},{},[977],{"type":46,"value":978},"Time to complete",{"type":46,"value":980},": How long the core workflow takes",{"type":41,"tag":115,"props":982,"children":983},{},[984,989],{"type":41,"tag":153,"props":985,"children":986},{},[987],{"type":46,"value":988},"Error rate",{"type":46,"value":990},": How often users encounter errors or dead ends",{"type":41,"tag":115,"props":992,"children":993},{},[994,999],{"type":41,"tag":153,"props":995,"children":996},{},[997],{"type":46,"value":998},"Feature usage frequency",{"type":46,"value":1000},": How often users return to use the feature",{"type":41,"tag":99,"props":1002,"children":1004},{"id":1003},"lagging-indicators",[1005],{"type":46,"value":1006},"Lagging Indicators",{"type":41,"tag":53,"props":1008,"children":1009},{},[1010],{"type":46,"value":1011},"Metrics that take time to develop (weeks to months):",{"type":41,"tag":111,"props":1013,"children":1014},{},[1015,1025,1035,1045,1055],{"type":41,"tag":115,"props":1016,"children":1017},{},[1018,1023],{"type":41,"tag":153,"props":1019,"children":1020},{},[1021],{"type":46,"value":1022},"Retention impact",{"type":46,"value":1024},": Does this feature improve user retention?",{"type":41,"tag":115,"props":1026,"children":1027},{},[1028,1033],{"type":41,"tag":153,"props":1029,"children":1030},{},[1031],{"type":46,"value":1032},"Revenue impact",{"type":46,"value":1034},": Does this drive upgrades, expansion, or new revenue?",{"type":41,"tag":115,"props":1036,"children":1037},{},[1038,1043],{"type":41,"tag":153,"props":1039,"children":1040},{},[1041],{"type":46,"value":1042},"NPS \u002F satisfaction change",{"type":46,"value":1044},": Does this improve how users feel about the product?",{"type":41,"tag":115,"props":1046,"children":1047},{},[1048,1053],{"type":41,"tag":153,"props":1049,"children":1050},{},[1051],{"type":46,"value":1052},"Support ticket reduction",{"type":46,"value":1054},": Does this reduce support load?",{"type":41,"tag":115,"props":1056,"children":1057},{},[1058,1063],{"type":41,"tag":153,"props":1059,"children":1060},{},[1061],{"type":46,"value":1062},"Competitive win rate",{"type":46,"value":1064},": Does this help win more deals?",{"type":41,"tag":99,"props":1066,"children":1068},{"id":1067},"setting-targets",[1069],{"type":46,"value":1070},"Setting Targets",{"type":41,"tag":111,"props":1072,"children":1073},{},[1074,1079,1084,1089,1094],{"type":41,"tag":115,"props":1075,"children":1076},{},[1077],{"type":46,"value":1078},"Targets should be specific: \"50% adoption within 30 days\" not \"high adoption\"",{"type":41,"tag":115,"props":1080,"children":1081},{},[1082],{"type":46,"value":1083},"Base targets on comparable features, industry benchmarks, or explicit hypotheses",{"type":41,"tag":115,"props":1085,"children":1086},{},[1087],{"type":46,"value":1088},"Set a \"success\" threshold and a \"stretch\" target",{"type":41,"tag":115,"props":1090,"children":1091},{},[1092],{"type":46,"value":1093},"Define the measurement method: what tool, what query, what time window",{"type":41,"tag":115,"props":1095,"children":1096},{},[1097],{"type":46,"value":1098},"Specify when you will evaluate: 1 week, 1 month, 1 quarter post-launch",{"type":41,"tag":73,"props":1100,"children":1102},{"id":1101},"acceptance-criteria",[1103],{"type":46,"value":1104},"Acceptance Criteria",{"type":41,"tag":53,"props":1106,"children":1107},{},[1108],{"type":46,"value":1109},"Write acceptance criteria in Given\u002FWhen\u002FThen format or as a checklist:",{"type":41,"tag":53,"props":1111,"children":1112},{},[1113,1118],{"type":41,"tag":153,"props":1114,"children":1115},{},[1116],{"type":46,"value":1117},"Given\u002FWhen\u002FThen",{"type":46,"value":1119},":",{"type":41,"tag":111,"props":1121,"children":1122},{},[1123,1133,1143],{"type":41,"tag":115,"props":1124,"children":1125},{},[1126,1128],{"type":46,"value":1127},"Given ",{"type":41,"tag":354,"props":1129,"children":1130},{},[1131],{"type":46,"value":1132},"precondition or context",{"type":41,"tag":115,"props":1134,"children":1135},{},[1136,1138],{"type":46,"value":1137},"When ",{"type":41,"tag":354,"props":1139,"children":1140},{},[1141],{"type":46,"value":1142},"action the user takes",{"type":41,"tag":115,"props":1144,"children":1145},{},[1146,1148],{"type":46,"value":1147},"Then ",{"type":41,"tag":354,"props":1149,"children":1150},{},[1151],{"type":46,"value":1152},"expected outcome",{"type":41,"tag":53,"props":1154,"children":1155},{},[1156],{"type":46,"value":601},{"type":41,"tag":111,"props":1158,"children":1159},{},[1160,1165,1170],{"type":41,"tag":115,"props":1161,"children":1162},{},[1163],{"type":46,"value":1164},"Given the admin has configured SSO for their organization",{"type":41,"tag":115,"props":1166,"children":1167},{},[1168],{"type":46,"value":1169},"When a team member visits the login page",{"type":41,"tag":115,"props":1171,"children":1172},{},[1173],{"type":46,"value":1174},"Then they are automatically redirected to the organization's SSO provider",{"type":41,"tag":53,"props":1176,"children":1177},{},[1178,1183],{"type":41,"tag":153,"props":1179,"children":1180},{},[1181],{"type":46,"value":1182},"Checklist format",{"type":46,"value":1119},{"type":41,"tag":111,"props":1185,"children":1188},{"className":1186},[1187],"contains-task-list",[1189,1202,1211,1220,1229],{"type":41,"tag":115,"props":1190,"children":1193},{"className":1191},[1192],"task-list-item",[1194,1200],{"type":41,"tag":1195,"props":1196,"children":1199},"input",{"disabled":1197,"type":1198},true,"checkbox",[],{"type":46,"value":1201}," Admin can enter SSO provider URL in organization settings",{"type":41,"tag":115,"props":1203,"children":1205},{"className":1204},[1192],[1206,1209],{"type":41,"tag":1195,"props":1207,"children":1208},{"disabled":1197,"type":1198},[],{"type":46,"value":1210}," Team members see \"Log in with SSO\" button on login page",{"type":41,"tag":115,"props":1212,"children":1214},{"className":1213},[1192],[1215,1218],{"type":41,"tag":1195,"props":1216,"children":1217},{"disabled":1197,"type":1198},[],{"type":46,"value":1219}," SSO login creates a new account if one does not exist",{"type":41,"tag":115,"props":1221,"children":1223},{"className":1222},[1192],[1224,1227],{"type":41,"tag":1195,"props":1225,"children":1226},{"disabled":1197,"type":1198},[],{"type":46,"value":1228}," SSO login links to existing account if email matches",{"type":41,"tag":115,"props":1230,"children":1232},{"className":1231},[1192],[1233,1236],{"type":41,"tag":1195,"props":1234,"children":1235},{"disabled":1197,"type":1198},[],{"type":46,"value":1237}," Failed SSO attempts show a clear error message",{"type":41,"tag":99,"props":1239,"children":1241},{"id":1240},"tips-for-acceptance-criteria",[1242],{"type":46,"value":1243},"Tips for Acceptance Criteria",{"type":41,"tag":111,"props":1245,"children":1246},{},[1247,1252,1257,1262,1267],{"type":41,"tag":115,"props":1248,"children":1249},{},[1250],{"type":46,"value":1251},"Cover the happy path, error cases, and edge cases",{"type":41,"tag":115,"props":1253,"children":1254},{},[1255],{"type":46,"value":1256},"Be specific about the expected behavior, not the implementation",{"type":41,"tag":115,"props":1258,"children":1259},{},[1260],{"type":46,"value":1261},"Include what should NOT happen (negative test cases)",{"type":41,"tag":115,"props":1263,"children":1264},{},[1265],{"type":46,"value":1266},"Each criterion should be independently testable",{"type":41,"tag":115,"props":1268,"children":1269},{},[1270],{"type":46,"value":1271},"Avoid ambiguous words: \"fast\", \"user-friendly\", \"intuitive\" — define what these mean concretely",{"type":41,"tag":73,"props":1273,"children":1275},{"id":1274},"scope-management",[1276],{"type":46,"value":1277},"Scope Management",{"type":41,"tag":99,"props":1279,"children":1281},{"id":1280},"recognizing-scope-creep",[1282],{"type":46,"value":1283},"Recognizing Scope Creep",{"type":41,"tag":53,"props":1285,"children":1286},{},[1287],{"type":46,"value":1288},"Scope creep happens when:",{"type":41,"tag":111,"props":1290,"children":1291},{},[1292,1297,1302,1307,1312],{"type":41,"tag":115,"props":1293,"children":1294},{},[1295],{"type":46,"value":1296},"Requirements keep getting added after the spec is approved",{"type":41,"tag":115,"props":1298,"children":1299},{},[1300],{"type":46,"value":1301},"\"Small\" additions accumulate into a significantly larger project",{"type":41,"tag":115,"props":1303,"children":1304},{},[1305],{"type":46,"value":1306},"The team is building features no user asked for (\"while we're at it...\")",{"type":41,"tag":115,"props":1308,"children":1309},{},[1310],{"type":46,"value":1311},"The launch date keeps moving without explicit re-scoping",{"type":41,"tag":115,"props":1313,"children":1314},{},[1315],{"type":46,"value":1316},"Stakeholders add requirements without removing anything",{"type":41,"tag":99,"props":1318,"children":1320},{"id":1319},"preventing-scope-creep",[1321],{"type":46,"value":1322},"Preventing Scope Creep",{"type":41,"tag":111,"props":1324,"children":1325},{},[1326,1331,1336,1341,1346,1351],{"type":41,"tag":115,"props":1327,"children":1328},{},[1329],{"type":46,"value":1330},"Write explicit non-goals in every spec",{"type":41,"tag":115,"props":1332,"children":1333},{},[1334],{"type":46,"value":1335},"Require that any scope addition comes with a scope removal or timeline extension",{"type":41,"tag":115,"props":1337,"children":1338},{},[1339],{"type":46,"value":1340},"Separate \"v1\" from \"v2\" clearly in the spec",{"type":41,"tag":115,"props":1342,"children":1343},{},[1344],{"type":46,"value":1345},"Review the spec against the original problem statement — does everything serve it?",{"type":41,"tag":115,"props":1347,"children":1348},{},[1349],{"type":46,"value":1350},"Time-box investigations: \"If we cannot figure out X in 2 days, we cut it\"",{"type":41,"tag":115,"props":1352,"children":1353},{},[1354],{"type":46,"value":1355},"Create a \"parking lot\" for good ideas that are not in scope",{"type":41,"tag":73,"props":1357,"children":1359},{"id":1358},"output-format",[1360],{"type":46,"value":1361},"Output Format",{"type":41,"tag":53,"props":1363,"children":1364},{},[1365],{"type":46,"value":1366},"Use markdown with clear headers. Keep the document scannable — busy stakeholders should be able to read just the headers and bold text to get the gist.",{"type":41,"tag":73,"props":1368,"children":1370},{"id":1369},"tips",[1371],{"type":46,"value":1372},"Tips",{"type":41,"tag":111,"props":1374,"children":1375},{},[1376,1381,1386,1391,1396],{"type":41,"tag":115,"props":1377,"children":1378},{},[1379],{"type":46,"value":1380},"Be opinionated about scope. It is better to have a tight, well-defined spec than an expansive vague one.",{"type":41,"tag":115,"props":1382,"children":1383},{},[1384],{"type":46,"value":1385},"If the user's idea is too big for one spec, suggest breaking it into phases and spec the first phase.",{"type":41,"tag":115,"props":1387,"children":1388},{},[1389],{"type":46,"value":1390},"Success metrics should be specific and measurable, not vague (\"improve user experience\").",{"type":41,"tag":115,"props":1392,"children":1393},{},[1394],{"type":46,"value":1395},"Non-goals are as important as goals. They prevent scope creep during implementation.",{"type":41,"tag":115,"props":1397,"children":1398},{},[1399],{"type":46,"value":1400},"Open questions should be genuinely open — do not include questions you can answer from context.",{"items":1402,"total":1517},[1403,1419,1435,1451,1469,1488,1502],{"slug":1404,"name":1404,"fn":1405,"description":1406,"org":1407,"tags":1408,"stars":23,"repoUrl":24,"updatedAt":1418},"accessibility-review","run WCAG accessibility audits","Run a WCAG 2.1 AA accessibility audit on a design or page. Trigger with \"audit accessibility\", \"check a11y\", \"is this accessible?\", or when reviewing a design for color contrast, keyboard navigation, touch target size, or screen reader behavior before handoff.",{"slug":8,"name":9,"logoUrl":10,"githubOrg":11},[1409,1412,1415],{"name":1410,"slug":1411,"type":16},"Accessibility","accessibility",{"name":1413,"slug":1414,"type":16},"Design","design",{"name":1416,"slug":1417,"type":16},"WCAG","wcag","2026-04-06T17:58:05.682394",{"slug":1420,"name":1420,"fn":1421,"description":1422,"org":1423,"tags":1424,"stars":23,"repoUrl":24,"updatedAt":1434},"account-research","research accounts for sales intel","Research a company or person and get actionable sales intel. Works standalone with web search, supercharged when you connect enrichment tools or your CRM. Trigger with \"research [company]\", \"look up [person]\", \"intel on [prospect]\", \"who is [name] at [company]\", or \"tell me about [company]\".",{"slug":8,"name":9,"logoUrl":10,"githubOrg":11},[1425,1428,1431],{"name":1426,"slug":1427,"type":16},"CRM","crm",{"name":1429,"slug":1430,"type":16},"Research","research",{"name":1432,"slug":1433,"type":16},"Sales","sales","2026-04-06T17:56:41.410418",{"slug":1436,"name":1436,"fn":1437,"description":1438,"org":1439,"tags":1440,"stars":23,"repoUrl":24,"updatedAt":1450},"analyze","answer data questions and run analyses","Answer data questions -- from quick lookups to full analyses. Use when looking up a single metric, investigating what's driving a trend or drop, comparing segments over time, or preparing a formal data report for stakeholders.",{"slug":8,"name":9,"logoUrl":10,"githubOrg":11},[1441,1444,1447],{"name":1442,"slug":1443,"type":16},"Analytics","analytics",{"name":1445,"slug":1446,"type":16},"Data Analysis","data-analysis",{"name":1448,"slug":1449,"type":16},"SQL","sql","2026-04-06T17:57:21.593647",{"slug":1452,"name":1452,"fn":1453,"description":1454,"org":1455,"tags":1456,"stars":23,"repoUrl":24,"updatedAt":1468},"architecture","create and evaluate architecture decision records","Create or evaluate an architecture decision record (ADR). Use when choosing between technologies (e.g., Kafka vs SQS), documenting a design decision with trade-offs and consequences, reviewing a system design proposal, or designing a new component from requirements and constraints.",{"slug":8,"name":9,"logoUrl":10,"githubOrg":11},[1457,1460,1462,1465],{"name":1458,"slug":1459,"type":16},"ADR","adr",{"name":1461,"slug":1452,"type":16},"Architecture",{"name":1463,"slug":1464,"type":16},"Documentation","documentation",{"name":1466,"slug":1467,"type":16},"Engineering","engineering","2026-04-06T17:57:49.26444",{"slug":1470,"name":1470,"fn":1471,"description":1472,"org":1473,"tags":1474,"stars":23,"repoUrl":24,"updatedAt":1487},"audit-support","support SOX 404 control testing","Support SOX 404 compliance with control testing methodology, sample selection, and documentation standards. Use when generating testing workpapers, selecting audit samples, classifying control deficiencies, or preparing for internal or external audits.",{"slug":8,"name":9,"logoUrl":10,"githubOrg":11},[1475,1478,1481,1484],{"name":1476,"slug":1477,"type":16},"Audit","audit",{"name":1479,"slug":1480,"type":16},"Finance","finance",{"name":1482,"slug":1483,"type":16},"Regulatory Compliance","regulatory-compliance",{"name":1485,"slug":1486,"type":16},"SOX","sox","2026-04-06T17:57:36.714815",{"slug":1489,"name":1489,"fn":1490,"description":1491,"org":1492,"tags":1493,"stars":23,"repoUrl":24,"updatedAt":1501},"brand-review","review content against brand voice","Review content against your brand voice, style guide, and messaging pillars, flagging deviations by severity with specific before\u002Fafter fixes. Use when checking a draft before it ships, when auditing copy for voice consistency and terminology, or when screening for unsubstantiated claims, missing disclaimers, and other legal flags.",{"slug":8,"name":9,"logoUrl":10,"githubOrg":11},[1494,1497,1500],{"name":1495,"slug":1496,"type":16},"Branding","branding",{"name":1498,"slug":1499,"type":16},"Marketing","marketing",{"name":14,"slug":15,"type":16},"2026-04-06T17:58:19.548331",{"slug":1503,"name":1503,"fn":1504,"description":1505,"org":1506,"tags":1507,"stars":23,"repoUrl":24,"updatedAt":1516},"brand-voice-enforcement","enforce brand voice in content","This skill applies brand guidelines to content creation. It should be used when the user asks to \"write an email\", \"draft a proposal\", \"create a pitch deck\", \"write a LinkedIn post\", \"draft a presentation\", \"write a Slack message\", \"draft sales content\", or any content creation request where brand voice should be applied. Also triggers on \"on-brand\", \"brand voice\", \"enforce voice\", \"apply brand guidelines\", \"brand-aligned content\", \"write in our voice\", \"use our brand tone\", \"make this sound like us\", \"rewrite this in our tone\", or \"this doesn't sound on-brand\". Not for generating guidelines from scratch (use guideline-generation) or discovering brand materials (use discover-brand).\n",{"slug":8,"name":9,"logoUrl":10,"githubOrg":11},[1508,1509,1512,1515],{"name":1495,"slug":1496,"type":16},{"name":1510,"slug":1511,"type":16},"Communications","communications",{"name":1513,"slug":1514,"type":16},"Content Creation","content-creation",{"name":14,"slug":15,"type":16},"2026-04-06T18:00:23.528956",200,{"items":1519,"total":1696},[1520,1539,1551,1563,1582,1593,1614,1634,1644,1659,1667,1680],{"slug":1521,"name":1521,"fn":1522,"description":1523,"org":1524,"tags":1525,"stars":1536,"repoUrl":1537,"updatedAt":1538},"algorithmic-art","create algorithmic art with p5.js","Creating algorithmic art using p5.js with seeded randomness and interactive parameter exploration. Use this when users request creating art using code, generative art, algorithmic art, flow fields, or particle systems. Create original algorithmic art rather than copying existing artists' work to avoid copyright violations.",{"slug":8,"name":9,"logoUrl":10,"githubOrg":11},[1526,1529,1530,1533],{"name":1527,"slug":1528,"type":16},"Creative","creative",{"name":1413,"slug":1414,"type":16},{"name":1531,"slug":1532,"type":16},"Generative Art","generative-art",{"name":1534,"slug":1535,"type":16},"JavaScript","javascript",161831,"https:\u002F\u002Fgithub.com\u002Fanthropics\u002Fskills","2026-04-06T17:56:15.455818",{"slug":1540,"name":1540,"fn":1541,"description":1542,"org":1543,"tags":1544,"stars":1536,"repoUrl":1537,"updatedAt":1550},"brand-guidelines","apply Anthropic brand colors and typography","Applies Anthropic's official brand colors and typography to any sort of artifact that may benefit from having Anthropic's look-and-feel. Use it when brand colors or style guidelines, visual formatting, or company design standards apply.",{"slug":8,"name":9,"logoUrl":10,"githubOrg":11},[1545,1546,1547],{"name":1495,"slug":1496,"type":16},{"name":1413,"slug":1414,"type":16},{"name":1548,"slug":1549,"type":16},"Typography","typography","2026-04-06T17:56:05.042852",{"slug":1552,"name":1552,"fn":1553,"description":1554,"org":1555,"tags":1556,"stars":1536,"repoUrl":1537,"updatedAt":1562},"canvas-design","create posters and visual art as PNG or PDF","Create beautiful visual art in .png and .pdf documents using design philosophy. You should use this skill when the user asks to create a poster, piece of art, design, or other static piece. Create original visual designs, never copying existing artists' work to avoid copyright violations.",{"slug":8,"name":9,"logoUrl":10,"githubOrg":11},[1557,1558,1559],{"name":1527,"slug":1528,"type":16},{"name":1413,"slug":1414,"type":16},{"name":1560,"slug":1561,"type":16},"PDF","pdf","2026-04-06T17:56:03.794732",{"slug":1564,"name":1564,"fn":1565,"description":1566,"org":1567,"tags":1568,"stars":1536,"repoUrl":1537,"updatedAt":1581},"claude-api","build apps with the Claude API","Reference for the Claude API \u002F Anthropic SDK — model ids, pricing, params, streaming, tool use, MCP, agents, caching, token counting, model migration.\nTRIGGER — read BEFORE opening the target file; don't skip because it \"looks like a one-liner\" — whenever: the prompt names Claude\u002FAnthropic in any form (Claude, Anthropic, Fable, Opus, Sonnet, Haiku, `anthropic`, `@anthropic-ai`, `claude-*`, `us.anthropic.*`, `[1m]`); the user asks about an LLM (pricing\u002Fmodel choice\u002Flimits\u002Fcaching) — never answer from memory; OR the task is LLM-shaped with provider unstated (agent\u002FMCP\u002Ftool-definition\u002Fmulti-agent\u002FRAG\u002FLLM-judge\u002Fcomputer-use; generate\u002Fsummarize\u002Fextract\u002Fclassify\u002Frewrite\u002Fconverse over NL; debugging refusals\u002Fcutoffs\u002Fstreaming\u002Ftool-calls\u002Ftokens).\nSKIP only when another provider is being worked on (overrides all triggers): OpenAI\u002FGPT\u002FGemini\u002FLlama\u002FMistral\u002FCohere\u002FOllama named in the query; OR `grep -rE 'openai|langchain_openai|google.generativeai|genai|mistralai|cohere|ollama'` over the project hits (run this grep FIRST if no provider named — don't Read the file).",{"slug":8,"name":9,"logoUrl":10,"githubOrg":11},[1569,1572,1573,1576,1578],{"name":1570,"slug":1571,"type":16},"Agents","agents",{"name":9,"slug":8,"type":16},{"name":1574,"slug":1575,"type":16},"Anthropic SDK","anthropic-sdk",{"name":1577,"slug":1564,"type":16},"Claude API",{"name":1579,"slug":1580,"type":16},"LLM","llm","2026-07-28T05:36:08.213335",{"slug":1583,"name":1583,"fn":1584,"description":1585,"org":1586,"tags":1587,"stars":1536,"repoUrl":1537,"updatedAt":1592},"doc-coauthoring","co-author documentation and technical specs","Guide users through a structured workflow for co-authoring documentation. Use when user wants to write documentation, proposals, technical specs, decision docs, or similar structured content. This workflow helps users efficiently transfer context, refine content through iteration, and verify the doc works for readers. Trigger when user mentions writing docs, creating proposals, drafting specs, or similar documentation tasks.",{"slug":8,"name":9,"logoUrl":10,"githubOrg":11},[1588,1589],{"name":1463,"slug":1464,"type":16},{"name":1590,"slug":1591,"type":16},"Technical Writing","technical-writing","2026-04-06T17:56:14.18897",{"slug":1594,"name":1594,"fn":1595,"description":1596,"org":1597,"tags":1598,"stars":1536,"repoUrl":1537,"updatedAt":1613},"docx","create and edit Word documents","Use this skill whenever the user wants to create, read, edit, or manipulate Word documents (.docx files) or Word templates (.dotx files). Triggers include: any mention of 'Word doc', 'word document', '.docx', '.dotx', or requests to produce professional documents with formatting like tables of contents, headings, page numbers, or letterheads. Also use when extracting or reorganizing content from .docx or .dotx files, inserting or replacing images in documents, performing find-and-replace in Word files, working with tracked changes or comments, or converting content into a polished Word document. If the user asks for a 'report', 'memo', 'letter', 'template', or similar deliverable as a Word or .docx file, use this skill. Do NOT use for PDFs, spreadsheets, Google Docs, or general coding tasks unrelated to document generation.",{"slug":8,"name":9,"logoUrl":10,"githubOrg":11},[1599,1602,1604,1607,1610],{"name":1600,"slug":1601,"type":16},"Documents","documents",{"name":1603,"slug":1594,"type":16},"DOCX",{"name":1605,"slug":1606,"type":16},"Office","office",{"name":1608,"slug":1609,"type":16},"Templates","templates",{"name":1611,"slug":1612,"type":16},"Word","word","2026-07-18T05:16:23.136271",{"slug":1615,"name":1615,"fn":1616,"description":1617,"org":1618,"tags":1619,"stars":1536,"repoUrl":1537,"updatedAt":1633},"frontend-design","design production-grade frontend interfaces","Guidance for distinctive, intentional visual design when building new UI or reshaping an existing one. Helps with aesthetic direction, typography, and making choices that don't read as templated defaults.",{"slug":8,"name":9,"logoUrl":10,"githubOrg":11},[1620,1621,1624,1627,1630],{"name":1413,"slug":1414,"type":16},{"name":1622,"slug":1623,"type":16},"Frontend","frontend",{"name":1625,"slug":1626,"type":16},"React","react",{"name":1628,"slug":1629,"type":16},"Tailwind CSS","tailwind-css",{"name":1631,"slug":1632,"type":16},"UI Components","ui-components","2026-04-06T17:56:16.723469",{"slug":1635,"name":1635,"fn":1636,"description":1637,"org":1638,"tags":1639,"stars":1536,"repoUrl":1537,"updatedAt":1643},"internal-comms","write internal company communications","A set of resources to help me write all kinds of internal communications, using the formats that my company likes to use. Claude should use this skill whenever asked to write some sort of internal communications (status reports, leadership updates, 3P updates, company newsletters, FAQs, incident reports, project updates, etc.).",{"slug":8,"name":9,"logoUrl":10,"githubOrg":11},[1640,1641,1642],{"name":1510,"slug":1511,"type":16},{"name":1608,"slug":1609,"type":16},{"name":14,"slug":15,"type":16},"2026-04-06T17:56:20.695522",{"slug":1645,"name":1645,"fn":1646,"description":1647,"org":1648,"tags":1649,"stars":1536,"repoUrl":1537,"updatedAt":1658},"mcp-builder","build MCP servers","Guide for creating high-quality MCP (Model Context Protocol) servers that enable LLMs to interact with external services through well-designed tools. Use when building MCP servers to integrate external APIs or services, whether in Python (FastMCP) or Node\u002FTypeScript (MCP SDK).",{"slug":8,"name":9,"logoUrl":10,"githubOrg":11},[1650,1651,1654,1655],{"name":1570,"slug":1571,"type":16},{"name":1652,"slug":1653,"type":16},"API Development","api-development",{"name":1579,"slug":1580,"type":16},{"name":1656,"slug":1657,"type":16},"MCP","mcp","2026-04-06T17:56:10.357665",{"slug":1561,"name":1561,"fn":1660,"description":1661,"org":1662,"tags":1663,"stars":1536,"repoUrl":1537,"updatedAt":1666},"read edit and manipulate PDF files","Use this skill whenever the user wants to do anything with PDF files. This includes reading or extracting text\u002Ftables from PDFs, combining or merging multiple PDFs into one, splitting PDFs apart, rotating pages, adding watermarks, creating new PDFs, filling PDF forms, encrypting\u002Fdecrypting PDFs, extracting images, and OCR on scanned PDFs to make them searchable. If the user mentions a .pdf file or asks to produce one, use this skill.",{"slug":8,"name":9,"logoUrl":10,"githubOrg":11},[1664,1665],{"name":1600,"slug":1601,"type":16},{"name":1560,"slug":1561,"type":16},"2026-04-06T17:56:02.483316",{"slug":1668,"name":1668,"fn":1669,"description":1670,"org":1671,"tags":1672,"stars":1536,"repoUrl":1537,"updatedAt":1679},"pptx","create and edit PowerPoint presentations","Use this skill any time a .pptx or .potx file is involved in any way — as input, output, or both. This includes: creating slide decks, pitch decks, or presentations; reading, parsing, or extracting text from any .pptx or .potx file (even if the extracted content will be used elsewhere, like in an email or summary); editing, modifying, or updating existing presentations; combining or splitting slide files; working with templates (.potx), layouts, speaker notes, or comments. Trigger whenever the user mentions \"deck,\" \"slides,\" \"presentation,\" or references a .pptx or .potx filename, regardless of what they plan to do with the content afterward. If a .pptx or .potx file needs to be opened, created, or touched, use this skill.",{"slug":8,"name":9,"logoUrl":10,"githubOrg":11},[1673,1676],{"name":1674,"slug":1675,"type":16},"PowerPoint","powerpoint",{"name":1677,"slug":1678,"type":16},"Presentations","presentations","2026-07-18T05:16:24.1471",{"slug":1681,"name":1681,"fn":1682,"description":1683,"org":1684,"tags":1685,"stars":1536,"repoUrl":1537,"updatedAt":1695},"skill-creator","create and optimize agent skills","Create new skills, modify and improve existing skills, and measure skill performance. Use when users want to create a skill from scratch, edit, or optimize an existing skill, run evals to test a skill, benchmark skill performance with variance analysis, or optimize a skill's description for better triggering accuracy.",{"slug":8,"name":9,"logoUrl":10,"githubOrg":11},[1686,1687,1688,1691,1694],{"name":1570,"slug":1571,"type":16},{"name":1463,"slug":1464,"type":16},{"name":1689,"slug":1690,"type":16},"Evals","evals",{"name":1692,"slug":1693,"type":16},"Performance","performance",{"name":1590,"slug":1591,"type":16},"2026-04-19T06:45:40.804",490]