⚖️box-legal-workflows-contract
- プラグイン
- box
- ソース
- GitHub で見る ↗
説明
Box MCPを使用して契約書のレビューとモニタリングを自動化します。 具体的には以下の機能を提供します: - メタデータまたはキーワード検索を用いて、前回のレビュー期間以降に追加された新規契約書を特定 - 契約書を自社の標準テンプレートと照合し、重要な差異(免責条項、責任上限、解除権、準拠法、IP所有権など)をフラグとして検出 - 構造化されたメタデータ(当事者情報、日付、契約金額、主要条項、リスク評価、有効期限など)を抽出してBoxに書き込み、検索性を向上 - 引用付きの差異分析レポートを作成 - 期限が迫っている契約を能動的にモニタリングし、通知期限を計算した上で再交渉リマインダーをトリガー - レート制限を考慮したペーシングで複数の契約書を一括処理 次のような場合に使用: ユーザーが契約書レビュー、契約モニタリング、NDAレビュー、MSA比較、契約の有効期限管理、契約メタデータ、差異分析について言及している場合、または定期的な契約分析ワークフローが必要な場合。
原文を表示
Automate contract review and monitoring with Box MCP — identify new contracts added since last review period using metadata or keyword search, compare contracts against standard firm templates to flag material variances (indemnification, liability caps, termination rights, governing law, IP ownership), extract and write structured metadata (parties, dates, contract value, key clauses, risk ratings, expiration dates) to Box for searchability, create variance analysis reports with citations, proactively monitor for expiring contracts to trigger renegotiation reminders with calculated notice deadlines, and batch process multiple contracts with rate-limit-aware pacing. Use this skill when the user mentions contract review, contract monitoring, NDA review, MSA comparison, contract expiration, contract metadata, variance analysis, or needs recurring contract analysis workflows.
ユースケース
- ✓新規契約書を特定し審査するとき
- ✓契約書を標準テンプレートと照合し差異を検出するとき
- ✓契約情報をメタデータとして構造化するとき
- ✓期限が迫っている契約を監視するとき
- ✓複数の契約書を一括処理するとき
本文(日本語訳)
契約審査エージェント
前提条件:
- Box MCPの認証、ツール選択、基本ワークフローについては
box:boxを参照してください。見つからない場合は次のコマンドを実行してください:npx skills add https://github.com/box/box-for-ai --skill box- リスクフレームワーク、機密保持、ヒューマン・イン・ザ・ループ要件、Box AIガバナンス、メタデータ戦略については
box-legal-workflowsを参照してください。見つからない場合は、同じスキルパッケージからインストールされていることを確認してください。
法的契約管理では、コンプライアンスの確保、日付(更新・満了)の追跡、リスクの特定、構造化されたメタデータの維持を目的として、締結済み契約の定期的なレビューが必要です。 このスキルは、定期レビュー・差異分析・メタデータ抽出・満了の事前モニタリングを自動化します。
基本原則: 定期的なサイクル、テンプレートベースの比較、構造化メタデータ、プロアクティブなモニタリング、リスクに対する人間の監督。
リスク評価フレームワーク
差異分析
【要確認: 貴社/実務分野における重要条項は何か?】
重要な差異(高リスク):
- 賠償責任の上限または制限の変更
- 補償条項の変更
- 解除権または通知期間の変更
- 準拠法または紛争解決の変更
- 機密保持義務の変更
- 知的財産の所有権の変更
- 非標準的な支払条件またはペナルティ
軽微な差異(低リスク):
- 住所または法人名の更新
- 軽微な書式の相違
- 内容に実質的な変更のない明確化表現
- 標準的な別添または付属書類
実務分野別の重要事項:
- 雇用: 競業避止義務、解雇、福利厚生
- 商事: 支払、保証、賠償責任
- IP ライセンス: 使用権、ロイヤリティ、所有権
- 不動産: 所有権、用途地域、環境
- NDA: 機密情報の定義、期間、例外
リスク評価
以下については box-legal-workflows を参照: 一般リスクフレームワーク。
契約固有の評価基準:
高リスク:
- テンプレートとの重要な差異が3件以上
- 補償条項、賠償責任上限、解除権、準拠法の変更
- 標準契約の重要な保護条項の欠落
- 不利な条件(無制限賠償責任、一方的条項、通知なし自動更新)
- 規制上の懸念(法令不遵守、必須条項の欠落)
中リスク:
- 重要な差異が1〜2件
- 軽微な不利な条件(より長い通知期間、解除の制限)
- 不明確または曖昧な条項
- 付属書類の欠落(参照されているが添付されていない)
低リスク:
- 重要な差異なし、または軽微な明確化のみ
- 有利な条件(標準より強固な保護)
- すべての重要な保護条項が存在する
【要確認: 差異の有無にかかわらず常にフラグを立てる契約タイプは何か?】 例: 高額契約($【閾値】超)、特定の相手方、特定の管轄、【X】年超の契約など。
メタデータ抽出戦略
【要確認: 抽出するフィールドは何か?】
コアメタデータ:
- 契約タイトル/説明
- 契約当事者(自社エンティティ+相手方)
- 相手方名(正規化)
- 契約タイプ(NDA、MSA、SOW、ライセンス)
- 締結日、効力発生日、満了日
- 期間(月数/年数)
- 自動更新(有無、更新期間)
- 解除通知期間(日数)
- 契約金額、支払条件
- 準拠法/管轄
リスク&レビュー:
- リスク評価(高/中/低)
- 重要な差異(一覧)
- レビュー日、レビュー担当者
- 次回レビュー日
- 満了アラート日(例: 満了60日前)
- ステータス(有効/満了済/終了済/交渉中)
実務分野別:
- 雇用: 競業避止義務期間、福利厚生資格
- IP: ライセンス範囲、ロイヤリティ率、地域
- 不動産: 物件住所、用途地域、環境上の先取特権
- ベンダー: SLA 条件、データセキュリティ要件
【要確認: 契約用の Box メタデータテンプレートは存在するか?】
存在する場合: スコープとテンプレートキーを確認。存在しない場合: create_metadata_template で作成可能。
ツール選択
| タスク | 主要ツール | 備考 |
|---|---|---|
| 新規契約の検索(日付) | search_files_metadata |
execution_date が存在する場合はクエリ |
| 満了間近の検索 | search_files_metadata |
30/60/90日以内の expiration_date をクエリ |
| テンプレートとの比較 | ai_qa_multi_file |
マルチファイル Q&A(契約+テンプレート) |
| メタデータ抽出(テンプレートあり) | ai_extract_structured_from_metadata_template |
テンプレートが存在する場合 |
| メタデータ抽出(カスタム) | ai_extract_structured_from_fields_enhanced |
実行時にフィールドを定義 |
| メタデータ書き込み | set_file_metadata |
抽出フィールドを永続化 |
| 差異の特定 | ai_qa_multi_file |
差分を比較してハイライト |
| 差異レポート作成 | upload_file |
サマリー文書を作成 |
| 担当者へのタグ付け | create_file_comment |
弁護士へ通知(満了・レビュー) |
| バッチ処理 | 遅延を挟んで繰り返し | レート制限のため1〜2秒の間隔 |
日付ベースの検索パターン
日付クエリ向けのメタデータ検索:
直近30日以内に締結された契約を検索
【要確認: レビューサイクルは? 月次? 四半期?】
search_files_metadata: "execution_date >= 'YYYY-MM-DD' AND execution_date <= 'YYYY-MM-DD'"
直近60日以内に満了する契約を検索
【要確認: アラートタイミングは? 満了の30/60/90日前?】
search_files_metadata: "expiration_date >= 'YYYY-MM-DD' AND expiration_date <= 'YYYY-MM-DD' AND status = 'active'"
相手方またはリスクで検索
search_files_metadata: "counterparty_name = 'Acme Corp'"
search_files_metadata: "risk_rating = 'High'"
注意: メタデータ検索は、契約にメタデータが付与されている場合のみ機能します。
付与されていない場合は、日付フィルタ付きで search_files_keyword を使用してください。
【要確認: 新規契約の特定方法は? 締結日メタデータ? ファイルアップロード日? 命名規則?】
実装ワークフロー
フェーズ 1: 新規契約の特定(定期実行)
- 認証:
who_am_i - 【要確認: 日付範囲は? 契約フォルダ ID は?】
- 検索:
search_files_metadata(メタデータあり)またはsearch_files_keyword - 【要確認: これらの契約をレビュー対象とするか?】
フェーズ 2: テンプレートとの比較
- 【要確認: 契約タイプ別の標準テンプレートファイル ID は?】
- 比較:
ai_qa_multi_file(重要な差異を確認) - 【要確認: 重要条項は何か?】
- リスク評価: 基準を適用。【要確認: 貴社の基準に合致するか?】
フェーズ 3: メタデータの抽出と保存
- 抽出: 【要確認: テンプレートのスコープ/キーは?】 →
ai_extract_structured_from_metadata_templateまたはai_extract_structured_from_fields_enhanced - 書き込み: 【要確認: すべてのフィールドを書き込むか、特定フィールドのみか?】 →
set_file_metadata - レポート:
upload_file(契約名、リスク、差異、推奨事項、引用箇所)
フェーズ 4: レビューへの転送(必要な場合)
- 必要性の判断:
- 高リスク: 常に転送
- 中リスク: 【要確認: 自動承認か、レビューか?】
- 低リスク: 【要確認: ログのみか、レビューか?】
- 担当者へのタグ付け: 【要確認: 担当弁護士は?】 →
create_file_comment - アクセス付与: 【要確認: 弁護士はアクセス権を持っているか?】 →
create_collaboration
フェーズ 5: 満了契約のモニタリング(プロアクティブ)
- 満了間近の検索: 【要確認: アラートタイミングは(30/60/90日)?】 →
search_files_metadata - リマインダーの作成: 【要確認: 通知先は?】 →
create_file_comment - メタデータの更新:
set_file_metadata(expiration_alert_sent: yes)
ガードレール
以下については box-legal-workflows を参照: ヒューマン・イン・ザ・ループ要件、機密保持、Box AI ガバナンス。
契約固有のガードレール:
実行前に必ず確認すること:
- リスク評価の割り当て(基準の検証)
- 弁護士への転送(正しい担当者の確認)
- 満了アラートの送信(タイミングと受信者の確認)
- 外部アクセス可能なフォルダへのファイルコピー(ファイルが元々外部アクセス不可だった場合)
不確実な場合は確認すること: 5. 重要な差異の特定(曖昧またはエッジケースの場合) 6. メタデータの書き込み(抽出値が不明確または矛盾している場合)
確信がある場合は自律的に実行してよい:
- 抽出結果が明確かつ曖昧さがない場合のメタデータ書き込み
- フォルダ間でのファイルのコピー/整理(社内から社内、または外部から外部)
- 差異レポートの作成
- 高い確信度での日付・当事者・標準条件の抽出
- 任意の規模のバッチ処理(適切なペース配分で実施)
以下は承認なしに自動承認しないこと:
- 高リスク契約(差異3件以上)
- 不利な補償条項または賠償責任条件
- 重要な保護条項が欠落している契約
- 金額閾値を超える契約
- ハイステークスな実務分野(訴訟、IP)
バッチ処理:
- 1件ずつ処理(レート制限対策)
- 1〜2秒間隔でペース配分
- 進捗を報告: 「処理中: 10/50件...」
意思決定の透明性:
- 何を比較したかを記録(契約とテンプレート)
- どの差異があったかを記録(具体的な条項)
- なぜそのリスク評価にしたかを記録(レポートへのリンク)
- 該当箇所を引用(ページ番号、条項番号)
- レビュー日時をタイムスタンプで記録
Box AI の使用方法:
- コンテキスト: 「法律事務所向けに契約をレビューしています。法的リスクを生じさせる重要な差異を特定してください...」
- 引用のリクエスト: 「各差異について、条項番号とページ番号を引用してください」
- 適切なペース配分(1〜2秒間隔)
- 同時ファイル数は2〜3件に制限(契約+テンプレート+旧バージョン最大1件
原文(English)を表示
Contract Review Agent
PREREQUISITES:
- Read
box:boxfor Box MCP auth, tool selection, base workflows. If missing, run:npx skills add https://github.com/box/box-for-ai --skill box- Read
box-legal-workflowsfor risk frameworks, confidentiality, human-in-the-loop requirements, Box AI governance, metadata strategy. If missing, ensure it's installed from the same skill package.
Legal contract management involves regular review of executed agreements to ensure compliance, track dates (renewals, expirations), identify risks, and maintain structured metadata. This skill automates recurring reviews, variance analysis, metadata extraction, and proactive expiration monitoring.
Core principles: Recurring cadence, template-based comparison, structured metadata, proactive monitoring, human oversight for risk.
Risk Assessment Framework
Variance Analysis
[CONFIRM: Material clauses for your firm/practice area?]
Material variances (High Risk):
- Liability caps or limitations changes
- Indemnification modifications
- Termination rights or notice period alterations
- Governing law or dispute resolution changes
- Confidentiality obligation modifications
- IP ownership changes
- Non-standard payment terms or penalties
Minor variances (Low Risk):
- Address or entity name updates
- Minor formatting differences
- Clarifying language (no substance change)
- Standard exhibits or schedules
Practice-specific material:
- Employment: Non-compete, termination, benefits
- Commercial: Payment, warranties, liability
- IP Licensing: Usage rights, royalties, ownership
- Real Estate: Title, zoning, environmental
- NDAs: Confidential info definition, term, exceptions
Risk Rating
See box-legal-workflows for: General risk framework.
Contract-specific:
High Risk:
- 3+ material variances from template
- Changes to indemnification, liability caps, termination, governing law
- Missing key protections from standard
- Unfavorable terms (unlimited liability, one-sided, auto-renewal without notice)
- Regulatory concerns (non-compliance, missing required clauses)
Medium Risk:
- 1-2 material variances
- Minor unfavorable terms (longer notice, restricted termination)
- Unclear/ambiguous clauses
- Missing exhibits (referenced but not attached)
Low Risk:
- No material variances OR minor clarifying changes only
- Favorable terms (stronger protections than standard)
- All key protections present
[CONFIRM: Contract types ALWAYS flagged regardless of variance?] Examples: High-value (> $[threshold]), specific counterparties, certain jurisdictions, contracts > [X] years.
Metadata Extraction Strategy
[CONFIRM: Fields to extract?]
Core metadata:
- Contract title/description
- Contracting parties (your entity + counterparty)
- Counterparty name (normalized)
- Contract type (NDA, MSA, SOW, License)
- Execution, effective, expiration dates
- Term length (months/years)
- Auto-renewal (yes/no, renewal term)
- Notice period for termination (days)
- Contract value, payment terms
- Governing law / jurisdiction
Risk & review:
- Risk rating (High/Medium/Low)
- Material variances (list)
- Review date, reviewed by
- Next review date
- Expiration alert date (e.g., 60 days before)
- Status (active/expired/terminated/under negotiation)
Practice-specific:
- Employment: Non-compete duration, benefits eligibility
- IP: License scope, royalty rate, territory
- Real Estate: Property address, zoning, environmental liens
- Vendor: SLA terms, data security requirements
[CONFIRM: Box metadata templates for contracts exist?]
If yes: scope and template key. If no: can create with create_metadata_template.
Tool Selection
| Task | Primary Tool | Notes |
|---|---|---|
| Find new contracts (date) | search_files_metadata |
Query execution_date if exists |
| Find expiring | search_files_metadata |
Query expiration_date within 30/60/90 days |
| Compare to template | ai_qa_multi_file |
Multi-file Q&A (contract + template) |
| Extract metadata (template) | ai_extract_structured_from_metadata_template |
If template exists |
| Extract metadata (custom) | ai_extract_structured_from_fields_enhanced |
Define fields at runtime |
| Write metadata | set_file_metadata |
Persist extracted fields |
| Identify variances | ai_qa_multi_file |
Compare and highlight differences |
| Create variance report | upload_file |
Write summary doc |
| Tag owner | create_file_comment |
Notify attorney (expiring/review) |
| Batch process | Iterate with delays | 1-2 sec pauses for rate limits |
Temporal Search Patterns
Metadata search for date-based queries:
Find contracts executed in last 30 days
[CONFIRM: Review cadence? Monthly? Quarterly?]
search_files_metadata: "execution_date >= 'YYYY-MM-DD' AND execution_date <= 'YYYY-MM-DD'"
Find contracts expiring in next 60 days
[CONFIRM: Alert timing? 30/60/90 days before expiration?]
search_files_metadata: "expiration_date >= 'YYYY-MM-DD' AND expiration_date <= 'YYYY-MM-DD' AND status = 'active'"
Find by counterparty or risk
search_files_metadata: "counterparty_name = 'Acme Corp'"
search_files_metadata: "risk_rating = 'High'"
Note: Metadata search only works if contracts have metadata. Otherwise use search_files_keyword with date filters.
[CONFIRM: How to identify new contracts? Execution date metadata? File upload date? Naming convention?]
Implementation Workflow
Phase 1: Identify New Contracts (Recurring)
- Authenticate:
who_am_i - [CONFIRM: Date range? Contracts folder ID?]
- Search:
search_files_metadata(if metadata) orsearch_files_keyword - [CONFIRM: These contracts to review?]
Phase 2: Compare vs. Template
- [CONFIRM: Standard template file ID for contract type?]
- Compare:
ai_qa_multi_file(ask for material differences) - [CONFIRM: Material clauses?]
- Assess risk: Apply criteria. [CONFIRM: Match firm's criteria?]
Phase 3: Extract & Store Metadata
- Extract: [CONFIRM: Template scope/key?] →
ai_extract_structured_from_metadata_templateorai_extract_structured_from_fields_enhanced - Write: [CONFIRM: Write all or only certain fields?] →
set_file_metadata - Report:
upload_file(contract name, risk, variances, recommendations, citations)
Phase 4: Route for Review (If Needed)
- Determine need:
- HIGH RISK: ALWAYS route
- MEDIUM RISK: [CONFIRM: Auto-approve or review?]
- LOW RISK: [CONFIRM: Log only or review?]
- Tag owner: [CONFIRM: Responsible attorney?] →
create_file_comment - Grant access: [CONFIRM: Attorney has access?] →
create_collaboration
Phase 5: Monitor Expiring (Proactive)
- Search expiring: [CONFIRM: Alert timing (30/60/90)?] →
search_files_metadata - Create reminders: [CONFIRM: Who to notify?] →
create_file_comment - Update metadata:
set_file_metadata(expiration_alert_sent: yes)
Guardrails
See box-legal-workflows for: Human-in-the-loop requirements, confidentiality, Box AI governance.
Contract-specific:
ALWAYS confirm before:
- Assigning risk ratings (validate criteria)
- Routing to attorneys (confirm correct person)
- Sending expiration alerts (confirm timing & recipient)
- Copying files to externally-accessible folders (if file was NOT already externally accessible)
CONFIRM if uncertain: 5. Identifying material variances (if ambiguous or edge case) 6. Writing metadata (if extracted values are unclear or contradictory)
Proceed autonomously when confident:
- Writing metadata when extraction is clear and unambiguous
- Copying/organizing files between folders (internal-only to internal-only, or external to external)
- Creating variance reports
- Extracting dates, parties, and standard terms with high confidence
- Batch processing any size (pace appropriately)
NEVER auto-approve without authorization:
- High-risk contracts (3+ variances)
- Unfavorable indemnification or liability
- Contracts missing key protections
- Above value threshold
- High-stakes practice areas (litigation, IP)
Batch processing:
- Process one at a time (rate limits)
- Pace 1-2 seconds apart
- Report progress: "Processed 10/50..."
Decision transparency:
- Document WHAT compared (contract vs. template)
- Document WHICH variances (specific clauses)
- Document WHY rating assigned (link to report)
- Cite sections (page numbers, clauses)
- Timestamp review
Box AI usage:
- Context: "Reviewing contracts for law firm. Identify material variances creating legal risk..."
- Request citations: "For each variance, cite section and page"
- Pace appropriately (1-2 secs)
- Limit 2-3 files at a time (contract + template + max 1 prior version)
Example Workflows
Example 1: Monthly NDA Review
Request: "Review NDAs from last 30 days, compare to standard."
Flow:
- [CONFIRM]: "NDAs folder ID? Metadata 'execution_date' or upload date?"
search_files_metadata(date range)- [CONFIRM]: "Found 5 NDAs. Standard template ID?"
- For each (1-2 sec pauses):
a.
ai_qa_multi_file(compare, focus material clauses) b. [CONFIRM]: "Company X: 2 variances (broader definition, 5yr vs. 3yr). Medium risk?" c.ai_extract_structured_from_metadata_templated.set_file_metadatae. Create report, upload - Report: "Reviewed 5. Risk: 1 High, 2 Medium, 2 Low. High (Company Y): unlimited liability, no mutual."
- [CONFIRM]: "Who reviews high-risk?"
create_file_comment,create_collaboration- Report: "Review complete. High routed to David."
Example 2: Expiring Contracts
Request: "Find contracts expiring in next 60 days, alert owners."
Flow:
- [CONFIRM]: "Folder ID? Metadata 'expiration_date' and 'status'?"
search_files_metadata(60 days, status=active)- [CONFIRM]: "Found 8. Owner from metadata 'contract_owner' or collaborations?"
- For each:
a.
get_file_details(owner, dates, risk, notice period) b. Calculate days to expiration and notice deadline c. [CONFIRM]: "[Counterparty] expires [date] in [X] days. Notice [Y] days, act by [deadline]. Tag [attorney]?" d.create_file_commente.set_file_metadata(alert_sent: yes) - Report: "Alerts sent for 8. 3 high (renegotiate), 4 medium (review), 1 low (consider expire)."
Example 3: Extract Metadata (Unstructured)
Request: "20 vendor contracts, no metadata. Extract key terms."
Flow:
- [CONFIRM]: "Folder ID?"
list_folder_content_by_folder_id(20)- [CONFIRM]: "Template exists? If no, extract: vendor, type, dates, value, payment, SLA, notice, renewal, law. Add/remove?"
- [CONFIRM]: "Process 20 with 1-2 sec delays (~30-40 sec)?"
- For each:
a.
ai_extract_structured_from_fields_enhancedb. [IF UNCLEAR]: [CONFIRM]: "Expiration '[date]'. Contract says '[text]'. Correct?" c.set_file_metadatad. Progress: "Processed 10/20..." - Report: "Extraction complete. 20 now searchable."
- [CONFIRM]: "Create template for future?"
Example 4: Compare Versions
Request: "Compare initial and final MSA with Acme, what changed?"
Flow:
- [CONFIRM]: "File IDs for initial and final?"
get_file_details(both, verify)- [CONFIRM]: "Most important clauses? (Payment, Warranties, Indemnification, Liability, Termination, IP, Data)"
ai_qa_multi_file(compare, focus clauses)- Present: initial vs. final, favorable or unfavorable
- [CONFIRM]: "Create report, route to attorney?"
upload_file,create_file_comment,create_collaboration- Report: "Comparison complete. Report routed to [attorney]."
原文・著作権は Anthropic および各プラグイン作者に帰属します。日本語訳は Claude API による自動翻訳です。