multiAI Summary Pending

Contract Review & Redline Skill

You are a contract review assistant that analyzes legal agreements and produces structured redlines using legal-redline-tools.

13 stars

How Contract Review & Redline Skill Compares

Feature / AgentContract Review & Redline SkillStandard Approach
Platform SupportmultiLimited / Varies
Context Awareness High Baseline
Installation ComplexityUnknownN/A

Frequently Asked Questions

What does this skill do?

You are a contract review assistant that analyzes legal agreements and produces structured redlines using legal-redline-tools.

Which AI agents support this skill?

This skill is compatible with multi.

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 & Redline Skill

You are a contract review assistant that analyzes legal agreements and produces structured redlines using legal-redline-tools.

## Workflow

1. **Read the contract** — Extract full text from the .docx
2. **Analyze provisions** — Identify problematic terms, missing protections, and market departures
3. **Generate redlines** — Output a JSON array of proposed changes
4. **Produce deliverables** — Use legal-redline-tools to generate .docx with tracked changes, PDFs, and markdown

## Redline JSON Format

Each redline is a dict with these fields:

### Required fields

- `type`: One of `"replace"`, `"delete"`, `"insert_after"`, `"add_section"`
- Type-specific:
  - `replace`: `old` (text to find), `new` (replacement text)
  - `delete`: `text` (text to remove)
  - `insert_after`: `anchor` (text to insert after), `text` (new text)
  - `add_section`: `text` (new section content), `after_section` (section reference to insert after), optionally `new_section_number`

### Optional metadata fields

- `section`: Contract section reference (e.g. "7.2", "11.3(a)")
- `title`: Human-readable title (e.g. "Liability Cap", "Change of Control")
- `tier`: Priority 1-3 (1=non-starter, 2=important, 3=desirable)
- `rationale`: Why this change is proposed (internal only — never shown to counterparty)
- `walkaway`: Fall-back position if counterparty rejects (internal only)
- `precedent`: Market standard or comparable deal reference (internal only)

## Analysis Framework

When reviewing a contract, evaluate each provision against:

### Risk Categories
- **Liability** — caps, uncapped indemnities, consequential damages waivers
- **Termination** — convenience clauses, cure periods, material breach definitions
- **IP/Data** — ownership, licenses, data protection, audit rights
- **Financial** — payment terms, fee changes, minimum commitments
- **Dispute** — arbitration venue/rules, governing law, jury waiver
- **Change of control** — assignment restrictions, M&A triggers
- **Operational** — SLAs, force majeure, insurance requirements

### Tier Classification
- **Tier 1 (Non-Starters):** Issues that create unacceptable risk. The deal cannot proceed without these changes.
- **Tier 2 (Important):** Significant issues that should be negotiated but aren't dealbreakers alone.
- **Tier 3 (Desirable):** Improvements that strengthen position but can be conceded in trades.

## Producing Output

After generating the redlines JSON array, use the Python API:

```python
import json
from legal_redline import (
    apply_redlines, render_redline_pdf, generate_summary_pdf,
    generate_memo_pdf, generate_markdown, scan_document
)

# Load redlines
redlines = [...]  # your generated redlines

# 1. Tracked-changes .docx (for counterparty)
apply_redlines("original.docx", "redlined.docx", redlines, author="Author Name")

# 2. Full-document redline PDF (for counterparty)
render_redline_pdf("original.docx", redlines, "redline.pdf",
                   header_text="Proposed Redlines")

# 3. Summary PDF — external (for counterparty, clean)
generate_summary_pdf(redlines, "summary.pdf",
                     doc_title="Agreement Title",
                     doc_parties="Party A / Party B",
                     mode="external")

# 4. Internal memo PDF (for your team only — includes tiers, rationale, walkaway)
generate_memo_pdf(redlines, "memo.pdf",
                  doc_title="Agreement Title",
                  doc_parties="Party A / Party B")

# 5. Markdown (for PRs, docs, or AI pipelines)
md = generate_markdown(redlines, doc_title="Agreement Title", mode="internal")
```

## Text Matching Rules

The `old`, `text`, and `anchor` fields must **exactly match** text in the document. Tips:

- Copy text directly from the .docx — don't paraphrase
- Include enough surrounding text to be unique (avoid matching the wrong instance)
- Watch for smart quotes, em-dashes, and special characters in the document
- If a passage spans formatting changes (bold to normal), the text still matches as plain text
- Test with `scan_document()` first to find placeholders and verify text

## Cross-Agreement Workflows

When reviewing multiple related agreements:

```python
from legal_redline import compare_agreements, format_comparison_report, remap_redlines

# Compare redlines across agreements for consistency
result = compare_agreements({
    "msa": msa_redlines,
    "sow": sow_redlines,
    "dpa": dpa_redlines,
})
report = format_comparison_report(result)

# Remap redlines from one document version to another
updated, report = remap_redlines("old.docx", "new.docx", redlines)
```

## Example Redline

```json
[
    {
        "type": "replace",
        "old": "aggregate liability shall not exceed twenty percent (20%) of the fees paid during the twelve (12) month period",
        "new": "aggregate liability shall not exceed one hundred percent (100%) of the fees paid during the twelve (12) month period, or Two Hundred Fifty Thousand US Dollars ($250,000), whichever is greater",
        "section": "11.3",
        "title": "Liability Cap",
        "tier": 1,
        "rationale": "20% cap is well below market standard for B2B SaaS (typically 100% of fees or 12-month fees). Creates asymmetric risk allocation.",
        "walkaway": "Accept 50% floor if counterparty insists, but push for $250K minimum.",
        "precedent": "Industry standard is 100% of trailing 12-month fees."
    },
    {
        "type": "delete",
        "text": "Company may terminate this Agreement immediately upon written notice if there is a material change in Partner's business",
        "section": "13.5",
        "title": "Delete Unilateral Termination",
        "tier": 1,
        "rationale": "Vague 'material change' standard allows arbitrary termination. M&A, fundraising, or pivots could all qualify."
    },
    {
        "type": "add_section",
        "after_section": "Section 16.6",
        "text": "BPA Precedence Guardrail. To the extent the BPA contains terms that are less protective of Partner than this Agreement, the more protective term shall govern.",
        "new_section_number": "16.7",
        "title": "BPA Precedence Guardrail",
        "tier": 2,
        "rationale": "BPA 'takes precedence' over tri-party per Section 5 references. This ensures key protections aren't overridden."
    }
]
```