[{"data":1,"prerenderedAt":-1},["ShallowReactive",2],{"skill:01M6P9EA76PWZKH93X68F2CCS1":3,"skill-same:01M6P9EA76PWZKH93X68F2CCS1":64},{"skillNo":4,"name":5,"nameZh":6,"description":7,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":16,"categories":17,"keywords":23,"publishedAt":36,"linkOnly":37,"markdownContent":38,"markdownBody":39,"frontMatter":40,"refName":41,"commitSha":42,"skillDirectory":43,"forksCount":44,"repositoryHtmlUrl":45,"repositoryHomepageUrl":6,"ownerHtmlUrl":46,"ownerBlogUrl":47,"ownerDescription":48,"updatedAt":49,"install":50,"resources":63},"01M6P9EA76PWZKH93X68F2CCS1","bmad-shard-doc",null,"Splits large markdown documents into smaller, organized files based on level 2 (default) sections. Use if the user says perform shard document","combsmith\u002F.github-private","combsmith","https:\u002F\u002Favatars.githubusercontent.com\u002Fu\u002F258516906?v=4","01M6H305A64BBE95VKYNNXDV4Y","CombSmith","01M6P8XQJHQ22WV72XSHE3NSKS",4,"MIT","https:\u002F\u002Fgithub.com\u002Fcombsmith\u002F.github-private\u002Fblob\u002Fmain\u002Fframeworks\u002Fbmad-method\u002Fsrc\u002Fcore-skills\u002Fbmad-shard-doc\u002FSKILL.md",[18],{"categoryNo":19,"categoryName":20,"taxonomyType":21,"taxonomyTypeDesc":22},"01JBSEEDCAT000000000000002","文档处理","SCENARIO","使用场景",[24,25,26,27,28,29,30,31,32,33,34,35],"shard","doc","bmad shard doc","bmad","documents","markdown","user","use","files","default","document","splits","2026-11-10 10:12:30",false,"---\nname: bmad-shard-doc\ndescription: 'Splits large markdown documents into smaller, organized files based on level 2 (default) sections. Use if the user says perform shard document'\n---\n\n# Shard Document\n\n**Goal:** Split large markdown documents into smaller, organized files based on level 2 sections using `npx @kayvan\u002Fmarkdown-tree-parser`.\n\n## CRITICAL RULES\n\n- MANDATORY: Execute ALL steps in the EXECUTION section IN EXACT ORDER\n- DO NOT skip steps or change the sequence\n- HALT immediately when halt-conditions are met\n- Each action within a step is a REQUIRED action to complete that step\n\n## EXECUTION\n\n### Step 1: Get Source Document\n\n- Ask user for the source document path if not provided already\n- Verify file exists and is accessible\n- Verify file is markdown format (.md extension)\n- If file not found or not markdown: HALT with error message\n\n### Step 2: Get Destination Folder\n\n- Determine default destination: same location as source file, folder named after source file without .md extension\n  - Example: `\u002Fpath\u002Fto\u002Farchitecture.md` --> `\u002Fpath\u002Fto\u002Farchitecture\u002F`\n- Ask user for the destination folder path (`[y]` to confirm use of default: `[suggested-path]`, else enter a new path)\n- If user accepts default: use the suggested destination path\n- If user provides custom path: use the custom destination path\n- Verify destination folder exists or can be created\n- Check write permissions for destination\n- If permission denied: HALT with error message\n\n### Step 3: Execute Sharding\n\n- Inform user that sharding is beginning\n- Execute command: `npx @kayvan\u002Fmarkdown-tree-parser explode [source-document] [destination-folder]`\n- Capture command output and any errors\n- If command fails: HALT and display error to user\n\n### Step 4: Verify Output\n\n- Check that destination folder contains sharded files\n- Verify index.md was created in destination folder\n- Count the number of files created\n- If no files created: HALT with error message\n\n### Step 5: Report Completion\n\n- Display completion report to user including:\n  - Source document path and name\n  - Destination folder path\n  - Number of section files created\n  - Confirmation that index.md was created\n  - Any tool output or warnings\n- Inform user that sharding completed successfully\n\n### Step 6: Handle Original Document\n\n> **Critical:** Keeping both the original and sharded versions defeats the purpose of sharding and can cause confusion.\n\nPresent user with options for the original document:\n\n> What would you like to do with the original document `[source-document-name]`?\n>\n> Options:\n> - `[d]` Delete - Remove the original (recommended - shards can always be recombined)\n> - `[m]` Move to archive - Move original to a backup\u002Farchive location\n> - `[k]` Keep - Leave original in place (NOT recommended - defeats sharding purpose)\n>\n> Your choice (d\u002Fm\u002Fk):\n\n#### If user selects `d` (delete)\n\n- Delete the original source document file\n- Confirm deletion to user: \"Original document deleted: [source-document-path]\"\n- Note: The document can be reconstructed from shards by concatenating all section files in order\n\n#### If user selects `m` (move)\n\n- Determine default archive location: same directory as source, in an `archive` subfolder\n  - Example: `\u002Fpath\u002Fto\u002Farchitecture.md` --> `\u002Fpath\u002Fto\u002Farchive\u002Farchitecture.md`\n- Ask: Archive location (`[y]` to use default: `[default-archive-path]`, or provide custom path)\n- If user accepts default: use default archive path\n- If user provides custom path: use custom archive path\n- Create archive directory if it does not exist\n- Move original document to archive location\n- Confirm move to user: \"Original document moved to: [archive-path]\"\n\n#### If user selects `k` (keep)\n\n- Display warning to user:\n  - Keeping both original and sharded versions is NOT recommended\n  - The discover_inputs protocol may load the wrong version\n  - Updates to one will not reflect in the other\n  - Duplicate content taking up space\n  - Consider deleting or archiving the original document\n- Confirm user choice: \"Original document kept at: [source-document-path]\"\n\n## HALT CONDITIONS\n\n- HALT if npx command fails or produces no output files\n","# Shard Document\n\n**Goal:** Split large markdown documents into smaller, organized files based on level 2 sections using `npx @kayvan\u002Fmarkdown-tree-parser`.\n\n## CRITICAL RULES\n\n- MANDATORY: Execute ALL steps in the EXECUTION section IN EXACT ORDER\n- DO NOT skip steps or change the sequence\n- HALT immediately when halt-conditions are met\n- Each action within a step is a REQUIRED action to complete that step\n\n## EXECUTION\n\n### Step 1: Get Source Document\n\n- Ask user for the source document path if not provided already\n- Verify file exists and is accessible\n- Verify file is markdown format (.md extension)\n- If file not found or not markdown: HALT with error message\n\n### Step 2: Get Destination Folder\n\n- Determine default destination: same location as source file, folder named after source file without .md extension\n  - Example: `\u002Fpath\u002Fto\u002Farchitecture.md` --> `\u002Fpath\u002Fto\u002Farchitecture\u002F`\n- Ask user for the destination folder path (`[y]` to confirm use of default: `[suggested-path]`, else enter a new path)\n- If user accepts default: use the suggested destination path\n- If user provides custom path: use the custom destination path\n- Verify destination folder exists or can be created\n- Check write permissions for destination\n- If permission denied: HALT with error message\n\n### Step 3: Execute Sharding\n\n- Inform user that sharding is beginning\n- Execute command: `npx @kayvan\u002Fmarkdown-tree-parser explode [source-document] [destination-folder]`\n- Capture command output and any errors\n- If command fails: HALT and display error to user\n\n### Step 4: Verify Output\n\n- Check that destination folder contains sharded files\n- Verify index.md was created in destination folder\n- Count the number of files created\n- If no files created: HALT with error message\n\n### Step 5: Report Completion\n\n- Display completion report to user including:\n  - Source document path and name\n  - Destination folder path\n  - Number of section files created\n  - Confirmation that index.md was created\n  - Any tool output or warnings\n- Inform user that sharding completed successfully\n\n### Step 6: Handle Original Document\n\n> **Critical:** Keeping both the original and sharded versions defeats the purpose of sharding and can cause confusion.\n\nPresent user with options for the original document:\n\n> What would you like to do with the original document `[source-document-name]`?\n>\n> Options:\n> - `[d]` Delete - Remove the original (recommended - shards can always be recombined)\n> - `[m]` Move to archive - Move original to a backup\u002Farchive location\n> - `[k]` Keep - Leave original in place (NOT recommended - defeats sharding purpose)\n>\n> Your choice (d\u002Fm\u002Fk):\n\n#### If user selects `d` (delete)\n\n- Delete the original source document file\n- Confirm deletion to user: \"Original document deleted: [source-document-path]\"\n- Note: The document can be reconstructed from shards by concatenating all section files in order\n\n#### If user selects `m` (move)\n\n- Determine default archive location: same directory as source, in an `archive` subfolder\n  - Example: `\u002Fpath\u002Fto\u002Farchitecture.md` --> `\u002Fpath\u002Fto\u002Farchive\u002Farchitecture.md`\n- Ask: Archive location (`[y]` to use default: `[default-archive-path]`, or provide custom path)\n- If user accepts default: use default archive path\n- If user provides custom path: use custom archive path\n- Create archive directory if it does not exist\n- Move original document to archive location\n- Confirm move to user: \"Original document moved to: [archive-path]\"\n\n#### If user selects `k` (keep)\n\n- Display warning to user:\n  - Keeping both original and sharded versions is NOT recommended\n  - The discover_inputs protocol may load the wrong version\n  - Updates to one will not reflect in the other\n  - Duplicate content taking up space\n  - Consider deleting or archiving the original document\n- Confirm user choice: \"Original document kept at: [source-document-path]\"\n\n## HALT CONDITIONS\n\n- HALT if npx command fails or produces no output files\n",{"name":5,"description":7},"main","46520352938752d2973ade5f7a84b01205f7aac6","frameworks\u002Fbmad-method\u002Fsrc\u002Fcore-skills\u002Fbmad-shard-doc",1,"https:\u002F\u002Fgithub.com\u002Fcombsmith\u002F.github-private","https:\u002F\u002Fgithub.com\u002Fcombsmith","https:\u002F\u002Fcombsmith.com","Open-source tools and experiments spanning agent orchestration, AI agent interfaces, AI content tooling, beekeeping tech, personal finance, and consumer apps.","2026-11-15 04:19:12",{"source":8,"skillName":5,"commands":51,"prompt":61,"zipAvailable":62},[52,55,58],{"tool":53,"command":54},"npx","npx skills add combsmith\u002F.github-private --skill bmad-shard-doc",{"tool":56,"command":57},"bunx","bunx skills add combsmith\u002F.github-private --skill bmad-shard-doc",{"tool":59,"command":60},"pnpm","pnpm dlx skills add combsmith\u002F.github-private --skill bmad-shard-doc","安装技能，技能地址：https:\u002F\u002Fgithub.com\u002Fcombsmith\u002F.github-private\u002Fblob\u002Fmain\u002Fframeworks\u002Fbmad-method\u002Fsrc\u002Fcore-skills\u002Fbmad-shard-doc\u002FSKILL.md",true,[],[65,90,105,132,150,168],{"skillNo":66,"name":67,"nameZh":6,"description":68,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":69,"categories":70,"keywords":74,"publishedAt":36},"01M6P9K2GYFR9RBTH96ADYZXEW","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\u002Fcombsmith\u002F.github-private\u002Fblob\u002Fmain\u002Fframeworks\u002Fbmad-test-architecture\u002Fsrc\u002Fworkflows\u002Ftestarch\u002Fbmad-testarch-trace\u002FSKILL.md",[71],{"categoryNo":72,"categoryName":73,"taxonomyType":21,"taxonomyTypeDesc":22},"01JBSEEDCAT000000000000008","测试与质量",[75,76,27,77,78,79,80,81,82,31,83,30,84,85,86,87,88,89],"trace","bmad testarch trace","bmad testarch","analyze","matrix","traceability","gate","test coverage","coverage","decision","quality","generate","create","quality gate","test",{"skillNo":91,"name":92,"nameZh":6,"description":93,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":94,"categories":95,"keywords":97,"publishedAt":36},"01M6P9JB7TD978DGCMEWWJ88GR","bmad-testarch-test-review","Review test quality using best practices validation. Use when user says \"lets review tests\" or \"I want to evaluate test quality\"","https:\u002F\u002Fgithub.com\u002Fcombsmith\u002F.github-private\u002Fblob\u002Fmain\u002Fframeworks\u002Fbmad-test-architecture\u002Fsrc\u002Fworkflows\u002Ftestarch\u002Fbmad-testarch-test-review\u002FSKILL.md",[96],{"categoryNo":72,"categoryName":73,"taxonomyType":21,"taxonomyTypeDesc":22},[27,77,98,99,100,89,101,102,103,104,31,30,85],"test review","bmad testarch test review","review","best practices","tests","validation","evaluate",{"skillNo":106,"name":107,"nameZh":6,"description":108,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":109,"categories":110,"keywords":120,"publishedAt":36},"01M6P9J2FJH9X93F027N9XKP8G","bmad-testarch-test-design","Create system-level or epic-level test plans. Use when the user says \"lets design test plan\" or \"I want to create test strategy\"","https:\u002F\u002Fgithub.com\u002Fcombsmith\u002F.github-private\u002Fblob\u002Fmain\u002Fframeworks\u002Fbmad-test-architecture\u002Fsrc\u002Fworkflows\u002Ftestarch\u002Fbmad-testarch-test-design\u002FSKILL.md",[111,112,115],{"categoryNo":72,"categoryName":73,"taxonomyType":21,"taxonomyTypeDesc":22},{"categoryNo":113,"categoryName":114,"taxonomyType":21,"taxonomyTypeDesc":22},"01JBSEEDCAT000000000000015","视觉设计",{"categoryNo":116,"categoryName":117,"taxonomyType":118,"taxonomyTypeDesc":119},"01JBSEEDCAT000000000000032","设计师","PROFESSION","适用职业",[77,27,121,122,89,123,124,125,126,127,31,30,128,129,130,87,131],"bmad testarch test design","design","test design","create test","EPIC","plans","test strategy","strategy","plan","test plan","system",{"skillNo":133,"name":134,"nameZh":6,"description":135,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":136,"categories":137,"keywords":138,"publishedAt":36},"01M6P9HNE1J104G3EYV50FET7Q","bmad-testarch-nfr","Audit NFR evidence for performance, security, reliability, and scalability. Use when implementation evidence exists and the user says \"audit NFR evidence\", \"audit NFRs\", or \"evaluate non-functional requirements\"","https:\u002F\u002Fgithub.com\u002Fcombsmith\u002F.github-private\u002Fblob\u002Fmain\u002Fframeworks\u002Fbmad-test-architecture\u002Fsrc\u002Fworkflows\u002Ftestarch\u002Fbmad-testarch-nfr\u002FSKILL.md",[],[139,27,77,104,140,141,142,143,144,145,146,31,30,147,148,149],"bmad testarch nfr","reliability","for","functional","requirements","scalability","implementation","evidence","audit","performance","security",{"skillNo":151,"name":152,"nameZh":6,"description":153,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":154,"categories":155,"keywords":157,"publishedAt":36},"01M6P9HD6HCAFVSRQWT2Z62NEM","bmad-testarch-framework","Initialize test framework with Playwright or Cypress. Use when the user says \"lets setup test framework\" or \"I want to initialize testing framework\"","https:\u002F\u002Fgithub.com\u002Fcombsmith\u002F.github-private\u002Fblob\u002Fmain\u002Fframeworks\u002Fbmad-test-architecture\u002Fsrc\u002Fworkflows\u002Ftestarch\u002Fbmad-testarch-framework\u002FSKILL.md",[156],{"categoryNo":72,"categoryName":73,"taxonomyType":21,"taxonomyTypeDesc":22},[158,159,27,77,160,161,162,89,163,164,165,166,167,31,30],"bmad testarch framework","framework","testing framework","setup","test framework","playwright","testing","initialize","with","cypress",{"skillNo":169,"name":170,"nameZh":6,"description":171,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":172,"categories":173,"keywords":178,"publishedAt":36},"01M6P9GVNB0SW4HPA4VR9VNN2V","bmad-testarch-ci","Scaffold CI\u002FCD quality pipeline with test execution. Use when the user says \"lets setup CI pipeline\" or \"I want to create quality gates\"","https:\u002F\u002Fgithub.com\u002Fcombsmith\u002F.github-private\u002Fblob\u002Fmain\u002Fframeworks\u002Fbmad-test-architecture\u002Fsrc\u002Fworkflows\u002Ftestarch\u002Fbmad-testarch-ci\u002FSKILL.md",[174,175],{"categoryNo":72,"categoryName":73,"taxonomyType":21,"taxonomyTypeDesc":22},{"categoryNo":176,"categoryName":177,"taxonomyType":21,"taxonomyTypeDesc":22},"01JBSEEDCAT000000000000011","运维与部署",[27,77,179,180,181,166,182,183,184,31,30,85,185,186,87,187,161,188,89],"bmad testarch ci","ci","gates","CI\u002FCD","test execution","cd","execution","pipeline","quality gates","scaffold"]