legal-review

$npx mdskill add aAAaqwq/AGI-Super-Team/legal-review

Scans legal documents for risky clauses and unfavorable terms.

  • Identifies sensitive information and potential risks in contracts.
  • Requires Python 3 and python-docx for DOCX file extraction.
  • Uses structured analysis to categorize document type and parties.
  • Delivers risk assessments with specific recommendations for review.

SKILL.md

.github/skills/legal-reviewView on GitHub ↗
---
name: legal-review
description: Review legal documents (NDA, contracts, agreements) for sensitive clauses, risks, and red flags
---
# Legal Document Review

> Analyze legal documents for sensitive clauses, risks, unfavorable terms, and red flags. Provides structured review with risk assessment and recommendations.

## When to use

- User asks to review an NDA, contract, or legal agreement
- User wants to find sensitive or risky clauses in a legal document
- User needs to understand implications of a legal document before signing
- User asks to compare document terms against standard/fair practices

## Dependencies

- External: python3 (for DOCX extraction via python-docx)

## How to execute

### Step 1: Extract document text

If the document is a DOCX file, extract text:

```python
from docx import Document
doc = Document('path/to/file.docx')
# Handle both paragraph-based and table-based layouts
text_parts = []
for p in doc.paragraphs:
    if p.text.strip():
        text_parts.append(p.text)
for table in doc.tables:
    for row in table.rows:
        for cell in row.cells:
            if cell.text.strip():
                text_parts.append(cell.text)
```

If PDF, use the Read tool directly (it supports PDFs).

### Step 2: Analyze document

Perform structured analysis covering ALL of the following areas:

#### A. Document Overview
- Type of document (NDA, MSA, SoW, etc.)
- Parties involved and their roles
- Effective date and duration
- Governing law and jurisdiction

#### B. Sensitive Clauses Detection

Scan for and flag these categories with severity levels:

| Category | What to look for | Severity |
|----------|-----------------|----------|
| **Non-compete / Non-solicitation** | Restrictions on working with competitors, hiring employees | HIGH |
| **Unlimited liability** | No cap on damages, indemnification without limits | HIGH |
| **Unilateral termination** | One party can terminate freely, other cannot | HIGH |
| **IP assignment** | Broad IP transfer clauses, work-for-hire beyond scope | HIGH |
| **Penalty clauses** | Financial penalties for breach, liquidated damages | HIGH |
| **Governing law mismatch** | Law of unfamiliar jurisdiction, unfavorable forum | MEDIUM |
| **Confidentiality duration** | Unusually long (>5 years) or perpetual obligations | MEDIUM |
| **Auto-renewal / Lock-in** | Automatic extension, difficult exit terms | MEDIUM |
| **Data processing** | Personal data obligations, GDPR/privacy compliance | MEDIUM |
| **Audit rights** | Right to audit your systems, records, premises | MEDIUM |
| **Force majeure** | Missing or one-sided force majeure clause | LOW |
| **Notice requirements** | Unreasonable notice periods, specific delivery methods | LOW |
| **Amendment process** | Unilateral right to modify terms | MEDIUM |
| **Waiver of jury trial** | Waiving right to jury trial or class action | LOW |
| **Survival clauses** | Obligations that survive termination and their duration | LOW |

#### C. Asymmetry Analysis

Check whether obligations are mutual or one-sided:
- Are confidentiality obligations symmetric?
- Are termination rights equal?
- Are liability and indemnification balanced?
- Who bears more risk?

#### D. Missing Clauses

Flag important clauses that are ABSENT:
- Limitation of liability
- Dispute resolution mechanism
- Data protection / GDPR
- Force majeure
- Warranty disclaimers
- Return/destruction of materials timeline

#### E. Language Red Flags

Flag vague or overly broad language:
- "including but not limited to" with open-ended lists
- "sole discretion" granted to one party
- "reasonable" without defined criteria
- "best efforts" vs "commercially reasonable efforts"
- "any and all" sweeping language
- Undefined key terms

### Step 3: Generate report

Output a structured report:

```
## LEGAL DOCUMENT REVIEW

### Document Info
- Type: [NDA/Contract/etc.]
- Parties: [Party A] <-> [Party B]
- Date: [effective date]
- Duration: [term]
- Governing Law: [jurisdiction]

### Risk Summary
- Overall Risk Level: [LOW / MEDIUM / HIGH / CRITICAL]
- HIGH risks found: [count]
- MEDIUM risks found: [count]

### Sensitive Clauses Found

#### [HIGH] [Category Name]
- Clause: [quote or reference]
- Risk: [what this means for you]
- Recommendation: [what to negotiate or change]

#### [MEDIUM] [Category Name]
...

### Asymmetry Issues
- [list of imbalanced terms]

### Missing Protections
- [list of absent but recommended clauses]

### Recommendations
1. [Prioritized list of changes to request before signing]
```

## Parameters

| Parameter | Description | Default |
|-----------|-------------|---------|
| `file_path` | Path to the document (DOCX, PDF, or TXT) | required |
| `party` | Which party you represent (for perspective) | auto-detect from context |
| `focus` | Specific areas to focus on (e.g., "IP", "liability") | all areas |

## Examples

### Example 1: Review NDA before signing

User: "Review this NDA from Client G"
-> Extract DOCX, run full analysis, output structured report

### Example 2: Focus on specific concerns

User: "Check this contract for IP risks"
-> Run analysis with focus on IP assignment, work-for-hire, licensing clauses

## Limitations

- This is AI-assisted analysis, NOT legal advice
- Always consult a qualified lawyer for important agreements
- May miss jurisdiction-specific legal nuances
- Cannot verify factual claims (e.g., company registration codes)

## Related skills

- `invoice-generator-agent` — for creating invoices referenced in contracts
- `email-send-bulk` — for sending signed documents back

More from aAAaqwq/AGI-Super-Team

SkillDescription
a-fund-monitor监控 A 股基金实时估值与盘后净值,自动判断交易日并生成提醒或分析。
add-leadAdd company/person/relationship to CRM
ads-agentAI-агент для управления Facebook рекламой. Вызывай для анализа, оптимизации, создания кампаний и отчётов.
afrexai-compliance-auditRun internal compliance audits against major governance and security
afrexai-personal-financeComplete personal finance system — budgeting, debt payoff, investing, tax optimization, net worth tracking, and financial independence planning. Use when managing money, building wealth, paying off debt, planning retirement, or optimizing taxes. Zero dependencies.
after-salesUse when managing post-purchase experience, building customer loyalty, or increasing repeat purchases
agent-contactsAI agent contacts — add, list, remove MCP contacts. Use when someone gives an agent URL, or when you need to view/remove contacts.
agent-model-switcher批量查看和切换子 agent 的模型配置,用于统一调整多 agent 的 provider/model 设置。
agent-patternsFormat SPAWN REQUEST messages to launch parallel agents, generate structured agent status reports, and define communication protocols within the sprint system. Use when the user needs to coordinate multiple agents, format spawn requests, produce agent reports, or establish inter-agent communication patterns.
agent-task-confirmUse when confirming whether a dispatched agent task was actually received, activated, and progressing after sessions_send or other task handoff actions.