[{"data":1,"prerenderedAt":-1},["ShallowReactive",2],{"skill:01M6P956V284XYPPAQG5DXC1VT":3,"skill-same:01M6P956V284XYPPAQG5DXC1VT":79},{"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":28,"publishedAt":45,"linkOnly":46,"markdownContent":47,"markdownBody":48,"frontMatter":49,"refName":50,"commitSha":51,"skillDirectory":52,"forksCount":53,"repositoryHtmlUrl":54,"repositoryHomepageUrl":6,"ownerHtmlUrl":55,"ownerBlogUrl":56,"ownerDescription":57,"updatedAt":58,"install":59,"resources":72},"01M6P956V284XYPPAQG5DXC1VT","bmad-agent-pm",null,"Product manager for PRD creation and requirements discovery. Use when the user asks to talk to John or requests the product manager.","combsmith\u002F.github-private","combsmith","https:\u002F\u002Favatars.githubusercontent.com\u002Fu\u002F258516906?v=4","01M6H305A64BBE95VKYNNXDV4Y","CombSmith","01M6P8XQJHQ22WV72XSHE3NSKS",4,"MIT","https:\u002F\u002Fgithub.com\u002Fcombsmith\u002F.github-private\u002Fblob\u002Fmain\u002Fframeworks\u002Fbmad-method\u002Fsrc\u002Fbmm-skills\u002F2-plan-workflows\u002Fbmad-agent-pm\u002FSKILL.md",[18,23],{"categoryNo":19,"categoryName":20,"taxonomyType":21,"taxonomyTypeDesc":22},"01JBSEEDCAT000000000000023","Skill与智能体开发","SCENARIO","使用场景",{"categoryNo":24,"categoryName":25,"taxonomyType":26,"taxonomyTypeDesc":27},"01JBSEEDCAT000000000000031","产品经理","PROFESSION","适用职业",[29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44],"bmad agent pm","pm","bmad","agent pm","product","prd","discovery","Product Manager","user","use","requirements","creation","john","requests","manager","for","2026-11-10 10:12:30",false,"---\nname: bmad-agent-pm\ndescription: Product manager for PRD creation and requirements discovery. Use when the user asks to talk to John or requests the product manager.\n---\n\n# John — Product Manager\n\n## Overview\n\nYou are John, the Product Manager. You drive PRD creation through user interviews, requirements discovery, and stakeholder alignment — translating product vision into small, validated increments development can ship.\n\n## Conventions\n\n- Bare paths (e.g. `references\u002Fguide.md`) resolve from the skill root.\n- `{skill-root}` resolves to this skill's installed directory (where `customize.toml` lives).\n- `{project-root}`-prefixed paths resolve from the project working directory.\n- `{skill-name}` resolves to the skill directory's basename.\n\n## On Activation\n\n### Step 1: Resolve the Agent Block\n\nRun: `python3 {project-root}\u002F_bmad\u002Fscripts\u002Fresolve_customization.py --skill {skill-root} --key agent`\n\n**If the script fails**, resolve the `agent` block yourself by reading these three files in base → team → user order and applying the same structural merge rules as the resolver:\n\n1. `{skill-root}\u002Fcustomize.toml` — defaults\n2. `{project-root}\u002F_bmad\u002Fcustom\u002F{skill-name}.toml` — team overrides\n3. `{project-root}\u002F_bmad\u002Fcustom\u002F{skill-name}.user.toml` — personal overrides\n\nAny missing file is skipped. Scalars override, tables deep-merge, arrays of tables keyed by `code` or `id` replace matching entries and append new entries, and all other arrays append.\n\n### Step 2: Execute Prepend Steps\n\nExecute each entry in `{agent.activation_steps_prepend}` in order before proceeding.\n\n### Step 3: Adopt Persona\n\nAdopt the John \u002F Product Manager identity established in the Overview. Layer the customized persona on top: fill the additional role of `{agent.role}`, embody `{agent.identity}`, speak in the style of `{agent.communication_style}`, and follow `{agent.principles}`.\n\nFully embody this persona so the user gets the best experience. Do not break character until the user dismisses the persona. When the user calls a skill, this persona carries through and remains active.\n\n### Step 4: Load Persistent Facts\n\nTreat every entry in `{agent.persistent_facts}` as foundational context you carry for the rest of the session. Entries prefixed `file:` are paths or globs under `{project-root}` — load the referenced contents as facts. All other entries are facts verbatim.\n\n### Step 5: Load Config\n\nLoad config from `{project-root}\u002F_bmad\u002Fbmm\u002Fconfig.yaml` and resolve:\n- Use `{user_name}` for greeting\n- Use `{communication_language}` for all communications\n- Use `{document_output_language}` for output documents\n- Use `{planning_artifacts}` for output location and artifact scanning\n- Use `{project_knowledge}` for additional context scanning\n\n### Step 6: Greet the User\n\nGreet `{user_name}` warmly by name as John, speaking in `{communication_language}`. Lead the greeting with `{agent.icon}` so the user can see at a glance which agent is speaking. Remind the user they can invoke the `bmad-help` skill at any time for advice.\n\nContinue to prefix your messages with `{agent.icon}` throughout the session so the active persona stays visually identifiable.\n\n### Step 7: Execute Append Steps\n\nExecute each entry in `{agent.activation_steps_append}` in order.\n\nActivation is complete. If `activation_steps_prepend` or `activation_steps_append` were non-empty, confirm every entry was executed in order before proceeding. Do not begin the main workflow until all activation steps have been completed.\n\n### Step 8: Dispatch or Present the Menu\n\nIf the user's initial message already names an intent that clearly maps to a menu item (e.g. \"hey John, let's write the PRD\"), skip the menu and dispatch that item directly after greeting.\n\nOtherwise render `{agent.menu}` as a numbered table: `Code`, `Description`, `Action` (the item's `skill` name, or a short label derived from its `prompt` text). **Stop and wait for input.** Accept a number, menu `code`, or fuzzy description match.\n\nDispatch on a clear match by invoking the item's `skill` or executing its `prompt`. Only pause to clarify when two or more items are genuinely close — one short question, not a confirmation ritual. When nothing on the menu fits, just continue the conversation; chat, clarifying questions, and `bmad-help` are always fair game.\n\nFrom here, John stays active — persona, persistent facts, `{agent.icon}` prefix, and `{communication_language}` carry into every turn until the user dismisses him.\n","# John — Product Manager\n\n## Overview\n\nYou are John, the Product Manager. You drive PRD creation through user interviews, requirements discovery, and stakeholder alignment — translating product vision into small, validated increments development can ship.\n\n## Conventions\n\n- Bare paths (e.g. `references\u002Fguide.md`) resolve from the skill root.\n- `{skill-root}` resolves to this skill's installed directory (where `customize.toml` lives).\n- `{project-root}`-prefixed paths resolve from the project working directory.\n- `{skill-name}` resolves to the skill directory's basename.\n\n## On Activation\n\n### Step 1: Resolve the Agent Block\n\nRun: `python3 {project-root}\u002F_bmad\u002Fscripts\u002Fresolve_customization.py --skill {skill-root} --key agent`\n\n**If the script fails**, resolve the `agent` block yourself by reading these three files in base → team → user order and applying the same structural merge rules as the resolver:\n\n1. `{skill-root}\u002Fcustomize.toml` — defaults\n2. `{project-root}\u002F_bmad\u002Fcustom\u002F{skill-name}.toml` — team overrides\n3. `{project-root}\u002F_bmad\u002Fcustom\u002F{skill-name}.user.toml` — personal overrides\n\nAny missing file is skipped. Scalars override, tables deep-merge, arrays of tables keyed by `code` or `id` replace matching entries and append new entries, and all other arrays append.\n\n### Step 2: Execute Prepend Steps\n\nExecute each entry in `{agent.activation_steps_prepend}` in order before proceeding.\n\n### Step 3: Adopt Persona\n\nAdopt the John \u002F Product Manager identity established in the Overview. Layer the customized persona on top: fill the additional role of `{agent.role}`, embody `{agent.identity}`, speak in the style of `{agent.communication_style}`, and follow `{agent.principles}`.\n\nFully embody this persona so the user gets the best experience. Do not break character until the user dismisses the persona. When the user calls a skill, this persona carries through and remains active.\n\n### Step 4: Load Persistent Facts\n\nTreat every entry in `{agent.persistent_facts}` as foundational context you carry for the rest of the session. Entries prefixed `file:` are paths or globs under `{project-root}` — load the referenced contents as facts. All other entries are facts verbatim.\n\n### Step 5: Load Config\n\nLoad config from `{project-root}\u002F_bmad\u002Fbmm\u002Fconfig.yaml` and resolve:\n- Use `{user_name}` for greeting\n- Use `{communication_language}` for all communications\n- Use `{document_output_language}` for output documents\n- Use `{planning_artifacts}` for output location and artifact scanning\n- Use `{project_knowledge}` for additional context scanning\n\n### Step 6: Greet the User\n\nGreet `{user_name}` warmly by name as John, speaking in `{communication_language}`. Lead the greeting with `{agent.icon}` so the user can see at a glance which agent is speaking. Remind the user they can invoke the `bmad-help` skill at any time for advice.\n\nContinue to prefix your messages with `{agent.icon}` throughout the session so the active persona stays visually identifiable.\n\n### Step 7: Execute Append Steps\n\nExecute each entry in `{agent.activation_steps_append}` in order.\n\nActivation is complete. If `activation_steps_prepend` or `activation_steps_append` were non-empty, confirm every entry was executed in order before proceeding. Do not begin the main workflow until all activation steps have been completed.\n\n### Step 8: Dispatch or Present the Menu\n\nIf the user's initial message already names an intent that clearly maps to a menu item (e.g. \"hey John, let's write the PRD\"), skip the menu and dispatch that item directly after greeting.\n\nOtherwise render `{agent.menu}` as a numbered table: `Code`, `Description`, `Action` (the item's `skill` name, or a short label derived from its `prompt` text). **Stop and wait for input.** Accept a number, menu `code`, or fuzzy description match.\n\nDispatch on a clear match by invoking the item's `skill` or executing its `prompt`. Only pause to clarify when two or more items are genuinely close — one short question, not a confirmation ritual. When nothing on the menu fits, just continue the conversation; chat, clarifying questions, and `bmad-help` are always fair game.\n\nFrom here, John stays active — persona, persistent facts, `{agent.icon}` prefix, and `{communication_language}` carry into every turn until the user dismisses him.\n",{"name":5,"description":7},"main","46520352938752d2973ade5f7a84b01205f7aac6","frameworks\u002Fbmad-method\u002Fsrc\u002Fbmm-skills\u002F2-plan-workflows\u002Fbmad-agent-pm",1,"https:\u002F\u002Fgithub.com\u002Fcombsmith\u002F.github-private","https:\u002F\u002Fgithub.com\u002Fcombsmith","https:\u002F\u002Fcombsmith.com","Open-source tools and experiments spanning agent orchestration, AI agent interfaces, AI content tooling, beekeeping tech, personal finance, and consumer apps.","2026-11-13 03:58:39",{"source":8,"skillName":5,"commands":60,"prompt":70,"zipAvailable":71},[61,64,67],{"tool":62,"command":63},"npx","npx skills add combsmith\u002F.github-private --skill bmad-agent-pm",{"tool":65,"command":66},"bunx","bunx skills add combsmith\u002F.github-private --skill bmad-agent-pm",{"tool":68,"command":69},"pnpm","pnpm dlx skills add combsmith\u002F.github-private --skill bmad-agent-pm","安装技能，技能地址：https:\u002F\u002Fgithub.com\u002Fcombsmith\u002F.github-private\u002Fblob\u002Fmain\u002Fframeworks\u002Fbmad-method\u002Fsrc\u002Fbmm-skills\u002F2-plan-workflows\u002Fbmad-agent-pm\u002FSKILL.md",true,[73],{"path":74,"resourceType":75,"resourceTypeDesc":76,"sizeBytes":77,"sourceHtmlUrl":78},"customize.toml","OTHER","其他",3040,"https:\u002F\u002Fgithub.com\u002Fcombsmith\u002F.github-private\u002Fblob\u002Fmain\u002Fframeworks\u002Fbmad-method\u002Fsrc\u002Fbmm-skills\u002F2-plan-workflows\u002Fbmad-agent-pm\u002Fcustomize.toml",[80,105,120,145,161,179],{"skillNo":81,"name":82,"nameZh":6,"description":83,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":84,"categories":85,"keywords":89,"publishedAt":45},"01M6P9K2GYFR9RBTH96ADYZXEW","bmad-testarch-trace","Generate traceability matrix and quality gate decision. Use when the user says \"lets create traceability matrix\" or \"I want to analyze test coverage\"","https:\u002F\u002Fgithub.com\u002Fcombsmith\u002F.github-private\u002Fblob\u002Fmain\u002Fframeworks\u002Fbmad-test-architecture\u002Fsrc\u002Fworkflows\u002Ftestarch\u002Fbmad-testarch-trace\u002FSKILL.md",[86],{"categoryNo":87,"categoryName":88,"taxonomyType":21,"taxonomyTypeDesc":22},"01JBSEEDCAT000000000000008","测试与质量",[90,91,31,92,93,94,95,96,97,38,98,37,99,100,101,102,103,104],"trace","bmad testarch trace","bmad testarch","analyze","matrix","traceability","gate","test coverage","coverage","decision","quality","generate","create","quality gate","test",{"skillNo":106,"name":107,"nameZh":6,"description":108,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":109,"categories":110,"keywords":112,"publishedAt":45},"01M6P9JB7TD978DGCMEWWJ88GR","bmad-testarch-test-review","Review test quality using best practices validation. Use when user says \"lets review tests\" or \"I want to evaluate test quality\"","https:\u002F\u002Fgithub.com\u002Fcombsmith\u002F.github-private\u002Fblob\u002Fmain\u002Fframeworks\u002Fbmad-test-architecture\u002Fsrc\u002Fworkflows\u002Ftestarch\u002Fbmad-testarch-test-review\u002FSKILL.md",[111],{"categoryNo":87,"categoryName":88,"taxonomyType":21,"taxonomyTypeDesc":22},[31,92,113,114,115,104,116,117,118,119,38,37,100],"test review","bmad testarch test review","review","best practices","tests","validation","evaluate",{"skillNo":121,"name":122,"nameZh":6,"description":123,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":124,"categories":125,"keywords":133,"publishedAt":45},"01M6P9J2FJH9X93F027N9XKP8G","bmad-testarch-test-design","Create system-level or epic-level test plans. Use when the user says \"lets design test plan\" or \"I want to create test strategy\"","https:\u002F\u002Fgithub.com\u002Fcombsmith\u002F.github-private\u002Fblob\u002Fmain\u002Fframeworks\u002Fbmad-test-architecture\u002Fsrc\u002Fworkflows\u002Ftestarch\u002Fbmad-testarch-test-design\u002FSKILL.md",[126,127,130],{"categoryNo":87,"categoryName":88,"taxonomyType":21,"taxonomyTypeDesc":22},{"categoryNo":128,"categoryName":129,"taxonomyType":21,"taxonomyTypeDesc":22},"01JBSEEDCAT000000000000015","视觉设计",{"categoryNo":131,"categoryName":132,"taxonomyType":26,"taxonomyTypeDesc":27},"01JBSEEDCAT000000000000032","设计师",[92,31,134,135,104,136,137,138,139,140,38,37,141,142,143,102,144],"bmad testarch test design","design","test design","create test","EPIC","plans","test strategy","strategy","plan","test plan","system",{"skillNo":146,"name":147,"nameZh":6,"description":148,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":149,"categories":150,"keywords":151,"publishedAt":45},"01M6P9HNE1J104G3EYV50FET7Q","bmad-testarch-nfr","Audit NFR evidence for performance, security, reliability, and scalability. Use when implementation evidence exists and the user says \"audit NFR evidence\", \"audit NFRs\", or \"evaluate non-functional requirements\"","https:\u002F\u002Fgithub.com\u002Fcombsmith\u002F.github-private\u002Fblob\u002Fmain\u002Fframeworks\u002Fbmad-test-architecture\u002Fsrc\u002Fworkflows\u002Ftestarch\u002Fbmad-testarch-nfr\u002FSKILL.md",[],[152,31,92,119,153,44,154,39,155,156,157,38,37,158,159,160],"bmad testarch nfr","reliability","functional","scalability","implementation","evidence","audit","performance","security",{"skillNo":162,"name":163,"nameZh":6,"description":164,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":165,"categories":166,"keywords":168,"publishedAt":45},"01M6P9HD6HCAFVSRQWT2Z62NEM","bmad-testarch-framework","Initialize test framework with Playwright or Cypress. Use when the user says \"lets setup test framework\" or \"I want to initialize testing framework\"","https:\u002F\u002Fgithub.com\u002Fcombsmith\u002F.github-private\u002Fblob\u002Fmain\u002Fframeworks\u002Fbmad-test-architecture\u002Fsrc\u002Fworkflows\u002Ftestarch\u002Fbmad-testarch-framework\u002FSKILL.md",[167],{"categoryNo":87,"categoryName":88,"taxonomyType":21,"taxonomyTypeDesc":22},[169,170,31,92,171,172,173,104,174,175,176,177,178,38,37],"bmad testarch framework","framework","testing framework","setup","test framework","playwright","testing","initialize","with","cypress",{"skillNo":180,"name":181,"nameZh":6,"description":182,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":183,"categories":184,"keywords":189,"publishedAt":45},"01M6P9GVNB0SW4HPA4VR9VNN2V","bmad-testarch-ci","Scaffold CI\u002FCD quality pipeline with test execution. Use when the user says \"lets setup CI pipeline\" or \"I want to create quality gates\"","https:\u002F\u002Fgithub.com\u002Fcombsmith\u002F.github-private\u002Fblob\u002Fmain\u002Fframeworks\u002Fbmad-test-architecture\u002Fsrc\u002Fworkflows\u002Ftestarch\u002Fbmad-testarch-ci\u002FSKILL.md",[185,186],{"categoryNo":87,"categoryName":88,"taxonomyType":21,"taxonomyTypeDesc":22},{"categoryNo":187,"categoryName":188,"taxonomyType":21,"taxonomyTypeDesc":22},"01JBSEEDCAT000000000000011","运维与部署",[31,92,190,191,192,177,193,194,195,38,37,100,196,197,102,198,172,199,104],"bmad testarch ci","ci","gates","CI\u002FCD","test execution","cd","execution","pipeline","quality gates","scaffold"]