[{"data":1,"prerenderedAt":-1},["ShallowReactive",2],{"skill:01M6CEMRSTAFEKN8PFJ8XTBTB0":3,"skill-same:01M6CEMRSTAFEKN8PFJ8XTBTB0":81},{"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":23,"publishedAt":33,"linkOnly":34,"markdownContent":35,"markdownBody":36,"frontMatter":37,"refName":38,"commitSha":39,"skillDirectory":40,"forksCount":41,"repositoryHtmlUrl":42,"repositoryHomepageUrl":42,"ownerHtmlUrl":43,"ownerBlogUrl":44,"ownerDescription":45,"updatedAt":46,"install":47,"resources":60},"01M6CEMRSTAFEKN8PFJ8XTBTB0","bmad-agent-architect",null,"System architect and technical design leader. Use when the user asks to talk to Winston or requests the architect.","amalik\u002Fconvoke-agents","amalik","https:\u002F\u002Favatars.githubusercontent.com\u002Fu\u002F90366?v=4","01M6CEG0NCQPX8YRE9K9986FXF","Amalik Amriou","01M6CEG0SR51MB08ENNJWZNJDM",69,"MIT","https:\u002F\u002Fgithub.com\u002Famalik\u002Fconvoke-agents\u002Fblob\u002Fmain\u002Ftests\u002Ffixtures\u002Fportability-project\u002F_bmad\u002Fbmm\u002F3-solutioning\u002Fbmad-agent-architect\u002FSKILL.md",[18],{"categoryNo":19,"categoryName":20,"taxonomyType":21,"taxonomyTypeDesc":22},"01JBSEEDCAT000000000000023","Skill与智能体开发","SCENARIO","使用场景",[24,25,26,27,28,29,30,31,32],"architect","bmad agent architect","design","leader","system","technical","System Architect","user","use","2026-11-10 10:12:30",false,"---\nname: bmad-agent-architect\ndescription: System architect and technical design leader. Use when the user asks to talk to Winston or requests the architect.\n---\n\n# Winston — System Architect\n\n## Overview\n\nYou are Winston, the System Architect. You turn product requirements and UX into technical architecture that ships successfully — favoring boring technology, developer productivity, and trade-offs over verdicts.\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 Winston \u002F System Architect 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 Winston, 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 Winston, let's architect this\"), 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, Winston stays active — persona, persistent facts, `{agent.icon}` prefix, and `{communication_language}` carry into every turn until the user dismisses him.\n","# Winston — System Architect\n\n## Overview\n\nYou are Winston, the System Architect. You turn product requirements and UX into technical architecture that ships successfully — favoring boring technology, developer productivity, and trade-offs over verdicts.\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 Winston \u002F System Architect 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 Winston, 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 Winston, let's architect this\"), 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, Winston 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","2115eb8f78e64732a8310cc2e8372fb7c90fbf26","tests\u002Ffixtures\u002Fportability-project\u002F_bmad\u002Fbmm\u002F3-solutioning\u002Fbmad-agent-architect",3,"https:\u002F\u002Fgithub.com\u002Famalik\u002Fconvoke-agents","https:\u002F\u002Fgithub.com\u002Famalik","https:\u002F\u002Famalik.github.io\u002F","Data & AI product lead","2026-11-07 23:16:33",{"source":8,"skillName":5,"commands":48,"prompt":58,"zipAvailable":59},[49,52,55],{"tool":50,"command":51},"npx","npx skills add amalik\u002Fconvoke-agents --skill bmad-agent-architect",{"tool":53,"command":54},"bunx","bunx skills add amalik\u002Fconvoke-agents --skill bmad-agent-architect",{"tool":56,"command":57},"pnpm","pnpm dlx skills add amalik\u002Fconvoke-agents --skill bmad-agent-architect","安装技能，技能地址：https:\u002F\u002Fgithub.com\u002Famalik\u002Fconvoke-agents\u002Fblob\u002Fmain\u002Ftests\u002Ffixtures\u002Fportability-project\u002F_bmad\u002Fbmm\u002F3-solutioning\u002Fbmad-agent-architect\u002FSKILL.md",true,[61,67,71,75],{"path":62,"resourceType":63,"resourceTypeDesc":64,"sizeBytes":65,"sourceHtmlUrl":66},"customize.toml","OTHER","其他",2723,"https:\u002F\u002Fgithub.com\u002Famalik\u002Fconvoke-agents\u002Fblob\u002Fmain\u002Ftests\u002Ffixtures\u002Fportability-project\u002F_bmad\u002Fbmm\u002F3-solutioning\u002Fbmad-agent-architect\u002Fcustomize.toml",{"path":68,"resourceType":63,"resourceTypeDesc":64,"sizeBytes":69,"sourceHtmlUrl":70},"harn.toml",413,"https:\u002F\u002Fgithub.com\u002Fburin-labs\u002Fharn\u002Fblob\u002Fmain\u002Fexamples\u002Ftriggers\u002Fwebhook-generic-hmac\u002Fharn.toml",{"path":72,"resourceType":63,"resourceTypeDesc":64,"sizeBytes":73,"sourceHtmlUrl":74},"lib.harn",309,"https:\u002F\u002Fgithub.com\u002Fburin-labs\u002Fharn\u002Fblob\u002Fmain\u002Fexamples\u002Ftriggers\u002Fwebhook-generic-hmac\u002Flib.harn",{"path":76,"resourceType":77,"resourceTypeDesc":78,"sizeBytes":79,"sourceHtmlUrl":80},"README.md","REFERENCE","参考文档",190,"https:\u002F\u002Fgithub.com\u002Fburin-labs\u002Fharn\u002Fblob\u002Fmain\u002Fexamples\u002Ftriggers\u002Fwebhook-generic-hmac\u002FREADME.md",[82,98,116,130,148,158],{"skillNo":83,"name":84,"nameZh":6,"description":85,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":86,"categories":87,"keywords":91,"publishedAt":33},"01M6CEPZ2DZXFTGNZJKDCK5PH9","bmad-testarch-atdd","Generate red-phase acceptance test scaffolds using the TDD cycle. Use when the user says \"lets write acceptance tests\" or \"I want to do ATDD\"","https:\u002F\u002Fgithub.com\u002Famalik\u002Fconvoke-agents\u002Fblob\u002Fmain\u002Ftests\u002Ffixtures\u002Fportability-project\u002F_bmad\u002Ftea\u002Fworkflows\u002Ftestarch\u002Fbmad-testarch-atdd\u002FSKILL.md",[88],{"categoryNo":89,"categoryName":90,"taxonomyType":21,"taxonomyTypeDesc":22},"01JBSEEDCAT000000000000008","测试与质量",[92,93,94,95,96,97,31,32],"bmad testarch atdd","tdd","test","generate","acceptance","write",{"skillNo":99,"name":100,"nameZh":6,"description":101,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":102,"categories":103,"keywords":109,"publishedAt":33},"01M6CEPTQ58B7FKX67HVS2HZE8","bmad-create-prd","Create a PRD from scratch. Use when the user says \"lets create a product requirements document\" or \"I want to create a new PRD\"","https:\u002F\u002Fgithub.com\u002Famalik\u002Fconvoke-agents\u002Fblob\u002Fmain\u002Ftests\u002Ffixtures\u002Fportability-project\u002F_bmad\u002Fcore\u002Ftasks\u002Fbmad-create-prd\u002FSKILL.md",[104],{"categoryNo":105,"categoryName":106,"taxonomyType":107,"taxonomyTypeDesc":108},"01JBSEEDCAT000000000000031","产品经理","PROFESSION","适用职业",[110,111,112,113,114,115,31,32],"create prd","bmad create prd","prd","create","document","product",{"skillNo":117,"name":118,"nameZh":6,"description":119,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":120,"categories":121,"keywords":122,"publishedAt":33},"01M6CEPR5DZM5R114GR67XCP7Z","bmad-shard-doc","Splits large markdown documents into smaller, organized files based on level 2 (default) sections. Use if the user says perform shard document","https:\u002F\u002Fgithub.com\u002Famalik\u002Fconvoke-agents\u002Fblob\u002Fmain\u002Ftests\u002Ffixtures\u002Fportability-project\u002F_bmad\u002Fcore\u002Fskills\u002Fbmad-shard-doc\u002FSKILL.md",[],[123,124,125,114,126,127,128,129,31,32],"shard","bmad shard doc","doc","files","default","documents","markdown",{"skillNo":131,"name":132,"nameZh":6,"description":133,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":134,"categories":135,"keywords":136,"publishedAt":33},"01M6CEPNHE5WR48JRJH6390EMF","bmad-review-edge-case-hunter","Walk every branching path and boundary condition in content, report only unhandled edge cases. Orthogonal to adversarial review - method-driven not attitude-driven. Use when you need exhaustive edge-case analysis of code, specs, or diffs.","https:\u002F\u002Fgithub.com\u002Famalik\u002Fconvoke-agents\u002Fblob\u002Fmain\u002Ftests\u002Ffixtures\u002Fportability-project\u002F_bmad\u002Fcore\u002Fskills\u002Fbmad-review-edge-case-hunter\u002FSKILL.md",[],[137,138,139,32,140,141,142,143,144,145,146,147],"bmad review edge case hunter","edge","review","diffs","adversarial review","code","report","content","analysis","boundary","only",{"skillNo":149,"name":150,"nameZh":6,"description":151,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":152,"categories":153,"keywords":154,"publishedAt":33},"01M6CEPK135DVWESJSFN4M34AZ","bmad-review-adversarial-general","Perform a Cynical Review and produce a findings report. Use when the user requests a critical review of something","https:\u002F\u002Fgithub.com\u002Famalik\u002Fconvoke-agents\u002Fblob\u002Fmain\u002Ftests\u002Ffixtures\u002Fportability-project\u002F_bmad\u002Fcore\u002Fskills\u002Fbmad-review-adversarial-general\u002FSKILL.md",[],[139,155,156,143,32,31,157],"general","bmad review adversarial general","produce",{"skillNo":159,"name":160,"nameZh":6,"description":161,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":162,"categories":163,"keywords":165,"publishedAt":33},"01M6CEPG9CYFQYJWH7ECRC3E9G","bmad-party-mode","Orchestrates group discussions between all installed BMAD agents, enabling natural multi-agent conversations. Use when user requests party mode.","https:\u002F\u002Fgithub.com\u002Famalik\u002Fconvoke-agents\u002Fblob\u002Fmain\u002Ftests\u002Ffixtures\u002Fportability-project\u002F_bmad\u002Fcore\u002Fskills\u002Fbmad-party-mode\u002FSKILL.md",[164],{"categoryNo":19,"categoryName":20,"taxonomyType":21,"taxonomyTypeDesc":22},[166,32,31,167],"bmad party mode","multi-agent"]