法律文本格式化工具
概述
将法律文本(法律条文或法律案例)转换为规范的 Markdown 格式,删除推广冗余信息,自动识别文本类型并应用相应的格式化规则。
核心职责:只负责格式化和内容清理,不包含内容抓取能力。
与其他技能的协作
典型工作流程
场景:用户请求格式化网页上的法律文本
用户请求 → AI 判断来源 → 抓取类 skill 获取内容 → legal-text-format 格式化
示例流程:
- 用户提供微信公众号链接 → AI 使用
wechat-article-fetch抓取 → AI 调用legal-text-format格式化 - 用户提供普通网页链接 → AI 使用其他工具抓取 → AI 调用
legal-text-format格式化 - 用户直接粘贴文本 → AI 直接调用
legal-text-format格式化
技能职责边界:
wechat-article-fetch/ 其他抓取工具:负责从各种来源获取原始文本内容legal-text-format:负责对已获取的文本进行格式化和清理
核心原则
内容完整性保证:除格式调整和去除推广内容外,所有法律案例和法条的实质内容必须完整保留,不得有任何遗漏!
工作流程
步骤 1:分析文本类型
使用 LLM 分析输入文本:
- 判断是法律条文还是法律案例
- 识别文本结构特征(章节、条款、案号等)
- 确定适合的格式化策略
- 提取主题用于文件命名
分析提示词参考:
分析以下文本,判断其类型:
- 如果是法律条文:识别章、节、条的结构
- 如果是法律案例:识别案例标题、案号、案情、裁判结果、典型意义等
- 提取主题用于文件命名
步骤 2:保存原始内容
将输入的原始内容保存为本地 Markdown 文件:
- 文件位置:
archive/{YYYYMMDD_HHMMSS}_{主题}/ - 文件命名:
{YYYYMMDD}_{主题}_raw.md - 目的:提供溯源依据,便于内容比对验证
归档目录结构示例:
archive/20250122_153400_个人信息保护检察公益诉讼典型案例/
├── 20250122_个人信息保护检察公益诉讼典型案例_raw.md # 原始内容
├── 20250122_个人信息保护检察公益诉讼典型案例_formatted.md # 格式化后的内容(步骤4生成)
└── meta.json # 元信息(可选)
步骤 3:格式化文本
重要:一次性处理完整文本,不进行分段。
格式化提示词(参考 examples.md 中的详细示例):
请将以下法律文本格式化为规范的 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,包含:
- 4个完整的法律案例格式化示例
- 每个示例包含原始文本和格式化后的对比
- 格式化要点总结(标点符号处理、标题层级、空行处理、内容范围等)
准确性要求
- 不改变原文含义:格式调整不得改变法律文本的原意
- 保留关键信息:案号、法院名称、当事人等关键信息必须保留
- 序号保持:案例序号、条文序号不得修改
输出文档结构
归档目录组织
所有格式化结果按时间戳归档存储:
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 内容结构
# {文档标题}
## 元信息
- **来源**:{原网页URL或"用户粘贴"}
- **处理时间**:{时间戳}
- **文本类型**:{法律条文/法律案例}
- **原始文件**:[{YYYYMMDD}_{主题}_raw.md]({YYYYMMDD}_{主题}_raw.md)
## 内容验证
- **原始字数**:{原始文档字数}
- **格式化后字数**:{格式化文档字数}
- **字数差异**:{差异百分比}%
- **案例/条文数量**:{识别到的案例或条文数量}
- **完整性检查**:✅ 通过 / ⚠️ 需人工复核
---
{格式化后的正文内容}
质量标准
- 标点符号统一:所有标点符号使用中文标点
- 数字格式统一:数字使用半角字符
- 层级结构清晰:正确使用二级、三级标题
- 空行规范:段落间空行适当,不过多也不缺失
- 内容完整性:保留所有法律相关内容,去除无关推广信息
适用场景
- 整理法律条文汇编
- 规范化法律案例集
- 准备法律学习材料
- 建立法律文本知识库
- 清理从网页抓取的法律文本
输入要求
本技能接受以下类型的输入:
- 已抓取的文本内容:由其他 skill(如 wechat-article-fetch)获取的文本
- 用户粘贴的文本:用户直接提供的文本内容
- 本地文件:已保存的 Markdown/文本文件
不接受:网页链接(链接应由专门的抓取类 skill 处理)