$npx -y skills add pa1nrui1/legal-skills --skill law-to-markdown将法条/规范文件(.txt/.docx/.pdf)转为 Markdown。适用于用户要求“法条转 markdown”“pdf/docx 转 markdown”。处理 .pdf/.docx 时先检查是否已安装 mineru-ocr skill;未安装先引导安装,安装后优先用 mineru-ocr;仅在用户明确同意时再用本地回退方案。
| 1 | ## 法律工作总控规则(强制) |
| 2 | |
| 3 | 执行本 Skill 前,必须先遵循: |
| 4 | - skills/legal/法律工作总控/references/practice-profile.md |
| 5 | - skills/legal/法律工作总控/references/matter-workspace-protocol.md |
| 6 | - skills/legal/法律工作总控/references/document-reading-protocol.md |
| 7 | - skills/legal/法律工作总控/references/source-boundary-protocol.md |
| 8 | - skills/legal/法律工作总控/references/ocr-correction-protocol.md |
| 9 | - skills/legal/法律工作总控/references/pkulaw-mcp-legal-verification-protocol.md |
| 10 | |
| 11 | 本 Skill 只处理本专业任务;案件隔离、来源披露、材料缺口、法规/Wiki 校验、OCR 校正和读取复查按总控规则执行。 |
| 12 | |
| 13 | ## 旧规则废止(强制) |
| 14 | |
| 15 | - 旧文中直接写死的客户目录、阶段目录、旧式台账写入、旧本地读取协议均不作为执行规则。 |
| 16 | - 事项路径、当前事项、系统记录、业务文件区和复盘台账统一以法律工作总控 `matter-workspace-protocol.md` 为准。 |
| 17 | - 不得静默写入复盘台账;确需更新时,先确认属于复盘台账更新并向用户说明。 |
| 18 | |
| 19 | |
| 20 | --- |
| 21 | |
| 22 | # Law To Markdown |
| 23 | |
| 24 | ## 处理规则 |
| 25 | |
| 26 | 1. 输入为 `.txt`:直接转存为 `.md`。 |
| 27 | 2. 输入为 `.pdf` / `.docx`: |
| 28 | - 先检查是否已安装 `mineru-ocr` skill。 |
| 29 | - 未安装:提示先安装 `mineru-ocr`,安装地址: |
| 30 | `https://github.com/cat-xierluo/legal-skills/tree/main/skills/mineru-ocr` |
| 31 | - 已安装:优先调用 `mineru-ocr` 处理。 |
| 32 | - 调用失败:先提示检查 `mineru-ocr` 配置/Token。 |
| 33 | - 仅当用户明确同意时,才使用本地回退(`python-docx` / `pdfplumber`)。 |
| 34 | 3. 第一阶段完成后默认执行第二阶段格式调整(仅格式,不改原文字符): |
| 35 | - 由调用该 skill 的大模型先判断“法律/非法律”,并把结果传给脚本。 |
| 36 | - 若调用方未传结果,则脚本使用硬规则自动识别(`--law-decision auto`)。 |
| 37 | - 法律名称 `#` |
| 38 | - 编/分编 `##` |
| 39 | - 章 `###` |
| 40 | - 节 `####` |
| 41 | - 条 `#####`(仅“第X条”为标题;`第X条【条标】`整行为标题不拆) |
| 42 | - 款/项/目无标题 |
| 43 | - 项、目按标记换行 |
| 44 | - 清理多余空格:去行尾空格、去行首 ASCII 空格、去正文行首全角缩进、规范标题后的空格 |
| 45 | 4. 若识别为明显非法律文本(如 GB/标准类文档),第二阶段明确拒绝:`Stage2: rejected (non-law-document)`。 |
| 46 | 5. 若第二阶段未识别法律结构或保真校验失败,则自动 no-op,不改文本。 |
| 47 | 6. 默认执行第三阶段检查(双子阶段,硬门槛): |
| 48 | - Stage3-A:校验 `stage2` 相对 `stage1` 的文字内容准确性(去标题符号与空白后字符流必须一致) |
| 49 | - Stage3-B:校验结构效果(结构层级、条标题规则、非法律策略、空格规范、项/目换行) |
| 50 | - 任一失败触发自动重走,最多 2 次;仍失败默认报错退出 |
| 51 | |
| 52 | ## 二阶段识别参数 |
| 53 | |
| 54 | - `--law-decision law`:调用方已判定为法律文本,直接按法律结构优化。 |
| 55 | - `--law-decision non-law`:调用方已判定为非法律文本,阶段二直接拒绝。 |
| 56 | - `--law-decision auto`:不传判定时的默认模式,使用脚本内硬规则。 |
| 57 | |
| 58 | ## 三阶段参数 |
| 59 | |
| 60 | - `--skip-stage3-check`:跳过第三阶段检查(默认不跳过)。 |
| 61 | - `--stage3-max-retries`:失败后自动重走次数,默认 `2`。 |
| 62 | - `--stage3-strict` / `--no-stage3-strict`: |
| 63 | - 默认严格模式(失败即报错退出) |
| 64 | - 非严格模式仅输出报告,不阻断流程 |
| 65 | - `--artifact-level minimal|standard|debug`: |
| 66 | - `minimal`(默认):面向交付,输出最少 |
| 67 | - `standard`:保留过程文件(`stage1/stage2/stage3-check`)便于排查 |
| 68 | - `debug`:保留全部过程产物(包含调试信息) |
| 69 | |
| 70 | ## 输出规则 |
| 71 | |
| 72 | - 默认输出到输入文件同目录的 `markdown/` 子目录,并按输入文件名创建独立目录: |
| 73 | - `markdown/<文件名>/` |
| 74 | - 默认(`--artifact-level minimal`)输出: |
| 75 | - `<原文件名>+审核报告.md`(详细过程和结论) |
| 76 | - `<原文件名>+最终成果.md`(仅法律文本且审核通过时生成) |
| 77 | - 非法律文档(如 GB/标准类): |
| 78 | - 结论为“拒绝处理” |
| 79 | - 仅输出 `<原文件名>+审核报告.md` |
| 80 | - 不输出 `<原文件名>+最终成果.md` |
| 81 | - 审核未通过时会自动保留过程文件用于排查: |
| 82 | - `<文件名>.stage1.md` |
| 83 | - `<文件名>.stage2.md` |
| 84 | - `<文件名>.stage3-check.md` |
| 85 | - 若需更多产物可切换: |
| 86 | - `--artifact-level standard`:保留 `stage1/stage2/stage3-check` |
| 87 | - `--artifact-level debug`:保留全部调试产物 |
| 88 | - 可通过命令参数指定 `--out` 或 `--out-dir`。 |
| 89 | |
| 90 | ## 常用命令 |
| 91 | |
| 92 | ```bash |
| 93 | python3 law-to-markdown/scripts/law_to_markdown.py "input.txt" |
| 94 | python3 law-to-markdown/scripts/law_to_markdown.py "input.docx" |
| 95 | python3 law-to-markdown/scripts/law_to_markdown.py "input.pdf" |
| 96 | ``` |
| 97 | |
| 98 | 用户明确同意回退时: |
| 99 | |
| 100 | ```bash |
| 101 | python3 law-to-markdown/scripts/law_to_markdown.py "input.docx" --allow-fallback |
| 102 | python3 law-to-markdown/scripts/law_to_markdown.py "input.pdf" --allow-fallback |
| 103 | ``` |
| 104 | |
| 105 | ## 许可证 |
| 106 | |
| 107 | SPDX-License-Identifier: Apache-2.0 |
| 108 | |
| 109 | Copyright (c) 2026 JiCheng |
| 110 | |
| 111 | 采用 Apache License 2.0 许可,许可证原文见仓库根目录 `LICENSE`。 |