[{"data":1,"prerenderedAt":-1},["ShallowReactive",2],{"skill:01M6FPNHQ707VVGJYY93W1BCK4":3,"skill-same:01M6FPNHQ707VVGJYY93W1BCK4":122},{"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":35,"linkOnly":36,"markdownContent":37,"markdownBody":38,"frontMatter":39,"refName":40,"commitSha":41,"skillDirectory":42,"forksCount":43,"repositoryHtmlUrl":44,"repositoryHomepageUrl":45,"ownerHtmlUrl":46,"ownerBlogUrl":47,"ownerDescription":48,"updatedAt":49,"install":50,"resources":63},"01M6FPNHQ707VVGJYY93W1BCK4","bmad-document-project",null,"Document brownfield projects for AI context. Use when the user says \"document this project\" or \"generate project docs\"","reformlab\u002FReformLab","reformlab","https:\u002F\u002Favatars.githubusercontent.com\u002Fu\u002F264161760?v=4","01M6CVRNMTPJRX8QX0P5J8NRZ6","01M6CVRNS5KTS18YC3AZHP1BZ3",1,"AGPL-3.0","https:\u002F\u002Fgithub.com\u002Freformlab\u002FReformLab\u002Fblob\u002Fmaster\u002F.claude\u002Fskills\u002Fbmad-document-project\u002FSKILL.md",[17],{"categoryNo":18,"categoryName":19,"taxonomyType":20,"taxonomyTypeDesc":21},"01JBSEEDCAT000000000000002","文档处理","SCENARIO","使用场景",[23,24,25,26,27,28,29,30,31,32,33,34],"bmad document project","document","project","bmad","docs","generate","projects","context","user","use","brownfield","ai context","2026-11-10 10:12:30",false,"---\nname: bmad-document-project\ndescription: 'Document brownfield projects for AI context. Use when the user says \"document this project\" or \"generate project docs\"'\n---\n\n# Document Project Workflow\n\n**Goal:** Document brownfield projects for AI context.\n\n**Your Role:** Project documentation specialist.\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\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 under `{project-root}` — load the referenced contents as facts. All other entries are facts verbatim.\n\n### Step 4: Load Config\n\nLoad config from `{project-root}\u002F_bmad\u002Fbmm\u002Fconfig.yaml` and resolve:\n- Use `{user_name}` for greeting\n- Use `{communication_language}` for all communications\n- Use `{document_output_language}` for output documents\n- Use `{planning_artifacts}` for output location and artifact scanning\n- Use `{project_knowledge}` for additional context scanning\n\n### Step 5: Greet the User\n\nGreet `{user_name}` (if you have not already), 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## Execution\n\nRead fully and follow: `.\u002Finstructions.md`\n","# Document Project Workflow\n\n**Goal:** Document brownfield projects for AI context.\n\n**Your Role:** Project documentation specialist.\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\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 under `{project-root}` — load the referenced contents as facts. All other entries are facts verbatim.\n\n### Step 4: Load Config\n\nLoad config from `{project-root}\u002F_bmad\u002Fbmm\u002Fconfig.yaml` and resolve:\n- Use `{user_name}` for greeting\n- Use `{communication_language}` for all communications\n- Use `{document_output_language}` for output documents\n- Use `{planning_artifacts}` for output location and artifact scanning\n- Use `{project_knowledge}` for additional context scanning\n\n### Step 5: Greet the User\n\nGreet `{user_name}` (if you have not already), 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## Execution\n\nRead fully and follow: `.\u002Finstructions.md`\n",{"name":5,"description":7},"master","314a64e40d9abca764698290593908a736500b30",".claude\u002Fskills\u002Fbmad-document-project",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":51,"prompt":61,"zipAvailable":62},[52,55,58],{"tool":53,"command":54},"npx","npx skills add reformlab\u002FReformLab --skill bmad-document-project",{"tool":56,"command":57},"bunx","bunx skills add reformlab\u002FReformLab --skill bmad-document-project",{"tool":59,"command":60},"pnpm","pnpm dlx skills add reformlab\u002FReformLab --skill bmad-document-project","安装技能，技能地址：https:\u002F\u002Fgithub.com\u002Freformlab\u002FReformLab\u002Fblob\u002Fmaster\u002F.claude\u002Fskills\u002Fbmad-document-project\u002FSKILL.md",true,[64,70,76,82,86,90,94,98,102,106,110,114,118],{"path":65,"resourceType":66,"resourceTypeDesc":67,"sizeBytes":68,"sourceHtmlUrl":69},"checklist.md","REFERENCE","参考文档",10101,"https:\u002F\u002Fgithub.com\u002Freformlab\u002FReformLab\u002Fblob\u002Fmaster\u002F.claude\u002Fskills\u002Fbmad-document-project\u002Fchecklist.md",{"path":71,"resourceType":72,"resourceTypeDesc":73,"sizeBytes":74,"sourceHtmlUrl":75},"customize.toml","OTHER","其他",1596,"https:\u002F\u002Fgithub.com\u002Freformlab\u002FReformLab\u002Fblob\u002Fmaster\u002F.claude\u002Fskills\u002Fbmad-document-project\u002Fcustomize.toml",{"path":77,"resourceType":78,"resourceTypeDesc":79,"sizeBytes":80,"sourceHtmlUrl":81},"documentation-requirements.csv","ASSET","资产文件",8076,"https:\u002F\u002Fgithub.com\u002Freformlab\u002FReformLab\u002Fblob\u002Fmaster\u002F.claude\u002Fskills\u002Fbmad-document-project\u002Fdocumentation-requirements.csv",{"path":83,"resourceType":66,"resourceTypeDesc":67,"sizeBytes":84,"sourceHtmlUrl":85},"instructions.md",5164,"https:\u002F\u002Fgithub.com\u002Freformlab\u002FReformLab\u002Fblob\u002Fmaster\u002F.claude\u002Fskills\u002Fbmad-document-project\u002Finstructions.md",{"path":87,"resourceType":66,"resourceTypeDesc":67,"sizeBytes":88,"sourceHtmlUrl":89},"templates\u002Fdeep-dive-template.md",5854,"https:\u002F\u002Fgithub.com\u002Freformlab\u002FReformLab\u002Fblob\u002Fmaster\u002F.claude\u002Fskills\u002Fbmad-document-project\u002Ftemplates\u002Fdeep-dive-template.md",{"path":91,"resourceType":66,"resourceTypeDesc":67,"sizeBytes":92,"sourceHtmlUrl":93},"templates\u002Findex-template.md",4510,"https:\u002F\u002Fgithub.com\u002Freformlab\u002FReformLab\u002Fblob\u002Fmaster\u002F.claude\u002Fskills\u002Fbmad-document-project\u002Ftemplates\u002Findex-template.md",{"path":95,"resourceType":66,"resourceTypeDesc":67,"sizeBytes":96,"sourceHtmlUrl":97},"templates\u002Fproject-overview-template.md",1951,"https:\u002F\u002Fgithub.com\u002Freformlab\u002FReformLab\u002Fblob\u002Fmaster\u002F.claude\u002Fskills\u002Fbmad-document-project\u002Ftemplates\u002Fproject-overview-template.md",{"path":99,"resourceType":66,"resourceTypeDesc":67,"sizeBytes":100,"sourceHtmlUrl":101},"templates\u002Fproject-scan-report-schema.json",4836,"https:\u002F\u002Fgithub.com\u002Freformlab\u002FReformLab\u002Fblob\u002Fmaster\u002F.claude\u002Fskills\u002Fbmad-document-project\u002Ftemplates\u002Fproject-scan-report-schema.json",{"path":103,"resourceType":66,"resourceTypeDesc":67,"sizeBytes":104,"sourceHtmlUrl":105},"templates\u002Fsource-tree-template.md",2160,"https:\u002F\u002Fgithub.com\u002Freformlab\u002FReformLab\u002Fblob\u002Fmaster\u002F.claude\u002Fskills\u002Fbmad-document-project\u002Ftemplates\u002Fsource-tree-template.md",{"path":107,"resourceType":66,"resourceTypeDesc":67,"sizeBytes":108,"sourceHtmlUrl":109},"workflows\u002Fdeep-dive-instructions.md",12143,"https:\u002F\u002Fgithub.com\u002Freformlab\u002FReformLab\u002Fblob\u002Fmaster\u002F.claude\u002Fskills\u002Fbmad-document-project\u002Fworkflows\u002Fdeep-dive-instructions.md",{"path":111,"resourceType":66,"resourceTypeDesc":67,"sizeBytes":112,"sourceHtmlUrl":113},"workflows\u002Fdeep-dive-workflow.md",979,"https:\u002F\u002Fgithub.com\u002Freformlab\u002FReformLab\u002Fblob\u002Fmaster\u002F.claude\u002Fskills\u002Fbmad-document-project\u002Fworkflows\u002Fdeep-dive-workflow.md",{"path":115,"resourceType":66,"resourceTypeDesc":67,"sizeBytes":116,"sourceHtmlUrl":117},"workflows\u002Ffull-scan-instructions.md",43434,"https:\u002F\u002Fgithub.com\u002Freformlab\u002FReformLab\u002Fblob\u002Fmaster\u002F.claude\u002Fskills\u002Fbmad-document-project\u002Fworkflows\u002Ffull-scan-instructions.md",{"path":119,"resourceType":66,"resourceTypeDesc":67,"sizeBytes":120,"sourceHtmlUrl":121},"workflows\u002Ffull-scan-workflow.md",970,"https:\u002F\u002Fgithub.com\u002Freformlab\u002FReformLab\u002Fblob\u002Fmaster\u002F.claude\u002Fskills\u002Fbmad-document-project\u002Fworkflows\u002Ffull-scan-workflow.md",[123,147,161,183,200,215],{"skillNo":124,"name":125,"nameZh":6,"description":126,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":6,"repositoryNo":12,"starsCount":13,"licenseSpdxId":14,"licenseFileUrl":6,"sourceHtmlUrl":127,"categories":128,"keywords":129,"publishedAt":35},"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",[],[130,26,131,132,133,134,135,136,137,138,139,140,141,142,143,32,144,145,25,146],"help","bmad assist help","config","run","investigate","code","state","logs","execution","relevant","how","why","explain","repo","files","local","sprint",{"skillNo":148,"name":149,"nameZh":6,"description":150,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":6,"repositoryNo":12,"starsCount":13,"licenseSpdxId":14,"licenseFileUrl":6,"sourceHtmlUrl":151,"categories":152,"keywords":153,"publishedAt":35},"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",[],[154,26,155,156,157,31,32,158,159,160],"bmad fix ci","ci","fix ci","fix","diagnose","fix ci failures","github",{"skillNo":162,"name":163,"nameZh":6,"description":164,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":6,"repositoryNo":12,"starsCount":13,"licenseSpdxId":14,"licenseFileUrl":6,"sourceHtmlUrl":165,"categories":166,"keywords":170,"publishedAt":35},"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",[167],{"categoryNo":168,"categoryName":169,"taxonomyType":20,"taxonomyTypeDesc":21},"01JBSEEDCAT000000000000023","Skill与智能体开发",[171,172,26,173,174,175,176,177,178,179,31,32,180,181,182],"bmad workflow builder","workflow","builder","workflow builder","workflows","convert","analyze","quality","check","build","quality check","requests",{"skillNo":184,"name":185,"nameZh":6,"description":186,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":6,"repositoryNo":12,"starsCount":13,"licenseSpdxId":14,"licenseFileUrl":6,"sourceHtmlUrl":187,"categories":188,"keywords":194,"publishedAt":35},"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",[189],{"categoryNo":190,"categoryName":191,"taxonomyType":192,"taxonomyTypeDesc":193},"01JBSEEDCAT000000000000031","产品经理","PROFESSION","适用职业",[26,195,196,197,31,133,198,32,199],"bmad validate prd","prd","validate","validation","standards",{"skillNo":201,"name":202,"nameZh":6,"description":203,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":6,"repositoryNo":12,"starsCount":13,"licenseSpdxId":14,"licenseFileUrl":6,"sourceHtmlUrl":204,"categories":205,"keywords":209,"publishedAt":35},"01M6FQJMCSRVGCG65DAKKGW0M1","bmad-ux-designer","ux-designer agent","https:\u002F\u002Fgithub.com\u002Freformlab\u002FReformLab\u002Fblob\u002Fmaster\u002F.opencode\u002Fskills\u002Fbmad-ux-designer\u002FSKILL.md",[206],{"categoryNo":207,"categoryName":208,"taxonomyType":192,"taxonomyTypeDesc":193},"01JBSEEDCAT000000000000032","设计师",[26,210,211,212,213,214],"bmad ux designer","UX Designer","designer","bmad ux","ux",{"skillNo":216,"name":217,"nameZh":6,"description":218,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":6,"repositoryNo":12,"starsCount":13,"licenseSpdxId":14,"licenseFileUrl":6,"sourceHtmlUrl":219,"categories":220,"keywords":224,"publishedAt":35},"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",[221],{"categoryNo":222,"categoryName":223,"taxonomyType":20,"taxonomyTypeDesc":21},"01JBSEEDCAT000000000000008","测试与质量",[225,226,227,26,228,229,230,28,177,178,231,31,232,32,233,234,235],"trace","bmad testarch","bmad testarch trace","test","quality gate","create","decision","coverage","test coverage","gate","traceability"]