mcpField
T
tabular-document-review

tabular-document-review

github.com/borgheiドキュメント1.0k62 回インストール5 日前に更新
リポジトリ

tabular-document-review について

複数の法律文書から指定項目を抽出し、出典付き比較マトリックスにまとめる法律チーム向けスキルです。エージェントによる並列抽出、確信度表示、MarkdownまたはJSON出力に対応しますが、文書の解析や法的リスク評価は行いません。

主な機能

  1. 01フォルダーを走査して文書一覧を作成
  2. 02指定列の情報を抽出
  3. 03結果を比較マトリックスに集約
  4. 04出典と確信度を記録
  5. 05MarkdownまたはJSONで出力

活用シーン

  1. 01契約書の重要条項を一括比較
  2. 02NDA、雇用契約、賃貸借契約をレビュー
  3. 03欠損値や抽出結果の不一致を確認

インストール

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

$npx skills add https://github.com/borghei/claude-skills --skill tabular-document-review

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

同梱ファイル

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

references/
common_extraction_columns.md
extraction_methodology.md
scripts/
document_discovery.py
extraction_aggregator.py

詳細

⚠️ 実験的 — このスキルは、教育および情報提供のみを目的として提供されています。法律上の助言を構成するものではありません。使用に関する一切の責任はユーザーにあります。出力に基づいて行動する前に、資格を有する法律専門家に相談してください。

表形式ドキュメントレビュー スキル

概要

複数の法律文書から構造化データを抽出し、引用付きの比較マトリックスにまとめる、本番環境対応のツールキットです。ユーザー定義の抽出列、最大10エージェントによる並列処理、信頼度スコアリングに対応し、Markdown テーブルまたは構造化 JSON で出力します。契約書の一括レビュー、NDA の比較、雇用契約の分析、賃貸借契約のレビューを行う法務チーム向けに設計されています。

目次

まず確認すること

レビューの前に、以下の入力内容を確認してください。不明または曖昧な項目があれば、推測せずに質問してください。

  • 抽出列 — 各セルに何を格納するかを正確に定義してください。曖昧な「日付」では数十種類の日付が該当しますが、指針を添えた「発効日」であれば該当するものを絞れます
  • 文書セットの場所と形式 — 文書の検索方法と割り当てる並列エージェント数(ceil(N/10)、最大10)を決定します
  • 文書の種類 — 契約書、NDA、雇用契約、賃貸借契約など。事前定義された列セットと、列ごとの抽出ガイダンスを選択します

中断ルール:出力に最も影響する2~3項目だけを質問してください。ユーザーが「そのまま作成して」と答えた場合は作業を進め、マトリックスの冒頭に前提を列挙してください。

ツール

1. 文書検出(scripts/document_discovery.py)

ディレクトリをスキャンして法律文書を検出し、インベントリマニフェストを生成します。

python scripts/document_discovery.py /path/to/contracts

python scripts/document_discovery.py /path/to/ndas --types pdf,docx --json

python scripts/document_discovery.py /path/to/leases --types pdf,docx,txt,md --min-size 1024
2. 抽出結果集約(scripts/extraction_aggregator.py)

複数の抽出結果 JSON を集約し、統合された比較マトリックスを作成します。

python scripts/extraction_aggregator.py \
  --results extraction_1.json extraction_2.json extraction_3.json

python scripts/extraction_aggregator.py \
  --results-dir ./extraction_results/ --json

python scripts/extraction_aggregator.py \
  --results-dir ./extraction_results/ \
  --format markdown \
  --output review_matrix.md

python scripts/extraction_aggregator.py \
  --results extraction_1.json extraction_2.json \
  --columns "Parties,Effective Date,Term,Governing Law"

リファレンスガイド

リファレンス目的
references/extraction_methodology.md文書抽出のベストプラクティス、JSON スキーマ、エージェントプロンプト
references/common_extraction_columns.md契約書、NDA、雇用契約、賃貸借契約向けの事前定義済み列セット

ワークフロー

5段階の文書レビューパイプライン
ステップアクションツール出力
1. 要件の収集文書フォルダー、出力ファイル名、抽出する列を定義する手動列リスト、ファイルパス
2. 文書の検出対象文書を求めてディレクトリをスキャンするdocument_discovery.py文書マニフェスト JSON
3. 文書の処理引用付きで列ごとの値を抽出する(並列エージェント)AI エージェント(外部)文書ごとの抽出 JSON
4. 結果の収集抽出 JSON を集約して統合マトリックスを作成するextraction_aggregator.py統合マトリックス
5. 出力の生成Markdown テーブルまたは構造化 JSON としてエクスポートするextraction_aggregator.py最終成果物
並列処理戦略
エージェント数エージェントあたりの文書数使用する場合
1すべて文書が1~5件の場合
2~3ceil(N/agents)文書が6~15件の場合
4~6ceil(N/agents)文書が16~40件の場合
7~10ceil(N/agents)文書が41~100件の場合
10(最大)ceil(N/10)文書が100件を超える場合
エージェントプロンプトのテンプレート

各エージェントには、以下の構成のプロンプトが渡されます。

You are reviewing {count} legal documents. For each document, extract the
following columns:

{column_definitions}

For each value extracted:
1. Provide the exact value found
2. Include the page number (PDF) or section/paragraph (DOCX/MD)
3. Rate your confidence: HIGH (exact match), MEDIUM (inferred), LOW (uncertain)
4. If not found, record "NOT FOUND" with confidence LOW

Output as JSON per the extraction schema.
信頼度スコアリング
レベル色コード定義
HIGH緑明確な引用とともに正確な値が見つかった
MEDIUM黄文脈から値を推測した。複数の解釈が可能
LOW赤/見つからない値が不確か、または文書内に見つからない
出力形式

シート 1:文書レビュー

文書当事者発効日契約期間準拠法...
contract_a.pdfAcme / Beta [p.1]2026-01-15 [p.2]3 years [p.3]Delaware [p.12]...
contract_b.pdfGamma / Delta [p.1]NOT FOUND2 years [p.4]New York [p.10]...

シート 2:概要

指標値
処理した文書数25
抽出した列数8
平均信頼度87%
未検出率12%

抽出シナリオ

契約書レビュー
列抽出内容
当事者すべての契約当事者の正式な法律上の名称
発効日契約の発効日または締結日
契約期間契約期間
更新自動更新の条件および通知期間
準拠法契約を規律する法域
責任上限責任の上限額または算定式
補償補償義務およびその範囲
知的財産権の帰属知的財産権の帰属に関する条項
解除権解除事由および通知要件
データ保護データ保護またはプライバシーに関する義務
NDA レビュー
列抽出内容
当事者開示当事者および受領当事者
種類相互または一方向
定義の範囲「機密情報」の定義方法
例外機密保持に関する標準的な例外
契約期間機密保持義務の期間
存続期間契約終了後の存続期間
返還/破棄契約終了時の義務
救済措置違反に対して利用できる救済措置

トラブルシューティング

問題原因解決策
検出で文書が 0 件見つかるパスまたはファイル形式が誤っているパスが存在することを確認し、--types が実際のファイル拡張子と一致するか確認します
抽出した JSON のスキーマが誤っているエージェントのプロンプトが不完全extraction_methodology.md の抽出スキーマを使用します
集約処理で競合が表示される同じセルに複数の値がある元の文書を確認します。集約処理では、手動レビューが必要な競合が示されます
「NOT FOUND」の割合が高い列の定義が文書の種類に対して具体的すぎるcommon_extraction_columns.md の列定義を使用し、定義の範囲を広げます
信頼度がすべて LOWエージェントが値を見つけられない列の定義が十分に具体的か確認し、文書が読み取り可能であることを確認します
大量の結果を処理すると集約処理がクラッシュする一度に読み込む結果ファイルが多すぎる結果を 50 件ずつ処理し、--columns で出力幅を制限します
Markdown テーブルの位置がずれる値が長い、または特殊文字が含まれている機械処理には --format json を使用し、長い値を短縮します
出典情報がないエージェントがページ/セクションの参照を含めていないエージェントのプロンプトで出典の要件を強調し、抽出スキーマを確認します

成功基準

  • 抽出カバレッジ:すべての文書で、定義した列の 90% 以上に値が入力されている
  • 信頼度の分布:抽出結果の 70% 以上が高い信頼度と評価されている
  • 出典の正確性:抽出したすべての値に、検証可能なページ/セクションの出典が付いている
  • 処理速度:並列エージェントを使用して、30 分以内に 50 件以上の文書を処理できる
  • マトリックスの完全性:最終マトリックスにすべての文書と列が含まれ、孤立した行がない

対象範囲と制限事項

このスキルの対象:

  • PDF、DOCX、TXT、MD 形式の文書の一覧化と検索
  • 並列エージェント処理による抽出結果の集約と、統合マトリックスへの整理
  • 契約書、NDA、雇用契約書、リース契約書向けの事前定義済み列セット
  • 抽出値の信頼度スコアリングと競合の検出
  • Markdown および JSON の出力形式

このスキルの対象外:

  • 実際の文書解析やテキスト抽出(外部ライブラリまたは AI エージェントが必要です)
  • スキャン文書の OCR 処理
  • Excel/XLSX の出力生成(JSON で出力し、外部で変換してください)
  • 抽出値の自動的な法的分析やリスク評価
  • バージョン間の文書比較や赤入れ

アンチパターン

アンチパターン失敗する理由より良い方法
あいまいな列の定義「日付」では、契約書内の多数の日付が該当する可能性があります「発効日」のように、参照箇所の案内を含めた具体的な定義を使用します
文書の検索を省略する文書数が不明なため、エージェントの割り当てを誤りますまず必ず検索を実行し、マニフェストをパイプラインの計画に使用します
信頼度が LOW の結果を無視する欠落したデータや不確かなデータが事実として扱われます信頼度が LOW のセルをすべて手動で確認し、最終レポートに明記します
100 件を超える文書を 1 つのエージェントで処理する処理が遅く、コンテキストウィンドウがあふれ、品質が低下します並列処理を使用します。1 エージェントあたりの文書数は ceil(N/10)、エージェント数は最大 10 とします
出典の提示を必須にしない抽出値を原文と照合できません抽出値ごとにページまたはセクションの出典を必須とし、出典のない値は却下します

ツールのリファレンス

scripts/document_discovery.py

ディレクトリをスキャンして法律文書を検索し、インベントリマニフェストを生成します。

usage: document_discovery.py [-h] [--json]
                              [--types TYPES]
                              [--min-size MIN_SIZE]
                              [--max-size MAX_SIZE]
                              directory

positional arguments:
  directory             Path to directory containing documents

options:
  -h, --help            Show help message and exit
  --json                Output in JSON format
  --types TYPES         Comma-separated file extensions to include
                        (default: pdf,docx,doc,txt,md,rtf)
  --min-size MIN_SIZE   Minimum file size in bytes (default: 0)
  --max-size MAX_SIZE   Maximum file size in bytes (default: no limit)
scripts/extraction_aggregator.py

抽出結果を集約し、統合比較マトリックスにまとめます。

usage: extraction_aggregator.py [-h] [--json]
                                 [--results RESULTS [RESULTS ...]]
                                 [--results-dir RESULTS_DIR]
                                 [--format {markdown,json}]
                                 [--columns COLUMNS]
                                 [--output OUTPUT]

options:
  -h, --help            Show help message and exit
  --json                Output in JSON format (alias for --format json)
  --results             One or more extraction result JSON files
  --results-dir         Directory containing extraction result JSON files
  --format              Output format: markdown table or JSON (default: markdown)
  --columns             Comma-separated column names to include (default: all)
  --output              Write output to file instead of stdout

コメント