[{"data":1,"prerenderedAt":-1},["ShallowReactive",2],{"skill:01M6FPT436H4MNP7X7KYH09BWW":3,"skill-same:01M6FPT436H4MNP7X7KYH09BWW":363},{"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":40,"linkOnly":41,"markdownContent":42,"markdownBody":43,"frontMatter":44,"refName":45,"commitSha":46,"skillDirectory":47,"forksCount":48,"repositoryHtmlUrl":49,"repositoryHomepageUrl":50,"ownerHtmlUrl":51,"ownerBlogUrl":52,"ownerDescription":53,"updatedAt":54,"install":55,"resources":68},"01M6FPT436H4MNP7X7KYH09BWW","bmad-testarch-atdd",null,"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\"","reformlab\u002FReformLab","reformlab","https:\u002F\u002Favatars.githubusercontent.com\u002Fu\u002F264161760?v=4","01M6CVRNMTPJRX8QX0P5J8NRZ6","01M6CVRNS5KTS18YC3AZHP1BZ3",2,"AGPL-3.0","https:\u002F\u002Fgithub.com\u002Freformlab\u002FReformLab\u002Fblob\u002Fmaster\u002F.claude\u002Fskills\u002Fbmad-testarch-atdd\u002FSKILL.md",[17],{"categoryNo":18,"categoryName":19,"taxonomyType":20,"taxonomyTypeDesc":21},"01JBSEEDCAT000000000000008","测试与质量","SCENARIO","使用场景",[23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39],"bmad testarch","bmad","bmad testarch atdd","do","acceptance test","scaffolds","red","tests","tdd cycle","cycle","tdd","use","user","write","acceptance","generate","test","2026-11-10 10:12:30",false,"---\nname: bmad-testarch-atdd\ndescription: '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\"'\n---\n\n# Acceptance Test-Driven Development (ATDD)\n\n**Goal:** Generate red-phase acceptance test scaffolds before implementation using TDD red-green-refactor cycle.\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-preflight-and-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","# Acceptance Test-Driven Development (ATDD)\n\n**Goal:** Generate red-phase acceptance test scaffolds before implementation using TDD red-green-refactor cycle.\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-preflight-and-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-atdd",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":56,"prompt":66,"zipAvailable":67},[57,60,63],{"tool":58,"command":59},"npx","npx skills add reformlab\u002FReformLab --skill bmad-testarch-atdd",{"tool":61,"command":62},"bunx","bunx skills add reformlab\u002FReformLab --skill bmad-testarch-atdd",{"tool":64,"command":65},"pnpm","pnpm dlx skills add reformlab\u002FReformLab --skill bmad-testarch-atdd","安装技能，技能地址：https:\u002F\u002Fgithub.com\u002Freformlab\u002FReformLab\u002Fblob\u002Fmaster\u002F.claude\u002Fskills\u002Fbmad-testarch-atdd\u002FSKILL.md",true,[69,75,79,85,89,93,97,101,105,109,113,117,121,125,129,133,137,141,145,149,153,157,161,165,169,173,177,181,185,189,193,197,201,205,209,213,217,221,225,229,233,237,241,245,249,253,257,261,265,269,273,277,281,285,289,293,299,303,307,311,315,319,323,327,331,335,339,343,347,351,355,359],{"path":70,"resourceType":71,"resourceTypeDesc":72,"sizeBytes":73,"sourceHtmlUrl":74},"atdd-checklist-template.md","REFERENCE","参考文档",10095,"https:\u002F\u002Fgithub.com\u002Freformlab\u002FReformLab\u002Fblob\u002Fmaster\u002F.claude\u002Fskills\u002Fbmad-testarch-atdd\u002Fatdd-checklist-template.md",{"path":76,"resourceType":71,"resourceTypeDesc":72,"sizeBytes":77,"sourceHtmlUrl":78},"checklist.md",14271,"https:\u002F\u002Fgithub.com\u002Freformlab\u002FReformLab\u002Fblob\u002Fmaster\u002F.claude\u002Fskills\u002Fbmad-testarch-atdd\u002Fchecklist.md",{"path":80,"resourceType":81,"resourceTypeDesc":82,"sizeBytes":83,"sourceHtmlUrl":84},"customize.toml","OTHER","其他",1552,"https:\u002F\u002Fgithub.com\u002Freformlab\u002FReformLab\u002Fblob\u002Fmaster\u002F.claude\u002Fskills\u002Fbmad-testarch-atdd\u002Fcustomize.toml",{"path":86,"resourceType":71,"resourceTypeDesc":72,"sizeBytes":87,"sourceHtmlUrl":88},"instructions.md",1198,"https:\u002F\u002Fgithub.com\u002Freformlab\u002FReformLab\u002Fblob\u002Fmaster\u002F.claude\u002Fskills\u002Fbmad-testarch-atdd\u002Finstructions.md",{"path":90,"resourceType":71,"resourceTypeDesc":72,"sizeBytes":91,"sourceHtmlUrl":92},"resources\u002Fknowledge\u002Fadr-quality-readiness-checklist.md",25356,"https:\u002F\u002Fgithub.com\u002Freformlab\u002FReformLab\u002Fblob\u002Fmaster\u002F.claude\u002Fskills\u002Fbmad-testarch-atdd\u002Fresources\u002Fknowledge\u002Fadr-quality-readiness-checklist.md",{"path":94,"resourceType":71,"resourceTypeDesc":72,"sizeBytes":95,"sourceHtmlUrl":96},"resources\u002Fknowledge\u002Fapi-request.md",17129,"https:\u002F\u002Fgithub.com\u002Freformlab\u002FReformLab\u002Fblob\u002Fmaster\u002F.claude\u002Fskills\u002Fbmad-testarch-atdd\u002Fresources\u002Fknowledge\u002Fapi-request.md",{"path":98,"resourceType":71,"resourceTypeDesc":72,"sizeBytes":99,"sourceHtmlUrl":100},"resources\u002Fknowledge\u002Fapi-testing-patterns.md",26976,"https:\u002F\u002Fgithub.com\u002Freformlab\u002FReformLab\u002Fblob\u002Fmaster\u002F.claude\u002Fskills\u002Fbmad-testarch-atdd\u002Fresources\u002Fknowledge\u002Fapi-testing-patterns.md",{"path":102,"resourceType":71,"resourceTypeDesc":72,"sizeBytes":103,"sourceHtmlUrl":104},"resources\u002Fknowledge\u002Fauth-session.md",16215,"https:\u002F\u002Fgithub.com\u002Freformlab\u002FReformLab\u002Fblob\u002Fmaster\u002F.claude\u002Fskills\u002Fbmad-testarch-atdd\u002Fresources\u002Fknowledge\u002Fauth-session.md",{"path":106,"resourceType":71,"resourceTypeDesc":72,"sizeBytes":107,"sourceHtmlUrl":108},"resources\u002Fknowledge\u002Fburn-in.md",6503,"https:\u002F\u002Fgithub.com\u002Freformlab\u002FReformLab\u002Fblob\u002Fmaster\u002F.claude\u002Fskills\u002Fbmad-testarch-atdd\u002Fresources\u002Fknowledge\u002Fburn-in.md",{"path":110,"resourceType":71,"resourceTypeDesc":72,"sizeBytes":111,"sourceHtmlUrl":112},"resources\u002Fknowledge\u002Fci-burn-in.md",22486,"https:\u002F\u002Fgithub.com\u002Freformlab\u002FReformLab\u002Fblob\u002Fmaster\u002F.claude\u002Fskills\u002Fbmad-testarch-atdd\u002Fresources\u002Fknowledge\u002Fci-burn-in.md",{"path":114,"resourceType":71,"resourceTypeDesc":72,"sizeBytes":115,"sourceHtmlUrl":116},"resources\u002Fknowledge\u002Fcomponent-tdd.md",16149,"https:\u002F\u002Fgithub.com\u002Freformlab\u002FReformLab\u002Fblob\u002Fmaster\u002F.claude\u002Fskills\u002Fbmad-testarch-atdd\u002Fresources\u002Fknowledge\u002Fcomponent-tdd.md",{"path":118,"resourceType":71,"resourceTypeDesc":72,"sizeBytes":119,"sourceHtmlUrl":120},"resources\u002Fknowledge\u002Fcontract-testing.md",39727,"https:\u002F\u002Fgithub.com\u002Freformlab\u002FReformLab\u002Fblob\u002Fmaster\u002F.claude\u002Fskills\u002Fbmad-testarch-atdd\u002Fresources\u002Fknowledge\u002Fcontract-testing.md",{"path":122,"resourceType":71,"resourceTypeDesc":72,"sizeBytes":123,"sourceHtmlUrl":124},"resources\u002Fknowledge\u002Fdata-factories.md",15331,"https:\u002F\u002Fgithub.com\u002Freformlab\u002FReformLab\u002Fblob\u002Fmaster\u002F.claude\u002Fskills\u002Fbmad-testarch-atdd\u002Fresources\u002Fknowledge\u002Fdata-factories.md",{"path":126,"resourceType":71,"resourceTypeDesc":72,"sizeBytes":127,"sourceHtmlUrl":128},"resources\u002Fknowledge\u002Femail-auth.md",24553,"https:\u002F\u002Fgithub.com\u002Freformlab\u002FReformLab\u002Fblob\u002Fmaster\u002F.claude\u002Fskills\u002Fbmad-testarch-atdd\u002Fresources\u002Fknowledge\u002Femail-auth.md",{"path":130,"resourceType":71,"resourceTypeDesc":72,"sizeBytes":131,"sourceHtmlUrl":132},"resources\u002Fknowledge\u002Ferror-handling.md",22959,"https:\u002F\u002Fgithub.com\u002Freformlab\u002FReformLab\u002Fblob\u002Fmaster\u002F.claude\u002Fskills\u002Fbmad-testarch-atdd\u002Fresources\u002Fknowledge\u002Ferror-handling.md",{"path":134,"resourceType":71,"resourceTypeDesc":72,"sizeBytes":135,"sourceHtmlUrl":136},"resources\u002Fknowledge\u002Ffeature-flags.md",23214,"https:\u002F\u002Fgithub.com\u002Freformlab\u002FReformLab\u002Fblob\u002Fmaster\u002F.claude\u002Fskills\u002Fbmad-testarch-atdd\u002Fresources\u002Fknowledge\u002Ffeature-flags.md",{"path":138,"resourceType":71,"resourceTypeDesc":72,"sizeBytes":139,"sourceHtmlUrl":140},"resources\u002Fknowledge\u002Ffile-utils.md",13745,"https:\u002F\u002Fgithub.com\u002Freformlab\u002FReformLab\u002Fblob\u002Fmaster\u002F.claude\u002Fskills\u002Fbmad-testarch-atdd\u002Fresources\u002Fknowledge\u002Ffile-utils.md",{"path":142,"resourceType":71,"resourceTypeDesc":72,"sizeBytes":143,"sourceHtmlUrl":144},"resources\u002Fknowledge\u002Ffixture-architecture.md",12414,"https:\u002F\u002Fgithub.com\u002Freformlab\u002FReformLab\u002Fblob\u002Fmaster\u002F.claude\u002Fskills\u002Fbmad-testarch-atdd\u002Fresources\u002Fknowledge\u002Ffixture-architecture.md",{"path":146,"resourceType":71,"resourceTypeDesc":72,"sizeBytes":147,"sourceHtmlUrl":148},"resources\u002Fknowledge\u002Ffixtures-composition.md",11249,"https:\u002F\u002Fgithub.com\u002Freformlab\u002FReformLab\u002Fblob\u002Fmaster\u002F.claude\u002Fskills\u002Fbmad-testarch-atdd\u002Fresources\u002Fknowledge\u002Ffixtures-composition.md",{"path":150,"resourceType":71,"resourceTypeDesc":72,"sizeBytes":151,"sourceHtmlUrl":152},"resources\u002Fknowledge\u002Fintercept-network-call.md",13489,"https:\u002F\u002Fgithub.com\u002Freformlab\u002FReformLab\u002Fblob\u002Fmaster\u002F.claude\u002Fskills\u002Fbmad-testarch-atdd\u002Fresources\u002Fknowledge\u002Fintercept-network-call.md",{"path":154,"resourceType":71,"resourceTypeDesc":72,"sizeBytes":155,"sourceHtmlUrl":156},"resources\u002Fknowledge\u002Flog.md",11281,"https:\u002F\u002Fgithub.com\u002Freformlab\u002FReformLab\u002Fblob\u002Fmaster\u002F.claude\u002Fskills\u002Fbmad-testarch-atdd\u002Fresources\u002Fknowledge\u002Flog.md",{"path":158,"resourceType":71,"resourceTypeDesc":72,"sizeBytes":159,"sourceHtmlUrl":160},"resources\u002Fknowledge\u002Fnetwork-error-monitor.md",12277,"https:\u002F\u002Fgithub.com\u002Freformlab\u002FReformLab\u002Fblob\u002Fmaster\u002F.claude\u002Fskills\u002Fbmad-testarch-atdd\u002Fresources\u002Fknowledge\u002Fnetwork-error-monitor.md",{"path":162,"resourceType":71,"resourceTypeDesc":72,"sizeBytes":163,"sourceHtmlUrl":164},"resources\u002Fknowledge\u002Fnetwork-first.md",16327,"https:\u002F\u002Fgithub.com\u002Freformlab\u002FReformLab\u002Fblob\u002Fmaster\u002F.claude\u002Fskills\u002Fbmad-testarch-atdd\u002Fresources\u002Fknowledge\u002Fnetwork-first.md",{"path":166,"resourceType":71,"resourceTypeDesc":72,"sizeBytes":167,"sourceHtmlUrl":168},"resources\u002Fknowledge\u002Fnetwork-recorder.md",15499,"https:\u002F\u002Fgithub.com\u002Freformlab\u002FReformLab\u002Fblob\u002Fmaster\u002F.claude\u002Fskills\u002Fbmad-testarch-atdd\u002Fresources\u002Fknowledge\u002Fnetwork-recorder.md",{"path":170,"resourceType":71,"resourceTypeDesc":72,"sizeBytes":171,"sourceHtmlUrl":172},"resources\u002Fknowledge\u002Fnfr-criteria.md",26670,"https:\u002F\u002Fgithub.com\u002Freformlab\u002FReformLab\u002Fblob\u002Fmaster\u002F.claude\u002Fskills\u002Fbmad-testarch-atdd\u002Fresources\u002Fknowledge\u002Fnfr-criteria.md",{"path":174,"resourceType":71,"resourceTypeDesc":72,"sizeBytes":175,"sourceHtmlUrl":176},"resources\u002Fknowledge\u002Foverview.md",9663,"https:\u002F\u002Fgithub.com\u002Freformlab\u002FReformLab\u002Fblob\u002Fmaster\u002F.claude\u002Fskills\u002Fbmad-testarch-atdd\u002Fresources\u002Fknowledge\u002Foverview.md",{"path":178,"resourceType":71,"resourceTypeDesc":72,"sizeBytes":179,"sourceHtmlUrl":180},"resources\u002Fknowledge\u002Fpact-broker-webhooks.md",13376,"https:\u002F\u002Fgithub.com\u002Freformlab\u002FReformLab\u002Fblob\u002Fmaster\u002F.claude\u002Fskills\u002Fbmad-testarch-atdd\u002Fresources\u002Fknowledge\u002Fpact-broker-webhooks.md",{"path":182,"resourceType":71,"resourceTypeDesc":72,"sizeBytes":183,"sourceHtmlUrl":184},"resources\u002Fknowledge\u002Fpact-consumer-di.md",12005,"https:\u002F\u002Fgithub.com\u002Freformlab\u002FReformLab\u002Fblob\u002Fmaster\u002F.claude\u002Fskills\u002Fbmad-testarch-atdd\u002Fresources\u002Fknowledge\u002Fpact-consumer-di.md",{"path":186,"resourceType":71,"resourceTypeDesc":72,"sizeBytes":187,"sourceHtmlUrl":188},"resources\u002Fknowledge\u002Fpact-consumer-framework-setup.md",35846,"https:\u002F\u002Fgithub.com\u002Freformlab\u002FReformLab\u002Fblob\u002Fmaster\u002F.claude\u002Fskills\u002Fbmad-testarch-atdd\u002Fresources\u002Fknowledge\u002Fpact-consumer-framework-setup.md",{"path":190,"resourceType":71,"resourceTypeDesc":72,"sizeBytes":191,"sourceHtmlUrl":192},"resources\u002Fknowledge\u002Fpact-mcp.md",8977,"https:\u002F\u002Fgithub.com\u002Freformlab\u002FReformLab\u002Fblob\u002Fmaster\u002F.claude\u002Fskills\u002Fbmad-testarch-atdd\u002Fresources\u002Fknowledge\u002Fpact-mcp.md",{"path":194,"resourceType":71,"resourceTypeDesc":72,"sizeBytes":195,"sourceHtmlUrl":196},"resources\u002Fknowledge\u002Fpactjs-utils-consumer-helpers.md",16029,"https:\u002F\u002Fgithub.com\u002Freformlab\u002FReformLab\u002Fblob\u002Fmaster\u002F.claude\u002Fskills\u002Fbmad-testarch-atdd\u002Fresources\u002Fknowledge\u002Fpactjs-utils-consumer-helpers.md",{"path":198,"resourceType":71,"resourceTypeDesc":72,"sizeBytes":199,"sourceHtmlUrl":200},"resources\u002Fknowledge\u002Fpactjs-utils-overview.md",11531,"https:\u002F\u002Fgithub.com\u002Freformlab\u002FReformLab\u002Fblob\u002Fmaster\u002F.claude\u002Fskills\u002Fbmad-testarch-atdd\u002Fresources\u002Fknowledge\u002Fpactjs-utils-overview.md",{"path":202,"resourceType":71,"resourceTypeDesc":72,"sizeBytes":203,"sourceHtmlUrl":204},"resources\u002Fknowledge\u002Fpactjs-utils-provider-verifier.md",18180,"https:\u002F\u002Fgithub.com\u002Freformlab\u002FReformLab\u002Fblob\u002Fmaster\u002F.claude\u002Fskills\u002Fbmad-testarch-atdd\u002Fresources\u002Fknowledge\u002Fpactjs-utils-provider-verifier.md",{"path":206,"resourceType":71,"resourceTypeDesc":72,"sizeBytes":207,"sourceHtmlUrl":208},"resources\u002Fknowledge\u002Fpactjs-utils-request-filter.md",7275,"https:\u002F\u002Fgithub.com\u002Freformlab\u002FReformLab\u002Fblob\u002Fmaster\u002F.claude\u002Fskills\u002Fbmad-testarch-atdd\u002Fresources\u002Fknowledge\u002Fpactjs-utils-request-filter.md",{"path":210,"resourceType":71,"resourceTypeDesc":72,"sizeBytes":211,"sourceHtmlUrl":212},"resources\u002Fknowledge\u002Fpactjs-utils-zod-to-pact.md",11803,"https:\u002F\u002Fgithub.com\u002Freformlab\u002FReformLab\u002Fblob\u002Fmaster\u002F.claude\u002Fskills\u002Fbmad-testarch-atdd\u002Fresources\u002Fknowledge\u002Fpactjs-utils-zod-to-pact.md",{"path":214,"resourceType":71,"resourceTypeDesc":72,"sizeBytes":215,"sourceHtmlUrl":216},"resources\u002Fknowledge\u002Fplaywright-cli.md",14993,"https:\u002F\u002Fgithub.com\u002Freformlab\u002FReformLab\u002Fblob\u002Fmaster\u002F.claude\u002Fskills\u002Fbmad-testarch-atdd\u002Fresources\u002Fknowledge\u002Fplaywright-cli.md",{"path":218,"resourceType":71,"resourceTypeDesc":72,"sizeBytes":219,"sourceHtmlUrl":220},"resources\u002Fknowledge\u002Fplaywright-config.md",21457,"https:\u002F\u002Fgithub.com\u002Freformlab\u002FReformLab\u002Fblob\u002Fmaster\u002F.claude\u002Fskills\u002Fbmad-testarch-atdd\u002Fresources\u002Fknowledge\u002Fplaywright-config.md",{"path":222,"resourceType":71,"resourceTypeDesc":72,"sizeBytes":223,"sourceHtmlUrl":224},"resources\u002Fknowledge\u002Fprobability-impact.md",19200,"https:\u002F\u002Fgithub.com\u002Freformlab\u002FReformLab\u002Fblob\u002Fmaster\u002F.claude\u002Fskills\u002Fbmad-testarch-atdd\u002Fresources\u002Fknowledge\u002Fprobability-impact.md",{"path":226,"resourceType":71,"resourceTypeDesc":72,"sizeBytes":227,"sourceHtmlUrl":228},"resources\u002Fknowledge\u002Frecurse.md",12936,"https:\u002F\u002Fgithub.com\u002Freformlab\u002FReformLab\u002Fblob\u002Fmaster\u002F.claude\u002Fskills\u002Fbmad-testarch-atdd\u002Fresources\u002Fknowledge\u002Frecurse.md",{"path":230,"resourceType":71,"resourceTypeDesc":72,"sizeBytes":231,"sourceHtmlUrl":232},"resources\u002Fknowledge\u002Frisk-governance.md",20965,"https:\u002F\u002Fgithub.com\u002Freformlab\u002FReformLab\u002Fblob\u002Fmaster\u002F.claude\u002Fskills\u002Fbmad-testarch-atdd\u002Fresources\u002Fknowledge\u002Frisk-governance.md",{"path":234,"resourceType":71,"resourceTypeDesc":72,"sizeBytes":235,"sourceHtmlUrl":236},"resources\u002Fknowledge\u002Fselective-testing.md",21846,"https:\u002F\u002Fgithub.com\u002Freformlab\u002FReformLab\u002Fblob\u002Fmaster\u002F.claude\u002Fskills\u002Fbmad-testarch-atdd\u002Fresources\u002Fknowledge\u002Fselective-testing.md",{"path":238,"resourceType":71,"resourceTypeDesc":72,"sizeBytes":239,"sourceHtmlUrl":240},"resources\u002Fknowledge\u002Fselector-resilience.md",19784,"https:\u002F\u002Fgithub.com\u002Freformlab\u002FReformLab\u002Fblob\u002Fmaster\u002F.claude\u002Fskills\u002Fbmad-testarch-atdd\u002Fresources\u002Fknowledge\u002Fselector-resilience.md",{"path":242,"resourceType":71,"resourceTypeDesc":72,"sizeBytes":243,"sourceHtmlUrl":244},"resources\u002Fknowledge\u002Ftest-healing-patterns.md",21388,"https:\u002F\u002Fgithub.com\u002Freformlab\u002FReformLab\u002Fblob\u002Fmaster\u002F.claude\u002Fskills\u002Fbmad-testarch-atdd\u002Fresources\u002Fknowledge\u002Ftest-healing-patterns.md",{"path":246,"resourceType":71,"resourceTypeDesc":72,"sizeBytes":247,"sourceHtmlUrl":248},"resources\u002Fknowledge\u002Ftest-levels-framework.md",14756,"https:\u002F\u002Fgithub.com\u002Freformlab\u002FReformLab\u002Fblob\u002Fmaster\u002F.claude\u002Fskills\u002Fbmad-testarch-atdd\u002Fresources\u002Fknowledge\u002Ftest-levels-framework.md",{"path":250,"resourceType":71,"resourceTypeDesc":72,"sizeBytes":251,"sourceHtmlUrl":252},"resources\u002Fknowledge\u002Ftest-priorities-matrix.md",11454,"https:\u002F\u002Fgithub.com\u002Freformlab\u002FReformLab\u002Fblob\u002Fmaster\u002F.claude\u002Fskills\u002Fbmad-testarch-atdd\u002Fresources\u002Fknowledge\u002Ftest-priorities-matrix.md",{"path":254,"resourceType":71,"resourceTypeDesc":72,"sizeBytes":255,"sourceHtmlUrl":256},"resources\u002Fknowledge\u002Ftest-quality.md",24580,"https:\u002F\u002Fgithub.com\u002Freformlab\u002FReformLab\u002Fblob\u002Fmaster\u002F.claude\u002Fskills\u002Fbmad-testarch-atdd\u002Fresources\u002Fknowledge\u002Ftest-quality.md",{"path":258,"resourceType":71,"resourceTypeDesc":72,"sizeBytes":259,"sourceHtmlUrl":260},"resources\u002Fknowledge\u002Ftiming-debugging.md",14021,"https:\u002F\u002Fgithub.com\u002Freformlab\u002FReformLab\u002Fblob\u002Fmaster\u002F.claude\u002Fskills\u002Fbmad-testarch-atdd\u002Fresources\u002Fknowledge\u002Ftiming-debugging.md",{"path":262,"resourceType":71,"resourceTypeDesc":72,"sizeBytes":263,"sourceHtmlUrl":264},"resources\u002Fknowledge\u002Fvisual-debugging.md",17480,"https:\u002F\u002Fgithub.com\u002Freformlab\u002FReformLab\u002Fblob\u002Fmaster\u002F.claude\u002Fskills\u002Fbmad-testarch-atdd\u002Fresources\u002Fknowledge\u002Fvisual-debugging.md",{"path":266,"resourceType":71,"resourceTypeDesc":72,"sizeBytes":267,"sourceHtmlUrl":268},"resources\u002Fknowledge\u002Fwebhook-module-setup.md",5834,"https:\u002F\u002Fgithub.com\u002Freformlab\u002FReformLab\u002Fblob\u002Fmaster\u002F.claude\u002Fskills\u002Fbmad-testarch-atdd\u002Fresources\u002Fknowledge\u002Fwebhook-module-setup.md",{"path":270,"resourceType":71,"resourceTypeDesc":72,"sizeBytes":271,"sourceHtmlUrl":272},"resources\u002Fknowledge\u002Fwebhook-providers.md",6440,"https:\u002F\u002Fgithub.com\u002Freformlab\u002FReformLab\u002Fblob\u002Fmaster\u002F.claude\u002Fskills\u002Fbmad-testarch-atdd\u002Fresources\u002Fknowledge\u002Fwebhook-providers.md",{"path":274,"resourceType":71,"resourceTypeDesc":72,"sizeBytes":275,"sourceHtmlUrl":276},"resources\u002Fknowledge\u002Fwebhook-risk-guidance.md",6474,"https:\u002F\u002Fgithub.com\u002Freformlab\u002FReformLab\u002Fblob\u002Fmaster\u002F.claude\u002Fskills\u002Fbmad-testarch-atdd\u002Fresources\u002Fknowledge\u002Fwebhook-risk-guidance.md",{"path":278,"resourceType":71,"resourceTypeDesc":72,"sizeBytes":279,"sourceHtmlUrl":280},"resources\u002Fknowledge\u002Fwebhook-template-matchers.md",6011,"https:\u002F\u002Fgithub.com\u002Freformlab\u002FReformLab\u002Fblob\u002Fmaster\u002F.claude\u002Fskills\u002Fbmad-testarch-atdd\u002Fresources\u002Fknowledge\u002Fwebhook-template-matchers.md",{"path":282,"resourceType":71,"resourceTypeDesc":72,"sizeBytes":283,"sourceHtmlUrl":284},"resources\u002Fknowledge\u002Fwebhook-testing-fundamentals.md",3185,"https:\u002F\u002Fgithub.com\u002Freformlab\u002FReformLab\u002Fblob\u002Fmaster\u002F.claude\u002Fskills\u002Fbmad-testarch-atdd\u002Fresources\u002Fknowledge\u002Fwebhook-testing-fundamentals.md",{"path":286,"resourceType":71,"resourceTypeDesc":72,"sizeBytes":287,"sourceHtmlUrl":288},"resources\u002Fknowledge\u002Fwebhook-timeout-error.md",5726,"https:\u002F\u002Fgithub.com\u002Freformlab\u002FReformLab\u002Fblob\u002Fmaster\u002F.claude\u002Fskills\u002Fbmad-testarch-atdd\u002Fresources\u002Fknowledge\u002Fwebhook-timeout-error.md",{"path":290,"resourceType":71,"resourceTypeDesc":72,"sizeBytes":291,"sourceHtmlUrl":292},"resources\u002Fknowledge\u002Fwebhook-waiting-querying.md",7074,"https:\u002F\u002Fgithub.com\u002Freformlab\u002FReformLab\u002Fblob\u002Fmaster\u002F.claude\u002Fskills\u002Fbmad-testarch-atdd\u002Fresources\u002Fknowledge\u002Fwebhook-waiting-querying.md",{"path":294,"resourceType":295,"resourceTypeDesc":296,"sizeBytes":297,"sourceHtmlUrl":298},"resources\u002Ftea-index.csv","ASSET","资产文件",11286,"https:\u002F\u002Fgithub.com\u002Freformlab\u002FReformLab\u002Fblob\u002Fmaster\u002F.claude\u002Fskills\u002Fbmad-testarch-atdd\u002Fresources\u002Ftea-index.csv",{"path":300,"resourceType":71,"resourceTypeDesc":72,"sizeBytes":301,"sourceHtmlUrl":302},"steps-c\u002Fstep-01-preflight-and-context.md",8650,"https:\u002F\u002Fgithub.com\u002Freformlab\u002FReformLab\u002Fblob\u002Fmaster\u002F.claude\u002Fskills\u002Fbmad-testarch-atdd\u002Fsteps-c\u002Fstep-01-preflight-and-context.md",{"path":304,"resourceType":71,"resourceTypeDesc":72,"sizeBytes":305,"sourceHtmlUrl":306},"steps-c\u002Fstep-01b-resume.md",3006,"https:\u002F\u002Fgithub.com\u002Freformlab\u002FReformLab\u002Fblob\u002Fmaster\u002F.claude\u002Fskills\u002Fbmad-testarch-atdd\u002Fsteps-c\u002Fstep-01b-resume.md",{"path":308,"resourceType":71,"resourceTypeDesc":72,"sizeBytes":309,"sourceHtmlUrl":310},"steps-c\u002Fstep-02-generation-mode.md",3541,"https:\u002F\u002Fgithub.com\u002Freformlab\u002FReformLab\u002Fblob\u002Fmaster\u002F.claude\u002Fskills\u002Fbmad-testarch-atdd\u002Fsteps-c\u002Fstep-02-generation-mode.md",{"path":312,"resourceType":71,"resourceTypeDesc":72,"sizeBytes":313,"sourceHtmlUrl":314},"steps-c\u002Fstep-03-test-strategy.md",2864,"https:\u002F\u002Fgithub.com\u002Freformlab\u002FReformLab\u002Fblob\u002Fmaster\u002F.claude\u002Fskills\u002Fbmad-testarch-atdd\u002Fsteps-c\u002Fstep-03-test-strategy.md",{"path":316,"resourceType":71,"resourceTypeDesc":72,"sizeBytes":317,"sourceHtmlUrl":318},"steps-c\u002Fstep-04-generate-tests.md",10298,"https:\u002F\u002Fgithub.com\u002Freformlab\u002FReformLab\u002Fblob\u002Fmaster\u002F.claude\u002Fskills\u002Fbmad-testarch-atdd\u002Fsteps-c\u002Fstep-04-generate-tests.md",{"path":320,"resourceType":71,"resourceTypeDesc":72,"sizeBytes":321,"sourceHtmlUrl":322},"steps-c\u002Fstep-04a-subagent-api-failing.md",11340,"https:\u002F\u002Fgithub.com\u002Freformlab\u002FReformLab\u002Fblob\u002Fmaster\u002F.claude\u002Fskills\u002Fbmad-testarch-atdd\u002Fsteps-c\u002Fstep-04a-subagent-api-failing.md",{"path":324,"resourceType":71,"resourceTypeDesc":72,"sizeBytes":325,"sourceHtmlUrl":326},"steps-c\u002Fstep-04b-subagent-e2e-failing.md",8235,"https:\u002F\u002Fgithub.com\u002Freformlab\u002FReformLab\u002Fblob\u002Fmaster\u002F.claude\u002Fskills\u002Fbmad-testarch-atdd\u002Fsteps-c\u002Fstep-04b-subagent-e2e-failing.md",{"path":328,"resourceType":71,"resourceTypeDesc":72,"sizeBytes":329,"sourceHtmlUrl":330},"steps-c\u002Fstep-04c-aggregate.md",10986,"https:\u002F\u002Fgithub.com\u002Freformlab\u002FReformLab\u002Fblob\u002Fmaster\u002F.claude\u002Fskills\u002Fbmad-testarch-atdd\u002Fsteps-c\u002Fstep-04c-aggregate.md",{"path":332,"resourceType":71,"resourceTypeDesc":72,"sizeBytes":333,"sourceHtmlUrl":334},"steps-c\u002Fstep-05-validate-and-complete.md",3720,"https:\u002F\u002Fgithub.com\u002Freformlab\u002FReformLab\u002Fblob\u002Fmaster\u002F.claude\u002Fskills\u002Fbmad-testarch-atdd\u002Fsteps-c\u002Fstep-05-validate-and-complete.md",{"path":336,"resourceType":71,"resourceTypeDesc":72,"sizeBytes":337,"sourceHtmlUrl":338},"steps-e\u002Fstep-01-assess.md",1253,"https:\u002F\u002Fgithub.com\u002Freformlab\u002FReformLab\u002Fblob\u002Fmaster\u002F.claude\u002Fskills\u002Fbmad-testarch-atdd\u002Fsteps-e\u002Fstep-01-assess.md",{"path":340,"resourceType":71,"resourceTypeDesc":72,"sizeBytes":341,"sourceHtmlUrl":342},"steps-e\u002Fstep-02-apply-edit.md",1475,"https:\u002F\u002Fgithub.com\u002Freformlab\u002FReformLab\u002Fblob\u002Fmaster\u002F.claude\u002Fskills\u002Fbmad-testarch-atdd\u002Fsteps-e\u002Fstep-02-apply-edit.md",{"path":344,"resourceType":71,"resourceTypeDesc":72,"sizeBytes":345,"sourceHtmlUrl":346},"steps-v\u002Fstep-01-validate.md",1792,"https:\u002F\u002Fgithub.com\u002Freformlab\u002FReformLab\u002Fblob\u002Fmaster\u002F.claude\u002Fskills\u002Fbmad-testarch-atdd\u002Fsteps-v\u002Fstep-01-validate.md",{"path":348,"resourceType":71,"resourceTypeDesc":72,"sizeBytes":349,"sourceHtmlUrl":350},"validation-report-20260127-095021.md",2086,"https:\u002F\u002Fgithub.com\u002Freformlab\u002FReformLab\u002Fblob\u002Fmaster\u002F.claude\u002Fskills\u002Fbmad-testarch-atdd\u002Fvalidation-report-20260127-095021.md",{"path":352,"resourceType":71,"resourceTypeDesc":72,"sizeBytes":353,"sourceHtmlUrl":354},"validation-report-20260127-102401.md",3766,"https:\u002F\u002Fgithub.com\u002Freformlab\u002FReformLab\u002Fblob\u002Fmaster\u002F.claude\u002Fskills\u002Fbmad-testarch-atdd\u002Fvalidation-report-20260127-102401.md",{"path":356,"resourceType":71,"resourceTypeDesc":72,"sizeBytes":357,"sourceHtmlUrl":358},"workflow-plan.md",483,"https:\u002F\u002Fgithub.com\u002Freformlab\u002FReformLab\u002Fblob\u002Fmaster\u002F.claude\u002Fskills\u002Fbmad-testarch-atdd\u002Fworkflow-plan.md",{"path":360,"resourceType":71,"resourceTypeDesc":72,"sizeBytes":361,"sourceHtmlUrl":362},"workflow.yaml",1466,"https:\u002F\u002Fgithub.com\u002Freformlab\u002FReformLab\u002Fblob\u002Fmaster\u002F.claude\u002Fskills\u002Fbmad-testarch-atdd\u002Fworkflow.yaml",[364,389,403,425,442,457],{"skillNo":365,"name":366,"nameZh":6,"description":367,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":6,"repositoryNo":12,"starsCount":13,"licenseSpdxId":14,"licenseFileUrl":6,"sourceHtmlUrl":368,"categories":369,"keywords":370,"publishedAt":40},"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",[],[371,24,372,373,374,375,376,377,378,379,380,381,382,383,384,34,385,386,387,388],"help","bmad assist help","config","run","investigate","code","state","logs","execution","relevant","how","why","explain","repo","files","local","project","sprint",{"skillNo":390,"name":391,"nameZh":6,"description":392,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":6,"repositoryNo":12,"starsCount":13,"licenseSpdxId":14,"licenseFileUrl":6,"sourceHtmlUrl":393,"categories":394,"keywords":395,"publishedAt":40},"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",[],[396,24,397,398,399,35,34,400,401,402],"bmad fix ci","ci","fix ci","fix","diagnose","fix ci failures","github",{"skillNo":404,"name":405,"nameZh":6,"description":406,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":6,"repositoryNo":12,"starsCount":13,"licenseSpdxId":14,"licenseFileUrl":6,"sourceHtmlUrl":407,"categories":408,"keywords":412,"publishedAt":40},"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",[409],{"categoryNo":410,"categoryName":411,"taxonomyType":20,"taxonomyTypeDesc":21},"01JBSEEDCAT000000000000023","Skill与智能体开发",[413,414,24,415,416,417,418,419,420,421,35,34,422,423,424],"bmad workflow builder","workflow","builder","workflow builder","workflows","convert","analyze","quality","check","build","quality check","requests",{"skillNo":426,"name":427,"nameZh":6,"description":428,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":6,"repositoryNo":12,"starsCount":13,"licenseSpdxId":14,"licenseFileUrl":6,"sourceHtmlUrl":429,"categories":430,"keywords":436,"publishedAt":40},"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",[431],{"categoryNo":432,"categoryName":433,"taxonomyType":434,"taxonomyTypeDesc":435},"01JBSEEDCAT000000000000031","产品经理","PROFESSION","适用职业",[24,437,438,439,35,374,440,34,441],"bmad validate prd","prd","validate","validation","standards",{"skillNo":443,"name":444,"nameZh":6,"description":445,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":6,"repositoryNo":12,"starsCount":13,"licenseSpdxId":14,"licenseFileUrl":6,"sourceHtmlUrl":446,"categories":447,"keywords":451,"publishedAt":40},"01M6FQJMCSRVGCG65DAKKGW0M1","bmad-ux-designer","ux-designer agent","https:\u002F\u002Fgithub.com\u002Freformlab\u002FReformLab\u002Fblob\u002Fmaster\u002F.opencode\u002Fskills\u002Fbmad-ux-designer\u002FSKILL.md",[448],{"categoryNo":449,"categoryName":450,"taxonomyType":434,"taxonomyTypeDesc":435},"01JBSEEDCAT000000000000032","设计师",[24,452,453,454,455,456],"bmad ux designer","UX Designer","designer","bmad ux","ux",{"skillNo":458,"name":459,"nameZh":6,"description":460,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":6,"repositoryNo":12,"starsCount":13,"licenseSpdxId":14,"licenseFileUrl":6,"sourceHtmlUrl":461,"categories":462,"keywords":464,"publishedAt":40},"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",[463],{"categoryNo":18,"categoryName":19,"taxonomyType":20,"taxonomyTypeDesc":21},[465,23,466,24,39,467,468,38,419,420,469,35,470,34,471,472,473],"trace","bmad testarch trace","quality gate","create","decision","coverage","test coverage","gate","traceability"]