核心用法
本 skill 专为仓库级 Markdown 格式治理设计,提供从初始化到持续集成的完整工作流:
1. 配置文件生成:创建 .markdownlint.json,针对中文内容优化——关闭 MD013(行长限制)、MD033(行内 HTML)、MD035/MD036(水平线/强调标题),并预留 MD025/MD045/MD051/MD056 等按需禁用规则;同时生成 .pre-commit-config.yaml 集成 markdownlint-cli2 与自定义水平线检查脚本。
2. 水平线清理:通过 awk 脚本智能识别 YAML frontmatter 与正文 ---,批量移除违规水平线而不破坏文档元数据。
3. 批量修复:markdownlint-cli2 --fix 处理自动修复,对 MD040(代码块无语言标识)等需手动介入的问题给出统计分析与修复建议。
4. Monorepo 适配:支持 #repos #node_modules 排除语法,避免子仓库与依赖目录干扰。
显著优点
- 中文场景优化:预设规则集针对 CJK 文本、表格管道符间距、中文锚点链接等痛点专项调整,开箱即用。
- 双重防护机制:markdownlint 覆盖 60+ 规则,叠加自定义 shell 脚本禁止水平线,防止视觉分隔符滥用。
- 自动化闭环:pre-commit 钩子实现提交前强制检查,配合
--fix自动修复,降低人工介入成本。 - 渐进式配置:提供「按需追加禁用」规则表,允许仓库根据导入文档(vendor docs)或复杂表格结构灵活调整。
潜在缺点与局限性
- Node.js 依赖:核心工具链依赖 npm 生态,对纯 Python/Go 仓库增加环境复杂度。
- Windows 兼容性:水平线检查脚本为 Bash,Windows 用户需 Git Bash 或 WSL 支持。
- 非语义检查:仅覆盖格式规范(空格、标题层级、代码块标签),不涉及内容质量、链接有效性或拼写检查。
- 无法自动修复的规则:MD040、MD025 等需人工判断,大规模 vendor 文档可能需要批量禁用规则而非逐条修复。
适合人群
- 技术文档团队:需要统一 Markdown 风格规范,尤其是多语言混合(CJK + 英文)场景。
- 开源项目维护者:希望低成本建立 CI-ready 的文档质量门禁。
- Monorepo 开发者:需跨子仓库统一格式标准,同时避免递归检查依赖目录。
常规风险
- 配置漂移:
.markdownlint.json分散在多个仓库时,规则集可能随时间分化,建议通过共享配置包或模板仓库同步。 - pre-commit 版本锁定:
rev: v0.21.0可能滞后,需定期运行pre-commit autoupdate。 - 误删风险:批量清理水平线的
awk脚本虽保留 frontmatter,但异常格式(如 frontmatter 后空行)可能导致误判,建议先备份或逐仓库验证。
安全等级说明
本 skill 执行文件系统操作(创建配置、修改 .md 内容、安装 git hooks),但作用域限定于当前仓库,不访问网络或敏感数据。水平线清理脚本经 grep 过滤输入,避免错误消息被当作文件名处理,具备基础输入校验。