mcpField
L
legal-text-format

legal-text-format

github.com/cat-xierluoドキュメント762158 回インストール今日更新
リポジトリ

legal-text-format について

提供された法令や法律事例を整った Markdown にするスキルです。法務文書の保存や学習資料の準備に向け、種類に応じた整形と宣伝情報の整理を行い、実質的な内容の保持を重視します。Web の取得機能はありません。

主な機能

  1. 01法令と事例の種類を判別
  2. 02種類別の Markdown 整形
  3. 03無関係な宣伝情報の削除
  4. 04原文と整形版の保存
  5. 05内容保持と原文との照合

活用シーン

  1. 01法令集の整理
  2. 02法律事例集の整形
  3. 03取得済み法務テキストの整理
  4. 04法律学習資料の準備

インストール

コマンドをコピーしてターミナルで実行します。

$npx skills add https://github.com/cat-xierluo/legal-skills --skill legal-text-format

インストール後、Claude Code で/legal-text-formatを入力して読み込まれたか確認します。

同梱ファイル

SKILL.md と一緒にインストールされる参考資料やスクリプト。

CHANGELOG.md
LICENSE.txt
references/
examples.md
scripts/
format_legal_cases.py
scripts/tests/
test_content_preservation.py
test_format_legal_cases.py

詳細

法律文書フォーマットツール

概要

法律文書(法律条文または法律事例)を標準的な Markdown 形式に変換し、宣伝などの不要な情報を削除して、テキストの種類を自動的に識別し、対応するフォーマットルールを適用します。

主な役割:フォーマットと内容の整理のみを担当し、コンテンツの取得機能は含みません。

他のスキルとの連携

一般的なワークフロー

シナリオ:ユーザーがウェブページ上の法律文書のフォーマットを依頼

用户请求 → AI 判断来源 → 抓取类 skill 获取内容 → legal-text-format 格式化

ワークフローの例:

  1. ユーザーが WeChat 公式アカウントの記事リンクを提供 → 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 を使用して入力テキストを分析します:

  • 法律条文か法律事例かを判断する
  • テキストの構造的特徴(章、条、事件番号など)を識別する
  • 適切なフォーマット方針を決定する
  • ファイル名に使用するテーマを抽出する

分析プロンプトの参考例:

分析以下文本,判断其类型:
- 如果是法律条文:识别章、节、条的结构
- 如果是法律案例:识别案例标题、案号、案情、裁判结果、典型意义等
- 提取主题用于文件命名
ステップ 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つまで)
  • 連続する余分な空行を整理し、段落間に適切な区切りを保つ
  • 数字を半角にする
  • 内容の範囲:
    • 最初の事例から最後の事例までの内容のみを残す
    • 冒頭の文章紹介、執筆者情報、前書き、目次などは削除する
    • 末尾の宣伝、QR コード、公式アカウントの紹介、関連記事のおすすめなどは削除する
    • 保持する内容:事例のタイトル、事件番号、基本的な事案、裁判結果、典型的な意義など、法律事例そのものの内容のみを残す
  • 事案、裁判、意義など、すべての事例の実質的な内容を完全に保持する
ステップ 4:保存

フォーマット後の文書を保存します:

  • ファイルの場所:archive/{YYYYMMDD_HHMMSS}_{テーマ}/
  • ファイル名:{YYYYMMDD}_{テーマ}_formatted.md
  • raw.md と同じアーカイブディレクトリに保存する

決定論的スクリプトの保守的な適用範囲

事例テキストの処理には python3 scripts/format_legal_cases.py 入力.md 出力.md 裁判所名 原文URL 文書タイトル を使用します。スクリプトが必要とするのは Python 3 の標準ライブラリのみです。ネットワーク接続やモデルの呼び出しは行わず、法律条文の構造の識別や意味の検証も担当しません。

  • まずワークフローに沿って原文を保存し、処理後に結果を原文と比較します。
  • 日付、最初の事例を示す語句、空段落の位置、固定文字数に基づいて本文を切り取りません。関数の呼び出し側が keep_from_marker を明示的に渡した場合に限り、先頭の切り取り位置を指定できます。CLI はデフォルトで先頭部分を保持し、曖昧な紹介文や宣伝文は人手で確認します。
  • 識別済みの完全な文末の出典/終了マーカーと、その直後に続く既知の宣伝行のみを整理します。本文中の出典、連絡先などの語句、引用行、証拠画像は保持します。フッターかどうか判断できない場合は保持し、スクリプトの出力を意味上の整理が完了した証拠として扱ってはなりません。
  • 事例番号、小数、桁区切り、URL、メールアドレス、Markdown リンク、インラインコードの構文を保持します。フェンス付きコード/証拠ブロックは原文のまま保持します。通常の本文の句読点は引き続き中国語の組版ルールに従って調整し、通常の本文の数字は既存のルールに従って半角に変換します。
  • 任意の入れ子になった Markdown の解析や、すべての宣伝レイアウトの識別を保証するものではありません。境界が曖昧な箇所や証拠の引用は人手で確認し、事例の内容を補筆、要約、省略しないでください。

回帰テスト:python3 -m unittest discover -s scripts/tests -v。テストには架空の事例のみを使用しており、実際の文書の完全性の検証に代わるものではありません。

参考文書

フォーマット例

詳細なフォーマット例と比較については 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 の内容構造
# {文档标题}

## 元信息
- **原文链接**:{从原始文件的 `> 原文链接:` 行提取,无则省略此行}
- **处理时间**:{时间戳}
- **文本类型**:{法律条文/法律案例}

---

{格式化后的正文内容}

原文リンクの抽出ルール:入力元が wechat-article-fetch の場合、元の Markdown ファイルの冒頭に > 原文链接: https://mp.weixin.qq.com/s/xxxxx が含まれています。この URL を抽出し、メタデータの「原文リンク」フィールドに記載する必要があります。

品質基準

  • 句読点の統一:すべての句読点に中国語の句読点を使用する
  • 数字形式の統一:数字は半角文字を使用する
  • 階層構造の明確化:二次・三次見出しを正しく使用する
  • 空行の規則:段落間の空行を適切にし、多すぎず少なすぎないようにする
  • 内容の完全性:法律関連の内容をすべて保持し、無関係な宣伝情報を削除する

適用シナリオ

  • 法律条文集の整理
  • 法律事例集の標準化
  • 法律学習資料の準備
  • 法律文書のナレッジベースの構築
  • ウェブページから取得した法律文書の整理

入力要件

このスキルは、以下の種類の入力を受け付けます:

  1. 取得済みのテキスト内容:他のスキル(wechat-article-fetch など)が取得したテキスト
  2. ユーザーが貼り付けたテキスト:ユーザーが直接提供するテキスト
  3. ローカルファイル:保存済みの Markdown/テキストファイル

受け付けない入力:ウェブページのリンク(リンクの処理には、専用の取得スキルを使用してください)

wechat-article-fetch からの自動呼び出し

wechat-article-fetch が法律関連の内容を検出し、このスキルがインストールされている場合、本スキルが自動的に連鎖して呼び出されます。この場合、入力は保存済みの Markdown ファイルのパスです。処理手順は変わりません:

  1. 指定されたパスにある Markdown ファイルの内容を入力として読み込む
  2. ステップ 1~4 に従って実行する(種類の分析、原文の保存、フォーマット、検証)
  3. 結果を本スキルの archive/ ディレクトリに保存する
  4. ファイルパスを formatted.md のメタデータの「ソース」フィールドに記録する

コメント