← 返回 Skills 市场
uday390

DeepRead Legal Documents

作者 DeepRead.tech · GitHub ↗ · v1.0.0 · MIT-0
cross-platform ✓ 安全检测通过
116
总下载
0
收藏
0
当前安装
1
版本数
在 OpenClaw 中安装
/install deepread-legal
功能描述
Extract structured data from contracts, legal agreements, court filings, and compliance documents. Pre-built schemas for parties, clauses, dates, obligations...
使用说明 (SKILL.md)

DeepRead Legal Document Processing

Extract structured data from contracts, legal agreements, NDAs, court filings, leases, and compliance documents. Then redact privileged or sensitive information before sharing with opposing counsel, auditors, or external parties.

This skill instructs the agent to POST documents to https://api.deepread.tech and poll for results. No system files are modified.

What You Get Back

Submit a contract and get structured JSON:

{
  "document_type": {"value": "Master Services Agreement", "hil_flag": false, "found_on_page": 1},
  "parties": {"value": [
    {"name": "Acme Corp", "role": "Service Provider", "address": "123 Tech Blvd, San Francisco, CA"},
    {"name": "GlobalCo Inc", "role": "Client", "address": "456 Market St, New York, NY"}
  ], "hil_flag": false, "found_on_page": 1},
  "effective_date": {"value": "2026-01-15", "hil_flag": false, "found_on_page": 1},
  "termination_date": {"value": "2027-01-14", "hil_flag": false, "found_on_page": 1},
  "governing_law": {"value": "State of California", "hil_flag": false, "found_on_page": 8},
  "contract_value": {"value": 250000.00, "hil_flag": true, "reason": "Multiple amounts found on different pages"},
  "payment_terms": {"value": "Net 45 from invoice date", "hil_flag": false, "found_on_page": 3},
  "key_clauses": {"value": [
    {"type": "Indemnification", "summary": "Provider indemnifies Client against third-party IP claims", "page": 5},
    {"type": "Limitation of Liability", "summary": "Capped at 12 months of fees paid", "page": 5},
    {"type": "Termination", "summary": "Either party may terminate with 30 days written notice", "page": 6},
    {"type": "Non-Compete", "summary": "12-month non-compete within same industry vertical", "page": 7}
  ], "hil_flag": false, "found_on_page": 5},
  "signatures": {"value": [
    {"name": "John Smith", "title": "CEO, Acme Corp", "date": "2026-01-10"},
    {"name": "Jane Doe", "title": "General Counsel, GlobalCo Inc", "date": "2026-01-12"}
  ], "hil_flag": false, "found_on_page": 8}
}

Fields with hil_flag: true need human review. Everything else is high-confidence.

Setup

Get Your API Key

open "https://www.deepread.tech/dashboard/?utm_source=clawhub"

Save it:

export DEEPREAD_API_KEY="sk_live_your_key_here"

Contract Schema

Pre-built schema for contracts and legal agreements:

{
  "type": "object",
  "properties": {
    "document_type": {"type": "string", "description": "Type of legal document (MSA, NDA, lease, employment agreement, etc.)"},
    "parties": {
      "type": "array",
      "items": {
        "type": "object",
        "properties": {
          "name": {"type": "string", "description": "Full legal name of the party"},
          "role": {"type": "string", "description": "Role in the agreement (e.g., Licensor, Licensee, Landlord, Tenant)"},
          "address": {"type": "string", "description": "Address of the party"}
        }
      },
      "description": "All parties to the agreement"
    },
    "effective_date": {"type": "string", "description": "Date the agreement takes effect (YYYY-MM-DD)"},
    "termination_date": {"type": "string", "description": "End date or expiration of the agreement (YYYY-MM-DD)"},
    "governing_law": {"type": "string", "description": "Jurisdiction governing the agreement"},
    "contract_value": {"type": "number", "description": "Total contract value or consideration amount"},
    "payment_terms": {"type": "string", "description": "Payment schedule and terms"},
    "key_clauses": {
      "type": "array",
      "items": {
        "type": "object",
        "properties": {
          "type": {"type": "string", "description": "Clause type (Indemnification, Limitation of Liability, Termination, Non-Compete, Confidentiality, IP Ownership, etc.)"},
          "summary": {"type": "string", "description": "Brief summary of the clause terms"},
          "page": {"type": "number", "description": "Page number where the clause appears"}
        }
      },
      "description": "Key clauses and their summaries"
    },
    "renewal_terms": {"type": "string", "description": "Auto-renewal terms if applicable"},
    "notice_period": {"type": "string", "description": "Required notice period for termination"},
    "signatures": {
      "type": "array",
      "items": {
        "type": "object",
        "properties": {
          "name": {"type": "string", "description": "Signatory name"},
          "title": {"type": "string", "description": "Title and organization"},
          "date": {"type": "string", "description": "Date signed (YYYY-MM-DD)"}
        }
      },
      "description": "Signatories and execution dates"
    }
  }
}

Extract Data From Legal Documents

Python

import requests
import json
import time

API_KEY = "sk_live_YOUR_KEY"
BASE = "https://api.deepread.tech"
headers = {"X-API-Key": API_KEY}

schema = json.dumps({
    "type": "object",
    "properties": {
        "document_type": {"type": "string", "description": "Type of legal document"},
        "parties": {
            "type": "array",
            "items": {"type": "object", "properties": {
                "name": {"type": "string", "description": "Full legal name"},
                "role": {"type": "string", "description": "Role in agreement"}
            }},
            "description": "All parties"
        },
        "effective_date": {"type": "string", "description": "Effective date (YYYY-MM-DD)"},
        "termination_date": {"type": "string", "description": "End date (YYYY-MM-DD)"},
        "governing_law": {"type": "string", "description": "Governing jurisdiction"},
        "contract_value": {"type": "number", "description": "Total value"},
        "key_clauses": {
            "type": "array",
            "items": {"type": "object", "properties": {
                "type": {"type": "string", "description": "Clause type"},
                "summary": {"type": "string", "description": "Summary of terms"},
                "page": {"type": "number"}
            }},
            "description": "Key clauses"
        },
        "signatures": {
            "type": "array",
            "items": {"type": "object", "properties": {
                "name": {"type": "string"},
                "title": {"type": "string"},
                "date": {"type": "string"}
            }},
            "description": "Signatories"
        }
    }
})

# Submit contract
with open("contract.pdf", "rb") as f:
    job = requests.post(
        f"{BASE}/v1/process",
        headers=headers,
        files={"file": f},
        data={"schema": schema},
    ).json()

job_id = job["id"]
print(f"Processing: {job_id}")

# Poll for results
delay = 5
while True:
    time.sleep(delay)
    result = requests.get(f"{BASE}/v1/jobs/{job_id}", headers=headers).json()

    if result["status"] == "completed":
        data = result["result"]["data"]
        print(json.dumps(data, indent=2))

        # Flag fields needing review
        for field, value in data.items():
            if isinstance(value, dict) and value.get("hil_flag"):
                print(f"\
  REVIEW: {field} — {value.get('reason')}")
        break
    elif result["status"] == "failed":
        print(f"Failed: {result.get('error')}")
        break

    delay = min(delay * 1.5, 15)

cURL

curl -s -X POST https://api.deepread.tech/v1/process \
  -H "X-API-Key: $DEEPREAD_API_KEY" \
  -F "[email protected]" \
  -F 'schema={"type":"object","properties":{"document_type":{"type":"string","description":"Type of legal document"},"parties":{"type":"array","items":{"type":"object","properties":{"name":{"type":"string"},"role":{"type":"string"}}},"description":"All parties"},"effective_date":{"type":"string","description":"Effective date"},"governing_law":{"type":"string","description":"Governing jurisdiction"},"contract_value":{"type":"number","description":"Total value"},"key_clauses":{"type":"array","items":{"type":"object","properties":{"type":{"type":"string"},"summary":{"type":"string"}}},"description":"Key clauses"}}}'

Privilege Review: Redact Before Sharing

Redact privileged or sensitive information before sharing with opposing counsel, auditors, or external parties:

# Step 1: Extract the data you need
with open("contract.pdf", "rb") as f:
    extract_job = requests.post(
        f"{BASE}/v1/process",
        headers=headers,
        files={"file": f},
        data={"schema": schema},
    ).json()

# Step 2: Redact PII from the original before sharing
with open("contract.pdf", "rb") as f:
    redact_job = requests.post(
        f"{BASE}/v1/pii/redact",
        headers=headers,
        files={"file": f},
    ).json()

# Poll for redaction
redact_id = redact_job["id"]
delay = 5
while True:
    time.sleep(delay)
    result = requests.get(f"{BASE}/v1/pii/{redact_id}", headers=headers).json()
    if result["status"] == "completed":
        report = result["report"]
        print(f"Redacted {report['total_redactions']} PII instances")
        for pii_type, info in report["pii_detected"].items():
            print(f"  {pii_type}: {info['count']} found")
        pdf = requests.get(result["redacted_file_url"]).content
        with open("contract_redacted.pdf", "wb") as f:
            f.write(pdf)
        print("Saved: contract_redacted.pdf")
        break
    elif result["status"] == "failed":
        print(f"Failed: {result.get('error')}")
        break
    delay = min(delay * 1.5, 15)

Use Cases

  • Contract Review — Extract parties, dates, key clauses, and obligations from contracts and MSAs
  • NDA Analysis — Pull confidentiality terms, duration, exclusions, and governing law
  • Lease Extraction — Extract tenant, landlord, rent, term, renewal options from commercial leases
  • Court Filings — Pull case numbers, parties, filing dates, and relief sought from legal filings
  • Legal Discovery — Bulk-process documents, extract metadata, and redact privileged information
  • Compliance Audit — Extract regulatory clauses, reporting obligations, and compliance deadlines
  • M&A Due Diligence — Process stacks of contracts to extract key terms, liabilities, and change-of-control clauses
  • Employment Agreements — Pull compensation, non-compete terms, equity vesting, and termination clauses

Tips for Legal Documents

  • Specify clause types — Listing expected clause types (Indemnification, Limitation of Liability, etc.) in the schema description improves extraction
  • Use page numbers — Adding "page number where the clause appears" helps locate extracted terms in the original
  • Create blueprints for recurring document types — If you process the same type of contract repeatedly (e.g., NDAs, MSAs), train a blueprint at deepread.tech/dashboard/optimizer for 20-30% accuracy improvement
  • Always redact before external sharing — Use PII redaction before sending documents to opposing counsel, third-party reviewers, or LLMs

BYOK — Zero Processing Costs

Connect your own OpenAI, Google, or OpenRouter key via the dashboard. All document processing routes through your provider — zero DeepRead LLM costs, page quota skipped.

Set it up: https://www.deepread.tech/dashboard/byok

Related DeepRead Skills

  • deepread-ocr — General OCR and structured extraction — clawhub install uday390/deepread-ocr
  • deepread-pii — Redact PII from any document — clawhub install uday390/deepread-pii
  • deepread-form-fill — Fill PDF forms with AI vision — clawhub install uday390/deepread-form-fill
  • deepread-invoice — Invoice and receipt processing — clawhub install uday390/deepread-invoice
  • deepread-medical — Medical records processing — clawhub install uday390/deepread-medical
  • deepread-agent-setup — OAuth device flow authentication — clawhub install uday390/deepread-agent-setup
  • deepread-byok — Bring Your Own Key setup — clawhub install uday390/deepread-byok

Support


Get started free: https://www.deepread.tech/dashboard/?utm_source=clawhub

安全使用建议
This skill appears coherent for a cloud document-extraction provider, but you are sending potentially sensitive legal documents to a third party. Before installing or using it: (1) verify vendor identity and review DeepRead's privacy/security docs and data-processing agreement; confirm retention, deletion, and access controls; (2) test with non-sensitive documents first; (3) use a dedicated API key or service-account key with limited scope and rotate it regularly; (4) confirm that the workflow's PII-redaction claims meet your legal/privilege requirements and that 'hil_flag' items are routed for manual review; (5) if organizational policy restricts external uploads of certain documents, do not use the skill for those files; (6) consider disabling autonomous invocation for this skill if you want to ensure human approval before any document is uploaded. If you need higher assurance, request vendor transparency (SOC/ISO reports, DPA) or use an on-premises tool instead.
功能分析
Type: OpenClaw Skill Name: deepread-legal Version: 1.0.0 The deepread-legal skill is a legitimate integration for the DeepRead API, designed to extract structured data from legal documents and perform PII redaction. It operates by sending documents to https://api.deepread.tech and requires a user-provided API key (DEEPREAD_API_KEY). The code and instructions in SKILL.md are transparent, align with the stated purpose, and contain no evidence of malicious intent, data exfiltration, or unauthorized system access.
能力评估
Purpose & Capability
Name/description (extract structured data from legal documents) align with the runtime instructions and required credential: the SKILL.md shows the agent POSTing documents to https://api.deepread.tech and using a DEEPREAD_API_KEY. The homepage matches the expected service. Note: the skill source is listed as unknown in registry metadata – verify the vendor if provenance matters to you.
Instruction Scope
Instructions are narrowly scoped: upload documents to the DeepRead API, poll for results, and return structured JSON. The SKILL.md does not instruct the agent to read unrelated system files, other env vars, or to exfiltrate data to unexpected endpoints. It does instruct the agent to send full documents to a third-party API (necessary for the function) so users should consider data privacy implications.
Install Mechanism
No install spec and no code files (instruction-only). This is lowest-risk from an installation perspective — nothing is written to disk or downloaded by the skill itself.
Credentials
Only a single credential (DEEPREAD_API_KEY) is required and declared as the primaryEnv. That is proportional for a hosted API service. No unrelated secrets or config paths are requested.
Persistence & Privilege
always:false and no install mean the skill does not request permanent/system-wide presence. disable-model-invocation is false (normal), but this is not combined with broad credentials or other red flags.
如何使用
  1. 确保已安装 OpenClaw(本地或 Docker 部署)
  2. 在对话框中输入安装命令:/install deepread-legal
  3. 安装完成后,直接呼叫该 Skill 的名称或使用 /deepread-legal 触发
  4. 根据 Skill 的参数说明提供必要输入,即可获得结构化输出
版本历史
v1.0.0
Extract structured data from contracts, NDAs, leases, court filings. Pre-built schemas for parties, clauses, dates, obligations. PII redaction for privilege review.
元数据
Slug deepread-legal
版本 1.0.0
许可证 MIT-0
累计安装 0
当前安装数 0
历史版本数 1
常见问题

DeepRead Legal Documents 是什么?

Extract structured data from contracts, legal agreements, court filings, and compliance documents. Pre-built schemas for parties, clauses, dates, obligations... 它是一个面向 Claude Code / OpenClaw 的 AI Agent Skill 插件,目前累计下载 116 次。

如何安装 DeepRead Legal Documents?

在 OpenClaw 或 Claude Code 对话框中运行命令「/install deepread-legal」即可一键安装,无需额外配置。

DeepRead Legal Documents 是免费的吗?

是的,DeepRead Legal Documents 完全免费,采用 MIT-0 许可证,可自由下载、安装和使用。

DeepRead Legal Documents 支持哪些平台?

DeepRead Legal Documents 跨平台运行,可在任意部署了 OpenClaw / Claude Code 的环境中使用(cross-platform)。

谁开发了 DeepRead Legal Documents?

由 DeepRead.tech(@uday390)开发并维护,当前版本 v1.0.0。

💬 留言讨论