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