[{"data":1,"prerenderedAt":-1},["ShallowReactive",2],{"skill:01M6FQ66B7AEAV0RG4DB0T3X2T":3,"skill-same:01M6FQ66B7AEAV0RG4DB0T3X2T":326},{"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},"01M6FQ66B7AEAV0RG4DB0T3X2T","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.gemini\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\nFollow the instructions in [workflow.md](workflow.md).\n","Follow the instructions in [workflow.md](workflow.md).\n",{"name":5,"description":7},"master","314a64e40d9abca764698290593908a736500b30",".gemini\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.gemini\u002Fskills\u002Fbmad-testarch-nfr\u002FSKILL.md",true,[58,64,68,72,76,80,84,88,92,96,100,104,108,112,116,120,124,128,132,136,140,144,148,152,156,160,164,168,172,176,180,184,188,192,196,200,204,208,212,216,220,224,228,232,236,240,244,250,254,258,262,266,270,274,278,282,286,290,294,298,302,306,310,314,318,322],{"path":59,"resourceType":60,"resourceTypeDesc":61,"sizeBytes":62,"sourceHtmlUrl":63},"bmad-skill-manifest.yaml","REFERENCE","参考文档",12,"https:\u002F\u002Fgithub.com\u002Freformlab\u002FReformLab\u002Fblob\u002Fmaster\u002F.gemini\u002Fskills\u002Fbmad-testarch-nfr\u002Fbmad-skill-manifest.yaml",{"path":65,"resourceType":60,"resourceTypeDesc":61,"sizeBytes":66,"sourceHtmlUrl":67},"checklist.md",13686,"https:\u002F\u002Fgithub.com\u002Freformlab\u002FReformLab\u002Fblob\u002Fmaster\u002F.gemini\u002Fskills\u002Fbmad-testarch-nfr\u002Fchecklist.md",{"path":69,"resourceType":60,"resourceTypeDesc":61,"sizeBytes":70,"sourceHtmlUrl":71},"instructions.md",1109,"https:\u002F\u002Fgithub.com\u002Freformlab\u002FReformLab\u002Fblob\u002Fmaster\u002F.gemini\u002Fskills\u002Fbmad-testarch-nfr\u002Finstructions.md",{"path":73,"resourceType":60,"resourceTypeDesc":61,"sizeBytes":74,"sourceHtmlUrl":75},"nfr-report-template.md",13925,"https:\u002F\u002Fgithub.com\u002Freformlab\u002FReformLab\u002Fblob\u002Fmaster\u002F.gemini\u002Fskills\u002Fbmad-testarch-nfr\u002Fnfr-report-template.md",{"path":77,"resourceType":60,"resourceTypeDesc":61,"sizeBytes":78,"sourceHtmlUrl":79},"resources\u002Fknowledge\u002Fadr-quality-readiness-checklist.md",25356,"https:\u002F\u002Fgithub.com\u002Freformlab\u002FReformLab\u002Fblob\u002Fmaster\u002F.gemini\u002Fskills\u002Fbmad-testarch-nfr\u002Fresources\u002Fknowledge\u002Fadr-quality-readiness-checklist.md",{"path":81,"resourceType":60,"resourceTypeDesc":61,"sizeBytes":82,"sourceHtmlUrl":83},"resources\u002Fknowledge\u002Fapi-request.md",17129,"https:\u002F\u002Fgithub.com\u002Freformlab\u002FReformLab\u002Fblob\u002Fmaster\u002F.gemini\u002Fskills\u002Fbmad-testarch-nfr\u002Fresources\u002Fknowledge\u002Fapi-request.md",{"path":85,"resourceType":60,"resourceTypeDesc":61,"sizeBytes":86,"sourceHtmlUrl":87},"resources\u002Fknowledge\u002Fapi-testing-patterns.md",26976,"https:\u002F\u002Fgithub.com\u002Freformlab\u002FReformLab\u002Fblob\u002Fmaster\u002F.gemini\u002Fskills\u002Fbmad-testarch-nfr\u002Fresources\u002Fknowledge\u002Fapi-testing-patterns.md",{"path":89,"resourceType":60,"resourceTypeDesc":61,"sizeBytes":90,"sourceHtmlUrl":91},"resources\u002Fknowledge\u002Fauth-session.md",16215,"https:\u002F\u002Fgithub.com\u002Freformlab\u002FReformLab\u002Fblob\u002Fmaster\u002F.gemini\u002Fskills\u002Fbmad-testarch-nfr\u002Fresources\u002Fknowledge\u002Fauth-session.md",{"path":93,"resourceType":60,"resourceTypeDesc":61,"sizeBytes":94,"sourceHtmlUrl":95},"resources\u002Fknowledge\u002Fburn-in.md",6503,"https:\u002F\u002Fgithub.com\u002Freformlab\u002FReformLab\u002Fblob\u002Fmaster\u002F.gemini\u002Fskills\u002Fbmad-testarch-nfr\u002Fresources\u002Fknowledge\u002Fburn-in.md",{"path":97,"resourceType":60,"resourceTypeDesc":61,"sizeBytes":98,"sourceHtmlUrl":99},"resources\u002Fknowledge\u002Fci-burn-in.md",22486,"https:\u002F\u002Fgithub.com\u002Freformlab\u002FReformLab\u002Fblob\u002Fmaster\u002F.gemini\u002Fskills\u002Fbmad-testarch-nfr\u002Fresources\u002Fknowledge\u002Fci-burn-in.md",{"path":101,"resourceType":60,"resourceTypeDesc":61,"sizeBytes":102,"sourceHtmlUrl":103},"resources\u002Fknowledge\u002Fcomponent-tdd.md",16149,"https:\u002F\u002Fgithub.com\u002Freformlab\u002FReformLab\u002Fblob\u002Fmaster\u002F.gemini\u002Fskills\u002Fbmad-testarch-nfr\u002Fresources\u002Fknowledge\u002Fcomponent-tdd.md",{"path":105,"resourceType":60,"resourceTypeDesc":61,"sizeBytes":106,"sourceHtmlUrl":107},"resources\u002Fknowledge\u002Fcontract-testing.md",36222,"https:\u002F\u002Fgithub.com\u002Freformlab\u002FReformLab\u002Fblob\u002Fmaster\u002F.gemini\u002Fskills\u002Fbmad-testarch-nfr\u002Fresources\u002Fknowledge\u002Fcontract-testing.md",{"path":109,"resourceType":60,"resourceTypeDesc":61,"sizeBytes":110,"sourceHtmlUrl":111},"resources\u002Fknowledge\u002Fdata-factories.md",15331,"https:\u002F\u002Fgithub.com\u002Freformlab\u002FReformLab\u002Fblob\u002Fmaster\u002F.gemini\u002Fskills\u002Fbmad-testarch-nfr\u002Fresources\u002Fknowledge\u002Fdata-factories.md",{"path":113,"resourceType":60,"resourceTypeDesc":61,"sizeBytes":114,"sourceHtmlUrl":115},"resources\u002Fknowledge\u002Femail-auth.md",24553,"https:\u002F\u002Fgithub.com\u002Freformlab\u002FReformLab\u002Fblob\u002Fmaster\u002F.gemini\u002Fskills\u002Fbmad-testarch-nfr\u002Fresources\u002Fknowledge\u002Femail-auth.md",{"path":117,"resourceType":60,"resourceTypeDesc":61,"sizeBytes":118,"sourceHtmlUrl":119},"resources\u002Fknowledge\u002Ferror-handling.md",22959,"https:\u002F\u002Fgithub.com\u002Freformlab\u002FReformLab\u002Fblob\u002Fmaster\u002F.gemini\u002Fskills\u002Fbmad-testarch-nfr\u002Fresources\u002Fknowledge\u002Ferror-handling.md",{"path":121,"resourceType":60,"resourceTypeDesc":61,"sizeBytes":122,"sourceHtmlUrl":123},"resources\u002Fknowledge\u002Ffeature-flags.md",23214,"https:\u002F\u002Fgithub.com\u002Freformlab\u002FReformLab\u002Fblob\u002Fmaster\u002F.gemini\u002Fskills\u002Fbmad-testarch-nfr\u002Fresources\u002Fknowledge\u002Ffeature-flags.md",{"path":125,"resourceType":60,"resourceTypeDesc":61,"sizeBytes":126,"sourceHtmlUrl":127},"resources\u002Fknowledge\u002Ffile-utils.md",13745,"https:\u002F\u002Fgithub.com\u002Freformlab\u002FReformLab\u002Fblob\u002Fmaster\u002F.gemini\u002Fskills\u002Fbmad-testarch-nfr\u002Fresources\u002Fknowledge\u002Ffile-utils.md",{"path":129,"resourceType":60,"resourceTypeDesc":61,"sizeBytes":130,"sourceHtmlUrl":131},"resources\u002Fknowledge\u002Ffixture-architecture.md",12414,"https:\u002F\u002Fgithub.com\u002Freformlab\u002FReformLab\u002Fblob\u002Fmaster\u002F.gemini\u002Fskills\u002Fbmad-testarch-nfr\u002Fresources\u002Fknowledge\u002Ffixture-architecture.md",{"path":133,"resourceType":60,"resourceTypeDesc":61,"sizeBytes":134,"sourceHtmlUrl":135},"resources\u002Fknowledge\u002Ffixtures-composition.md",11249,"https:\u002F\u002Fgithub.com\u002Freformlab\u002FReformLab\u002Fblob\u002Fmaster\u002F.gemini\u002Fskills\u002Fbmad-testarch-nfr\u002Fresources\u002Fknowledge\u002Ffixtures-composition.md",{"path":137,"resourceType":60,"resourceTypeDesc":61,"sizeBytes":138,"sourceHtmlUrl":139},"resources\u002Fknowledge\u002Fintercept-network-call.md",13489,"https:\u002F\u002Fgithub.com\u002Freformlab\u002FReformLab\u002Fblob\u002Fmaster\u002F.gemini\u002Fskills\u002Fbmad-testarch-nfr\u002Fresources\u002Fknowledge\u002Fintercept-network-call.md",{"path":141,"resourceType":60,"resourceTypeDesc":61,"sizeBytes":142,"sourceHtmlUrl":143},"resources\u002Fknowledge\u002Flog.md",11281,"https:\u002F\u002Fgithub.com\u002Freformlab\u002FReformLab\u002Fblob\u002Fmaster\u002F.gemini\u002Fskills\u002Fbmad-testarch-nfr\u002Fresources\u002Fknowledge\u002Flog.md",{"path":145,"resourceType":60,"resourceTypeDesc":61,"sizeBytes":146,"sourceHtmlUrl":147},"resources\u002Fknowledge\u002Fnetwork-error-monitor.md",12277,"https:\u002F\u002Fgithub.com\u002Freformlab\u002FReformLab\u002Fblob\u002Fmaster\u002F.gemini\u002Fskills\u002Fbmad-testarch-nfr\u002Fresources\u002Fknowledge\u002Fnetwork-error-monitor.md",{"path":149,"resourceType":60,"resourceTypeDesc":61,"sizeBytes":150,"sourceHtmlUrl":151},"resources\u002Fknowledge\u002Fnetwork-first.md",16327,"https:\u002F\u002Fgithub.com\u002Freformlab\u002FReformLab\u002Fblob\u002Fmaster\u002F.gemini\u002Fskills\u002Fbmad-testarch-nfr\u002Fresources\u002Fknowledge\u002Fnetwork-first.md",{"path":153,"resourceType":60,"resourceTypeDesc":61,"sizeBytes":154,"sourceHtmlUrl":155},"resources\u002Fknowledge\u002Fnetwork-recorder.md",15499,"https:\u002F\u002Fgithub.com\u002Freformlab\u002FReformLab\u002Fblob\u002Fmaster\u002F.gemini\u002Fskills\u002Fbmad-testarch-nfr\u002Fresources\u002Fknowledge\u002Fnetwork-recorder.md",{"path":157,"resourceType":60,"resourceTypeDesc":61,"sizeBytes":158,"sourceHtmlUrl":159},"resources\u002Fknowledge\u002Fnfr-criteria.md",26670,"https:\u002F\u002Fgithub.com\u002Freformlab\u002FReformLab\u002Fblob\u002Fmaster\u002F.gemini\u002Fskills\u002Fbmad-testarch-nfr\u002Fresources\u002Fknowledge\u002Fnfr-criteria.md",{"path":161,"resourceType":60,"resourceTypeDesc":61,"sizeBytes":162,"sourceHtmlUrl":163},"resources\u002Fknowledge\u002Foverview.md",9663,"https:\u002F\u002Fgithub.com\u002Freformlab\u002FReformLab\u002Fblob\u002Fmaster\u002F.gemini\u002Fskills\u002Fbmad-testarch-nfr\u002Fresources\u002Fknowledge\u002Foverview.md",{"path":165,"resourceType":60,"resourceTypeDesc":61,"sizeBytes":166,"sourceHtmlUrl":167},"resources\u002Fknowledge\u002Fpact-consumer-di.md",12005,"https:\u002F\u002Fgithub.com\u002Freformlab\u002FReformLab\u002Fblob\u002Fmaster\u002F.gemini\u002Fskills\u002Fbmad-testarch-nfr\u002Fresources\u002Fknowledge\u002Fpact-consumer-di.md",{"path":169,"resourceType":60,"resourceTypeDesc":61,"sizeBytes":170,"sourceHtmlUrl":171},"resources\u002Fknowledge\u002Fpact-consumer-framework-setup.md",24909,"https:\u002F\u002Fgithub.com\u002Freformlab\u002FReformLab\u002Fblob\u002Fmaster\u002F.gemini\u002Fskills\u002Fbmad-testarch-nfr\u002Fresources\u002Fknowledge\u002Fpact-consumer-framework-setup.md",{"path":173,"resourceType":60,"resourceTypeDesc":61,"sizeBytes":174,"sourceHtmlUrl":175},"resources\u002Fknowledge\u002Fpact-mcp.md",8810,"https:\u002F\u002Fgithub.com\u002Freformlab\u002FReformLab\u002Fblob\u002Fmaster\u002F.gemini\u002Fskills\u002Fbmad-testarch-nfr\u002Fresources\u002Fknowledge\u002Fpact-mcp.md",{"path":177,"resourceType":60,"resourceTypeDesc":61,"sizeBytes":178,"sourceHtmlUrl":179},"resources\u002Fknowledge\u002Fpactjs-utils-consumer-helpers.md",10678,"https:\u002F\u002Fgithub.com\u002Freformlab\u002FReformLab\u002Fblob\u002Fmaster\u002F.gemini\u002Fskills\u002Fbmad-testarch-nfr\u002Fresources\u002Fknowledge\u002Fpactjs-utils-consumer-helpers.md",{"path":181,"resourceType":60,"resourceTypeDesc":61,"sizeBytes":182,"sourceHtmlUrl":183},"resources\u002Fknowledge\u002Fpactjs-utils-overview.md",10481,"https:\u002F\u002Fgithub.com\u002Freformlab\u002FReformLab\u002Fblob\u002Fmaster\u002F.gemini\u002Fskills\u002Fbmad-testarch-nfr\u002Fresources\u002Fknowledge\u002Fpactjs-utils-overview.md",{"path":185,"resourceType":60,"resourceTypeDesc":61,"sizeBytes":186,"sourceHtmlUrl":187},"resources\u002Fknowledge\u002Fpactjs-utils-provider-verifier.md",13775,"https:\u002F\u002Fgithub.com\u002Freformlab\u002FReformLab\u002Fblob\u002Fmaster\u002F.gemini\u002Fskills\u002Fbmad-testarch-nfr\u002Fresources\u002Fknowledge\u002Fpactjs-utils-provider-verifier.md",{"path":189,"resourceType":60,"resourceTypeDesc":61,"sizeBytes":190,"sourceHtmlUrl":191},"resources\u002Fknowledge\u002Fpactjs-utils-request-filter.md",7275,"https:\u002F\u002Fgithub.com\u002Freformlab\u002FReformLab\u002Fblob\u002Fmaster\u002F.gemini\u002Fskills\u002Fbmad-testarch-nfr\u002Fresources\u002Fknowledge\u002Fpactjs-utils-request-filter.md",{"path":193,"resourceType":60,"resourceTypeDesc":61,"sizeBytes":194,"sourceHtmlUrl":195},"resources\u002Fknowledge\u002Fplaywright-cli.md",14993,"https:\u002F\u002Fgithub.com\u002Freformlab\u002FReformLab\u002Fblob\u002Fmaster\u002F.gemini\u002Fskills\u002Fbmad-testarch-nfr\u002Fresources\u002Fknowledge\u002Fplaywright-cli.md",{"path":197,"resourceType":60,"resourceTypeDesc":61,"sizeBytes":198,"sourceHtmlUrl":199},"resources\u002Fknowledge\u002Fplaywright-config.md",21457,"https:\u002F\u002Fgithub.com\u002Freformlab\u002FReformLab\u002Fblob\u002Fmaster\u002F.gemini\u002Fskills\u002Fbmad-testarch-nfr\u002Fresources\u002Fknowledge\u002Fplaywright-config.md",{"path":201,"resourceType":60,"resourceTypeDesc":61,"sizeBytes":202,"sourceHtmlUrl":203},"resources\u002Fknowledge\u002Fprobability-impact.md",19200,"https:\u002F\u002Fgithub.com\u002Freformlab\u002FReformLab\u002Fblob\u002Fmaster\u002F.gemini\u002Fskills\u002Fbmad-testarch-nfr\u002Fresources\u002Fknowledge\u002Fprobability-impact.md",{"path":205,"resourceType":60,"resourceTypeDesc":61,"sizeBytes":206,"sourceHtmlUrl":207},"resources\u002Fknowledge\u002Frecurse.md",12936,"https:\u002F\u002Fgithub.com\u002Freformlab\u002FReformLab\u002Fblob\u002Fmaster\u002F.gemini\u002Fskills\u002Fbmad-testarch-nfr\u002Fresources\u002Fknowledge\u002Frecurse.md",{"path":209,"resourceType":60,"resourceTypeDesc":61,"sizeBytes":210,"sourceHtmlUrl":211},"resources\u002Fknowledge\u002Frisk-governance.md",20965,"https:\u002F\u002Fgithub.com\u002Freformlab\u002FReformLab\u002Fblob\u002Fmaster\u002F.gemini\u002Fskills\u002Fbmad-testarch-nfr\u002Fresources\u002Fknowledge\u002Frisk-governance.md",{"path":213,"resourceType":60,"resourceTypeDesc":61,"sizeBytes":214,"sourceHtmlUrl":215},"resources\u002Fknowledge\u002Fselective-testing.md",21846,"https:\u002F\u002Fgithub.com\u002Freformlab\u002FReformLab\u002Fblob\u002Fmaster\u002F.gemini\u002Fskills\u002Fbmad-testarch-nfr\u002Fresources\u002Fknowledge\u002Fselective-testing.md",{"path":217,"resourceType":60,"resourceTypeDesc":61,"sizeBytes":218,"sourceHtmlUrl":219},"resources\u002Fknowledge\u002Fselector-resilience.md",19784,"https:\u002F\u002Fgithub.com\u002Freformlab\u002FReformLab\u002Fblob\u002Fmaster\u002F.gemini\u002Fskills\u002Fbmad-testarch-nfr\u002Fresources\u002Fknowledge\u002Fselector-resilience.md",{"path":221,"resourceType":60,"resourceTypeDesc":61,"sizeBytes":222,"sourceHtmlUrl":223},"resources\u002Fknowledge\u002Ftest-healing-patterns.md",21388,"https:\u002F\u002Fgithub.com\u002Freformlab\u002FReformLab\u002Fblob\u002Fmaster\u002F.gemini\u002Fskills\u002Fbmad-testarch-nfr\u002Fresources\u002Fknowledge\u002Ftest-healing-patterns.md",{"path":225,"resourceType":60,"resourceTypeDesc":61,"sizeBytes":226,"sourceHtmlUrl":227},"resources\u002Fknowledge\u002Ftest-levels-framework.md",14756,"https:\u002F\u002Fgithub.com\u002Freformlab\u002FReformLab\u002Fblob\u002Fmaster\u002F.gemini\u002Fskills\u002Fbmad-testarch-nfr\u002Fresources\u002Fknowledge\u002Ftest-levels-framework.md",{"path":229,"resourceType":60,"resourceTypeDesc":61,"sizeBytes":230,"sourceHtmlUrl":231},"resources\u002Fknowledge\u002Ftest-priorities-matrix.md",11454,"https:\u002F\u002Fgithub.com\u002Freformlab\u002FReformLab\u002Fblob\u002Fmaster\u002F.gemini\u002Fskills\u002Fbmad-testarch-nfr\u002Fresources\u002Fknowledge\u002Ftest-priorities-matrix.md",{"path":233,"resourceType":60,"resourceTypeDesc":61,"sizeBytes":234,"sourceHtmlUrl":235},"resources\u002Fknowledge\u002Ftest-quality.md",24580,"https:\u002F\u002Fgithub.com\u002Freformlab\u002FReformLab\u002Fblob\u002Fmaster\u002F.gemini\u002Fskills\u002Fbmad-testarch-nfr\u002Fresources\u002Fknowledge\u002Ftest-quality.md",{"path":237,"resourceType":60,"resourceTypeDesc":61,"sizeBytes":238,"sourceHtmlUrl":239},"resources\u002Fknowledge\u002Ftiming-debugging.md",14021,"https:\u002F\u002Fgithub.com\u002Freformlab\u002FReformLab\u002Fblob\u002Fmaster\u002F.gemini\u002Fskills\u002Fbmad-testarch-nfr\u002Fresources\u002Fknowledge\u002Ftiming-debugging.md",{"path":241,"resourceType":60,"resourceTypeDesc":61,"sizeBytes":242,"sourceHtmlUrl":243},"resources\u002Fknowledge\u002Fvisual-debugging.md",17480,"https:\u002F\u002Fgithub.com\u002Freformlab\u002FReformLab\u002Fblob\u002Fmaster\u002F.gemini\u002Fskills\u002Fbmad-testarch-nfr\u002Fresources\u002Fknowledge\u002Fvisual-debugging.md",{"path":245,"resourceType":246,"resourceTypeDesc":247,"sizeBytes":248,"sourceHtmlUrl":249},"resources\u002Ftea-index.csv","ASSET","资产文件",8179,"https:\u002F\u002Fgithub.com\u002Freformlab\u002FReformLab\u002Fblob\u002Fmaster\u002F.gemini\u002Fskills\u002Fbmad-testarch-nfr\u002Fresources\u002Ftea-index.csv",{"path":251,"resourceType":60,"resourceTypeDesc":61,"sizeBytes":252,"sourceHtmlUrl":253},"steps-c\u002Fstep-01-load-context.md",3744,"https:\u002F\u002Fgithub.com\u002Freformlab\u002FReformLab\u002Fblob\u002Fmaster\u002F.gemini\u002Fskills\u002Fbmad-testarch-nfr\u002Fsteps-c\u002Fstep-01-load-context.md",{"path":255,"resourceType":60,"resourceTypeDesc":61,"sizeBytes":256,"sourceHtmlUrl":257},"steps-c\u002Fstep-01b-resume.md",3326,"https:\u002F\u002Fgithub.com\u002Freformlab\u002FReformLab\u002Fblob\u002Fmaster\u002F.gemini\u002Fskills\u002Fbmad-testarch-nfr\u002Fsteps-c\u002Fstep-01b-resume.md",{"path":259,"resourceType":60,"resourceTypeDesc":61,"sizeBytes":260,"sourceHtmlUrl":261},"steps-c\u002Fstep-02-define-thresholds.md",2569,"https:\u002F\u002Fgithub.com\u002Freformlab\u002FReformLab\u002Fblob\u002Fmaster\u002F.gemini\u002Fskills\u002Fbmad-testarch-nfr\u002Fsteps-c\u002Fstep-02-define-thresholds.md",{"path":263,"resourceType":60,"resourceTypeDesc":61,"sizeBytes":264,"sourceHtmlUrl":265},"steps-c\u002Fstep-03-gather-evidence.md",3124,"https:\u002F\u002Fgithub.com\u002Freformlab\u002FReformLab\u002Fblob\u002Fmaster\u002F.gemini\u002Fskills\u002Fbmad-testarch-nfr\u002Fsteps-c\u002Fstep-03-gather-evidence.md",{"path":267,"resourceType":60,"resourceTypeDesc":61,"sizeBytes":268,"sourceHtmlUrl":269},"steps-c\u002Fstep-04-evaluate-and-score.md",6970,"https:\u002F\u002Fgithub.com\u002Freformlab\u002FReformLab\u002Fblob\u002Fmaster\u002F.gemini\u002Fskills\u002Fbmad-testarch-nfr\u002Fsteps-c\u002Fstep-04-evaluate-and-score.md",{"path":271,"resourceType":60,"resourceTypeDesc":61,"sizeBytes":272,"sourceHtmlUrl":273},"steps-c\u002Fstep-04a-subagent-security.md",3167,"https:\u002F\u002Fgithub.com\u002Freformlab\u002FReformLab\u002Fblob\u002Fmaster\u002F.gemini\u002Fskills\u002Fbmad-testarch-nfr\u002Fsteps-c\u002Fstep-04a-subagent-security.md",{"path":275,"resourceType":60,"resourceTypeDesc":61,"sizeBytes":276,"sourceHtmlUrl":277},"steps-c\u002Fstep-04b-subagent-performance.md",1826,"https:\u002F\u002Fgithub.com\u002Freformlab\u002FReformLab\u002Fblob\u002Fmaster\u002F.gemini\u002Fskills\u002Fbmad-testarch-nfr\u002Fsteps-c\u002Fstep-04b-subagent-performance.md",{"path":279,"resourceType":60,"resourceTypeDesc":61,"sizeBytes":280,"sourceHtmlUrl":281},"steps-c\u002Fstep-04c-subagent-reliability.md",1843,"https:\u002F\u002Fgithub.com\u002Freformlab\u002FReformLab\u002Fblob\u002Fmaster\u002F.gemini\u002Fskills\u002Fbmad-testarch-nfr\u002Fsteps-c\u002Fstep-04c-subagent-reliability.md",{"path":283,"resourceType":60,"resourceTypeDesc":61,"sizeBytes":284,"sourceHtmlUrl":285},"steps-c\u002Fstep-04d-subagent-scalability.md",2020,"https:\u002F\u002Fgithub.com\u002Freformlab\u002FReformLab\u002Fblob\u002Fmaster\u002F.gemini\u002Fskills\u002Fbmad-testarch-nfr\u002Fsteps-c\u002Fstep-04d-subagent-scalability.md",{"path":287,"resourceType":60,"resourceTypeDesc":61,"sizeBytes":288,"sourceHtmlUrl":289},"steps-c\u002Fstep-04e-aggregate-nfr.md",6918,"https:\u002F\u002Fgithub.com\u002Freformlab\u002FReformLab\u002Fblob\u002Fmaster\u002F.gemini\u002Fskills\u002Fbmad-testarch-nfr\u002Fsteps-c\u002Fstep-04e-aggregate-nfr.md",{"path":291,"resourceType":60,"resourceTypeDesc":61,"sizeBytes":292,"sourceHtmlUrl":293},"steps-c\u002Fstep-05-generate-report.md",2790,"https:\u002F\u002Fgithub.com\u002Freformlab\u002FReformLab\u002Fblob\u002Fmaster\u002F.gemini\u002Fskills\u002Fbmad-testarch-nfr\u002Fsteps-c\u002Fstep-05-generate-report.md",{"path":295,"resourceType":60,"resourceTypeDesc":61,"sizeBytes":296,"sourceHtmlUrl":297},"steps-e\u002Fstep-01-assess.md",1234,"https:\u002F\u002Fgithub.com\u002Freformlab\u002FReformLab\u002Fblob\u002Fmaster\u002F.gemini\u002Fskills\u002Fbmad-testarch-nfr\u002Fsteps-e\u002Fstep-01-assess.md",{"path":299,"resourceType":60,"resourceTypeDesc":61,"sizeBytes":300,"sourceHtmlUrl":301},"steps-e\u002Fstep-02-apply-edit.md",1094,"https:\u002F\u002Fgithub.com\u002Freformlab\u002FReformLab\u002Fblob\u002Fmaster\u002F.gemini\u002Fskills\u002Fbmad-testarch-nfr\u002Fsteps-e\u002Fstep-02-apply-edit.md",{"path":303,"resourceType":60,"resourceTypeDesc":61,"sizeBytes":304,"sourceHtmlUrl":305},"steps-v\u002Fstep-01-validate.md",1407,"https:\u002F\u002Fgithub.com\u002Freformlab\u002FReformLab\u002Fblob\u002Fmaster\u002F.gemini\u002Fskills\u002Fbmad-testarch-nfr\u002Fsteps-v\u002Fstep-01-validate.md",{"path":307,"resourceType":60,"resourceTypeDesc":61,"sizeBytes":308,"sourceHtmlUrl":309},"validation-report-20260127-095021.md",2072,"https:\u002F\u002Fgithub.com\u002Freformlab\u002FReformLab\u002Fblob\u002Fmaster\u002F.gemini\u002Fskills\u002Fbmad-testarch-nfr\u002Fvalidation-report-20260127-095021.md",{"path":311,"resourceType":60,"resourceTypeDesc":61,"sizeBytes":312,"sourceHtmlUrl":313},"validation-report-20260127-102401.md",3745,"https:\u002F\u002Fgithub.com\u002Freformlab\u002FReformLab\u002Fblob\u002Fmaster\u002F.gemini\u002Fskills\u002Fbmad-testarch-nfr\u002Fvalidation-report-20260127-102401.md",{"path":315,"resourceType":60,"resourceTypeDesc":61,"sizeBytes":316,"sourceHtmlUrl":317},"workflow-plan.md",397,"https:\u002F\u002Fgithub.com\u002Freformlab\u002FReformLab\u002Fblob\u002Fmaster\u002F.gemini\u002Fskills\u002Fbmad-testarch-nfr\u002Fworkflow-plan.md",{"path":319,"resourceType":60,"resourceTypeDesc":61,"sizeBytes":320,"sourceHtmlUrl":321},"workflow.md",1211,"https:\u002F\u002Fgithub.com\u002Freformlab\u002FReformLab\u002Fblob\u002Fmaster\u002F.gemini\u002Fskills\u002Fbmad-testarch-nfr\u002Fworkflow.md",{"path":323,"resourceType":60,"resourceTypeDesc":61,"sizeBytes":324,"sourceHtmlUrl":325},"workflow.yaml",1635,"https:\u002F\u002Fgithub.com\u002Freformlab\u002FReformLab\u002Fblob\u002Fmaster\u002F.gemini\u002Fskills\u002Fbmad-testarch-nfr\u002Fworkflow.yaml",[327,352,366,390,407,422],{"skillNo":328,"name":329,"nameZh":6,"description":330,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":6,"repositoryNo":12,"starsCount":13,"licenseSpdxId":14,"licenseFileUrl":6,"sourceHtmlUrl":331,"categories":332,"keywords":333,"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",[],[334,19,335,336,337,338,339,340,341,342,343,344,345,346,347,24,348,349,350,351],"help","bmad assist help","config","run","investigate","code","state","logs","execution","relevant","how","why","explain","repo","files","local","project","sprint",{"skillNo":353,"name":354,"nameZh":6,"description":355,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":6,"repositoryNo":12,"starsCount":13,"licenseSpdxId":14,"licenseFileUrl":6,"sourceHtmlUrl":356,"categories":357,"keywords":358,"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",[],[359,19,360,361,362,23,24,363,364,365],"bmad fix ci","ci","fix ci","fix","diagnose","fix ci failures","github",{"skillNo":367,"name":368,"nameZh":6,"description":369,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":6,"repositoryNo":12,"starsCount":13,"licenseSpdxId":14,"licenseFileUrl":6,"sourceHtmlUrl":370,"categories":371,"keywords":377,"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",[372],{"categoryNo":373,"categoryName":374,"taxonomyType":375,"taxonomyTypeDesc":376},"01JBSEEDCAT000000000000023","Skill与智能体开发","SCENARIO","使用场景",[378,379,19,380,381,382,383,384,385,386,23,24,387,388,389],"bmad workflow builder","workflow","builder","workflow builder","workflows","convert","analyze","quality","check","build","quality check","requests",{"skillNo":391,"name":392,"nameZh":6,"description":393,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":6,"repositoryNo":12,"starsCount":13,"licenseSpdxId":14,"licenseFileUrl":6,"sourceHtmlUrl":394,"categories":395,"keywords":401,"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",[396],{"categoryNo":397,"categoryName":398,"taxonomyType":399,"taxonomyTypeDesc":400},"01JBSEEDCAT000000000000031","产品经理","PROFESSION","适用职业",[19,402,403,404,23,337,405,24,406],"bmad validate prd","prd","validate","validation","standards",{"skillNo":408,"name":409,"nameZh":6,"description":410,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":6,"repositoryNo":12,"starsCount":13,"licenseSpdxId":14,"licenseFileUrl":6,"sourceHtmlUrl":411,"categories":412,"keywords":416,"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",[413],{"categoryNo":414,"categoryName":415,"taxonomyType":399,"taxonomyTypeDesc":400},"01JBSEEDCAT000000000000032","设计师",[19,417,418,419,420,421],"bmad ux designer","UX Designer","designer","bmad ux","ux",{"skillNo":423,"name":424,"nameZh":6,"description":425,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":6,"repositoryNo":12,"starsCount":13,"licenseSpdxId":14,"licenseFileUrl":6,"sourceHtmlUrl":426,"categories":427,"keywords":431,"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",[428],{"categoryNo":429,"categoryName":430,"taxonomyType":375,"taxonomyTypeDesc":376},"01JBSEEDCAT000000000000008","测试与质量",[432,20,433,19,434,435,436,437,384,385,438,23,439,24,440,441,442],"trace","bmad testarch trace","test","quality gate","create","generate","decision","coverage","test coverage","gate","traceability"]