[{"data":1,"prerenderedAt":-1},["ShallowReactive",2],{"skill:01M6DNDZ9F581SW67DGNZ201Q8":3,"skill-same:01M6DNDZ9F581SW67DGNZ201Q8":92},{"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":30,"linkOnly":31,"markdownContent":32,"markdownBody":33,"frontMatter":34,"refName":35,"commitSha":36,"skillDirectory":37,"forksCount":38,"repositoryHtmlUrl":39,"repositoryHomepageUrl":6,"ownerHtmlUrl":40,"ownerBlogUrl":6,"ownerDescription":6,"updatedAt":41,"install":42,"resources":55},"01M6DNDZ9F581SW67DGNZ201Q8","aac-domain-research",null,"Conduct domain and industry research. Use when the user says wants to do domain research for a topic or industry","msayedshokry\u002FAgileAgentCanvasExt","msayedshokry","https:\u002F\u002Favatars.githubusercontent.com\u002Fu\u002F35009459?v=4","01M6DN5RZZ297CGWTNJ6ERZQ8W","Mohamed Sayed","01M6DN5S4XS7SVCSXZRW2XR0XF",3,"MIT","https:\u002F\u002Fgithub.com\u002Fmsayedshokry\u002FAgileAgentCanvasExt\u002Fblob\u002Fmain\u002Fresources\u002F_aac\u002Fskills\u002Faac-domain-research\u002FSKILL.md",[18],{"categoryNo":19,"categoryName":20,"taxonomyType":21,"taxonomyTypeDesc":22},"01JBSEEDCAT000000000000021","资料检索与研究","SCENARIO","使用场景",[24,25,26,27,28,29],"research","domain","aac domain research","user","use","do","2026-11-10 10:12:30",false,"---\nname: aac-domain-research\ndescription: 'Conduct domain and industry research. Use when the user says wants to do domain research for a topic or industry'\n---\n\n# Domain Research Workflow\n\n**Goal:** Conduct comprehensive domain\u002Findustry research using current web data and verified sources to produce complete research documents with compelling narratives and proper citations.\n\n**Your Role:** You are a domain research facilitator working with an expert partner. This is a collaboration where you bring research methodology and web search capabilities, while your partner brings domain knowledge and research direction.\n\n## Conventions\n\n- Bare paths (e.g. `domain-steps\u002Fstep-01-init.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## PREREQUISITE\n\n**⛔ Web search required.** If unavailable, abort and tell the user.\n\n## On Activation\n\n### Step 1: Resolve the Workflow Block\n\nRun: `python3 {project-root}\u002F_bmad\u002Fscripts\u002Fresolve_customization.py --skill {skill-root} --key workflow`\n\n**If the script fails**, resolve the `workflow` 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 `{workflow.activation_steps_prepend}` in order before proceeding.\n\n### Step 3: Load Persistent Facts\n\nTreat every entry in `{workflow.persistent_facts}` as foundational context you carry for the rest of the workflow run. 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 4: 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 5: Greet the User\n\nGreet `{user_name}`, speaking in `{communication_language}`.\n\n### Step 6: Execute Append Steps\n\nExecute each entry in `{workflow.activation_steps_append}` in order.\n\nActivation is complete. Begin the workflow below.\n\n## QUICK TOPIC DISCOVERY\n\n\"Welcome {{user_name}}! Let's get started with your **domain\u002Findustry research**.\n\n**What domain, industry, or sector do you want to research?**\n\nFor example:\n- 'The healthcare technology industry'\n- 'Sustainable packaging regulations in Europe'\n- 'Construction and building materials sector'\n- 'Or any other domain you have in mind...'\"\n\n### Topic Clarification\n\nBased on the user's topic, briefly clarify:\n1. **Core Domain**: \"What specific aspect of [domain] are you most interested in?\"\n2. **Research Goals**: \"What do you hope to achieve with this research?\"\n3. **Scope**: \"Should we focus broadly or dive deep into specific aspects?\"\n\n## ROUTE TO DOMAIN RESEARCH STEPS\n\nAfter gathering the topic and goals:\n\n1. Set `research_type = \"domain\"`\n2. Set `research_topic = [discovered topic from discussion]`\n3. Set `research_goals = [discovered goals from discussion]`\n4. Derive `research_topic_slug` from `{{research_topic}}`: lowercase, trim, replace whitespace with `-`, strip path separators (`\u002F`, `\\`), `..`, and any character that is not alphanumeric, `-`, or `_`. Collapse repeated `-` and strip leading\u002Ftrailing `-`. If the result is empty, use `untitled`.\n5. Create the starter output file: `{planning_artifacts}\u002Fresearch\u002Fdomain-{{research_topic_slug}}-research-{{date}}.md` with exact copy of the `.\u002Fresearch.template.md` contents\n6. Load: `.\u002Fdomain-steps\u002Fstep-01-init.md` with topic context\n\n**Note:** The discovered topic from the discussion should be passed to the initialization step, so it doesn't need to ask \"What do you want to research?\" again - it can focus on refining the scope for domain research.\n\n**✅ YOU MUST ALWAYS SPEAK OUTPUT In your Agent communication style with the config `{communication_language}`**\n","# Domain Research Workflow\n\n**Goal:** Conduct comprehensive domain\u002Findustry research using current web data and verified sources to produce complete research documents with compelling narratives and proper citations.\n\n**Your Role:** You are a domain research facilitator working with an expert partner. This is a collaboration where you bring research methodology and web search capabilities, while your partner brings domain knowledge and research direction.\n\n## Conventions\n\n- Bare paths (e.g. `domain-steps\u002Fstep-01-init.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## PREREQUISITE\n\n**⛔ Web search required.** If unavailable, abort and tell the user.\n\n## On Activation\n\n### Step 1: Resolve the Workflow Block\n\nRun: `python3 {project-root}\u002F_bmad\u002Fscripts\u002Fresolve_customization.py --skill {skill-root} --key workflow`\n\n**If the script fails**, resolve the `workflow` 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 `{workflow.activation_steps_prepend}` in order before proceeding.\n\n### Step 3: Load Persistent Facts\n\nTreat every entry in `{workflow.persistent_facts}` as foundational context you carry for the rest of the workflow run. 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 4: 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 5: Greet the User\n\nGreet `{user_name}`, speaking in `{communication_language}`.\n\n### Step 6: Execute Append Steps\n\nExecute each entry in `{workflow.activation_steps_append}` in order.\n\nActivation is complete. Begin the workflow below.\n\n## QUICK TOPIC DISCOVERY\n\n\"Welcome {{user_name}}! Let's get started with your **domain\u002Findustry research**.\n\n**What domain, industry, or sector do you want to research?**\n\nFor example:\n- 'The healthcare technology industry'\n- 'Sustainable packaging regulations in Europe'\n- 'Construction and building materials sector'\n- 'Or any other domain you have in mind...'\"\n\n### Topic Clarification\n\nBased on the user's topic, briefly clarify:\n1. **Core Domain**: \"What specific aspect of [domain] are you most interested in?\"\n2. **Research Goals**: \"What do you hope to achieve with this research?\"\n3. **Scope**: \"Should we focus broadly or dive deep into specific aspects?\"\n\n## ROUTE TO DOMAIN RESEARCH STEPS\n\nAfter gathering the topic and goals:\n\n1. Set `research_type = \"domain\"`\n2. Set `research_topic = [discovered topic from discussion]`\n3. Set `research_goals = [discovered goals from discussion]`\n4. Derive `research_topic_slug` from `{{research_topic}}`: lowercase, trim, replace whitespace with `-`, strip path separators (`\u002F`, `\\`), `..`, and any character that is not alphanumeric, `-`, or `_`. Collapse repeated `-` and strip leading\u002Ftrailing `-`. If the result is empty, use `untitled`.\n5. Create the starter output file: `{planning_artifacts}\u002Fresearch\u002Fdomain-{{research_topic_slug}}-research-{{date}}.md` with exact copy of the `.\u002Fresearch.template.md` contents\n6. Load: `.\u002Fdomain-steps\u002Fstep-01-init.md` with topic context\n\n**Note:** The discovered topic from the discussion should be passed to the initialization step, so it doesn't need to ask \"What do you want to research?\" again - it can focus on refining the scope for domain research.\n\n**✅ YOU MUST ALWAYS SPEAK OUTPUT In your Agent communication style with the config `{communication_language}`**\n",{"name":5,"description":7},"main","473351382920a74eb8f353f979a06f6f05bb5f59","resources\u002F_aac\u002Fskills\u002Faac-domain-research",0,"https:\u002F\u002Fgithub.com\u002Fmsayedshokry\u002FAgileAgentCanvasExt","https:\u002F\u002Fgithub.com\u002Fmsayedshokry","2026-08-29 02:00:07",{"source":8,"skillName":5,"commands":43,"prompt":53,"zipAvailable":54},[44,47,50],{"tool":45,"command":46},"npx","npx skills add msayedshokry\u002FAgileAgentCanvasExt --skill aac-domain-research",{"tool":48,"command":49},"bunx","bunx skills add msayedshokry\u002FAgileAgentCanvasExt --skill aac-domain-research",{"tool":51,"command":52},"pnpm","pnpm dlx skills add msayedshokry\u002FAgileAgentCanvasExt --skill aac-domain-research","安装技能，技能地址：https:\u002F\u002Fgithub.com\u002Fmsayedshokry\u002FAgileAgentCanvasExt\u002Fblob\u002Fmain\u002Fresources\u002F_aac\u002Fskills\u002Faac-domain-research\u002FSKILL.md",true,[56,62,68,72,76,80,84,88],{"path":57,"resourceType":58,"resourceTypeDesc":59,"sizeBytes":60,"sourceHtmlUrl":61},"customize.toml","OTHER","其他",1666,"https:\u002F\u002Fgithub.com\u002Fmsayedshokry\u002FAgileAgentCanvasExt\u002Fblob\u002Fmain\u002Fresources\u002F_aac\u002Fskills\u002Faac-domain-research\u002Fcustomize.toml",{"path":63,"resourceType":64,"resourceTypeDesc":65,"sizeBytes":66,"sourceHtmlUrl":67},"domain-steps\u002Fstep-01-init.md","REFERENCE","参考文档",5394,"https:\u002F\u002Fgithub.com\u002Fmsayedshokry\u002FAgileAgentCanvasExt\u002Fblob\u002Fmain\u002Fresources\u002F_aac\u002Fskills\u002Faac-domain-research\u002Fdomain-steps\u002Fstep-01-init.md",{"path":69,"resourceType":64,"resourceTypeDesc":65,"sizeBytes":70,"sourceHtmlUrl":71},"domain-steps\u002Fstep-02-domain-analysis.md",8640,"https:\u002F\u002Fgithub.com\u002Fmsayedshokry\u002FAgileAgentCanvasExt\u002Fblob\u002Fmain\u002Fresources\u002F_aac\u002Fskills\u002Faac-domain-research\u002Fdomain-steps\u002Fstep-02-domain-analysis.md",{"path":73,"resourceType":64,"resourceTypeDesc":65,"sizeBytes":74,"sourceHtmlUrl":75},"domain-steps\u002Fstep-03-competitive-landscape.md",9525,"https:\u002F\u002Fgithub.com\u002Fmsayedshokry\u002FAgileAgentCanvasExt\u002Fblob\u002Fmain\u002Fresources\u002F_aac\u002Fskills\u002Faac-domain-research\u002Fdomain-steps\u002Fstep-03-competitive-landscape.md",{"path":77,"resourceType":64,"resourceTypeDesc":65,"sizeBytes":78,"sourceHtmlUrl":79},"domain-steps\u002Fstep-04-regulatory-focus.md",6967,"https:\u002F\u002Fgithub.com\u002Fmsayedshokry\u002FAgileAgentCanvasExt\u002Fblob\u002Fmain\u002Fresources\u002F_aac\u002Fskills\u002Faac-domain-research\u002Fdomain-steps\u002Fstep-04-regulatory-focus.md",{"path":81,"resourceType":64,"resourceTypeDesc":65,"sizeBytes":82,"sourceHtmlUrl":83},"domain-steps\u002Fstep-05-technical-trends.md",7506,"https:\u002F\u002Fgithub.com\u002Fmsayedshokry\u002FAgileAgentCanvasExt\u002Fblob\u002Fmain\u002Fresources\u002F_aac\u002Fskills\u002Faac-domain-research\u002Fdomain-steps\u002Fstep-05-technical-trends.md",{"path":85,"resourceType":64,"resourceTypeDesc":65,"sizeBytes":86,"sourceHtmlUrl":87},"domain-steps\u002Fstep-06-research-synthesis.md",17221,"https:\u002F\u002Fgithub.com\u002Fmsayedshokry\u002FAgileAgentCanvasExt\u002Fblob\u002Fmain\u002Fresources\u002F_aac\u002Fskills\u002Faac-domain-research\u002Fdomain-steps\u002Fstep-06-research-synthesis.md",{"path":89,"resourceType":64,"resourceTypeDesc":65,"sizeBytes":90,"sourceHtmlUrl":91},"research.template.md",581,"https:\u002F\u002Fgithub.com\u002Fmsayedshokry\u002FAgileAgentCanvasExt\u002Fblob\u002Fmain\u002Fresources\u002F_aac\u002Fskills\u002Faac-domain-research\u002Fresearch.template.md",[93,119,138,151,174,190],{"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":107,"publishedAt":30},"01M6DNRTHE3M1XG3KDJTEF6BG6","bmad-teach-me-testing","Teach testing progressively through structured sessions. Use when user says \"lets learn testing\" or \"I want to study test practices\"","https:\u002F\u002Fgithub.com\u002Fmsayedshokry\u002FAgileAgentCanvasExt\u002Fblob\u002Fmain\u002Fresources\u002F_aac\u002Ftea\u002Fworkflows\u002Ftestarch\u002Fbmad-teach-me-testing\u002FSKILL.md",[99,102],{"categoryNo":100,"categoryName":101,"taxonomyType":21,"taxonomyTypeDesc":22},"01JBSEEDCAT000000000000008","测试与质量",{"categoryNo":103,"categoryName":104,"taxonomyType":105,"taxonomyTypeDesc":106},"01JBSEEDCAT000000000000039","教师与教育","PROFESSION","适用职业",[108,109,110,111,112,113,114,115,116,27,28,117,118],"bmad","me","bmad teach me testing","teach me","teach","testing","test","sessions","learn","study","structured",{"skillNo":120,"name":121,"nameZh":6,"description":122,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":123,"categories":124,"keywords":126,"publishedAt":30},"01M6DNRG27V77JEGMPMJVRY0Q5","aac-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\u002Fmsayedshokry\u002FAgileAgentCanvasExt\u002Fblob\u002Fmain\u002Fresources\u002F_aac\u002Ftea\u002Fworkflows\u002Ftestarch\u002Faac-testarch-trace\u002FSKILL.md",[125],{"categoryNo":100,"categoryName":101,"taxonomyType":21,"taxonomyTypeDesc":22},[127,128,114,129,130,131,132,133,134,27,135,28,136,137],"aac testarch trace","trace","quality gate","create","generate","analyze","quality","decision","coverage","test coverage","gate",{"skillNo":139,"name":140,"nameZh":6,"description":141,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":142,"categories":143,"keywords":145,"publishedAt":30},"01M6DNR70G1S0DGDSHRWT1S1DD","aac-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\u002Fmsayedshokry\u002FAgileAgentCanvasExt\u002Fblob\u002Fmain\u002Fresources\u002F_aac\u002Ftea\u002Fworkflows\u002Ftestarch\u002Faac-testarch-test-review\u002FSKILL.md",[144],{"categoryNo":100,"categoryName":101,"taxonomyType":21,"taxonomyTypeDesc":22},[146,147,114,148,149,133,27,28,150],"review","aac testarch test review","best practices","validation","tests",{"skillNo":152,"name":153,"nameZh":6,"description":154,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":155,"categories":156,"keywords":164,"publishedAt":30},"01M6DNQXV8F40EE78ZMWGWRPJM","aac-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\u002Fmsayedshokry\u002FAgileAgentCanvasExt\u002Fblob\u002Fmain\u002Fresources\u002F_aac\u002Ftea\u002Fworkflows\u002Ftestarch\u002Faac-testarch-test-design\u002FSKILL.md",[157,158,161],{"categoryNo":100,"categoryName":101,"taxonomyType":21,"taxonomyTypeDesc":22},{"categoryNo":159,"categoryName":160,"taxonomyType":21,"taxonomyTypeDesc":22},"01JBSEEDCAT000000000000015","视觉设计",{"categoryNo":162,"categoryName":163,"taxonomyType":105,"taxonomyTypeDesc":106},"01JBSEEDCAT000000000000032","设计师",[165,166,114,167,27,130,168,169,170,171,28,172,173],"aac testarch test design","test design","design","test plan","plan","system","strategy","test strategy","plans",{"skillNo":175,"name":176,"nameZh":6,"description":177,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":178,"categories":179,"keywords":180,"publishedAt":30},"01M6DNQNG0T7Q5DKV3C03RY35D","aac-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\u002Fmsayedshokry\u002FAgileAgentCanvasExt\u002Fblob\u002Fmain\u002Fresources\u002F_aac\u002Ftea\u002Fworkflows\u002Ftestarch\u002Faac-testarch-nfr\u002FSKILL.md",[],[181,182,183,184,185,186,27,187,188,28,189],"aac testarch nfr","reliability","evidence","implementation","scalability","requirements","audit","performance","security",{"skillNo":191,"name":192,"nameZh":6,"description":193,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":194,"categories":195,"keywords":197,"publishedAt":30},"01M6DNQDPTGB49D8AAJV4GN2H8","aac-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\u002Fmsayedshokry\u002FAgileAgentCanvasExt\u002Fblob\u002Fmain\u002Fresources\u002F_aac\u002Ftea\u002Fworkflows\u002Ftestarch\u002Faac-testarch-framework\u002FSKILL.md",[196],{"categoryNo":100,"categoryName":101,"taxonomyType":21,"taxonomyTypeDesc":22},[198,199,200,27,28,201,202,203,114,204,113,205],"aac testarch framework","framework","initialize","testing framework","setup","test framework","playwright","cypress"]