contract-review

Analyze contracts for risks, check completeness, and provide actionable recommendations. Use when a user asks to review a contract, check an agreement for red flags, analyze contract terms, find risky clauses, review an NDA, evaluate a service agreement, or audit employment contract terms. Supports employment contracts, NDAs, service agreements, and vendor contracts.

26 stars

Best use case

contract-review is best used when you need a repeatable AI agent workflow instead of a one-off prompt.

Analyze contracts for risks, check completeness, and provide actionable recommendations. Use when a user asks to review a contract, check an agreement for red flags, analyze contract terms, find risky clauses, review an NDA, evaluate a service agreement, or audit employment contract terms. Supports employment contracts, NDAs, service agreements, and vendor contracts.

Teams using contract-review should expect a more consistent output, faster repeated execution, less prompt rewriting.

When to use this skill

  • You want a reusable workflow that can be run more than once with consistent structure.

When not to use this skill

  • You only need a quick one-off answer and do not need a reusable workflow.
  • You cannot install or maintain the underlying files, dependencies, or repository context.

Installation

Claude Code / Cursor / Codex

$curl -o ~/.claude/skills/contract-review/SKILL.md --create-dirs "https://raw.githubusercontent.com/TerminalSkills/skills/main/skills/contract-review/SKILL.md"

Manual Installation

  1. Download SKILL.md from GitHub
  2. Place it in .claude/skills/contract-review/SKILL.md inside your project
  3. Restart your AI agent — it will auto-discover the skill

How contract-review Compares

Feature / Agentcontract-reviewStandard Approach
Platform SupportNot specifiedLimited / Varies
Context Awareness High Baseline
Installation ComplexityUnknownN/A

Frequently Asked Questions

What does this skill do?

Analyze contracts for risks, check completeness, and provide actionable recommendations. Use when a user asks to review a contract, check an agreement for red flags, analyze contract terms, find risky clauses, review an NDA, evaluate a service agreement, or audit employment contract terms. Supports employment contracts, NDAs, service agreements, and vendor contracts.

Where can I find the source code?

You can find the source code on GitHub using the link provided at the top of the page.

SKILL.md Source

# Contract Review

## Overview

Analyze legal contracts and agreements to identify risks, missing clauses, unfavorable terms, and compliance issues. This skill reads contract documents, categorizes clauses, flags potential problems, and produces a structured risk report with actionable recommendations.

## Instructions

When a user asks you to review, analyze, or check a contract, follow these steps:

### Step 1: Load and parse the contract

Read the contract file. Supported formats include PDF, DOCX, TXT, and Markdown.

For PDF files, extract text using pdfplumber:

```python
import pdfplumber

def load_contract(pdf_path):
    full_text = ""
    with pdfplumber.open(pdf_path) as pdf:
        for page in pdf.pages:
            text = page.extract_text()
            if text:
                full_text += text + "\n\n"
    return full_text
```

For DOCX files, use python-docx:

```python
from docx import Document

def load_docx(docx_path):
    doc = Document(docx_path)
    return "\n\n".join([p.text for p in doc.paragraphs if p.text.strip()])
```

### Step 2: Identify the contract type

Determine the contract type from the content:
- **Employment contract**: Look for salary, benefits, termination, non-compete clauses
- **NDA / Confidentiality agreement**: Look for confidential information definitions, duration, exceptions
- **Service agreement / SaaS**: Look for SLA, liability caps, data handling, termination for convenience
- **Vendor / Supplier agreement**: Look for delivery terms, payment terms, warranties, indemnification

### Step 3: Extract and categorize key clauses

Identify and extract these critical sections:
1. **Parties**: Who is involved, are they correctly identified
2. **Term and termination**: Duration, renewal terms, termination conditions, notice periods
3. **Payment terms**: Amounts, schedule, late payment penalties, currency
4. **Liability and indemnification**: Liability caps, mutual vs one-sided indemnification
5. **Confidentiality**: Scope of confidential information, duration, exceptions
6. **Non-compete / Non-solicitation**: Geographic scope, duration, reasonableness
7. **Intellectual property**: Ownership, assignment, licensing rights
8. **Dispute resolution**: Jurisdiction, arbitration vs litigation, governing law
9. **Force majeure**: Events covered, notice requirements
10. **Data protection**: GDPR compliance, data processing terms, breach notification

### Step 4: Perform risk analysis

For each clause, assess:
- **Risk level**: High, Medium, or Low
- **Issue**: What is problematic or missing
- **Recommendation**: Specific change or addition to suggest

Flag these common red flags:
- One-sided indemnification without caps
- Automatic renewal without opt-out notice period
- Non-compete clauses exceeding 12 months or unreasonable geographic scope
- Missing limitation of liability
- Vague termination conditions
- No data protection or breach notification terms
- Missing force majeure clause
- Unclear IP ownership assignment

### Step 5: Generate the review report

Produce a structured report with:
1. Contract summary (type, parties, effective date, term)
2. Clause-by-clause analysis with risk ratings
3. Missing clauses that should be added
4. Top recommendations ranked by priority
5. Overall risk score (Low / Medium / High / Critical)

## Examples

### Example 1: Review an employment contract

**User request:** "Review my employment contract at ~/contracts/offer.pdf for any red flags"

**Actions taken:**
1. Extract text from offer.pdf
2. Identify as employment contract
3. Analyze each clause for risks
4. Flag issues found

**Output:**
```
CONTRACT REVIEW REPORT
======================
Type: Employment Contract
Parties: Jane Doe (Employee) <-> Acme Corp (Employer)
Term: Indefinite, starting March 1, 2025

RISK ANALYSIS:
-------------------------------------------------
| Clause              | Risk   | Issue                                    |
|---------------------|--------|------------------------------------------|
| Non-compete         | HIGH   | 24-month duration, nationwide scope       |
| Termination         | MEDIUM | No severance terms specified              |
| IP Assignment       | HIGH   | Covers all work, including personal projects |
| Benefits            | LOW    | Standard package, clearly defined         |
| Confidentiality     | LOW    | Reasonable scope and 2-year duration      |

MISSING CLAUSES:
- No remote work policy or location flexibility terms
- No bonus or equity vesting schedule details

TOP RECOMMENDATIONS:
1. Negotiate non-compete down to 6-12 months with limited geography
2. Add carve-out for personal projects in IP assignment clause
3. Request explicit severance terms (e.g., 2 weeks per year of service)

OVERALL RISK: HIGH - Address non-compete and IP clauses before signing
```

### Example 2: Audit a SaaS service agreement

**User request:** "Check this vendor agreement for our SaaS tool. Flag anything we should push back on."

**Actions taken:**
1. Parse the service agreement
2. Check for standard SaaS contract terms
3. Compare against best practices for data protection and SLAs

**Output:**
```
CONTRACT REVIEW REPORT
======================
Type: SaaS Service Agreement
Parties: Your Company <-> CloudTool Inc.
Term: 12 months, auto-renews

RISK ANALYSIS:
-------------------------------------------------
| Clause              | Risk     | Issue                                  |
|---------------------|----------|----------------------------------------|
| SLA / Uptime        | HIGH     | No uptime guarantee or credits defined |
| Data Processing     | HIGH     | No DPA or GDPR compliance language     |
| Liability Cap       | MEDIUM   | Capped at 1 month of fees (very low)   |
| Termination         | MEDIUM   | 90-day notice required to cancel        |
| Auto-renewal        | LOW      | 30-day opt-out window before renewal    |

TOP RECOMMENDATIONS:
1. Require a 99.9% uptime SLA with service credits
2. Add a Data Processing Agreement as an appendix
3. Negotiate liability cap to at least 12 months of fees
4. Reduce cancellation notice to 30 days
```

## Guidelines

- Always specify that this is an AI-assisted review and not legal advice. Recommend the user consult a lawyer for final decisions.
- Present risks in order of severity (High first) so the most important issues are seen immediately.
- When clauses are ambiguous, flag them as risks rather than assuming favorable interpretation.
- For multi-party contracts, analyze obligations and risks from the perspective of the user's party.
- If the contract references external documents (exhibits, schedules, addenda), note which ones are missing from the review.
- Compare terms against standard market practices for the contract type when assessing reasonableness.
- Keep the report concise. Use tables for clause analysis and bullet points for recommendations.

Related Skills

review-swarm

26
from TerminalSkills/skills

Parallel read-only multi-agent code review of git diffs. Use when: reviewing diffs for regressions, security risks, performance issues, or wanting a parallel review swarm.

code-reviewer

26
from TerminalSkills/skills

Perform thorough code reviews with actionable, prioritized feedback. Use when a user asks to review code, check code quality, find bugs, review a pull request, audit code for issues, or get feedback on implementation. Covers correctness, security, performance, readability, and best practices across languages.

zustand

26
from TerminalSkills/skills

You are an expert in Zustand, the small, fast, and scalable state management library for React. You help developers manage global state without boilerplate using Zustand's hook-based stores, selectors for performance, middleware (persist, devtools, immer), computed values, and async actions — replacing Redux complexity with a simple, un-opinionated API in under 1KB.

zoho

26
from TerminalSkills/skills

Integrate and automate Zoho products. Use when a user asks to work with Zoho CRM, Zoho Books, Zoho Desk, Zoho Projects, Zoho Mail, or Zoho Creator, build custom integrations via Zoho APIs, automate workflows with Deluge scripting, sync data between Zoho apps and external systems, manage leads and deals, automate invoicing, build custom Zoho Creator apps, set up webhooks, or manage Zoho organization settings. Covers Zoho CRM, Books, Desk, Projects, Creator, and cross-product integrations.

zod

26
from TerminalSkills/skills

You are an expert in Zod, the TypeScript-first schema declaration and validation library. You help developers define schemas that validate data at runtime AND infer TypeScript types at compile time — eliminating the need to write types and validators separately. Used for API input validation, form validation, environment variables, config files, and any data boundary.

zipkin

26
from TerminalSkills/skills

Deploy and configure Zipkin for distributed tracing and request flow visualization. Use when a user needs to set up trace collection, instrument Java/Spring or other services with Zipkin, analyze service dependencies, or configure storage backends for trace data.

zig

26
from TerminalSkills/skills

Expert guidance for Zig, the systems programming language focused on performance, safety, and readability. Helps developers write high-performance code with compile-time evaluation, seamless C interop, no hidden control flow, and no garbage collector. Zig is used for game engines, operating systems, networking, and as a C/C++ replacement.

zed

26
from TerminalSkills/skills

Expert guidance for Zed, the high-performance code editor built in Rust with native collaboration, AI integration, and GPU-accelerated rendering. Helps developers configure Zed, create custom extensions, set up collaborative editing sessions, and integrate AI assistants for productive coding.

zeabur

26
from TerminalSkills/skills

Expert guidance for Zeabur, the cloud deployment platform that auto-detects frameworks, builds and deploys applications with zero configuration, and provides managed services like databases and message queues. Helps developers deploy full-stack applications with automatic scaling and one-click marketplace services.

zapier

26
from TerminalSkills/skills

Automate workflows between apps with Zapier. Use when a user asks to connect apps without code, automate repetitive tasks, sync data between services, or build no-code integrations between SaaS tools.

zabbix

26
from TerminalSkills/skills

Configure Zabbix for enterprise infrastructure monitoring with templates, triggers, discovery rules, and dashboards. Use when a user needs to set up Zabbix server, configure host monitoring, create custom templates, define trigger expressions, or automate host discovery and registration.

yup

26
from TerminalSkills/skills

Validate data with Yup schemas. Use when adding form validation, defining API request schemas, validating configuration, or building type-safe validation pipelines in JavaScript/TypeScript.