> 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.
curl "https://skillshub.wtf/TerminalSkills/skills/contract-review?format=md"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:
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:
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:
- Parties: Who is involved, are they correctly identified
- Term and termination: Duration, renewal terms, termination conditions, notice periods
- Payment terms: Amounts, schedule, late payment penalties, currency
- Liability and indemnification: Liability caps, mutual vs one-sided indemnification
- Confidentiality: Scope of confidential information, duration, exceptions
- Non-compete / Non-solicitation: Geographic scope, duration, reasonableness
- Intellectual property: Ownership, assignment, licensing rights
- Dispute resolution: Jurisdiction, arbitration vs litigation, governing law
- Force majeure: Events covered, notice requirements
- 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:
- Contract summary (type, parties, effective date, term)
- Clause-by-clause analysis with risk ratings
- Missing clauses that should be added
- Top recommendations ranked by priority
- 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:
- Extract text from offer.pdf
- Identify as employment contract
- Analyze each clause for risks
- 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:
- Parse the service agreement
- Check for standard SaaS contract terms
- 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 --same-repo
> zustand
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.
> zod
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.
> xero-accounting
Integrate with the Xero accounting API to sync invoices, expenses, bank transactions, and contacts — and generate financial reports like P&L and balance sheet. Use when: connecting apps to Xero, automating bookkeeping workflows, syncing accounting data, or pulling financial reports programmatically.
> windsurf-rules
Configure Windsurf AI coding assistant with .windsurfrules and workspace rules. Use when: customizing Windsurf for a project, setting AI coding standards, creating team-shared Windsurf configurations, or tuning Cascade AI behavior.