contract-review について
法務・事業チーム向けに、組織の方針に沿って契約文書を確認するスキルです。条項のリスクを分類し、理由と代替案を添えた優先順位付きの修正案を作成しますが、法律専門家の助言に代わるものではありません。
主な機能
- 01条項と欠落条項の検出
- 02GREEN/YELLOW/REDのリスク分類
- 03優先順位付き修正案の作成
- 04理由と代替案の提示
活用シーン
- 01弁護士の確認前に商業契約を一次選別
- 02リスク条項の交渉方針を準備
インストール
コマンドをコピーしてターミナルで実行します。
npx skills add https:/ / github.com/ borghei/ claude-skills --skill contract-reviewインストール後、Claude Code で/contract-reviewを入力して読み込まれたか確認します。
同梱ファイル
SKILL.md と一緒にインストールされる参考資料やスクリプト。
references/clause_analysis_guide.mdnegotiation_playbook.mdscripts/contract_analyzer.pyredline_generator.py詳細
⚠️ 実験的 — このスキルは、教育および情報提供のみを目的として提供されています。法的助言を構成するものではありません。使用に関するすべての責任はユーザーが負います。出力に基づいて行動する前に、資格を有する法律専門家にご相談ください。
契約レビュー
契約書を組織のプレイブックと照らして分析し、条項のリスクをGREEN/YELLOW/REDの重大度で分類したうえで、優先順位付きの修正案と代替案を作成する自動契約レビュー ツールです。
目次
まず確認すること
契約をレビューする前に、以下の情報を確認してください。不明または曖昧な項目がある場合は、推測せずに質問してください。
- どちらの側を代理するか — 顧客/買主か、ベンダー/提供者かによって、有利な条項が逆になり、すべての修正案の方向性も逆になります
- 契約の種類 — SaaS、サービス、ベンダー/供給、ライセンスのいずれかによって、標準条項の基準や、欠落時に指摘する条項が決まります
- リスク許容度/プレイブックでの立場 — 組織が取引中止の理由と見なすものによって、REDとYELLOWの境界、および必須項目と望ましい項目の区分が決まります
- 交渉力/契約価値 — 修正案のうち、交渉決裂につながるもの(Tier 1)と、譲歩可能なもの(Tier 3)の調整に役立ちます
停止ルール:出力を最も大きく左右する2~3項目だけを質問してください。ユーザーが「とにかく作成して」と言った場合は作業を進め、レビューの冒頭に前提を列挙してください。
ツール
契約アナライザー
契約書のテキストファイルを分析し、条項の種類、標準条項の欠落、リスク指標を特定します。
# Analyze a contract file
python scripts/contract_analyzer.py contract.txt
# JSON output for pipeline integration
python scripts/contract_analyzer.py agreement.md --json
# Save analysis to file
python scripts/contract_analyzer.py contract.txt --output analysis.json --json
検出項目:
- 条項の種類:責任制限、補償、知的財産、データ保護、契約期間および解除、準拠法、表明保証、不可抗力、秘密保持、支払条件
- 基準チェックリストに照らした標準条項の欠落
- リスク指標:上限のない責任、永続的な契約期間、一方的な補償、オプトアウトなしの自動更新、広範な知的財産権の譲渡、無制限の監査権
リスク分類:
| レベル | 意味 | 対応 |
|---|---|---|
| RED | 取引中止につながるリスク | 署名前に必ず交渉する |
| YELLOW | 重大な懸念事項 | 交渉すべきだが、リスク軽減策があれば受け入れ可能 |
| GREEN | 標準的または有利 | 現状のままで受け入れ可能 |
修正案ジェネレーター
契約分析のJSONを受け取り、優先度の段階を付けた書式付きの修正案を生成します。
# Generate redlines from analysis
python scripts/contract_analyzer.py contract.txt --json --output analysis.json
python scripts/redline_generator.py analysis.json
# JSON output
python scripts/redline_generator.py analysis.json --json
# Save redlines to file
python scripts/redline_generator.py analysis.json --output redlines.md
出力内容:
- 優先度の段階(必須/望ましい/あればよい)
- 推奨する修正文言
- 各変更の理由
- 相手方が拒否した場合の代替案
- 交渉時の注意事項
優先度の段階:
| 段階 | ラベル | 説明 |
|---|---|---|
| 1 | 必須 | 取引中止につながる事項。拒否された場合は交渉から撤退 |
| 2 | 望ましい | 強く希望する事項。強く求めるが交渉の余地あり |
| 3 | あればよい | 譲歩の候補。Tier 1~2の成果と引き換えに提示 |
リファレンスガイド
条項分析ガイド
references/clause_analysis_guide.md
8種類以上の条項を詳しく解説するリファレンスです。
- 責任制限(上限の種類、適用除外、間接損害)
- 補償(相互性、範囲、手続き)
- 知的財産(所有権、ライセンス、職務著作、フィードバック)
- データ保護(DPA、再委託先、侵害通知、移転)
- 契約期間および解除(自動更新、是正期間、移行)
- 準拠法(管轄、仲裁、陪審裁判の放棄)
- 表明保証
- 不可抗力
交渉プレイブック
references/negotiation_playbook.md
交渉の優先順位を定めるフレームワーク。内容は以下のとおりです。
- ティア 1:契約を締結しない条件と交渉から撤退する基準
- ティア 2:取引戦略を伴う強い希望事項
- ティア 3:戦略的な譲歩の候補
- レッドライン形式のテンプレート
- 交渉でよくある落とし穴
ワークフロー
標準的な契約レビュー
- 取り込み -- 契約書を
.txtまたは.mdファイルとして保存します - 分析 --
contract_analyzer.pyを--jsonフラグ付きで実行します - 検出結果を確認 -- まず RED 項目、次に YELLOW 項目を確認します
- レッドラインを作成 -- 分析結果に対して
redline_generator.pyを実行します - 優先順位を付ける -- Must-Have のレッドラインを優先し、Should-Have の代替案を準備します
- 法律顧問に送付 -- 最終レビュー用に分析結果とレッドラインを添付します
迅速なリスクトリアージ
contract_analyzer.pyをテキストモードで実行し、簡易スキャンします- RED の検出結果がある場合:直ちに法律顧問にエスカレーションします
- YELLOW のみの場合:48 時間以内にレビューを予定します
- すべて GREEN の場合:標準的な承認ワークフローに進みます
トラブルシューティング
| 問題 | 原因 | 解決策 |
|---|---|---|
Error: File not found | 契約書のファイルパスが正しくないか、ファイルが存在しません | ファイルパスを確認します。相対パスで失敗する場合は、絶対パスを使用します |
| 条項が検出されない | 契約書の書式が一般的でないか、標準的でない条項見出しが使われています | 契約書がプレーンテキストであることを確認します。分析前に PDF の不要なデータを取り除きます |
| すべての条項が GREEN と判定される | 契約書が実際に有利な内容であるか、テキスト抽出で重要な箇所が取得されませんでした | 重要な条項(責任、補償、知的財産)が入力ファイルに含まれていることを手動で確認します |
| レッドラインジェネレーターの出力が空になる | 分析 JSON に YELLOW または RED の検出結果がありません | 分析 JSON が有効であることを確認します。契約書を更新した場合は、アナライザーを再実行します |
| 上限のない責任について誤検知される | 責任に関する節で、文書内の別の箇所に上限が定められていることに言及しています | 責任制限の節全体を確認します。このツールは各条項の範囲内で上限に関するキーワードをスキャンします |
| 条項が存在しないという誤検知がある | 条項は存在しますが、標準的でない見出し(例:「責任上限」ではなく「損害賠償額の上限」)が使われています | アナライザーは複数の見出しの表記に対応しています。組織独自の用語を使う場合は、カスタムエイリアスを追加してください |
成功基準
- 契約レビュー時間を 50%短縮: 条項の特定とリスク分類を自動化し、手作業での確認をなくします。
- 重大度 RED の条項の見落としゼロ: 上限のない責任、一方的な補償、広範な知的財産の譲渡を、人によるレビューの前にすべて検出します。
- 2 分以内にレッドラインを作成: 分析 JSON から優先順位を付けたレッドライン文書を作成します。
- レビュー担当者間でリスク分類を統一: GREEN/YELLOW/RED のフレームワークにより、主観的な評価をなくします。
- すべての契約を構造化された出力でレビュー: 交渉開始前に、すべての契約について条項一覧とリスクレポートを作成します。
- Must-Have 項目で 80%を超える交渉成功率: 代替案を準備したティア 1 のレッドラインにより、交渉の成果を向上させます。
対象範囲と制限事項
対象:
- キーワードとパターンマッチングを用いた、契約条項の静的なテキスト分析
- 10 種類以上の標準的な商業契約カテゴリにわたる条項の種類の特定
- リスク指標の検出:上限のない責任、永続的な契約期間、一方的な義務、自動更新の罠
- 標準的な商業契約の基準に照らした条項の欠落検出
- 代替案を含む、優先順位を付けたレッドラインの作成
対象外:
- 法的助言 -- このツールはレビューを支援するものであり、資格を持つ法律顧問に代わるものではありません
- 管轄区域固有のコンプライアンス -- 規制コンプライアンス(GDPR、SOC 2 など)には
ra-qm-teamのスキルを使用してください - 契約の締結や電子署名のワークフロー -- 対象外です
- 複数文書間の相互参照(例:SOW と MSA の照合)-- 文書ごとに個別に分析してください
- 英語以外の契約書 -- パターンマッチングは英語のみを対象としています
アンチパターン
| アンチパターン | 失敗する理由 | より良い方法 |
|---|---|---|
| GREEN の指摘のみで、人によるレビューなしに契約を締結する | 自動分析では、文脈に依存するリスク、曖昧な表現、ビジネス固有の懸念を検出できません | すべて GREEN の契約でも、締結前に必ず有資格の弁護士によるレビューを受けてください |
| すべての RED の指摘を同等に扱う | 構造上、取引を成立させられないものもあれば、単語を一つ変更するだけで解決できるものもあります | レッドライン生成ツールを使って、RED の指摘ごとに必要な作業量と代替案を評価してください |
| レッドラインの代替案を検討しない | 希望する条件しか用意せずに交渉に臨むと、戦略的な譲歩の余地がありません | 必ず必須条件の代替案を用意し、譲歩可能な希望条件を特定してください |
| 適切に抽出されていないテキストを分析する | PDF からテキストへの変換時に生じた乱れによって、条項の検出パターンが機能しなくなります | 分析の前にテキストファイルを整理し、ヘッダー、フッター、ページ番号、書式の乱れを取り除いてください |
ツールリファレンス
contract_analyzer.py
目的: 契約書のテキストファイルを分析して条項の種類を特定し、標準条項の欠落を検出するとともに、リスク指標を GREEN/YELLOW/RED の深刻度で分類します。
使用方法:
python scripts/contract_analyzer.py <contract_file> [--json] [--output FILE]
フラグ:
| フラグ | 短縮形 | デフォルト | 説明 |
|---|---|---|---|
contract_file | (位置引数) | 契約書のテキストファイル(.txt または .md)へのパス | |
--json | オフ | JSON 形式で出力します | |
--output | -o | (標準出力) | 出力をファイルに書き込みます |
出力例(JSON):
{
"file": "vendor_agreement.txt",
"clauses_found": [
{
"type": "limitation_of_liability",
"severity": "RED",
"text_snippet": "...liability shall not be limited...",
"risk_flags": ["uncapped_liability"],
"notes": "No liability cap found; uncapped exposure"
}
],
"missing_clauses": ["force_majeure", "data_protection"],
"risk_summary": {"RED": 2, "YELLOW": 3, "GREEN": 5},
"overall_risk": "RED"
}
redline_generator.py
目的: 契約書の分析結果を含む JSON を受け取り、優先度、根拠、代替案を含む書式付きのレッドライン案を生成します。
使用方法:
python scripts/redline_generator.py <analysis_json> [--json] [--output FILE]
フラグ:
| フラグ | 短縮形 | デフォルト | 説明 |
|---|---|---|---|
analysis_json | (位置引数) | 契約書分析 JSON ファイルへのパス | |
--json | オフ | JSON 形式で出力します | |
--output | -o | (標準出力) | 出力をファイルに書き込みます |
出力例:
REDLINE SUGGESTIONS
===================
[MUST-HAVE] Limitation of Liability — Uncapped Liability
Severity: RED
Preferred: "Aggregate liability shall not exceed 12 months of fees paid."
Rationale: Uncapped liability creates unlimited financial exposure.
Fallback: "Aggregate liability shall not exceed 24 months of fees paid."
[SHOULD-HAVE] Indemnification — Unilateral Indemnification
Severity: YELLOW
Preferred: "Each party shall indemnify the other for breaches of this Agreement."
Rationale: Mutual indemnification balances risk between parties.
Fallback: "Indemnification obligations shall be subject to the liability cap."