[{"data":1,"prerenderedAt":-1},["ShallowReactive",2],{"skill:01M6FPVTN44BNAPTG1EHDR5HFV":3,"skill-same:01M6FPVTN44BNAPTG1EHDR5HFV":357},{"skillNo":4,"name":5,"nameZh":6,"description":7,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":6,"repositoryNo":12,"starsCount":13,"licenseSpdxId":14,"licenseFileUrl":6,"sourceHtmlUrl":15,"categories":16,"keywords":22,"publishedAt":34,"linkOnly":35,"markdownContent":36,"markdownBody":37,"frontMatter":38,"refName":39,"commitSha":40,"skillDirectory":41,"forksCount":42,"repositoryHtmlUrl":43,"repositoryHomepageUrl":44,"ownerHtmlUrl":45,"ownerBlogUrl":46,"ownerDescription":47,"updatedAt":48,"install":49,"resources":62},"01M6FPVTN44BNAPTG1EHDR5HFV","bmad-testarch-test-review",null,"Review test quality using best practices validation. Use when user says \"lets review tests\" or \"I want to evaluate test quality\"","reformlab\u002FReformLab","reformlab","https:\u002F\u002Favatars.githubusercontent.com\u002Fu\u002F264161760?v=4","01M6CVRNMTPJRX8QX0P5J8NRZ6","01M6CVRNS5KTS18YC3AZHP1BZ3",1,"AGPL-3.0","https:\u002F\u002Fgithub.com\u002Freformlab\u002FReformLab\u002Fblob\u002Fmaster\u002F.claude\u002Fskills\u002Fbmad-testarch-test-review\u002FSKILL.md",[17],{"categoryNo":18,"categoryName":19,"taxonomyType":20,"taxonomyTypeDesc":21},"01JBSEEDCAT000000000000008","测试与质量","SCENARIO","使用场景",[23,24,25,26,27,28,29,30,31,32,33],"review","test","bmad testarch test review","bmad","bmad testarch","best practices","validation","quality","user","use","tests","2026-11-10 10:12:30",false,"---\nname: bmad-testarch-test-review\ndescription: 'Review test quality using best practices validation. Use when user says \"lets review tests\" or \"I want to evaluate test quality\"'\n---\n\n# Test Quality Review\n\n**Goal:** Review test quality using a comprehensive knowledge base and best-practices validation.\n\n**Role:** You are the Master Test Architect.\n\nYou will continue to operate with your given name, identity, and communication_style, merged with the details of this role description.\n\n## Conventions\n\n- Bare paths (e.g. `instructions.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- Resolve sibling workflow files such as `instructions.md`, `checklist.md`, `steps-c\u002F...`, `steps-e\u002F...`, `steps-v\u002F...`, and templates from `{skill-root}`.\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 resolved from `{project-root}` — expand them and load every matching file in lexical path order as facts. All other entries are facts verbatim.\n\n### Step 4: Load Config\n\nLoad config from `{project-root}\u002F_bmad\u002Ftea\u002Fconfig.yaml` and resolve:\n\n- `user_name`\n- `communication_language`\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## Workflow Architecture\n\nThis workflow uses **tri-modal step-file architecture**:\n\n- **Create mode (steps-c\u002F)**: primary execution flow for new runs and resume continuation\n- **Validate mode (steps-v\u002F)**: validation against checklist\n- **Edit mode (steps-e\u002F)**: revise existing outputs\n\n## Initialization Sequence\n\n### 1. Mode Determination\n\n\"Welcome to the workflow. What would you like to do?\"\n\n- **[C] Create** — Run the workflow from the beginning\n- **[R] Resume** — Resume an interrupted Create workflow\n- **[V] Validate** — Validate existing outputs\n- **[E] Edit** — Edit existing outputs\n\n### 2. Route to First Step\n\n- **If C:** Load `{skill-root}\u002Fsteps-c\u002Fstep-01-load-context.md`\n- **If R:** Load `{skill-root}\u002Fsteps-c\u002Fstep-01b-resume.md` (Create-mode continuation)\n- **If V:** Load `{skill-root}\u002Fsteps-v\u002Fstep-01-validate.md`\n- **If E:** Load `{skill-root}\u002Fsteps-e\u002Fstep-01-assess.md`\n","# Test Quality Review\n\n**Goal:** Review test quality using a comprehensive knowledge base and best-practices validation.\n\n**Role:** You are the Master Test Architect.\n\nYou will continue to operate with your given name, identity, and communication_style, merged with the details of this role description.\n\n## Conventions\n\n- Bare paths (e.g. `instructions.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- Resolve sibling workflow files such as `instructions.md`, `checklist.md`, `steps-c\u002F...`, `steps-e\u002F...`, `steps-v\u002F...`, and templates from `{skill-root}`.\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 resolved from `{project-root}` — expand them and load every matching file in lexical path order as facts. All other entries are facts verbatim.\n\n### Step 4: Load Config\n\nLoad config from `{project-root}\u002F_bmad\u002Ftea\u002Fconfig.yaml` and resolve:\n\n- `user_name`\n- `communication_language`\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## Workflow Architecture\n\nThis workflow uses **tri-modal step-file architecture**:\n\n- **Create mode (steps-c\u002F)**: primary execution flow for new runs and resume continuation\n- **Validate mode (steps-v\u002F)**: validation against checklist\n- **Edit mode (steps-e\u002F)**: revise existing outputs\n\n## Initialization Sequence\n\n### 1. Mode Determination\n\n\"Welcome to the workflow. What would you like to do?\"\n\n- **[C] Create** — Run the workflow from the beginning\n- **[R] Resume** — Resume an interrupted Create workflow\n- **[V] Validate** — Validate existing outputs\n- **[E] Edit** — Edit existing outputs\n\n### 2. Route to First Step\n\n- **If C:** Load `{skill-root}\u002Fsteps-c\u002Fstep-01-load-context.md`\n- **If R:** Load `{skill-root}\u002Fsteps-c\u002Fstep-01b-resume.md` (Create-mode continuation)\n- **If V:** Load `{skill-root}\u002Fsteps-v\u002Fstep-01-validate.md`\n- **If E:** Load `{skill-root}\u002Fsteps-e\u002Fstep-01-assess.md`\n",{"name":5,"description":7},"master","314a64e40d9abca764698290593908a736500b30",".claude\u002Fskills\u002Fbmad-testarch-test-review",0,"https:\u002F\u002Fgithub.com\u002Freformlab\u002FReformLab","https:\u002F\u002Fdocs.reform-lab.eu\u002F","https:\u002F\u002Fgithub.com\u002Freformlab","https:\u002F\u002Freform-lab.eu\u002F","See who your policy actually helps","2026-05-25 03:50:07",{"source":8,"skillName":5,"commands":50,"prompt":60,"zipAvailable":61},[51,54,57],{"tool":52,"command":53},"npx","npx skills add reformlab\u002FReformLab --skill bmad-testarch-test-review",{"tool":55,"command":56},"bunx","bunx skills add reformlab\u002FReformLab --skill bmad-testarch-test-review",{"tool":58,"command":59},"pnpm","pnpm dlx skills add reformlab\u002FReformLab --skill bmad-testarch-test-review","安装技能，技能地址：https:\u002F\u002Fgithub.com\u002Freformlab\u002FReformLab\u002Fblob\u002Fmaster\u002F.claude\u002Fskills\u002Fbmad-testarch-test-review\u002FSKILL.md",true,[63,69,75,79,83,87,91,95,99,103,107,111,115,119,123,127,131,135,139,143,147,151,155,159,163,167,171,175,179,183,187,191,195,199,203,207,211,215,219,223,227,231,235,239,243,247,251,255,259,263,267,271,275,279,285,289,293,297,301,305,309,313,317,321,325,329,333,337,341,345,349,353],{"path":64,"resourceType":65,"resourceTypeDesc":66,"sizeBytes":67,"sourceHtmlUrl":68},"checklist.md","REFERENCE","参考文档",15273,"https:\u002F\u002Fgithub.com\u002Freformlab\u002FReformLab\u002Fblob\u002Fmaster\u002F.claude\u002Fskills\u002Fbmad-testarch-test-review\u002Fchecklist.md",{"path":70,"resourceType":71,"resourceTypeDesc":72,"sizeBytes":73,"sourceHtmlUrl":74},"customize.toml","OTHER","其他",1559,"https:\u002F\u002Fgithub.com\u002Freformlab\u002FReformLab\u002Fblob\u002Fmaster\u002F.claude\u002Fskills\u002Fbmad-testarch-test-review\u002Fcustomize.toml",{"path":76,"resourceType":65,"resourceTypeDesc":66,"sizeBytes":77,"sourceHtmlUrl":78},"instructions.md",1200,"https:\u002F\u002Fgithub.com\u002Freformlab\u002FReformLab\u002Fblob\u002Fmaster\u002F.claude\u002Fskills\u002Fbmad-testarch-test-review\u002Finstructions.md",{"path":80,"resourceType":65,"resourceTypeDesc":66,"sizeBytes":81,"sourceHtmlUrl":82},"resources\u002Fknowledge\u002Fadr-quality-readiness-checklist.md",25356,"https:\u002F\u002Fgithub.com\u002Freformlab\u002FReformLab\u002Fblob\u002Fmaster\u002F.claude\u002Fskills\u002Fbmad-testarch-test-review\u002Fresources\u002Fknowledge\u002Fadr-quality-readiness-checklist.md",{"path":84,"resourceType":65,"resourceTypeDesc":66,"sizeBytes":85,"sourceHtmlUrl":86},"resources\u002Fknowledge\u002Fapi-request.md",17129,"https:\u002F\u002Fgithub.com\u002Freformlab\u002FReformLab\u002Fblob\u002Fmaster\u002F.claude\u002Fskills\u002Fbmad-testarch-test-review\u002Fresources\u002Fknowledge\u002Fapi-request.md",{"path":88,"resourceType":65,"resourceTypeDesc":66,"sizeBytes":89,"sourceHtmlUrl":90},"resources\u002Fknowledge\u002Fapi-testing-patterns.md",26976,"https:\u002F\u002Fgithub.com\u002Freformlab\u002FReformLab\u002Fblob\u002Fmaster\u002F.claude\u002Fskills\u002Fbmad-testarch-test-review\u002Fresources\u002Fknowledge\u002Fapi-testing-patterns.md",{"path":92,"resourceType":65,"resourceTypeDesc":66,"sizeBytes":93,"sourceHtmlUrl":94},"resources\u002Fknowledge\u002Fauth-session.md",16215,"https:\u002F\u002Fgithub.com\u002Freformlab\u002FReformLab\u002Fblob\u002Fmaster\u002F.claude\u002Fskills\u002Fbmad-testarch-test-review\u002Fresources\u002Fknowledge\u002Fauth-session.md",{"path":96,"resourceType":65,"resourceTypeDesc":66,"sizeBytes":97,"sourceHtmlUrl":98},"resources\u002Fknowledge\u002Fburn-in.md",6503,"https:\u002F\u002Fgithub.com\u002Freformlab\u002FReformLab\u002Fblob\u002Fmaster\u002F.claude\u002Fskills\u002Fbmad-testarch-test-review\u002Fresources\u002Fknowledge\u002Fburn-in.md",{"path":100,"resourceType":65,"resourceTypeDesc":66,"sizeBytes":101,"sourceHtmlUrl":102},"resources\u002Fknowledge\u002Fci-burn-in.md",22486,"https:\u002F\u002Fgithub.com\u002Freformlab\u002FReformLab\u002Fblob\u002Fmaster\u002F.claude\u002Fskills\u002Fbmad-testarch-test-review\u002Fresources\u002Fknowledge\u002Fci-burn-in.md",{"path":104,"resourceType":65,"resourceTypeDesc":66,"sizeBytes":105,"sourceHtmlUrl":106},"resources\u002Fknowledge\u002Fcomponent-tdd.md",16149,"https:\u002F\u002Fgithub.com\u002Freformlab\u002FReformLab\u002Fblob\u002Fmaster\u002F.claude\u002Fskills\u002Fbmad-testarch-test-review\u002Fresources\u002Fknowledge\u002Fcomponent-tdd.md",{"path":108,"resourceType":65,"resourceTypeDesc":66,"sizeBytes":109,"sourceHtmlUrl":110},"resources\u002Fknowledge\u002Fcontract-testing.md",38991,"https:\u002F\u002Fgithub.com\u002Freformlab\u002FReformLab\u002Fblob\u002Fmaster\u002F.claude\u002Fskills\u002Fbmad-testarch-test-review\u002Fresources\u002Fknowledge\u002Fcontract-testing.md",{"path":112,"resourceType":65,"resourceTypeDesc":66,"sizeBytes":113,"sourceHtmlUrl":114},"resources\u002Fknowledge\u002Fdata-factories.md",15331,"https:\u002F\u002Fgithub.com\u002Freformlab\u002FReformLab\u002Fblob\u002Fmaster\u002F.claude\u002Fskills\u002Fbmad-testarch-test-review\u002Fresources\u002Fknowledge\u002Fdata-factories.md",{"path":116,"resourceType":65,"resourceTypeDesc":66,"sizeBytes":117,"sourceHtmlUrl":118},"resources\u002Fknowledge\u002Femail-auth.md",24553,"https:\u002F\u002Fgithub.com\u002Freformlab\u002FReformLab\u002Fblob\u002Fmaster\u002F.claude\u002Fskills\u002Fbmad-testarch-test-review\u002Fresources\u002Fknowledge\u002Femail-auth.md",{"path":120,"resourceType":65,"resourceTypeDesc":66,"sizeBytes":121,"sourceHtmlUrl":122},"resources\u002Fknowledge\u002Ferror-handling.md",22959,"https:\u002F\u002Fgithub.com\u002Freformlab\u002FReformLab\u002Fblob\u002Fmaster\u002F.claude\u002Fskills\u002Fbmad-testarch-test-review\u002Fresources\u002Fknowledge\u002Ferror-handling.md",{"path":124,"resourceType":65,"resourceTypeDesc":66,"sizeBytes":125,"sourceHtmlUrl":126},"resources\u002Fknowledge\u002Ffeature-flags.md",23214,"https:\u002F\u002Fgithub.com\u002Freformlab\u002FReformLab\u002Fblob\u002Fmaster\u002F.claude\u002Fskills\u002Fbmad-testarch-test-review\u002Fresources\u002Fknowledge\u002Ffeature-flags.md",{"path":128,"resourceType":65,"resourceTypeDesc":66,"sizeBytes":129,"sourceHtmlUrl":130},"resources\u002Fknowledge\u002Ffile-utils.md",13745,"https:\u002F\u002Fgithub.com\u002Freformlab\u002FReformLab\u002Fblob\u002Fmaster\u002F.claude\u002Fskills\u002Fbmad-testarch-test-review\u002Fresources\u002Fknowledge\u002Ffile-utils.md",{"path":132,"resourceType":65,"resourceTypeDesc":66,"sizeBytes":133,"sourceHtmlUrl":134},"resources\u002Fknowledge\u002Ffixture-architecture.md",12414,"https:\u002F\u002Fgithub.com\u002Freformlab\u002FReformLab\u002Fblob\u002Fmaster\u002F.claude\u002Fskills\u002Fbmad-testarch-test-review\u002Fresources\u002Fknowledge\u002Ffixture-architecture.md",{"path":136,"resourceType":65,"resourceTypeDesc":66,"sizeBytes":137,"sourceHtmlUrl":138},"resources\u002Fknowledge\u002Ffixtures-composition.md",11249,"https:\u002F\u002Fgithub.com\u002Freformlab\u002FReformLab\u002Fblob\u002Fmaster\u002F.claude\u002Fskills\u002Fbmad-testarch-test-review\u002Fresources\u002Fknowledge\u002Ffixtures-composition.md",{"path":140,"resourceType":65,"resourceTypeDesc":66,"sizeBytes":141,"sourceHtmlUrl":142},"resources\u002Fknowledge\u002Fintercept-network-call.md",13489,"https:\u002F\u002Fgithub.com\u002Freformlab\u002FReformLab\u002Fblob\u002Fmaster\u002F.claude\u002Fskills\u002Fbmad-testarch-test-review\u002Fresources\u002Fknowledge\u002Fintercept-network-call.md",{"path":144,"resourceType":65,"resourceTypeDesc":66,"sizeBytes":145,"sourceHtmlUrl":146},"resources\u002Fknowledge\u002Flog.md",11281,"https:\u002F\u002Fgithub.com\u002Freformlab\u002FReformLab\u002Fblob\u002Fmaster\u002F.claude\u002Fskills\u002Fbmad-testarch-test-review\u002Fresources\u002Fknowledge\u002Flog.md",{"path":148,"resourceType":65,"resourceTypeDesc":66,"sizeBytes":149,"sourceHtmlUrl":150},"resources\u002Fknowledge\u002Fnetwork-error-monitor.md",12277,"https:\u002F\u002Fgithub.com\u002Freformlab\u002FReformLab\u002Fblob\u002Fmaster\u002F.claude\u002Fskills\u002Fbmad-testarch-test-review\u002Fresources\u002Fknowledge\u002Fnetwork-error-monitor.md",{"path":152,"resourceType":65,"resourceTypeDesc":66,"sizeBytes":153,"sourceHtmlUrl":154},"resources\u002Fknowledge\u002Fnetwork-first.md",16327,"https:\u002F\u002Fgithub.com\u002Freformlab\u002FReformLab\u002Fblob\u002Fmaster\u002F.claude\u002Fskills\u002Fbmad-testarch-test-review\u002Fresources\u002Fknowledge\u002Fnetwork-first.md",{"path":156,"resourceType":65,"resourceTypeDesc":66,"sizeBytes":157,"sourceHtmlUrl":158},"resources\u002Fknowledge\u002Fnetwork-recorder.md",15499,"https:\u002F\u002Fgithub.com\u002Freformlab\u002FReformLab\u002Fblob\u002Fmaster\u002F.claude\u002Fskills\u002Fbmad-testarch-test-review\u002Fresources\u002Fknowledge\u002Fnetwork-recorder.md",{"path":160,"resourceType":65,"resourceTypeDesc":66,"sizeBytes":161,"sourceHtmlUrl":162},"resources\u002Fknowledge\u002Fnfr-criteria.md",26670,"https:\u002F\u002Fgithub.com\u002Freformlab\u002FReformLab\u002Fblob\u002Fmaster\u002F.claude\u002Fskills\u002Fbmad-testarch-test-review\u002Fresources\u002Fknowledge\u002Fnfr-criteria.md",{"path":164,"resourceType":65,"resourceTypeDesc":66,"sizeBytes":165,"sourceHtmlUrl":166},"resources\u002Fknowledge\u002Foverview.md",9663,"https:\u002F\u002Fgithub.com\u002Freformlab\u002FReformLab\u002Fblob\u002Fmaster\u002F.claude\u002Fskills\u002Fbmad-testarch-test-review\u002Fresources\u002Fknowledge\u002Foverview.md",{"path":168,"resourceType":65,"resourceTypeDesc":66,"sizeBytes":169,"sourceHtmlUrl":170},"resources\u002Fknowledge\u002Fpact-broker-webhooks.md",13376,"https:\u002F\u002Fgithub.com\u002Freformlab\u002FReformLab\u002Fblob\u002Fmaster\u002F.claude\u002Fskills\u002Fbmad-testarch-test-review\u002Fresources\u002Fknowledge\u002Fpact-broker-webhooks.md",{"path":172,"resourceType":65,"resourceTypeDesc":66,"sizeBytes":173,"sourceHtmlUrl":174},"resources\u002Fknowledge\u002Fpact-consumer-di.md",12005,"https:\u002F\u002Fgithub.com\u002Freformlab\u002FReformLab\u002Fblob\u002Fmaster\u002F.claude\u002Fskills\u002Fbmad-testarch-test-review\u002Fresources\u002Fknowledge\u002Fpact-consumer-di.md",{"path":176,"resourceType":65,"resourceTypeDesc":66,"sizeBytes":177,"sourceHtmlUrl":178},"resources\u002Fknowledge\u002Fpact-consumer-framework-setup.md",35846,"https:\u002F\u002Fgithub.com\u002Freformlab\u002FReformLab\u002Fblob\u002Fmaster\u002F.claude\u002Fskills\u002Fbmad-testarch-test-review\u002Fresources\u002Fknowledge\u002Fpact-consumer-framework-setup.md",{"path":180,"resourceType":65,"resourceTypeDesc":66,"sizeBytes":181,"sourceHtmlUrl":182},"resources\u002Fknowledge\u002Fpact-mcp.md",8977,"https:\u002F\u002Fgithub.com\u002Freformlab\u002FReformLab\u002Fblob\u002Fmaster\u002F.claude\u002Fskills\u002Fbmad-testarch-test-review\u002Fresources\u002Fknowledge\u002Fpact-mcp.md",{"path":184,"resourceType":65,"resourceTypeDesc":66,"sizeBytes":185,"sourceHtmlUrl":186},"resources\u002Fknowledge\u002Fpactjs-utils-consumer-helpers.md",16029,"https:\u002F\u002Fgithub.com\u002Freformlab\u002FReformLab\u002Fblob\u002Fmaster\u002F.claude\u002Fskills\u002Fbmad-testarch-test-review\u002Fresources\u002Fknowledge\u002Fpactjs-utils-consumer-helpers.md",{"path":188,"resourceType":65,"resourceTypeDesc":66,"sizeBytes":189,"sourceHtmlUrl":190},"resources\u002Fknowledge\u002Fpactjs-utils-overview.md",10481,"https:\u002F\u002Fgithub.com\u002Freformlab\u002FReformLab\u002Fblob\u002Fmaster\u002F.claude\u002Fskills\u002Fbmad-testarch-test-review\u002Fresources\u002Fknowledge\u002Fpactjs-utils-overview.md",{"path":192,"resourceType":65,"resourceTypeDesc":66,"sizeBytes":193,"sourceHtmlUrl":194},"resources\u002Fknowledge\u002Fpactjs-utils-provider-verifier.md",18180,"https:\u002F\u002Fgithub.com\u002Freformlab\u002FReformLab\u002Fblob\u002Fmaster\u002F.claude\u002Fskills\u002Fbmad-testarch-test-review\u002Fresources\u002Fknowledge\u002Fpactjs-utils-provider-verifier.md",{"path":196,"resourceType":65,"resourceTypeDesc":66,"sizeBytes":197,"sourceHtmlUrl":198},"resources\u002Fknowledge\u002Fpactjs-utils-request-filter.md",7275,"https:\u002F\u002Fgithub.com\u002Freformlab\u002FReformLab\u002Fblob\u002Fmaster\u002F.claude\u002Fskills\u002Fbmad-testarch-test-review\u002Fresources\u002Fknowledge\u002Fpactjs-utils-request-filter.md",{"path":200,"resourceType":65,"resourceTypeDesc":66,"sizeBytes":201,"sourceHtmlUrl":202},"resources\u002Fknowledge\u002Fplaywright-cli.md",14993,"https:\u002F\u002Fgithub.com\u002Freformlab\u002FReformLab\u002Fblob\u002Fmaster\u002F.claude\u002Fskills\u002Fbmad-testarch-test-review\u002Fresources\u002Fknowledge\u002Fplaywright-cli.md",{"path":204,"resourceType":65,"resourceTypeDesc":66,"sizeBytes":205,"sourceHtmlUrl":206},"resources\u002Fknowledge\u002Fplaywright-config.md",21457,"https:\u002F\u002Fgithub.com\u002Freformlab\u002FReformLab\u002Fblob\u002Fmaster\u002F.claude\u002Fskills\u002Fbmad-testarch-test-review\u002Fresources\u002Fknowledge\u002Fplaywright-config.md",{"path":208,"resourceType":65,"resourceTypeDesc":66,"sizeBytes":209,"sourceHtmlUrl":210},"resources\u002Fknowledge\u002Fprobability-impact.md",19200,"https:\u002F\u002Fgithub.com\u002Freformlab\u002FReformLab\u002Fblob\u002Fmaster\u002F.claude\u002Fskills\u002Fbmad-testarch-test-review\u002Fresources\u002Fknowledge\u002Fprobability-impact.md",{"path":212,"resourceType":65,"resourceTypeDesc":66,"sizeBytes":213,"sourceHtmlUrl":214},"resources\u002Fknowledge\u002Frecurse.md",12936,"https:\u002F\u002Fgithub.com\u002Freformlab\u002FReformLab\u002Fblob\u002Fmaster\u002F.claude\u002Fskills\u002Fbmad-testarch-test-review\u002Fresources\u002Fknowledge\u002Frecurse.md",{"path":216,"resourceType":65,"resourceTypeDesc":66,"sizeBytes":217,"sourceHtmlUrl":218},"resources\u002Fknowledge\u002Frisk-governance.md",20965,"https:\u002F\u002Fgithub.com\u002Freformlab\u002FReformLab\u002Fblob\u002Fmaster\u002F.claude\u002Fskills\u002Fbmad-testarch-test-review\u002Fresources\u002Fknowledge\u002Frisk-governance.md",{"path":220,"resourceType":65,"resourceTypeDesc":66,"sizeBytes":221,"sourceHtmlUrl":222},"resources\u002Fknowledge\u002Fselective-testing.md",21846,"https:\u002F\u002Fgithub.com\u002Freformlab\u002FReformLab\u002Fblob\u002Fmaster\u002F.claude\u002Fskills\u002Fbmad-testarch-test-review\u002Fresources\u002Fknowledge\u002Fselective-testing.md",{"path":224,"resourceType":65,"resourceTypeDesc":66,"sizeBytes":225,"sourceHtmlUrl":226},"resources\u002Fknowledge\u002Fselector-resilience.md",19784,"https:\u002F\u002Fgithub.com\u002Freformlab\u002FReformLab\u002Fblob\u002Fmaster\u002F.claude\u002Fskills\u002Fbmad-testarch-test-review\u002Fresources\u002Fknowledge\u002Fselector-resilience.md",{"path":228,"resourceType":65,"resourceTypeDesc":66,"sizeBytes":229,"sourceHtmlUrl":230},"resources\u002Fknowledge\u002Ftest-healing-patterns.md",21388,"https:\u002F\u002Fgithub.com\u002Freformlab\u002FReformLab\u002Fblob\u002Fmaster\u002F.claude\u002Fskills\u002Fbmad-testarch-test-review\u002Fresources\u002Fknowledge\u002Ftest-healing-patterns.md",{"path":232,"resourceType":65,"resourceTypeDesc":66,"sizeBytes":233,"sourceHtmlUrl":234},"resources\u002Fknowledge\u002Ftest-levels-framework.md",14756,"https:\u002F\u002Fgithub.com\u002Freformlab\u002FReformLab\u002Fblob\u002Fmaster\u002F.claude\u002Fskills\u002Fbmad-testarch-test-review\u002Fresources\u002Fknowledge\u002Ftest-levels-framework.md",{"path":236,"resourceType":65,"resourceTypeDesc":66,"sizeBytes":237,"sourceHtmlUrl":238},"resources\u002Fknowledge\u002Ftest-priorities-matrix.md",11454,"https:\u002F\u002Fgithub.com\u002Freformlab\u002FReformLab\u002Fblob\u002Fmaster\u002F.claude\u002Fskills\u002Fbmad-testarch-test-review\u002Fresources\u002Fknowledge\u002Ftest-priorities-matrix.md",{"path":240,"resourceType":65,"resourceTypeDesc":66,"sizeBytes":241,"sourceHtmlUrl":242},"resources\u002Fknowledge\u002Ftest-quality.md",24580,"https:\u002F\u002Fgithub.com\u002Freformlab\u002FReformLab\u002Fblob\u002Fmaster\u002F.claude\u002Fskills\u002Fbmad-testarch-test-review\u002Fresources\u002Fknowledge\u002Ftest-quality.md",{"path":244,"resourceType":65,"resourceTypeDesc":66,"sizeBytes":245,"sourceHtmlUrl":246},"resources\u002Fknowledge\u002Ftiming-debugging.md",14021,"https:\u002F\u002Fgithub.com\u002Freformlab\u002FReformLab\u002Fblob\u002Fmaster\u002F.claude\u002Fskills\u002Fbmad-testarch-test-review\u002Fresources\u002Fknowledge\u002Ftiming-debugging.md",{"path":248,"resourceType":65,"resourceTypeDesc":66,"sizeBytes":249,"sourceHtmlUrl":250},"resources\u002Fknowledge\u002Fvisual-debugging.md",17480,"https:\u002F\u002Fgithub.com\u002Freformlab\u002FReformLab\u002Fblob\u002Fmaster\u002F.claude\u002Fskills\u002Fbmad-testarch-test-review\u002Fresources\u002Fknowledge\u002Fvisual-debugging.md",{"path":252,"resourceType":65,"resourceTypeDesc":66,"sizeBytes":253,"sourceHtmlUrl":254},"resources\u002Fknowledge\u002Fwebhook-module-setup.md",5834,"https:\u002F\u002Fgithub.com\u002Freformlab\u002FReformLab\u002Fblob\u002Fmaster\u002F.claude\u002Fskills\u002Fbmad-testarch-test-review\u002Fresources\u002Fknowledge\u002Fwebhook-module-setup.md",{"path":256,"resourceType":65,"resourceTypeDesc":66,"sizeBytes":257,"sourceHtmlUrl":258},"resources\u002Fknowledge\u002Fwebhook-providers.md",6440,"https:\u002F\u002Fgithub.com\u002Freformlab\u002FReformLab\u002Fblob\u002Fmaster\u002F.claude\u002Fskills\u002Fbmad-testarch-test-review\u002Fresources\u002Fknowledge\u002Fwebhook-providers.md",{"path":260,"resourceType":65,"resourceTypeDesc":66,"sizeBytes":261,"sourceHtmlUrl":262},"resources\u002Fknowledge\u002Fwebhook-risk-guidance.md",6474,"https:\u002F\u002Fgithub.com\u002Freformlab\u002FReformLab\u002Fblob\u002Fmaster\u002F.claude\u002Fskills\u002Fbmad-testarch-test-review\u002Fresources\u002Fknowledge\u002Fwebhook-risk-guidance.md",{"path":264,"resourceType":65,"resourceTypeDesc":66,"sizeBytes":265,"sourceHtmlUrl":266},"resources\u002Fknowledge\u002Fwebhook-template-matchers.md",6011,"https:\u002F\u002Fgithub.com\u002Freformlab\u002FReformLab\u002Fblob\u002Fmaster\u002F.claude\u002Fskills\u002Fbmad-testarch-test-review\u002Fresources\u002Fknowledge\u002Fwebhook-template-matchers.md",{"path":268,"resourceType":65,"resourceTypeDesc":66,"sizeBytes":269,"sourceHtmlUrl":270},"resources\u002Fknowledge\u002Fwebhook-testing-fundamentals.md",3185,"https:\u002F\u002Fgithub.com\u002Freformlab\u002FReformLab\u002Fblob\u002Fmaster\u002F.claude\u002Fskills\u002Fbmad-testarch-test-review\u002Fresources\u002Fknowledge\u002Fwebhook-testing-fundamentals.md",{"path":272,"resourceType":65,"resourceTypeDesc":66,"sizeBytes":273,"sourceHtmlUrl":274},"resources\u002Fknowledge\u002Fwebhook-timeout-error.md",5726,"https:\u002F\u002Fgithub.com\u002Freformlab\u002FReformLab\u002Fblob\u002Fmaster\u002F.claude\u002Fskills\u002Fbmad-testarch-test-review\u002Fresources\u002Fknowledge\u002Fwebhook-timeout-error.md",{"path":276,"resourceType":65,"resourceTypeDesc":66,"sizeBytes":277,"sourceHtmlUrl":278},"resources\u002Fknowledge\u002Fwebhook-waiting-querying.md",7074,"https:\u002F\u002Fgithub.com\u002Freformlab\u002FReformLab\u002Fblob\u002Fmaster\u002F.claude\u002Fskills\u002Fbmad-testarch-test-review\u002Fresources\u002Fknowledge\u002Fwebhook-waiting-querying.md",{"path":280,"resourceType":281,"resourceTypeDesc":282,"sizeBytes":283,"sourceHtmlUrl":284},"resources\u002Ftea-index.csv","ASSET","资产文件",11002,"https:\u002F\u002Fgithub.com\u002Freformlab\u002FReformLab\u002Fblob\u002Fmaster\u002F.claude\u002Fskills\u002Fbmad-testarch-test-review\u002Fresources\u002Ftea-index.csv",{"path":286,"resourceType":65,"resourceTypeDesc":66,"sizeBytes":287,"sourceHtmlUrl":288},"steps-c\u002Fstep-01-load-context.md",6875,"https:\u002F\u002Fgithub.com\u002Freformlab\u002FReformLab\u002Fblob\u002Fmaster\u002F.claude\u002Fskills\u002Fbmad-testarch-test-review\u002Fsteps-c\u002Fstep-01-load-context.md",{"path":290,"resourceType":65,"resourceTypeDesc":66,"sizeBytes":291,"sourceHtmlUrl":292},"steps-c\u002Fstep-01b-resume.md",3166,"https:\u002F\u002Fgithub.com\u002Freformlab\u002FReformLab\u002Fblob\u002Fmaster\u002F.claude\u002Fskills\u002Fbmad-testarch-test-review\u002Fsteps-c\u002Fstep-01b-resume.md",{"path":294,"resourceType":65,"resourceTypeDesc":66,"sizeBytes":295,"sourceHtmlUrl":296},"steps-c\u002Fstep-02-discover-tests.md",3618,"https:\u002F\u002Fgithub.com\u002Freformlab\u002FReformLab\u002Fblob\u002Fmaster\u002F.claude\u002Fskills\u002Fbmad-testarch-test-review\u002Fsteps-c\u002Fstep-02-discover-tests.md",{"path":298,"resourceType":65,"resourceTypeDesc":66,"sizeBytes":299,"sourceHtmlUrl":300},"steps-c\u002Fstep-03-quality-evaluation.md",7719,"https:\u002F\u002Fgithub.com\u002Freformlab\u002FReformLab\u002Fblob\u002Fmaster\u002F.claude\u002Fskills\u002Fbmad-testarch-test-review\u002Fsteps-c\u002Fstep-03-quality-evaluation.md",{"path":302,"resourceType":65,"resourceTypeDesc":66,"sizeBytes":303,"sourceHtmlUrl":304},"steps-c\u002Fstep-03a-subagent-determinism.md",10326,"https:\u002F\u002Fgithub.com\u002Freformlab\u002FReformLab\u002Fblob\u002Fmaster\u002F.claude\u002Fskills\u002Fbmad-testarch-test-review\u002Fsteps-c\u002Fstep-03a-subagent-determinism.md",{"path":306,"resourceType":65,"resourceTypeDesc":66,"sizeBytes":307,"sourceHtmlUrl":308},"steps-c\u002Fstep-03b-subagent-isolation.md",3141,"https:\u002F\u002Fgithub.com\u002Freformlab\u002FReformLab\u002Fblob\u002Fmaster\u002F.claude\u002Fskills\u002Fbmad-testarch-test-review\u002Fsteps-c\u002Fstep-03b-subagent-isolation.md",{"path":310,"resourceType":65,"resourceTypeDesc":66,"sizeBytes":311,"sourceHtmlUrl":312},"steps-c\u002Fstep-03c-subagent-maintainability.md",2534,"https:\u002F\u002Fgithub.com\u002Freformlab\u002FReformLab\u002Fblob\u002Fmaster\u002F.claude\u002Fskills\u002Fbmad-testarch-test-review\u002Fsteps-c\u002Fstep-03c-subagent-maintainability.md",{"path":314,"resourceType":65,"resourceTypeDesc":66,"sizeBytes":315,"sourceHtmlUrl":316},"steps-c\u002Fstep-03e-subagent-performance.md",3204,"https:\u002F\u002Fgithub.com\u002Freformlab\u002FReformLab\u002Fblob\u002Fmaster\u002F.claude\u002Fskills\u002Fbmad-testarch-test-review\u002Fsteps-c\u002Fstep-03e-subagent-performance.md",{"path":318,"resourceType":65,"resourceTypeDesc":66,"sizeBytes":319,"sourceHtmlUrl":320},"steps-c\u002Fstep-03f-aggregate-scores.md",7043,"https:\u002F\u002Fgithub.com\u002Freformlab\u002FReformLab\u002Fblob\u002Fmaster\u002F.claude\u002Fskills\u002Fbmad-testarch-test-review\u002Fsteps-c\u002Fstep-03f-aggregate-scores.md",{"path":322,"resourceType":65,"resourceTypeDesc":66,"sizeBytes":323,"sourceHtmlUrl":324},"steps-c\u002Fstep-04-generate-report.md",3353,"https:\u002F\u002Fgithub.com\u002Freformlab\u002FReformLab\u002Fblob\u002Fmaster\u002F.claude\u002Fskills\u002Fbmad-testarch-test-review\u002Fsteps-c\u002Fstep-04-generate-report.md",{"path":326,"resourceType":65,"resourceTypeDesc":66,"sizeBytes":327,"sourceHtmlUrl":328},"steps-e\u002Fstep-01-assess.md",1253,"https:\u002F\u002Fgithub.com\u002Freformlab\u002FReformLab\u002Fblob\u002Fmaster\u002F.claude\u002Fskills\u002Fbmad-testarch-test-review\u002Fsteps-e\u002Fstep-01-assess.md",{"path":330,"resourceType":65,"resourceTypeDesc":66,"sizeBytes":331,"sourceHtmlUrl":332},"steps-e\u002Fstep-02-apply-edit.md",1475,"https:\u002F\u002Fgithub.com\u002Freformlab\u002FReformLab\u002Fblob\u002Fmaster\u002F.claude\u002Fskills\u002Fbmad-testarch-test-review\u002Fsteps-e\u002Fstep-02-apply-edit.md",{"path":334,"resourceType":65,"resourceTypeDesc":66,"sizeBytes":335,"sourceHtmlUrl":336},"steps-v\u002Fstep-01-validate.md",1799,"https:\u002F\u002Fgithub.com\u002Freformlab\u002FReformLab\u002Fblob\u002Fmaster\u002F.claude\u002Fskills\u002Fbmad-testarch-test-review\u002Fsteps-v\u002Fstep-01-validate.md",{"path":338,"resourceType":65,"resourceTypeDesc":66,"sizeBytes":339,"sourceHtmlUrl":340},"test-review-template.md",12214,"https:\u002F\u002Fgithub.com\u002Freformlab\u002FReformLab\u002Fblob\u002Fmaster\u002F.claude\u002Fskills\u002Fbmad-testarch-test-review\u002Ftest-review-template.md",{"path":342,"resourceType":65,"resourceTypeDesc":66,"sizeBytes":343,"sourceHtmlUrl":344},"validation-report-20260127-095021.md",2040,"https:\u002F\u002Fgithub.com\u002Freformlab\u002FReformLab\u002Fblob\u002Fmaster\u002F.claude\u002Fskills\u002Fbmad-testarch-test-review\u002Fvalidation-report-20260127-095021.md",{"path":346,"resourceType":65,"resourceTypeDesc":66,"sizeBytes":347,"sourceHtmlUrl":348},"validation-report-20260127-102401.md",3658,"https:\u002F\u002Fgithub.com\u002Freformlab\u002FReformLab\u002Fblob\u002Fmaster\u002F.claude\u002Fskills\u002Fbmad-testarch-test-review\u002Fvalidation-report-20260127-102401.md",{"path":350,"resourceType":65,"resourceTypeDesc":66,"sizeBytes":351,"sourceHtmlUrl":352},"workflow-plan.md",370,"https:\u002F\u002Fgithub.com\u002Freformlab\u002FReformLab\u002Fblob\u002Fmaster\u002F.claude\u002Fskills\u002Fbmad-testarch-test-review\u002Fworkflow-plan.md",{"path":354,"resourceType":65,"resourceTypeDesc":66,"sizeBytes":355,"sourceHtmlUrl":356},"workflow.yaml",1631,"https:\u002F\u002Fgithub.com\u002Freformlab\u002FReformLab\u002Fblob\u002Fmaster\u002F.claude\u002Fskills\u002Fbmad-testarch-test-review\u002Fworkflow.yaml",[358,383,397,418,434,449],{"skillNo":359,"name":360,"nameZh":6,"description":361,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":6,"repositoryNo":12,"starsCount":13,"licenseSpdxId":14,"licenseFileUrl":6,"sourceHtmlUrl":362,"categories":363,"keywords":364,"publishedAt":34},"01M6FQK4CGE9096SN2JRE7DA8H","bmad-assist-help","Explain how bmad-assist works in this project by inspecting the local bmad-assist config, sprint status, epics, state, runs, prompts, logs, and relevant source code. Use when the user asks how bmad-assist behaves, how it reads epics and stories, why a run resumed or failed, what files are authoritative, or to investigate bmad-assist execution in the current repo.","https:\u002F\u002Fgithub.com\u002Freformlab\u002FReformLab\u002Fblob\u002Fmaster\u002F_bmad\u002Fcore\u002Fskills\u002Fbmad-assist-help\u002FSKILL.md",[],[365,26,366,367,368,369,370,371,372,373,374,375,376,377,378,32,379,380,381,382],"help","bmad assist help","config","run","investigate","code","state","logs","execution","relevant","how","why","explain","repo","files","local","project","sprint",{"skillNo":384,"name":385,"nameZh":6,"description":386,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":6,"repositoryNo":12,"starsCount":13,"licenseSpdxId":14,"licenseFileUrl":6,"sourceHtmlUrl":387,"categories":388,"keywords":389,"publishedAt":34},"01M6FQK133CMP4ZT00TW6S7TB1","bmad-fix-ci","Diagnose and fix GitHub CI failures locally. Use when the user says 'fix ci' or 'fix ci failures'.","https:\u002F\u002Fgithub.com\u002Freformlab\u002FReformLab\u002Fblob\u002Fmaster\u002F_bmad\u002Fbmm\u002Fskills\u002Fbmad-fix-ci\u002FSKILL.md",[],[390,26,391,392,393,31,32,394,395,396],"bmad fix ci","ci","fix ci","fix","diagnose","fix ci failures","github",{"skillNo":398,"name":399,"nameZh":6,"description":400,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":6,"repositoryNo":12,"starsCount":13,"licenseSpdxId":14,"licenseFileUrl":6,"sourceHtmlUrl":401,"categories":402,"keywords":406,"publishedAt":34},"01M6FQJW69SATT3C9741MT2KJH","bmad-workflow-builder","Builds, converts, and analyzes workflows and skills. Use when the user requests to \"build a workflow\", \"modify a workflow\", \"quality check workflow\", \"analyze skill\", or \"convert a skill\".","https:\u002F\u002Fgithub.com\u002Freformlab\u002FReformLab\u002Fblob\u002Fmaster\u002F.opencode\u002Fskills\u002Fbmad-workflow-builder\u002FSKILL.md",[403],{"categoryNo":404,"categoryName":405,"taxonomyType":20,"taxonomyTypeDesc":21},"01JBSEEDCAT000000000000023","Skill与智能体开发",[407,408,26,409,410,411,412,413,30,414,31,32,415,416,417],"bmad workflow builder","workflow","builder","workflow builder","workflows","convert","analyze","check","build","quality check","requests",{"skillNo":419,"name":420,"nameZh":6,"description":421,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":6,"repositoryNo":12,"starsCount":13,"licenseSpdxId":14,"licenseFileUrl":6,"sourceHtmlUrl":422,"categories":423,"keywords":429,"publishedAt":34},"01M6FQJQMT5GW37ANR711FCBJR","bmad-validate-prd","Validate a PRD against standards. Use when the user says \"validate this PRD\" or \"run PRD validation\"","https:\u002F\u002Fgithub.com\u002Freformlab\u002FReformLab\u002Fblob\u002Fmaster\u002F.opencode\u002Fskills\u002Fbmad-validate-prd\u002FSKILL.md",[424],{"categoryNo":425,"categoryName":426,"taxonomyType":427,"taxonomyTypeDesc":428},"01JBSEEDCAT000000000000031","产品经理","PROFESSION","适用职业",[26,430,431,432,31,368,29,32,433],"bmad validate prd","prd","validate","standards",{"skillNo":435,"name":436,"nameZh":6,"description":437,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":6,"repositoryNo":12,"starsCount":13,"licenseSpdxId":14,"licenseFileUrl":6,"sourceHtmlUrl":438,"categories":439,"keywords":443,"publishedAt":34},"01M6FQJMCSRVGCG65DAKKGW0M1","bmad-ux-designer","ux-designer agent","https:\u002F\u002Fgithub.com\u002Freformlab\u002FReformLab\u002Fblob\u002Fmaster\u002F.opencode\u002Fskills\u002Fbmad-ux-designer\u002FSKILL.md",[440],{"categoryNo":441,"categoryName":442,"taxonomyType":427,"taxonomyTypeDesc":428},"01JBSEEDCAT000000000000032","设计师",[26,444,445,446,447,448],"bmad ux designer","UX Designer","designer","bmad ux","ux",{"skillNo":450,"name":451,"nameZh":6,"description":452,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":6,"repositoryNo":12,"starsCount":13,"licenseSpdxId":14,"licenseFileUrl":6,"sourceHtmlUrl":453,"categories":454,"keywords":456,"publishedAt":34},"01M6FQJDFKBXTWMBJD29FAC8TA","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\u002Freformlab\u002FReformLab\u002Fblob\u002Fmaster\u002F.opencode\u002Fskills\u002Fbmad-testarch-trace\u002FSKILL.md",[455],{"categoryNo":18,"categoryName":19,"taxonomyType":20,"taxonomyTypeDesc":21},[457,27,458,26,24,459,460,461,413,30,462,31,463,32,464,465,466],"trace","bmad testarch trace","quality gate","create","generate","decision","coverage","test coverage","gate","traceability"]