[{"data":1,"prerenderedAt":-1},["ShallowReactive",2],{"skill:01M6GK4JCZASD2NMR9QYQ32GC5":3,"skill-same:01M6GK4JCZASD2NMR9QYQ32GC5":73},{"skillNo":4,"name":5,"nameZh":6,"description":7,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":16,"categories":17,"keywords":18,"publishedAt":39,"linkOnly":40,"markdownContent":41,"markdownBody":42,"frontMatter":43,"refName":51,"commitSha":52,"skillDirectory":53,"forksCount":54,"repositoryHtmlUrl":55,"repositoryHomepageUrl":6,"ownerHtmlUrl":56,"ownerBlogUrl":57,"ownerDescription":6,"updatedAt":58,"install":59,"resources":72},"01M6GK4JCZASD2NMR9QYQ32GC5","ask-user",null,"Use when a workflow needs to present the user with 2-4 explicit choices and wait for their response before proceeding. Trigger on requests or internal decision points such as \"present options\", \"ask before proceeding\", \"choice gate\", \"user decision\", destructive operation confirmation, ambiguous filing\u002Frouting choices, priority triage, or phase gates. This is a reusable pattern for other skills that need a human decision before execution.","weisberg\u002Fagile_agentic_analytics","weisberg","https:\u002F\u002Favatars.githubusercontent.com\u002Fu\u002F5054710?v=4","01M6GK0MXK350SV8PMZ0D040SB","Brian Weisberg","01M6GK0N2F8X600FCTKCB3X2ZF",1,"MIT","https:\u002F\u002Fgithub.com\u002Fweisberg\u002Fagile_agentic_analytics\u002Fblob\u002Fmain\u002Fplugins\u002Fknowledge-base\u002Fskills\u002Fask-user\u002FSKILL.md",[],[19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38],"ask","user","ask user","requests","routing","with","gates","workflow","reusable","operation","false","confirmation","use","execution","choice","decision","filing","trigger","wait for","as","2026-11-10 10:12:30",false,"---\nname: ask-user\nversion: 1.0.0\ndescription: >\n  Use when a workflow needs to present the user with 2-4 explicit choices and\n  wait for their response before proceeding. Trigger on requests or internal\n  decision points such as \"present options\", \"ask before proceeding\",\n  \"choice gate\", \"user decision\", destructive operation confirmation,\n  ambiguous filing\u002Frouting choices, priority triage, or phase gates. This is a\n  reusable pattern for other skills that need a human decision before execution.\ntriggers:\n  - \"present options\"\n  - \"ask before proceeding\"\n  - \"choice gate\"\n  - \"user decision\"\nmutating: false\n\ndisable-model-invocation: false\n---\n\n# Ask User - Choice Gate Pattern\n\n## Contract\n\n- Present 2-4 options. Do not exceed four.\n- Include an escape hatch such as `Skip`, `Cancel`, or `None of these`.\n- Ask one question per message.\n- Use self-explanatory option labels: action verb plus brief qualifier.\n- Stop the turn immediately after presenting choices.\n- Make no follow-up tool calls and take no preemptive action until the user responds.\n- On the next turn, acknowledge the user's choice briefly, then branch.\n\n## What This Is\n\nThis is the canonical pattern for gating execution on user input. In an agent\nworkflow, a gate means:\n\n1. Present the choices as buttons if the current platform supports them, or as\n   numbered options if it does not.\n2. Stop the current turn.\n3. Let the user's response trigger the next turn.\n4. Read the response and branch accordingly.\n\nThis is not a traditional async operation. The stop is part of the protocol.\n\n## When To Use\n\n- Ambiguous requests with multiple valid interpretations.\n- Destructive or risky operations such as deletes, overwrites, bulk moves, or irreversible sends.\n- Filing and routing decisions such as where a note, artifact, or source should go.\n- Priority triage when the user should choose what happens first.\n- Workflow phase gates before starting the next import, scan, or enrichment step.\n- Any fork where the wrong default would waste significant work or erode trust.\n\n## When Not To Use\n\n- Clear, unambiguous instructions: just do the work.\n- Low-stakes decisions: pick the best option and mention the assumption.\n- Time-critical operations where waiting costs more than a wrong choice.\n- Cases where the user has already expressed a preference.\n\n## How To Present Choices\n\nUse a short question, 1-3 lines of decision context, and numbered options:\n\n```markdown\n[Routing] **How should I handle this?**\n\nOne to three lines explaining the decision in plain language.\n\n1. **Merge into existing page** - combine this with the matching knowledge page\n2. **Create new page** - keep this as a separate knowledge artifact\n3. **Skip** - do not file this now\n```\n\nIf the active environment has a native clarification or choice UI, use it only\nwhen it preserves the same constraints: 2-4 options, one question, escape hatch,\nand no execution after the gate is emitted.\n\n## Decision Prefixes\n\nUse a compact text prefix to signal the decision type:\n\n| Prefix | Use for |\n| --- | --- |\n| `[Routing]` | Filing, merge, destination, or ownership choices |\n| `[Risk]` | Destructive, irreversible, security-sensitive, or costly choices |\n| `[Priority]` | Triage and sequencing choices |\n| `[Strategy]` | Creative, analytical, or strategic forks |\n| `[Workflow]` | Process, phase, or import choices |\n| `[Security]` | Credential, permission, privacy, or access choices |\n\n## Option Labels\n\nFormat labels as `Action verb + short qualifier`.\n\nGood labels:\n\n- `Merge into existing page`\n- `Create new conversation page`\n- `Archive first`\n- `Show list`\n\nAvoid:\n\n- `Option 1`\n- `Click here`\n- Long labels that force the user to reread the context.\n\n## How To Gate\n\nAfter presenting choices, stop the turn. Do not:\n\n- Continue with \"while you decide...\"\n- Pick a default and proceed.\n- Send follow-up messages before the user responds.\n- Run tools or make assumptions about which option they will pick.\n\nEnd with a brief waiting sentence if helpful, then stop. The gate only works if\nthe user controls what happens next.\n\n## Handling The Response\n\nWhen the user responds:\n\n1. Read the selected button, number, or text.\n2. Map common text responses gracefully:\n   - `the first one`, `A`, or `1` maps to the first option.\n   - A word from an option label maps to that option when the match is clear.\n   - `none`, `skip`, or `cancel` maps to the escape hatch.\n3. Acknowledge briefly: `Got it, going with \u003Cchoice>.`\n4. Execute the chosen branch.\n5. If the response is unclear, ask a new single choice-gate question.\n\nIf the user sends an unrelated message, treat it as a new request and drop the\npending gate unless the user explicitly returns to it.\n\n## Examples\n\n### Phase Gate\n\n```markdown\n[Workflow] **Ready for the next import source?**\n\nThe people directory is seeded. I can now import contact data, which may create\nabout 200 additional pages.\n\n1. **Import contacts** - create pages for matched real contacts\n2. **Import from export** - use an offline file instead\n3. **Skip** - move to the next phase\n```\n\n### Filing Decision\n\n```markdown\n[Routing] **Where should this go?**\n\nConversation notes mention Jane Smith and the Acme deal. Both already have knowledge\npages, so either location could be valid.\n\n1. **Merge into Jane's page** - add this to her timeline\n2. **Add to Acme deal page** - treat it as deal context\n3. **Create conversation page** - keep the notes standalone\n4. **Skip** - do not file this now\n```\n\n### Destructive Operation\n\n```markdown\n[Risk] **How should I handle stale cache files?**\n\nThere are 847 stale cache files using 2.3 GB. They can be recreated, but that\nwould take several hours.\n\n1. **Delete files** - free up space now\n2. **Archive first** - preserve them before deleting\n3. **Keep files** - make no changes\n4. **Show list** - review before deciding\n```\n\n## Integration With Other Skills\n\nUse this pattern from any knowledge-base skill that needs a decision before it\ncan safely continue, especially:\n\n- Cold-start import phase gates.\n- Ingestion routing decisions.\n- Entity enrichment merge-vs-create decisions.\n- Knowledge filing location choices.\n- Conversation-note filing choices.\n- Archive scan-vs-ingest gates.\n\nReference this pattern instead of inventing a new choice format.\n\n## Anti-Patterns\n\n- Continuing the turn after presenting choices.\n- Picking a default after asking.\n- Presenting more than four options.\n- Omitting `Skip`, `Cancel`, or another escape hatch.\n- Asking multiple questions in the same gate.\n- Using cryptic labels.\n- Asking about low-stakes decisions.\n\n## Output Format\n\nThe skill's output is the choice-gate message itself:\n\n```markdown\n[{decision-type}] **{question}**\n\n{1-3 lines of context}\n\n1. **{Option A label}** - {short qualifier}\n2. **{Option B label}** - {short qualifier}\n3. **{Skip or Cancel}** - {what skipping means}\n```\n\nAfter emitting this, stop the turn. The user's response triggers the next turn,\nwhere the calling skill branches on the chosen option.\n","# Ask User - Choice Gate Pattern\n\n## Contract\n\n- Present 2-4 options. Do not exceed four.\n- Include an escape hatch such as `Skip`, `Cancel`, or `None of these`.\n- Ask one question per message.\n- Use self-explanatory option labels: action verb plus brief qualifier.\n- Stop the turn immediately after presenting choices.\n- Make no follow-up tool calls and take no preemptive action until the user responds.\n- On the next turn, acknowledge the user's choice briefly, then branch.\n\n## What This Is\n\nThis is the canonical pattern for gating execution on user input. In an agent\nworkflow, a gate means:\n\n1. Present the choices as buttons if the current platform supports them, or as\n   numbered options if it does not.\n2. Stop the current turn.\n3. Let the user's response trigger the next turn.\n4. Read the response and branch accordingly.\n\nThis is not a traditional async operation. The stop is part of the protocol.\n\n## When To Use\n\n- Ambiguous requests with multiple valid interpretations.\n- Destructive or risky operations such as deletes, overwrites, bulk moves, or irreversible sends.\n- Filing and routing decisions such as where a note, artifact, or source should go.\n- Priority triage when the user should choose what happens first.\n- Workflow phase gates before starting the next import, scan, or enrichment step.\n- Any fork where the wrong default would waste significant work or erode trust.\n\n## When Not To Use\n\n- Clear, unambiguous instructions: just do the work.\n- Low-stakes decisions: pick the best option and mention the assumption.\n- Time-critical operations where waiting costs more than a wrong choice.\n- Cases where the user has already expressed a preference.\n\n## How To Present Choices\n\nUse a short question, 1-3 lines of decision context, and numbered options:\n\n```markdown\n[Routing] **How should I handle this?**\n\nOne to three lines explaining the decision in plain language.\n\n1. **Merge into existing page** - combine this with the matching knowledge page\n2. **Create new page** - keep this as a separate knowledge artifact\n3. **Skip** - do not file this now\n```\n\nIf the active environment has a native clarification or choice UI, use it only\nwhen it preserves the same constraints: 2-4 options, one question, escape hatch,\nand no execution after the gate is emitted.\n\n## Decision Prefixes\n\nUse a compact text prefix to signal the decision type:\n\n| Prefix | Use for |\n| --- | --- |\n| `[Routing]` | Filing, merge, destination, or ownership choices |\n| `[Risk]` | Destructive, irreversible, security-sensitive, or costly choices |\n| `[Priority]` | Triage and sequencing choices |\n| `[Strategy]` | Creative, analytical, or strategic forks |\n| `[Workflow]` | Process, phase, or import choices |\n| `[Security]` | Credential, permission, privacy, or access choices |\n\n## Option Labels\n\nFormat labels as `Action verb + short qualifier`.\n\nGood labels:\n\n- `Merge into existing page`\n- `Create new conversation page`\n- `Archive first`\n- `Show list`\n\nAvoid:\n\n- `Option 1`\n- `Click here`\n- Long labels that force the user to reread the context.\n\n## How To Gate\n\nAfter presenting choices, stop the turn. Do not:\n\n- Continue with \"while you decide...\"\n- Pick a default and proceed.\n- Send follow-up messages before the user responds.\n- Run tools or make assumptions about which option they will pick.\n\nEnd with a brief waiting sentence if helpful, then stop. The gate only works if\nthe user controls what happens next.\n\n## Handling The Response\n\nWhen the user responds:\n\n1. Read the selected button, number, or text.\n2. Map common text responses gracefully:\n   - `the first one`, `A`, or `1` maps to the first option.\n   - A word from an option label maps to that option when the match is clear.\n   - `none`, `skip`, or `cancel` maps to the escape hatch.\n3. Acknowledge briefly: `Got it, going with \u003Cchoice>.`\n4. Execute the chosen branch.\n5. If the response is unclear, ask a new single choice-gate question.\n\nIf the user sends an unrelated message, treat it as a new request and drop the\npending gate unless the user explicitly returns to it.\n\n## Examples\n\n### Phase Gate\n\n```markdown\n[Workflow] **Ready for the next import source?**\n\nThe people directory is seeded. I can now import contact data, which may create\nabout 200 additional pages.\n\n1. **Import contacts** - create pages for matched real contacts\n2. **Import from export** - use an offline file instead\n3. **Skip** - move to the next phase\n```\n\n### Filing Decision\n\n```markdown\n[Routing] **Where should this go?**\n\nConversation notes mention Jane Smith and the Acme deal. Both already have knowledge\npages, so either location could be valid.\n\n1. **Merge into Jane's page** - add this to her timeline\n2. **Add to Acme deal page** - treat it as deal context\n3. **Create conversation page** - keep the notes standalone\n4. **Skip** - do not file this now\n```\n\n### Destructive Operation\n\n```markdown\n[Risk] **How should I handle stale cache files?**\n\nThere are 847 stale cache files using 2.3 GB. They can be recreated, but that\nwould take several hours.\n\n1. **Delete files** - free up space now\n2. **Archive first** - preserve them before deleting\n3. **Keep files** - make no changes\n4. **Show list** - review before deciding\n```\n\n## Integration With Other Skills\n\nUse this pattern from any knowledge-base skill that needs a decision before it\ncan safely continue, especially:\n\n- Cold-start import phase gates.\n- Ingestion routing decisions.\n- Entity enrichment merge-vs-create decisions.\n- Knowledge filing location choices.\n- Conversation-note filing choices.\n- Archive scan-vs-ingest gates.\n\nReference this pattern instead of inventing a new choice format.\n\n## Anti-Patterns\n\n- Continuing the turn after presenting choices.\n- Picking a default after asking.\n- Presenting more than four options.\n- Omitting `Skip`, `Cancel`, or another escape hatch.\n- Asking multiple questions in the same gate.\n- Using cryptic labels.\n- Asking about low-stakes decisions.\n\n## Output Format\n\nThe skill's output is the choice-gate message itself:\n\n```markdown\n[{decision-type}] **{question}**\n\n{1-3 lines of context}\n\n1. **{Option A label}** - {short qualifier}\n2. **{Option B label}** - {short qualifier}\n3. **{Skip or Cancel}** - {what skipping means}\n```\n\nAfter emitting this, stop the turn. The user's response triggers the next turn,\nwhere the calling skill branches on the chosen option.\n",{"name":5,"version":44,"mutating":40,"triggers":45,"description":50,"disable-model-invocation":40},"1.0.0",[46,47,48,49],"present options","ask before proceeding","choice gate","user decision","Use when a workflow needs to present the user with 2-4 explicit choices and wait for their response before proceeding. Trigger on requests or internal decision points such as \"present options\", \"ask before proceeding\", \"choice gate\", \"user decision\", destructive operation confirmation, ambiguous filing\u002Frouting choices, priority triage, or phase gates. This is a reusable pattern for other skills that need a human decision before execution.\n","main","620031c5572a1f84fed2823ab8d77bb7702cd5c7","plugins\u002Fknowledge-base\u002Fskills\u002Fask-user",0,"https:\u002F\u002Fgithub.com\u002Fweisberg\u002Fagile_agentic_analytics","https:\u002F\u002Fgithub.com\u002Fweisberg","www.betafactory.com","2026-11-11 22:15:54",{"source":8,"skillName":5,"commands":60,"prompt":70,"zipAvailable":71},[61,64,67],{"tool":62,"command":63},"npx","npx skills add weisberg\u002Fagile_agentic_analytics --skill ask-user",{"tool":65,"command":66},"bunx","bunx skills add weisberg\u002Fagile_agentic_analytics --skill ask-user",{"tool":68,"command":69},"pnpm","pnpm dlx skills add weisberg\u002Fagile_agentic_analytics --skill ask-user","安装技能，技能地址：https:\u002F\u002Fgithub.com\u002Fweisberg\u002Fagile_agentic_analytics\u002Fblob\u002Fmain\u002Fplugins\u002Fknowledge-base\u002Fskills\u002Fask-user\u002FSKILL.md",true,[],[74,93,121,137,162,181],{"skillNo":75,"name":76,"nameZh":6,"description":77,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":78,"categories":79,"keywords":85,"publishedAt":39},"01M6GKH0CNX0V8JYCFTFT0C8TJ","minimal-skill","Minimal shared skill fixture for marketplace renderer and validator examples.","https:\u002F\u002Fgithub.com\u002Fweisberg\u002Fagile_agentic_analytics\u002Fblob\u002Fmain\u002Ftests\u002Ffixtures\u002Fminimal-plugin\u002Fskills\u002Fminimal-skill\u002FSKILL.md",[80],{"categoryNo":81,"categoryName":82,"taxonomyType":83,"taxonomyTypeDesc":84},"01JBSEEDCAT000000000000023","Skill与智能体开发","SCENARIO","使用场景",[86,87,88,89,90,29,91,92],"minimal","minimal skill","shared","examples","fixture","marketplace","shared skill",{"skillNo":94,"name":95,"nameZh":6,"description":96,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":97,"categories":98,"keywords":104,"publishedAt":39},"01M6GKGW83KH0GN15MQGXM4596","roadmap","Use this skill when the user wants a product roadmap, initiative sequencing, Now\u002FNext\u002FLater plan, quarterly roadmap, release theme map, product strategy-to-roadmap translation, or executive roadmap narrative. Trigger on phrases like \"build a roadmap\", \"roadmap these initiatives\", \"what should be now next later\", \"sequence this backlog\", \"quarterly product roadmap\", \"theme-based roadmap\", or \"plan the next two quarters\". Do NOT trigger for drafting or reviewing a single PRD (use prd-writer or prd-review), converting a PRD into an agentic PLAN.md (use prd-to-plan), or scoring\u002Franking a set of options without a time horizon (use prioritization).","https:\u002F\u002Fgithub.com\u002Fweisberg\u002Fagile_agentic_analytics\u002Fblob\u002Fmain\u002Fplugins\u002Fproduct-manager\u002Fskills\u002Froadmap\u002FSKILL.md",[99],{"categoryNo":100,"categoryName":101,"taxonomyType":102,"taxonomyTypeDesc":103},"01JBSEEDCAT000000000000031","产品经理","PROFESSION","适用职业",[95,105,106,107,108,109,110,111,36,112,113,114,115,116,31,117,29,118,119,120],"writer","SET","do","translation","theme","time","backlog","ranking","true","strategy","map","now","sequencing","agentic","Bash","scoring",{"skillNo":122,"name":123,"nameZh":6,"description":124,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":125,"categories":126,"keywords":128,"publishedAt":39},"01M6GKGQTF57NFBDM5NZ89CV06","prioritization","Use this skill when the user wants to rank, score, triage, or compare product opportunities, features, PRD requirements, backlog items, roadmap candidates, or initiatives using RICE, impact-effort, confidence, reach, value, effort, risk, or tradeoff analysis. Trigger on phrases like \"prioritize these features\", \"rank this backlog\", \"RICE score\", \"impact effort matrix\", \"what should we build first\", \"compare these initiatives\", or \"stack rank product bets\". Do NOT trigger for a time-based roadmap (use roadmap), writing or reviewing one PRD (use prd-writer or prd-review), turning a PRD into an agentic plan (use prd-to-plan), or analyzing experiment results (use ab-testing or experimentation skills).","https:\u002F\u002Fgithub.com\u002Fweisberg\u002Fagile_agentic_analytics\u002Fblob\u002Fmain\u002Fplugins\u002Fproduct-manager\u002Fskills\u002Fprioritization\u002FSKILL.md",[127],{"categoryNo":100,"categoryName":101,"taxonomyType":102,"taxonomyTypeDesc":103},[123,105,107,129,110,111,36,130,113,131,132,31,29,95,118,119,133,134,135,136],"risk","testing","writing","impact","requirements","analysis","compare","review",{"skillNo":138,"name":139,"nameZh":6,"description":140,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":141,"categories":142,"keywords":145,"publishedAt":39},"01M6GKGHEHWG9PF8EZHC7F1R21","prd-writer","Use this skill whenever the user wants to write, draft, create, or scaffold a PRD (Product Requirements Document), spec, product brief, one-pager, or \"working backwards\" PR\u002FFAQ from an idea, rough notes, discovery inputs, or an existing partial draft that needs authoring. Trigger on phrases like \"write a PRD\", \"draft a spec\", \"product doc for X\", \"one-pager\", \"PR\u002FFAQ\", \"feature brief\", or when the user describes a feature\u002Fproduct idea and asks for it to be turned into a written requirements document. Do NOT trigger for critique or approval-readiness review of an existing PRD (use prd-review), engineering design docs, RFCs, ADRs, prioritization, roadmaps, or technical architecture documents. The output of this skill is always a markdown file (or section thereof) that a real product team could ship from.","https:\u002F\u002Fgithub.com\u002Fweisberg\u002Fagile_agentic_analytics\u002Fblob\u002Fmain\u002Fplugins\u002Fproduct-manager\u002Fskills\u002Fprd-writer\u002FSKILL.md",[143,144],{"categoryNo":81,"categoryName":82,"taxonomyType":83,"taxonomyTypeDesc":84},{"categoryNo":100,"categoryName":101,"taxonomyType":102,"taxonomyTypeDesc":103},[105,146,147,148,149,29,150,151,152,153,136,154,155,123,156,157,158,159,160,161],"prd writer","prd","brief","design","product brief","documents","team","architecture","create","notes","critique","product","markdown","write","authoring","doc",{"skillNo":163,"name":164,"nameZh":6,"description":165,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":166,"categories":167,"keywords":170,"publishedAt":39},"01M6GKGBFB5FMNWY3TH3TDMMKR","prd-to-plan","Use this skill when the user has a PRD (Product Requirements Document), spec, or product brief and wants to turn it into an executable plan for agentic development — a plan that AI coding agents (Claude Code, sub-agents, orchestrators) can actually run. Trigger on phrases like \"turn this PRD into a plan\", \"agentic plan\", \"execution plan\", \"task graph\", \"break this down for Claude Code\", \"decompose this spec\", \"build plan\", \"implementation plan from PRD\", \"scrum-master plan\", or when the user provides a PRD\u002Fspec and asks \"what's next\" or \"how do we build this with agents\". The output is always a structured `PLAN.md` artifact with phases, tasks, dependencies, validation gates, sub-agent assignments, and context bundles. Do NOT trigger for: writing the PRD itself (use prd-writer), pure engineering design \u002F RFC \u002F ADR (architecture is a separate artifact), or generic project management plans without an agentic execution model.","https:\u002F\u002Fgithub.com\u002Fweisberg\u002Fagile_agentic_analytics\u002Fblob\u002Fmain\u002Fplugins\u002Fproduct-manager\u002Fskills\u002Fprd-to-plan\u002FSKILL.md",[168,169],{"categoryNo":81,"categoryName":82,"taxonomyType":83,"taxonomyTypeDesc":84},{"categoryNo":100,"categoryName":101,"taxonomyType":102,"taxonomyTypeDesc":103},[171,172,147,105,173,148,174,175,176,149,131,29,150,118,177,178,153,179,180,157],"plan","prd to plan","ai coding agents","agentic development","model","project","code","tasks","artifact","next",{"skillNo":182,"name":183,"nameZh":6,"description":184,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":185,"categories":186,"keywords":188,"publishedAt":39},"01M6GKG6WJ5ZPAR121DC1GBR70","prd-review","Use this skill when the user has an existing PRD, product spec, one-pager, or PR\u002FFAQ and wants critique, approval-readiness review, quality-bar scoring, required changes, or a red-team pass. Trigger on phrases like \"review this PRD\", \"critique my product spec\", \"is this PRD ready\", \"PRD quality bar\", \"red-team this requirements doc\", \"find gaps in this PR\u002FFAQ\", or \"what would block approval\". Do NOT trigger for drafting a new PRD from an idea (use prd-writer), converting an approved PRD into an agentic implementation plan (use prd-to-plan), building a roadmap (use roadmap), or ranking multiple initiatives (use prioritization).","https:\u002F\u002Fgithub.com\u002Fweisberg\u002Fagile_agentic_analytics\u002Fblob\u002Fmain\u002Fplugins\u002Fproduct-manager\u002Fskills\u002Fprd-review\u002FSKILL.md",[187],{"categoryNo":100,"categoryName":101,"taxonomyType":102,"taxonomyTypeDesc":103},[136,189,147,105,190,107,191,192,36,112,113,31,29,95,118,119,133,152,120,123],"prd review","red-team","ready","pr"]