mcpField
B
bmad-shard-doc

bmad-shard-doc

github.com/bmad-code-org文档处理54.7k260 次安装1 周前更新
代码仓库

关于 bmad-shard-doc

此 skill 使用 `@kayvan/markdown-tree-parser`,按二级标题将大型 Markdown 文档拆分为多个文件,并指导检查路径、执行拆分、验证输出及处理原文件。

主要功能

  1. 01按二级标题拆分 Markdown
  2. 02检查源文件与目标路径
  3. 03运行解析器并验证输出
  4. 04创建并确认 index.md
  5. 05提供删除、归档或保留选项

适用场景

  1. 01将大型 Markdown 文档拆为章节文件
  2. 02整理文档时生成章节索引

安装

复制下面的命令,在终端中运行。

$npx skills add https://github.com/bmad-code-org/bmad-method --skill bmad-shard-doc

安装后在 Claude Code 中输入/bmad-shard-doc确认已加载。

详细介绍

分片文档

目标: 使用 npx @kayvan/markdown-tree-parser 将大型 markdown 文档按二级标题拆分为更小、更有条理的文件。

关键规则

  • 强制要求:按精确顺序执行 EXECUTION 部分中的所有步骤
  • 不要跳过步骤或更改顺序
  • 满足停止条件时立即停止
  • 步骤中的每个操作都是完成该步骤的必需操作

EXECUTION

步骤 1:获取源文档
  • 如果尚未提供,询问用户源文档路径
  • 验证文件存在且可访问
  • 验证文件为 markdown 格式(.md 扩展名)
  • 如果文件未找到或不是 markdown:停止并显示错误消息
步骤 2:获取目标文件夹
  • 确定默认目标位置:与源文件相同的位置,文件夹名称以源文件名去掉 .md 扩展名命名
    • 示例:/path/to/architecture.md --> /path/to/architecture/
  • 询问用户目标文件夹路径([y] 确认使用默认值:[suggested-path],否则输入新路径)
  • 如果用户接受默认值:使用建议的目标路径
  • 如果用户提供自定义路径:使用自定义目标路径
  • 验证目标文件夹存在或可以创建
  • 检查目标的写入权限
  • 如果权限被拒绝:停止并显示错误消息
步骤 3:执行分片
  • 告知用户分片即将开始
  • 执行命令:npx @kayvan/markdown-tree-parser explode [source-document] [destination-folder]
  • 捕获命令输出和任何错误
  • 如果命令失败:停止并向用户显示错误
步骤 4:验证输出
  • 检查目标文件夹包含分片文件
  • 验证 index.md 已在目标文件夹中创建
  • 统计创建的文件数量
  • 如果没有创建文件:停止并显示错误消息
步骤 5:报告完成
  • 向用户显示完成报告,包括:
    • 源文档路径和名称
    • 目标文件夹路径
    • 创建的章节文件数量
    • 确认 index.md 已创建
    • 任何工具输出或警告
  • 告知用户分片已成功完成
步骤 6:处理原始文档

关键: 同时保留原始版本和分片版本会违背分片的目的,并可能导致混淆。

向用户提供原始文档的选项:

您想如何处理原始文档 [source-document-name]?

选项:

  • [d] 删除 - 移除原始文档(推荐 - 分片始终可以重新组合)
  • [m] 移动到归档 - 将原始文档移动到备份/归档位置
  • [k] 保留 - 将原始文档留在原处(不推荐 - 违背分片目的)

您的选择(d/m/k):

如果用户选择 d(删除)
  • 删除原始源文档文件
  • 向用户确认删除:“原始文档已删除:[source-document-path]”
  • 注意:文档可以通过按顺序拼接所有章节文件从分片重建
如果用户选择 m(移动)
  • 确定默认归档位置:与源文件相同的目录,在 archive 子文件夹中
    • 示例:/path/to/architecture.md --> /path/to/archive/architecture.md
  • 询问:归档位置([y] 使用默认值:[default-archive-path],或提供自定义路径)
  • 如果用户接受默认值:使用默认归档路径
  • 如果用户提供自定义路径:使用自定义归档路径
  • 如果归档目录不存在则创建
  • 将原始文档移动到归档位置
  • 向用户确认移动:“原始文档已移动到:[archive-path]”
如果用户选择 k(保留)
  • 向用户显示警告:
    • 不推荐同时保留原始版本和分片版本
    • discover_inputs 协议可能加载错误的版本
    • 对其中一个的更新不会反映在另一个中
    • 重复内容占用空间
    • 考虑删除或归档原始文档
  • 确认用户选择:“原始文档保留在:[source-document-path]”

停止条件

  • 如果 npx 命令失败或未生成输出文件,则停止

评论

支持 Markdown