[{"data":1,"prerenderedAt":-1},["ShallowReactive",2],{"skill:01M6FQJ5879PFAM3W7E41CBFCS":3,"skill-same:01M6FQJ5879PFAM3W7E41CBFCS":327},{"skillNo":4,"name":5,"nameZh":6,"description":7,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":6,"repositoryNo":12,"starsCount":13,"licenseSpdxId":14,"licenseFileUrl":6,"sourceHtmlUrl":15,"categories":16,"keywords":22,"publishedAt":34,"linkOnly":35,"markdownContent":36,"markdownBody":37,"frontMatter":38,"refName":39,"commitSha":40,"skillDirectory":41,"forksCount":42,"repositoryHtmlUrl":43,"repositoryHomepageUrl":44,"ownerHtmlUrl":45,"ownerBlogUrl":46,"ownerDescription":47,"updatedAt":48,"install":49,"resources":62},"01M6FQJ5879PFAM3W7E41CBFCS","bmad-testarch-test-review",null,"Review test quality using best practices validation. Use when user says \"lets review tests\" or \"I want to evaluate test quality\"","reformlab\u002FReformLab","reformlab","https:\u002F\u002Favatars.githubusercontent.com\u002Fu\u002F264161760?v=4","01M6CVRNMTPJRX8QX0P5J8NRZ6","01M6CVRNS5KTS18YC3AZHP1BZ3",1,"AGPL-3.0","https:\u002F\u002Fgithub.com\u002Freformlab\u002FReformLab\u002Fblob\u002Fmaster\u002F.opencode\u002Fskills\u002Fbmad-testarch-test-review\u002FSKILL.md",[17],{"categoryNo":18,"categoryName":19,"taxonomyType":20,"taxonomyTypeDesc":21},"01JBSEEDCAT000000000000008","测试与质量","SCENARIO","使用场景",[23,24,25,26,27,28,29,30,31,32,33],"review","test","bmad testarch test review","bmad","bmad testarch","best practices","validation","quality","user","use","tests","2026-11-10 10:12:30",false,"---\nname: bmad-testarch-test-review\ndescription: 'Review test quality using best practices validation. Use when user says \"lets review tests\" or \"I want to evaluate test quality\"'\n---\n\nFollow the instructions in [workflow.md](workflow.md).\n","Follow the instructions in [workflow.md](workflow.md).\n",{"name":5,"description":7},"master","314a64e40d9abca764698290593908a736500b30",".opencode\u002Fskills\u002Fbmad-testarch-test-review",0,"https:\u002F\u002Fgithub.com\u002Freformlab\u002FReformLab","https:\u002F\u002Fdocs.reform-lab.eu\u002F","https:\u002F\u002Fgithub.com\u002Freformlab","https:\u002F\u002Freform-lab.eu\u002F","See who your policy actually helps","2026-05-25 03:50:07",{"source":8,"skillName":5,"commands":50,"prompt":60,"zipAvailable":61},[51,54,57],{"tool":52,"command":53},"npx","npx skills add reformlab\u002FReformLab --skill bmad-testarch-test-review",{"tool":55,"command":56},"bunx","bunx skills add reformlab\u002FReformLab --skill bmad-testarch-test-review",{"tool":58,"command":59},"pnpm","pnpm dlx skills add reformlab\u002FReformLab --skill bmad-testarch-test-review","安装技能，技能地址：https:\u002F\u002Fgithub.com\u002Freformlab\u002FReformLab\u002Fblob\u002Fmaster\u002F.opencode\u002Fskills\u002Fbmad-testarch-test-review\u002FSKILL.md",true,[63,69,73,77,81,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,251,255,259,263,267,271,275,279,283,287,291,295,299,303,307,311,315,319,323],{"path":64,"resourceType":65,"resourceTypeDesc":66,"sizeBytes":67,"sourceHtmlUrl":68},"bmad-skill-manifest.yaml","REFERENCE","参考文档",12,"https:\u002F\u002Fgithub.com\u002Freformlab\u002FReformLab\u002Fblob\u002Fmaster\u002F.opencode\u002Fskills\u002Fbmad-testarch-test-review\u002Fbmad-skill-manifest.yaml",{"path":70,"resourceType":65,"resourceTypeDesc":66,"sizeBytes":71,"sourceHtmlUrl":72},"checklist.md",15273,"https:\u002F\u002Fgithub.com\u002Freformlab\u002FReformLab\u002Fblob\u002Fmaster\u002F.opencode\u002Fskills\u002Fbmad-testarch-test-review\u002Fchecklist.md",{"path":74,"resourceType":65,"resourceTypeDesc":66,"sizeBytes":75,"sourceHtmlUrl":76},"instructions.md",1178,"https:\u002F\u002Fgithub.com\u002Freformlab\u002FReformLab\u002Fblob\u002Fmaster\u002F.opencode\u002Fskills\u002Fbmad-testarch-test-review\u002Finstructions.md",{"path":78,"resourceType":65,"resourceTypeDesc":66,"sizeBytes":79,"sourceHtmlUrl":80},"resources\u002Fknowledge\u002Fadr-quality-readiness-checklist.md",25356,"https:\u002F\u002Fgithub.com\u002Freformlab\u002FReformLab\u002Fblob\u002Fmaster\u002F.opencode\u002Fskills\u002Fbmad-testarch-test-review\u002Fresources\u002Fknowledge\u002Fadr-quality-readiness-checklist.md",{"path":82,"resourceType":65,"resourceTypeDesc":66,"sizeBytes":83,"sourceHtmlUrl":84},"resources\u002Fknowledge\u002Fapi-request.md",17129,"https:\u002F\u002Fgithub.com\u002Freformlab\u002FReformLab\u002Fblob\u002Fmaster\u002F.opencode\u002Fskills\u002Fbmad-testarch-test-review\u002Fresources\u002Fknowledge\u002Fapi-request.md",{"path":86,"resourceType":65,"resourceTypeDesc":66,"sizeBytes":87,"sourceHtmlUrl":88},"resources\u002Fknowledge\u002Fapi-testing-patterns.md",26976,"https:\u002F\u002Fgithub.com\u002Freformlab\u002FReformLab\u002Fblob\u002Fmaster\u002F.opencode\u002Fskills\u002Fbmad-testarch-test-review\u002Fresources\u002Fknowledge\u002Fapi-testing-patterns.md",{"path":90,"resourceType":65,"resourceTypeDesc":66,"sizeBytes":91,"sourceHtmlUrl":92},"resources\u002Fknowledge\u002Fauth-session.md",16215,"https:\u002F\u002Fgithub.com\u002Freformlab\u002FReformLab\u002Fblob\u002Fmaster\u002F.opencode\u002Fskills\u002Fbmad-testarch-test-review\u002Fresources\u002Fknowledge\u002Fauth-session.md",{"path":94,"resourceType":65,"resourceTypeDesc":66,"sizeBytes":95,"sourceHtmlUrl":96},"resources\u002Fknowledge\u002Fburn-in.md",6503,"https:\u002F\u002Fgithub.com\u002Freformlab\u002FReformLab\u002Fblob\u002Fmaster\u002F.opencode\u002Fskills\u002Fbmad-testarch-test-review\u002Fresources\u002Fknowledge\u002Fburn-in.md",{"path":98,"resourceType":65,"resourceTypeDesc":66,"sizeBytes":99,"sourceHtmlUrl":100},"resources\u002Fknowledge\u002Fci-burn-in.md",22486,"https:\u002F\u002Fgithub.com\u002Freformlab\u002FReformLab\u002Fblob\u002Fmaster\u002F.opencode\u002Fskills\u002Fbmad-testarch-test-review\u002Fresources\u002Fknowledge\u002Fci-burn-in.md",{"path":102,"resourceType":65,"resourceTypeDesc":66,"sizeBytes":103,"sourceHtmlUrl":104},"resources\u002Fknowledge\u002Fcomponent-tdd.md",16149,"https:\u002F\u002Fgithub.com\u002Freformlab\u002FReformLab\u002Fblob\u002Fmaster\u002F.opencode\u002Fskills\u002Fbmad-testarch-test-review\u002Fresources\u002Fknowledge\u002Fcomponent-tdd.md",{"path":106,"resourceType":65,"resourceTypeDesc":66,"sizeBytes":107,"sourceHtmlUrl":108},"resources\u002Fknowledge\u002Fcontract-testing.md",36222,"https:\u002F\u002Fgithub.com\u002Freformlab\u002FReformLab\u002Fblob\u002Fmaster\u002F.opencode\u002Fskills\u002Fbmad-testarch-test-review\u002Fresources\u002Fknowledge\u002Fcontract-testing.md",{"path":110,"resourceType":65,"resourceTypeDesc":66,"sizeBytes":111,"sourceHtmlUrl":112},"resources\u002Fknowledge\u002Fdata-factories.md",15331,"https:\u002F\u002Fgithub.com\u002Freformlab\u002FReformLab\u002Fblob\u002Fmaster\u002F.opencode\u002Fskills\u002Fbmad-testarch-test-review\u002Fresources\u002Fknowledge\u002Fdata-factories.md",{"path":114,"resourceType":65,"resourceTypeDesc":66,"sizeBytes":115,"sourceHtmlUrl":116},"resources\u002Fknowledge\u002Femail-auth.md",24553,"https:\u002F\u002Fgithub.com\u002Freformlab\u002FReformLab\u002Fblob\u002Fmaster\u002F.opencode\u002Fskills\u002Fbmad-testarch-test-review\u002Fresources\u002Fknowledge\u002Femail-auth.md",{"path":118,"resourceType":65,"resourceTypeDesc":66,"sizeBytes":119,"sourceHtmlUrl":120},"resources\u002Fknowledge\u002Ferror-handling.md",22959,"https:\u002F\u002Fgithub.com\u002Freformlab\u002FReformLab\u002Fblob\u002Fmaster\u002F.opencode\u002Fskills\u002Fbmad-testarch-test-review\u002Fresources\u002Fknowledge\u002Ferror-handling.md",{"path":122,"resourceType":65,"resourceTypeDesc":66,"sizeBytes":123,"sourceHtmlUrl":124},"resources\u002Fknowledge\u002Ffeature-flags.md",23214,"https:\u002F\u002Fgithub.com\u002Freformlab\u002FReformLab\u002Fblob\u002Fmaster\u002F.opencode\u002Fskills\u002Fbmad-testarch-test-review\u002Fresources\u002Fknowledge\u002Ffeature-flags.md",{"path":126,"resourceType":65,"resourceTypeDesc":66,"sizeBytes":127,"sourceHtmlUrl":128},"resources\u002Fknowledge\u002Ffile-utils.md",13745,"https:\u002F\u002Fgithub.com\u002Freformlab\u002FReformLab\u002Fblob\u002Fmaster\u002F.opencode\u002Fskills\u002Fbmad-testarch-test-review\u002Fresources\u002Fknowledge\u002Ffile-utils.md",{"path":130,"resourceType":65,"resourceTypeDesc":66,"sizeBytes":131,"sourceHtmlUrl":132},"resources\u002Fknowledge\u002Ffixture-architecture.md",12414,"https:\u002F\u002Fgithub.com\u002Freformlab\u002FReformLab\u002Fblob\u002Fmaster\u002F.opencode\u002Fskills\u002Fbmad-testarch-test-review\u002Fresources\u002Fknowledge\u002Ffixture-architecture.md",{"path":134,"resourceType":65,"resourceTypeDesc":66,"sizeBytes":135,"sourceHtmlUrl":136},"resources\u002Fknowledge\u002Ffixtures-composition.md",11249,"https:\u002F\u002Fgithub.com\u002Freformlab\u002FReformLab\u002Fblob\u002Fmaster\u002F.opencode\u002Fskills\u002Fbmad-testarch-test-review\u002Fresources\u002Fknowledge\u002Ffixtures-composition.md",{"path":138,"resourceType":65,"resourceTypeDesc":66,"sizeBytes":139,"sourceHtmlUrl":140},"resources\u002Fknowledge\u002Fintercept-network-call.md",13489,"https:\u002F\u002Fgithub.com\u002Freformlab\u002FReformLab\u002Fblob\u002Fmaster\u002F.opencode\u002Fskills\u002Fbmad-testarch-test-review\u002Fresources\u002Fknowledge\u002Fintercept-network-call.md",{"path":142,"resourceType":65,"resourceTypeDesc":66,"sizeBytes":143,"sourceHtmlUrl":144},"resources\u002Fknowledge\u002Flog.md",11281,"https:\u002F\u002Fgithub.com\u002Freformlab\u002FReformLab\u002Fblob\u002Fmaster\u002F.opencode\u002Fskills\u002Fbmad-testarch-test-review\u002Fresources\u002Fknowledge\u002Flog.md",{"path":146,"resourceType":65,"resourceTypeDesc":66,"sizeBytes":147,"sourceHtmlUrl":148},"resources\u002Fknowledge\u002Fnetwork-error-monitor.md",12277,"https:\u002F\u002Fgithub.com\u002Freformlab\u002FReformLab\u002Fblob\u002Fmaster\u002F.opencode\u002Fskills\u002Fbmad-testarch-test-review\u002Fresources\u002Fknowledge\u002Fnetwork-error-monitor.md",{"path":150,"resourceType":65,"resourceTypeDesc":66,"sizeBytes":151,"sourceHtmlUrl":152},"resources\u002Fknowledge\u002Fnetwork-first.md",16327,"https:\u002F\u002Fgithub.com\u002Freformlab\u002FReformLab\u002Fblob\u002Fmaster\u002F.opencode\u002Fskills\u002Fbmad-testarch-test-review\u002Fresources\u002Fknowledge\u002Fnetwork-first.md",{"path":154,"resourceType":65,"resourceTypeDesc":66,"sizeBytes":155,"sourceHtmlUrl":156},"resources\u002Fknowledge\u002Fnetwork-recorder.md",15499,"https:\u002F\u002Fgithub.com\u002Freformlab\u002FReformLab\u002Fblob\u002Fmaster\u002F.opencode\u002Fskills\u002Fbmad-testarch-test-review\u002Fresources\u002Fknowledge\u002Fnetwork-recorder.md",{"path":158,"resourceType":65,"resourceTypeDesc":66,"sizeBytes":159,"sourceHtmlUrl":160},"resources\u002Fknowledge\u002Fnfr-criteria.md",26670,"https:\u002F\u002Fgithub.com\u002Freformlab\u002FReformLab\u002Fblob\u002Fmaster\u002F.opencode\u002Fskills\u002Fbmad-testarch-test-review\u002Fresources\u002Fknowledge\u002Fnfr-criteria.md",{"path":162,"resourceType":65,"resourceTypeDesc":66,"sizeBytes":163,"sourceHtmlUrl":164},"resources\u002Fknowledge\u002Foverview.md",9663,"https:\u002F\u002Fgithub.com\u002Freformlab\u002FReformLab\u002Fblob\u002Fmaster\u002F.opencode\u002Fskills\u002Fbmad-testarch-test-review\u002Fresources\u002Fknowledge\u002Foverview.md",{"path":166,"resourceType":65,"resourceTypeDesc":66,"sizeBytes":167,"sourceHtmlUrl":168},"resources\u002Fknowledge\u002Fpact-consumer-di.md",12005,"https:\u002F\u002Fgithub.com\u002Freformlab\u002FReformLab\u002Fblob\u002Fmaster\u002F.opencode\u002Fskills\u002Fbmad-testarch-test-review\u002Fresources\u002Fknowledge\u002Fpact-consumer-di.md",{"path":170,"resourceType":65,"resourceTypeDesc":66,"sizeBytes":171,"sourceHtmlUrl":172},"resources\u002Fknowledge\u002Fpact-consumer-framework-setup.md",24909,"https:\u002F\u002Fgithub.com\u002Freformlab\u002FReformLab\u002Fblob\u002Fmaster\u002F.opencode\u002Fskills\u002Fbmad-testarch-test-review\u002Fresources\u002Fknowledge\u002Fpact-consumer-framework-setup.md",{"path":174,"resourceType":65,"resourceTypeDesc":66,"sizeBytes":175,"sourceHtmlUrl":176},"resources\u002Fknowledge\u002Fpact-mcp.md",8810,"https:\u002F\u002Fgithub.com\u002Freformlab\u002FReformLab\u002Fblob\u002Fmaster\u002F.opencode\u002Fskills\u002Fbmad-testarch-test-review\u002Fresources\u002Fknowledge\u002Fpact-mcp.md",{"path":178,"resourceType":65,"resourceTypeDesc":66,"sizeBytes":179,"sourceHtmlUrl":180},"resources\u002Fknowledge\u002Fpactjs-utils-consumer-helpers.md",10678,"https:\u002F\u002Fgithub.com\u002Freformlab\u002FReformLab\u002Fblob\u002Fmaster\u002F.opencode\u002Fskills\u002Fbmad-testarch-test-review\u002Fresources\u002Fknowledge\u002Fpactjs-utils-consumer-helpers.md",{"path":182,"resourceType":65,"resourceTypeDesc":66,"sizeBytes":183,"sourceHtmlUrl":184},"resources\u002Fknowledge\u002Fpactjs-utils-overview.md",10481,"https:\u002F\u002Fgithub.com\u002Freformlab\u002FReformLab\u002Fblob\u002Fmaster\u002F.opencode\u002Fskills\u002Fbmad-testarch-test-review\u002Fresources\u002Fknowledge\u002Fpactjs-utils-overview.md",{"path":186,"resourceType":65,"resourceTypeDesc":66,"sizeBytes":187,"sourceHtmlUrl":188},"resources\u002Fknowledge\u002Fpactjs-utils-provider-verifier.md",13775,"https:\u002F\u002Fgithub.com\u002Freformlab\u002FReformLab\u002Fblob\u002Fmaster\u002F.opencode\u002Fskills\u002Fbmad-testarch-test-review\u002Fresources\u002Fknowledge\u002Fpactjs-utils-provider-verifier.md",{"path":190,"resourceType":65,"resourceTypeDesc":66,"sizeBytes":191,"sourceHtmlUrl":192},"resources\u002Fknowledge\u002Fpactjs-utils-request-filter.md",7275,"https:\u002F\u002Fgithub.com\u002Freformlab\u002FReformLab\u002Fblob\u002Fmaster\u002F.opencode\u002Fskills\u002Fbmad-testarch-test-review\u002Fresources\u002Fknowledge\u002Fpactjs-utils-request-filter.md",{"path":194,"resourceType":65,"resourceTypeDesc":66,"sizeBytes":195,"sourceHtmlUrl":196},"resources\u002Fknowledge\u002Fplaywright-cli.md",14993,"https:\u002F\u002Fgithub.com\u002Freformlab\u002FReformLab\u002Fblob\u002Fmaster\u002F.opencode\u002Fskills\u002Fbmad-testarch-test-review\u002Fresources\u002Fknowledge\u002Fplaywright-cli.md",{"path":198,"resourceType":65,"resourceTypeDesc":66,"sizeBytes":199,"sourceHtmlUrl":200},"resources\u002Fknowledge\u002Fplaywright-config.md",21457,"https:\u002F\u002Fgithub.com\u002Freformlab\u002FReformLab\u002Fblob\u002Fmaster\u002F.opencode\u002Fskills\u002Fbmad-testarch-test-review\u002Fresources\u002Fknowledge\u002Fplaywright-config.md",{"path":202,"resourceType":65,"resourceTypeDesc":66,"sizeBytes":203,"sourceHtmlUrl":204},"resources\u002Fknowledge\u002Fprobability-impact.md",19200,"https:\u002F\u002Fgithub.com\u002Freformlab\u002FReformLab\u002Fblob\u002Fmaster\u002F.opencode\u002Fskills\u002Fbmad-testarch-test-review\u002Fresources\u002Fknowledge\u002Fprobability-impact.md",{"path":206,"resourceType":65,"resourceTypeDesc":66,"sizeBytes":207,"sourceHtmlUrl":208},"resources\u002Fknowledge\u002Frecurse.md",12936,"https:\u002F\u002Fgithub.com\u002Freformlab\u002FReformLab\u002Fblob\u002Fmaster\u002F.opencode\u002Fskills\u002Fbmad-testarch-test-review\u002Fresources\u002Fknowledge\u002Frecurse.md",{"path":210,"resourceType":65,"resourceTypeDesc":66,"sizeBytes":211,"sourceHtmlUrl":212},"resources\u002Fknowledge\u002Frisk-governance.md",20965,"https:\u002F\u002Fgithub.com\u002Freformlab\u002FReformLab\u002Fblob\u002Fmaster\u002F.opencode\u002Fskills\u002Fbmad-testarch-test-review\u002Fresources\u002Fknowledge\u002Frisk-governance.md",{"path":214,"resourceType":65,"resourceTypeDesc":66,"sizeBytes":215,"sourceHtmlUrl":216},"resources\u002Fknowledge\u002Fselective-testing.md",21846,"https:\u002F\u002Fgithub.com\u002Freformlab\u002FReformLab\u002Fblob\u002Fmaster\u002F.opencode\u002Fskills\u002Fbmad-testarch-test-review\u002Fresources\u002Fknowledge\u002Fselective-testing.md",{"path":218,"resourceType":65,"resourceTypeDesc":66,"sizeBytes":219,"sourceHtmlUrl":220},"resources\u002Fknowledge\u002Fselector-resilience.md",19784,"https:\u002F\u002Fgithub.com\u002Freformlab\u002FReformLab\u002Fblob\u002Fmaster\u002F.opencode\u002Fskills\u002Fbmad-testarch-test-review\u002Fresources\u002Fknowledge\u002Fselector-resilience.md",{"path":222,"resourceType":65,"resourceTypeDesc":66,"sizeBytes":223,"sourceHtmlUrl":224},"resources\u002Fknowledge\u002Ftest-healing-patterns.md",21388,"https:\u002F\u002Fgithub.com\u002Freformlab\u002FReformLab\u002Fblob\u002Fmaster\u002F.opencode\u002Fskills\u002Fbmad-testarch-test-review\u002Fresources\u002Fknowledge\u002Ftest-healing-patterns.md",{"path":226,"resourceType":65,"resourceTypeDesc":66,"sizeBytes":227,"sourceHtmlUrl":228},"resources\u002Fknowledge\u002Ftest-levels-framework.md",14756,"https:\u002F\u002Fgithub.com\u002Freformlab\u002FReformLab\u002Fblob\u002Fmaster\u002F.opencode\u002Fskills\u002Fbmad-testarch-test-review\u002Fresources\u002Fknowledge\u002Ftest-levels-framework.md",{"path":230,"resourceType":65,"resourceTypeDesc":66,"sizeBytes":231,"sourceHtmlUrl":232},"resources\u002Fknowledge\u002Ftest-priorities-matrix.md",11454,"https:\u002F\u002Fgithub.com\u002Freformlab\u002FReformLab\u002Fblob\u002Fmaster\u002F.opencode\u002Fskills\u002Fbmad-testarch-test-review\u002Fresources\u002Fknowledge\u002Ftest-priorities-matrix.md",{"path":234,"resourceType":65,"resourceTypeDesc":66,"sizeBytes":235,"sourceHtmlUrl":236},"resources\u002Fknowledge\u002Ftest-quality.md",24580,"https:\u002F\u002Fgithub.com\u002Freformlab\u002FReformLab\u002Fblob\u002Fmaster\u002F.opencode\u002Fskills\u002Fbmad-testarch-test-review\u002Fresources\u002Fknowledge\u002Ftest-quality.md",{"path":238,"resourceType":65,"resourceTypeDesc":66,"sizeBytes":239,"sourceHtmlUrl":240},"resources\u002Fknowledge\u002Ftiming-debugging.md",14021,"https:\u002F\u002Fgithub.com\u002Freformlab\u002FReformLab\u002Fblob\u002Fmaster\u002F.opencode\u002Fskills\u002Fbmad-testarch-test-review\u002Fresources\u002Fknowledge\u002Ftiming-debugging.md",{"path":242,"resourceType":65,"resourceTypeDesc":66,"sizeBytes":243,"sourceHtmlUrl":244},"resources\u002Fknowledge\u002Fvisual-debugging.md",17480,"https:\u002F\u002Fgithub.com\u002Freformlab\u002FReformLab\u002Fblob\u002Fmaster\u002F.opencode\u002Fskills\u002Fbmad-testarch-test-review\u002Fresources\u002Fknowledge\u002Fvisual-debugging.md",{"path":246,"resourceType":247,"resourceTypeDesc":248,"sizeBytes":249,"sourceHtmlUrl":250},"resources\u002Ftea-index.csv","ASSET","资产文件",8179,"https:\u002F\u002Fgithub.com\u002Freformlab\u002FReformLab\u002Fblob\u002Fmaster\u002F.opencode\u002Fskills\u002Fbmad-testarch-test-review\u002Fresources\u002Ftea-index.csv",{"path":252,"resourceType":65,"resourceTypeDesc":66,"sizeBytes":253,"sourceHtmlUrl":254},"steps-c\u002Fstep-01-load-context.md",6302,"https:\u002F\u002Fgithub.com\u002Freformlab\u002FReformLab\u002Fblob\u002Fmaster\u002F.opencode\u002Fskills\u002Fbmad-testarch-test-review\u002Fsteps-c\u002Fstep-01-load-context.md",{"path":256,"resourceType":65,"resourceTypeDesc":66,"sizeBytes":257,"sourceHtmlUrl":258},"steps-c\u002Fstep-01b-resume.md",3166,"https:\u002F\u002Fgithub.com\u002Freformlab\u002FReformLab\u002Fblob\u002Fmaster\u002F.opencode\u002Fskills\u002Fbmad-testarch-test-review\u002Fsteps-c\u002Fstep-01b-resume.md",{"path":260,"resourceType":65,"resourceTypeDesc":66,"sizeBytes":261,"sourceHtmlUrl":262},"steps-c\u002Fstep-02-discover-tests.md",3599,"https:\u002F\u002Fgithub.com\u002Freformlab\u002FReformLab\u002Fblob\u002Fmaster\u002F.opencode\u002Fskills\u002Fbmad-testarch-test-review\u002Fsteps-c\u002Fstep-02-discover-tests.md",{"path":264,"resourceType":65,"resourceTypeDesc":66,"sizeBytes":265,"sourceHtmlUrl":266},"steps-c\u002Fstep-03-quality-evaluation.md",7700,"https:\u002F\u002Fgithub.com\u002Freformlab\u002FReformLab\u002Fblob\u002Fmaster\u002F.opencode\u002Fskills\u002Fbmad-testarch-test-review\u002Fsteps-c\u002Fstep-03-quality-evaluation.md",{"path":268,"resourceType":65,"resourceTypeDesc":66,"sizeBytes":269,"sourceHtmlUrl":270},"steps-c\u002Fstep-03a-subagent-determinism.md",5770,"https:\u002F\u002Fgithub.com\u002Freformlab\u002FReformLab\u002Fblob\u002Fmaster\u002F.opencode\u002Fskills\u002Fbmad-testarch-test-review\u002Fsteps-c\u002Fstep-03a-subagent-determinism.md",{"path":272,"resourceType":65,"resourceTypeDesc":66,"sizeBytes":273,"sourceHtmlUrl":274},"steps-c\u002Fstep-03b-subagent-isolation.md",3141,"https:\u002F\u002Fgithub.com\u002Freformlab\u002FReformLab\u002Fblob\u002Fmaster\u002F.opencode\u002Fskills\u002Fbmad-testarch-test-review\u002Fsteps-c\u002Fstep-03b-subagent-isolation.md",{"path":276,"resourceType":65,"resourceTypeDesc":66,"sizeBytes":277,"sourceHtmlUrl":278},"steps-c\u002Fstep-03c-subagent-maintainability.md",2534,"https:\u002F\u002Fgithub.com\u002Freformlab\u002FReformLab\u002Fblob\u002Fmaster\u002F.opencode\u002Fskills\u002Fbmad-testarch-test-review\u002Fsteps-c\u002Fstep-03c-subagent-maintainability.md",{"path":280,"resourceType":65,"resourceTypeDesc":66,"sizeBytes":281,"sourceHtmlUrl":282},"steps-c\u002Fstep-03e-subagent-performance.md",3204,"https:\u002F\u002Fgithub.com\u002Freformlab\u002FReformLab\u002Fblob\u002Fmaster\u002F.opencode\u002Fskills\u002Fbmad-testarch-test-review\u002Fsteps-c\u002Fstep-03e-subagent-performance.md",{"path":284,"resourceType":65,"resourceTypeDesc":66,"sizeBytes":285,"sourceHtmlUrl":286},"steps-c\u002Fstep-03f-aggregate-scores.md",7024,"https:\u002F\u002Fgithub.com\u002Freformlab\u002FReformLab\u002Fblob\u002Fmaster\u002F.opencode\u002Fskills\u002Fbmad-testarch-test-review\u002Fsteps-c\u002Fstep-03f-aggregate-scores.md",{"path":288,"resourceType":65,"resourceTypeDesc":66,"sizeBytes":289,"sourceHtmlUrl":290},"steps-c\u002Fstep-04-generate-report.md",2972,"https:\u002F\u002Fgithub.com\u002Freformlab\u002FReformLab\u002Fblob\u002Fmaster\u002F.opencode\u002Fskills\u002Fbmad-testarch-test-review\u002Fsteps-c\u002Fstep-04-generate-report.md",{"path":292,"resourceType":65,"resourceTypeDesc":66,"sizeBytes":293,"sourceHtmlUrl":294},"steps-e\u002Fstep-01-assess.md",1234,"https:\u002F\u002Fgithub.com\u002Freformlab\u002FReformLab\u002Fblob\u002Fmaster\u002F.opencode\u002Fskills\u002Fbmad-testarch-test-review\u002Fsteps-e\u002Fstep-01-assess.md",{"path":296,"resourceType":65,"resourceTypeDesc":66,"sizeBytes":297,"sourceHtmlUrl":298},"steps-e\u002Fstep-02-apply-edit.md",1094,"https:\u002F\u002Fgithub.com\u002Freformlab\u002FReformLab\u002Fblob\u002Fmaster\u002F.opencode\u002Fskills\u002Fbmad-testarch-test-review\u002Fsteps-e\u002Fstep-02-apply-edit.md",{"path":300,"resourceType":65,"resourceTypeDesc":66,"sizeBytes":301,"sourceHtmlUrl":302},"steps-v\u002Fstep-01-validate.md",1408,"https:\u002F\u002Fgithub.com\u002Freformlab\u002FReformLab\u002Fblob\u002Fmaster\u002F.opencode\u002Fskills\u002Fbmad-testarch-test-review\u002Fsteps-v\u002Fstep-01-validate.md",{"path":304,"resourceType":65,"resourceTypeDesc":66,"sizeBytes":305,"sourceHtmlUrl":306},"test-review-template.md",12214,"https:\u002F\u002Fgithub.com\u002Freformlab\u002FReformLab\u002Fblob\u002Fmaster\u002F.opencode\u002Fskills\u002Fbmad-testarch-test-review\u002Ftest-review-template.md",{"path":308,"resourceType":65,"resourceTypeDesc":66,"sizeBytes":309,"sourceHtmlUrl":310},"validation-report-20260127-095021.md",2040,"https:\u002F\u002Fgithub.com\u002Freformlab\u002FReformLab\u002Fblob\u002Fmaster\u002F.opencode\u002Fskills\u002Fbmad-testarch-test-review\u002Fvalidation-report-20260127-095021.md",{"path":312,"resourceType":65,"resourceTypeDesc":66,"sizeBytes":313,"sourceHtmlUrl":314},"validation-report-20260127-102401.md",3658,"https:\u002F\u002Fgithub.com\u002Freformlab\u002FReformLab\u002Fblob\u002Fmaster\u002F.opencode\u002Fskills\u002Fbmad-testarch-test-review\u002Fvalidation-report-20260127-102401.md",{"path":316,"resourceType":65,"resourceTypeDesc":66,"sizeBytes":317,"sourceHtmlUrl":318},"workflow-plan.md",370,"https:\u002F\u002Fgithub.com\u002Freformlab\u002FReformLab\u002Fblob\u002Fmaster\u002F.opencode\u002Fskills\u002Fbmad-testarch-test-review\u002Fworkflow-plan.md",{"path":320,"resourceType":65,"resourceTypeDesc":66,"sizeBytes":321,"sourceHtmlUrl":322},"workflow.md",1134,"https:\u002F\u002Fgithub.com\u002Freformlab\u002FReformLab\u002Fblob\u002Fmaster\u002F.opencode\u002Fskills\u002Fbmad-testarch-test-review\u002Fworkflow.md",{"path":324,"resourceType":65,"resourceTypeDesc":66,"sizeBytes":325,"sourceHtmlUrl":326},"workflow.yaml",1631,"https:\u002F\u002Fgithub.com\u002Freformlab\u002FReformLab\u002Fblob\u002Fmaster\u002F.opencode\u002Fskills\u002Fbmad-testarch-test-review\u002Fworkflow.yaml",[328,353,367,388,404,419],{"skillNo":329,"name":330,"nameZh":6,"description":331,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":6,"repositoryNo":12,"starsCount":13,"licenseSpdxId":14,"licenseFileUrl":6,"sourceHtmlUrl":332,"categories":333,"keywords":334,"publishedAt":34},"01M6FQK4CGE9096SN2JRE7DA8H","bmad-assist-help","Explain how bmad-assist works in this project by inspecting the local bmad-assist config, sprint status, epics, state, runs, prompts, logs, and relevant source code. Use when the user asks how bmad-assist behaves, how it reads epics and stories, why a run resumed or failed, what files are authoritative, or to investigate bmad-assist execution in the current repo.","https:\u002F\u002Fgithub.com\u002Freformlab\u002FReformLab\u002Fblob\u002Fmaster\u002F_bmad\u002Fcore\u002Fskills\u002Fbmad-assist-help\u002FSKILL.md",[],[335,26,336,337,338,339,340,341,342,343,344,345,346,347,348,32,349,350,351,352],"help","bmad assist help","config","run","investigate","code","state","logs","execution","relevant","how","why","explain","repo","files","local","project","sprint",{"skillNo":354,"name":355,"nameZh":6,"description":356,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":6,"repositoryNo":12,"starsCount":13,"licenseSpdxId":14,"licenseFileUrl":6,"sourceHtmlUrl":357,"categories":358,"keywords":359,"publishedAt":34},"01M6FQK133CMP4ZT00TW6S7TB1","bmad-fix-ci","Diagnose and fix GitHub CI failures locally. Use when the user says 'fix ci' or 'fix ci failures'.","https:\u002F\u002Fgithub.com\u002Freformlab\u002FReformLab\u002Fblob\u002Fmaster\u002F_bmad\u002Fbmm\u002Fskills\u002Fbmad-fix-ci\u002FSKILL.md",[],[360,26,361,362,363,31,32,364,365,366],"bmad fix ci","ci","fix ci","fix","diagnose","fix ci failures","github",{"skillNo":368,"name":369,"nameZh":6,"description":370,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":6,"repositoryNo":12,"starsCount":13,"licenseSpdxId":14,"licenseFileUrl":6,"sourceHtmlUrl":371,"categories":372,"keywords":376,"publishedAt":34},"01M6FQJW69SATT3C9741MT2KJH","bmad-workflow-builder","Builds, converts, and analyzes workflows and skills. Use when the user requests to \"build a workflow\", \"modify a workflow\", \"quality check workflow\", \"analyze skill\", or \"convert a skill\".","https:\u002F\u002Fgithub.com\u002Freformlab\u002FReformLab\u002Fblob\u002Fmaster\u002F.opencode\u002Fskills\u002Fbmad-workflow-builder\u002FSKILL.md",[373],{"categoryNo":374,"categoryName":375,"taxonomyType":20,"taxonomyTypeDesc":21},"01JBSEEDCAT000000000000023","Skill与智能体开发",[377,378,26,379,380,381,382,383,30,384,31,32,385,386,387],"bmad workflow builder","workflow","builder","workflow builder","workflows","convert","analyze","check","build","quality check","requests",{"skillNo":389,"name":390,"nameZh":6,"description":391,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":6,"repositoryNo":12,"starsCount":13,"licenseSpdxId":14,"licenseFileUrl":6,"sourceHtmlUrl":392,"categories":393,"keywords":399,"publishedAt":34},"01M6FQJQMT5GW37ANR711FCBJR","bmad-validate-prd","Validate a PRD against standards. Use when the user says \"validate this PRD\" or \"run PRD validation\"","https:\u002F\u002Fgithub.com\u002Freformlab\u002FReformLab\u002Fblob\u002Fmaster\u002F.opencode\u002Fskills\u002Fbmad-validate-prd\u002FSKILL.md",[394],{"categoryNo":395,"categoryName":396,"taxonomyType":397,"taxonomyTypeDesc":398},"01JBSEEDCAT000000000000031","产品经理","PROFESSION","适用职业",[26,400,401,402,31,338,29,32,403],"bmad validate prd","prd","validate","standards",{"skillNo":405,"name":406,"nameZh":6,"description":407,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":6,"repositoryNo":12,"starsCount":13,"licenseSpdxId":14,"licenseFileUrl":6,"sourceHtmlUrl":408,"categories":409,"keywords":413,"publishedAt":34},"01M6FQJMCSRVGCG65DAKKGW0M1","bmad-ux-designer","ux-designer agent","https:\u002F\u002Fgithub.com\u002Freformlab\u002FReformLab\u002Fblob\u002Fmaster\u002F.opencode\u002Fskills\u002Fbmad-ux-designer\u002FSKILL.md",[410],{"categoryNo":411,"categoryName":412,"taxonomyType":397,"taxonomyTypeDesc":398},"01JBSEEDCAT000000000000032","设计师",[26,414,415,416,417,418],"bmad ux designer","UX Designer","designer","bmad ux","ux",{"skillNo":420,"name":421,"nameZh":6,"description":422,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":6,"repositoryNo":12,"starsCount":13,"licenseSpdxId":14,"licenseFileUrl":6,"sourceHtmlUrl":423,"categories":424,"keywords":426,"publishedAt":34},"01M6FQJDFKBXTWMBJD29FAC8TA","bmad-testarch-trace","Generate traceability matrix and quality gate decision. Use when the user says \"lets create traceability matrix\" or \"I want to analyze test coverage\"","https:\u002F\u002Fgithub.com\u002Freformlab\u002FReformLab\u002Fblob\u002Fmaster\u002F.opencode\u002Fskills\u002Fbmad-testarch-trace\u002FSKILL.md",[425],{"categoryNo":18,"categoryName":19,"taxonomyType":20,"taxonomyTypeDesc":21},[427,27,428,26,24,429,430,431,383,30,432,31,433,32,434,435,436],"trace","bmad testarch trace","quality gate","create","generate","decision","coverage","test coverage","gate","traceability"]