Agent skill
bmad-shard-doc
Splits large markdown documents into smaller, organized files based on level 2 (default) sections. Use if the user says perform shard document
Install this agent skill to your Project
npx add-skill https://github.com/bmad-code-org/BMAD-METHOD/tree/main/src/core-skills/bmad-shard-doc
SKILL.md
Shard Document
Goal: Split large markdown documents into smaller, organized files based on level 2 sections using npx @kayvan/markdown-tree-parser.
CRITICAL RULES
- MANDATORY: Execute ALL steps in the EXECUTION section IN EXACT ORDER
- DO NOT skip steps or change the sequence
- HALT immediately when halt-conditions are met
- Each action within a step is a REQUIRED action to complete that step
EXECUTION
Step 1: Get Source Document
- Ask user for the source document path if not provided already
- Verify file exists and is accessible
- Verify file is markdown format (.md extension)
- If file not found or not markdown: HALT with error message
Step 2: Get Destination Folder
- Determine default destination: same location as source file, folder named after source file without .md extension
- Example:
/path/to/architecture.md-->/path/to/architecture/
- Example:
- Ask user for the destination folder path (
[y]to confirm use of default:[suggested-path], else enter a new path) - If user accepts default: use the suggested destination path
- If user provides custom path: use the custom destination path
- Verify destination folder exists or can be created
- Check write permissions for destination
- If permission denied: HALT with error message
Step 3: Execute Sharding
- Inform user that sharding is beginning
- Execute command:
npx @kayvan/markdown-tree-parser explode [source-document] [destination-folder] - Capture command output and any errors
- If command fails: HALT and display error to user
Step 4: Verify Output
- Check that destination folder contains sharded files
- Verify index.md was created in destination folder
- Count the number of files created
- If no files created: HALT with error message
Step 5: Report Completion
- Display completion report to user including:
- Source document path and name
- Destination folder path
- Number of section files created
- Confirmation that index.md was created
- Any tool output or warnings
- Inform user that sharding completed successfully
Step 6: Handle Original Document
Critical: Keeping both the original and sharded versions defeats the purpose of sharding and can cause confusion.
Present user with options for the original document:
What would you like to do with the original document
[source-document-name]?Options:
[d]Delete - Remove the original (recommended - shards can always be recombined)[m]Move to archive - Move original to a backup/archive location[k]Keep - Leave original in place (NOT recommended - defeats sharding purpose)Your choice (d/m/k):
If user selects d (delete)
- Delete the original source document file
- Confirm deletion to user: "Original document deleted: [source-document-path]"
- Note: The document can be reconstructed from shards by concatenating all section files in order
If user selects m (move)
- Determine default archive location: same directory as source, in an
archivesubfolder- Example:
/path/to/architecture.md-->/path/to/archive/architecture.md
- Example:
- Ask: Archive location (
[y]to use default:[default-archive-path], or provide custom path) - If user accepts default: use default archive path
- If user provides custom path: use custom archive path
- Create archive directory if it does not exist
- Move original document to archive location
- Confirm move to user: "Original document moved to: [archive-path]"
If user selects k (keep)
- Display warning to user:
- Keeping both original and sharded versions is NOT recommended
- The discover_inputs protocol may load the wrong version
- Updates to one will not reflect in the other
- Duplicate content taking up space
- Consider deleting or archiving the original document
- Confirm user choice: "Original document kept at: [source-document-path]"
HALT CONDITIONS
- HALT if npx command fails or produces no output files
Recommended Agent Skills
Expand your agent's capabilities with these related and highly-rated skills.
bmad-advanced-elicitation
Push the LLM to reconsider, refine, and improve its recent output. Use when user asks for deeper critique or mentions a known deeper critique method, e.g. socratic, first principles, pre-mortem, red team.
bmad-distillator
Lossless LLM-optimized compression of source documents. Use when the user requests to 'distill documents' or 'create a distillate'.
bmad-review-adversarial-general
Perform a Cynical Review and produce a findings report. Use when the user requests a critical review of something
bmad-help
Analyzes current state and user query to answer BMad questions or recommend the next skill(s) to use. Use when user asks for help, bmad help, what to do next, or what to start with in BMad.
bmad-editorial-review-prose
Clinical copy-editor that reviews text for communication issues. Use when user says review for prose or improve the prose
bmad-editorial-review-structure
Structural editor that proposes cuts, reorganization, and simplification while preserving comprehension. Use when user requests structural review or editorial review of structure
Didn't find tool you were looking for?