Help us improve
Share bugs, ideas, or general feedback.
From box
Automates Box contract review and monitoring: identifies new contracts via metadata/search, compares to templates flagging variances (indemnity, liability), extracts/writes metadata, generates reports, monitors expirations.
npx claudepluginhub box/box-for-ai --plugin boxHow this skill is triggered — by the user, by Claude, or both
Slash command
/box:box-legal-workflows-contractThe summary Claude sees in its skill listing — used to decide when to auto-load this skill
> **PREREQUISITES:**
Mandates invoking relevant skills via tools before any response in coding sessions. Covers access, priorities, and adaptations for Claude Code, Copilot CLI, Gemini CLI.
Share bugs, ideas, or general feedback.
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.
[CONFIRM: Material clauses for your firm/practice area?]
Material variances (High Risk):
Minor variances (Low Risk):
Practice-specific material:
See box-legal-workflows for: General risk framework.
Contract-specific:
High Risk:
Medium Risk:
Low Risk:
[CONFIRM: Contract types ALWAYS flagged regardless of variance?] Examples: High-value (> $[threshold]), specific counterparties, certain jurisdictions, contracts > [X] years.
[CONFIRM: Fields to extract?]
Core metadata:
Risk & review:
Practice-specific:
[CONFIRM: Box metadata templates for contracts exist?]
If yes: scope and template key. If no: can create with create_metadata_template.
| 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 |
Metadata search for date-based queries:
[CONFIRM: Review cadence? Monthly? Quarterly?]
search_files_metadata: "execution_date >= 'YYYY-MM-DD' AND execution_date <= 'YYYY-MM-DD'"
[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'"
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?]
who_am_isearch_files_metadata (if metadata) or search_files_keywordai_qa_multi_file (ask for material differences)ai_extract_structured_from_metadata_template or ai_extract_structured_from_fields_enhancedset_file_metadataupload_file (contract name, risk, variances, recommendations, citations)create_file_commentcreate_collaborationsearch_files_metadatacreate_file_commentset_file_metadata (expiration_alert_sent: yes)See box-legal-workflows for: Human-in-the-loop requirements, confidentiality, Box AI governance.
Contract-specific:
ALWAYS confirm before:
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:
NEVER auto-approve without authorization:
Batch processing:
Decision transparency:
Box AI usage:
Request: "Review NDAs from last 30 days, compare to standard."
Flow:
search_files_metadata (date range)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_template
d. set_file_metadata
e. Create report, uploadcreate_file_comment, create_collaborationRequest: "Find contracts expiring in next 60 days, alert owners."
Flow:
search_files_metadata (60 days, status=active)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_comment
e. set_file_metadata (alert_sent: yes)Request: "20 vendor contracts, no metadata. Extract key terms."
Flow:
list_folder_content_by_folder_id (20)ai_extract_structured_from_fields_enhanced
b. [IF UNCLEAR]: [CONFIRM]: "Expiration '[date]'. Contract says '[text]'. Correct?"
c. set_file_metadata
d. Progress: "Processed 10/20..."Request: "Compare initial and final MSA with Acme, what changed?"
Flow:
get_file_details (both, verify)ai_qa_multi_file (compare, focus clauses)upload_file, create_file_comment, create_collaboration