legal-text-format
$
npx mdskill add cat-xierluo/legal-skills/legal-text-formatFormat legal text into clean Markdown while removing promotional content.
- Converts law articles and cases into standardized Markdown structure.
- Integrates with wechat-article-fetch and other content retrieval tools.
- Analyzes input to determine text type and apply specific formatting rules.
- Saves raw and formatted versions to local archive directories for verification.
SKILL.md
.github/skills/legal-text-formatView on GitHub ↗
---
name: legal-text-format
homepage: https://github.com/cat-xierluo/legal-skills
author: 杨卫薪律师(微信ywxlaw)
version: "1.1.0"
license: CC-BY-NC-SA-4.0
description: 将法律文本(法律条文或法律案例)转换为规范的 Markdown 格式,删除推广冗余信息。本技能应在用户需要处理法律条文(如民法典、刑法等)、整理法律案例(如最高法典型案例、裁判文书等)、或从粘贴文本中格式化法律文档时使用。注意:本技能只负责格式化和内容清理,不包含内容抓取能力。内容获取应由其他 skill(如 wechat-article-fetch)完成,AI 会自动判断技能协作顺序。
---
# 法律文本格式化工具
## 概述
将法律文本(法律条文或法律案例)转换为规范的 Markdown 格式,删除推广冗余信息,自动识别文本类型并应用相应的格式化规则。
**核心职责**:只负责格式化和内容清理,不包含内容抓取能力。
## 与其他技能的协作
### 典型工作流程
**场景:用户请求格式化网页上的法律文本**
```
用户请求 → AI 判断来源 → 抓取类 skill 获取内容 → legal-text-format 格式化
```
示例流程:
1. 用户提供微信公众号链接 → AI 使用 `wechat-article-fetch` 抓取 → AI 调用 `legal-text-format` 格式化
2. 用户提供普通网页链接 → AI 使用其他工具抓取 → AI 调用 `legal-text-format` 格式化
3. 用户直接粘贴文本 → AI 直接调用 `legal-text-format` 格式化
**技能职责边界**:
- `wechat-article-fetch` / 其他抓取工具:负责从各种来源获取原始文本内容
- `legal-text-format`:负责对已获取的文本进行格式化和清理
## 核心原则
**内容完整性保证**:除格式调整和去除推广内容外,所有法律案例和法条的实质内容必须完整保留,不得有任何遗漏!
## 工作流程
### 步骤 1:分析文本类型
使用 LLM 分析输入文本:
- 判断是法律条文还是法律案例
- 识别文本结构特征(章节、条款、案号等)
- 确定适合的格式化策略
- 提取主题用于文件命名
**分析提示词参考**:
```text
分析以下文本,判断其类型:
- 如果是法律条文:识别章、节、条的结构
- 如果是法律案例:识别案例标题、案号、案情、裁判结果、典型意义等
- 提取主题用于文件命名
```
### 步骤 2:保存原始内容
将输入的原始内容保存为本地 Markdown 文件:
- 文件位置:`archive/{YYYYMMDD_HHMMSS}_{主题}/`
- 文件命名:`{YYYYMMDD}_{主题}_raw.md`
- 目的:提供溯源依据,便于内容比对验证
**归档目录结构示例**:
```text
archive/20250122_153400_个人信息保护检察公益诉讼典型案例/
├── 20250122_个人信息保护检察公益诉讼典型案例_raw.md # 原始内容
├── 20250122_个人信息保护检察公益诉讼典型案例_formatted.md # 格式化后的内容(步骤4生成)
└── meta.json # 元信息(可选)
```
### 步骤 3:格式化文本
**重要**:一次性处理完整文本,不进行分段。
**格式化提示词**(参考 [examples.md](references/examples.md) 中的详细示例):
```text
请将以下法律文本格式化为规范的 Markdown 格式。
# 法律条文格式化规则
- 章前面添加二级 markdown 格式(##)
- 不同条文之间添加空行
- 每一条条文内部换行时不应有多余空行
- "第X条"进行加粗(**第X条**)
- 如果一段文字的最后没有句号或分号,则删除后方的回车
- 保持所有条文内容完整,不得遗漏任何条款
# 法律案例格式化规则
- 把英文标点符号替换成中文标点符号(包括括号、逗号、句号、冒号、分号等)
- 案例序号或名称前添加二级 markdown 格式(##),序号后要紧跟案例名称
- 每个案例的章节前添加三级 markdown 格式(###)
- 每个案例的章节内部不应有大于1个的空行(连续换行数不超过2个)
- 清理多余的连续空行,保持段落间适当的分隔
- 把数字格式调整为半角
- 内容范围限定:
- 仅保留从第一个案例到最后一个案例的内容
- 删除前面的文章介绍、作者信息、引言、目录等
- 删除底部的宣传推广内容、二维码、公众号介绍、相关文章推荐等
- 保留标准:只保留案例标题、案号、基本案情、裁判结果、典型意义等法律案例本身的内容
- 保持所有案例实质内容完整,包括案情、裁判、意义等所有部分
# 参考示例
详见 references/examples.md 文件,其中包含4个完整的格式化示例。
```
#### 法律条文格式化规则摘要
- 章前面添加二级 markdown 格式(`##`)
- 不同条文之间添加空行
- 每一条条文内部换行时不应有多余空行
- "第X条"进行加粗(`**第X条**`)
- 如果一段文字的最后没有句号或分号,则删除后方的回车
- 保持所有条文内容完整,不得遗漏任何条款
#### 法律案例格式化规则摘要
- 把英文标点符号替换成中文标点符号
- 案例序号或名称前添加二级 markdown 格式(`##`),序号后要紧跟案例名称
- 每个案例的章节前添加三级 markdown 格式(`###`)
- 每个案例的章节内部不应有大于1个的空行(连续换行数不超过2个)
- 清理多余的连续空行,保持段落间适当的分隔
- 把数字格式调整为半角
- **内容范围限定**:
- **仅保留**从第一个案例到最后一个案例的内容
- **删除前面**的文章介绍、作者信息、引言、目录等
- **删除底部**的宣传推广内容、二维码、公众号介绍、相关文章推荐等
- **保留标准**:只保留案例标题、案号、基本案情、裁判结果、典型意义等法律案例本身的内容
- 保持所有案例实质内容完整,包括案情、裁判、意义等所有部分
### 步骤 4:保存并验证
保存格式化后的文档:
- 文件位置:`archive/{YYYYMMDD_HHMMSS}_{主题}/`
- 文件命名:`{YYYYMMDD}_{主题}_formatted.md`
- 与 `raw.md` 保存在同一归档目录下
**内容完整性验证**:
- 对比原始文档和格式化文档的字数(允许±10%的差异,因为删除了推广内容)
- 确认所有法律条文/案例标题都存在
- 确认关键内容(案号、法院、裁判要旨等)完整保留
- 在输出文档的元信息中注明验证结果
## 参考文档
### 格式化示例
详细的格式化示例和对比请参见 [examples.md](references/examples.md),包含:
- 4个完整的法律案例格式化示例
- 每个示例包含原始文本和格式化后的对比
- 格式化要点总结(标点符号处理、标题层级、空行处理、内容范围等)
### 准确性要求
- **不改变原文含义**:格式调整不得改变法律文本的原意
- **保留关键信息**:案号、法院名称、当事人等关键信息必须保留
- **序号保持**:案例序号、条文序号不得修改
## 输出文档结构
### 归档目录组织
所有格式化结果按时间戳归档存储:
```text
archive/
├── {YYYYMMDD_HHMMSS}_{文档主题}/
│ ├── {YYYYMMDD}_{主题}_raw.md # 原始抓取内容
│ ├── {YYYYMMDD}_{主题}_formatted.md # 格式化后的内容
│ └── meta.json # 元信息(可选)
```
**命名规则**:
- **目录名**:`{YYYYMMDD_HHMMSS}_{主题}`(例:`20250122_153400_个人信息保护典型案例`)
- **文件名**:
- 原始文件:`{YYYYMMDD}_{主题}_raw.md`(例:`20250122_个人信息保护典型案例_raw.md`)
- 格式化文件:`{YYYYMMDD}_{主题}_formatted.md`(例:`20250122_个人信息保护典型案例_formatted.md`)
- **主题限制**:从文本中提取的核心主题,限制30字以内
- **日期格式**:`YYYYMMDD`(例:20250122)
### formatted.md 内容结构
```markdown
# {文档标题}
## 元信息
- **来源**:{原网页URL或"用户粘贴"}
- **处理时间**:{时间戳}
- **文本类型**:{法律条文/法律案例}
- **原始文件**:[{YYYYMMDD}_{主题}_raw.md]({YYYYMMDD}_{主题}_raw.md)
## 内容验证
- **原始字数**:{原始文档字数}
- **格式化后字数**:{格式化文档字数}
- **字数差异**:{差异百分比}%
- **案例/条文数量**:{识别到的案例或条文数量}
- **完整性检查**:✅ 通过 / ⚠️ 需人工复核
---
{格式化后的正文内容}
```
## 质量标准
- **标点符号统一**:所有标点符号使用中文标点
- **数字格式统一**:数字使用半角字符
- **层级结构清晰**:正确使用二级、三级标题
- **空行规范**:段落间空行适当,不过多也不缺失
- **内容完整性**:保留所有法律相关内容,去除无关推广信息
## 适用场景
- 整理法律条文汇编
- 规范化法律案例集
- 准备法律学习材料
- 建立法律文本知识库
- 清理从网页抓取的法律文本
## 输入要求
本技能接受以下类型的输入:
1. **已抓取的文本内容**:由其他 skill(如 wechat-article-fetch)获取的文本
2. **用户粘贴的文本**:用户直接提供的文本内容
3. **本地文件**:已保存的 Markdown/文本文件
**不接受**:网页链接(链接应由专门的抓取类 skill 处理)