@wentorai/research-plugins 1.1.0 → 1.2.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +18 -18
- package/curated/analysis/README.md +12 -1
- package/curated/domains/README.md +48 -1
- package/curated/literature/README.md +46 -1
- package/curated/research/README.md +16 -1
- package/curated/tools/README.md +20 -1
- package/curated/writing/README.md +13 -1
- package/mcp-configs/academic-db/alphafold-mcp.json +20 -0
- package/mcp-configs/academic-db/brightspace-mcp.json +21 -0
- package/mcp-configs/academic-db/climatiq-mcp.json +20 -0
- package/mcp-configs/academic-db/gibs-mcp.json +20 -0
- package/mcp-configs/academic-db/gis-mcp-server.json +22 -0
- package/mcp-configs/academic-db/google-earth-engine-mcp.json +21 -0
- package/mcp-configs/academic-db/m4-clinical-mcp.json +21 -0
- package/mcp-configs/academic-db/medical-mcp.json +21 -0
- package/mcp-configs/academic-db/nexonco-mcp.json +20 -0
- package/mcp-configs/academic-db/omop-mcp.json +20 -0
- package/mcp-configs/academic-db/onekgpd-mcp.json +20 -0
- package/mcp-configs/academic-db/openedu-mcp.json +20 -0
- package/mcp-configs/academic-db/opengenes-mcp.json +20 -0
- package/mcp-configs/academic-db/openstax-mcp.json +21 -0
- package/mcp-configs/academic-db/openstreetmap-mcp.json +21 -0
- package/mcp-configs/academic-db/opentargets-mcp.json +21 -0
- package/mcp-configs/academic-db/pdb-mcp.json +21 -0
- package/mcp-configs/academic-db/smithsonian-mcp.json +20 -0
- package/mcp-configs/ai-platform/magi-researchers.json +21 -0
- package/mcp-configs/ai-platform/mcp-academic-researcher.json +22 -0
- package/mcp-configs/ai-platform/open-paper-machine.json +21 -0
- package/mcp-configs/ai-platform/paper-intelligence.json +21 -0
- package/mcp-configs/ai-platform/paper-reader.json +21 -0
- package/mcp-configs/ai-platform/paperdebugger.json +21 -0
- package/mcp-configs/browser/exa-mcp.json +20 -0
- package/mcp-configs/browser/mcp-searxng.json +21 -0
- package/mcp-configs/browser/mcp-webresearch.json +20 -0
- package/mcp-configs/communication/discourse-mcp.json +21 -0
- package/mcp-configs/data-platform/automl-stat-mcp.json +21 -0
- package/mcp-configs/data-platform/jefferson-stats-mcp.json +22 -0
- package/mcp-configs/data-platform/mcp-excel-server.json +21 -0
- package/mcp-configs/data-platform/mcp-stata.json +21 -0
- package/mcp-configs/data-platform/mcpstack-jupyter.json +21 -0
- package/mcp-configs/data-platform/ml-mcp.json +21 -0
- package/mcp-configs/data-platform/nasdaq-data-link-mcp.json +20 -0
- package/mcp-configs/data-platform/numpy-mcp.json +21 -0
- package/mcp-configs/dev-platform/geogebra-mcp.json +21 -0
- package/mcp-configs/dev-platform/latex-mcp-server.json +21 -0
- package/mcp-configs/dev-platform/manim-mcp.json +20 -0
- package/mcp-configs/dev-platform/mcp-echarts.json +20 -0
- package/mcp-configs/dev-platform/panel-viz-mcp.json +20 -0
- package/mcp-configs/dev-platform/paperbanana.json +20 -0
- package/mcp-configs/dev-platform/texflow-mcp.json +20 -0
- package/mcp-configs/dev-platform/texmcp.json +20 -0
- package/mcp-configs/dev-platform/typst-mcp.json +21 -0
- package/mcp-configs/dev-platform/vizro-mcp.json +20 -0
- package/mcp-configs/note-knowledge/local-faiss-mcp.json +21 -0
- package/mcp-configs/note-knowledge/mcp-memory-service.json +21 -0
- package/mcp-configs/note-knowledge/mcp-obsidian.json +23 -0
- package/mcp-configs/note-knowledge/mcp-ragdocs.json +20 -0
- package/mcp-configs/note-knowledge/mcp-summarizer.json +21 -0
- package/mcp-configs/note-knowledge/mediawiki-mcp.json +21 -0
- package/mcp-configs/note-knowledge/openzim-mcp.json +20 -0
- package/mcp-configs/note-knowledge/zettelkasten-mcp.json +21 -0
- package/mcp-configs/reference-mgr/academic-paper-mcp-http.json +20 -0
- package/mcp-configs/reference-mgr/academix.json +20 -0
- package/mcp-configs/reference-mgr/arxiv-research-mcp.json +21 -0
- package/mcp-configs/reference-mgr/google-scholar-abstract-mcp.json +19 -0
- package/mcp-configs/reference-mgr/google-scholar-mcp.json +20 -0
- package/mcp-configs/reference-mgr/mcp-paperswithcode.json +21 -0
- package/mcp-configs/reference-mgr/mcp-scholarly.json +20 -0
- package/mcp-configs/reference-mgr/mcp-simple-arxiv.json +20 -0
- package/mcp-configs/reference-mgr/mcp-simple-pubmed.json +20 -0
- package/mcp-configs/reference-mgr/mcp-zotero.json +21 -0
- package/mcp-configs/reference-mgr/mendeley-mcp.json +20 -0
- package/mcp-configs/reference-mgr/ncbi-mcp-server.json +22 -0
- package/mcp-configs/reference-mgr/onecite.json +21 -0
- package/mcp-configs/reference-mgr/paper-search-mcp.json +21 -0
- package/mcp-configs/reference-mgr/pubmed-search-mcp.json +21 -0
- package/mcp-configs/reference-mgr/scholar-mcp.json +21 -0
- package/mcp-configs/reference-mgr/scholar-multi-mcp.json +21 -0
- package/mcp-configs/reference-mgr/seerai.json +21 -0
- package/mcp-configs/reference-mgr/semantic-scholar-fastmcp.json +21 -0
- package/mcp-configs/reference-mgr/sourcelibrary.json +20 -0
- package/openclaw.plugin.json +2 -2
- package/package.json +2 -2
- package/skills/analysis/dataviz/citation-map-guide/SKILL.md +184 -0
- package/skills/analysis/dataviz/data-visualization-principles/SKILL.md +171 -0
- package/skills/analysis/econometrics/econml-causal-guide/SKILL.md +2 -2
- package/skills/analysis/econometrics/empirical-paper-analysis/SKILL.md +192 -0
- package/skills/analysis/econometrics/mostly-harmless-guide/SKILL.md +2 -2
- package/skills/analysis/econometrics/panel-data-regression-workflow/SKILL.md +267 -0
- package/skills/analysis/econometrics/python-causality-guide/SKILL.md +2 -2
- package/skills/analysis/econometrics/stata-reference-guide/SKILL.md +293 -0
- package/skills/analysis/statistics/general-statistics-guide/SKILL.md +226 -0
- package/skills/analysis/statistics/infiagent-benchmark-guide/SKILL.md +106 -0
- package/skills/analysis/wrangling/claude-data-analysis-guide/SKILL.md +100 -0
- package/skills/analysis/wrangling/open-data-scientist-guide/SKILL.md +197 -0
- package/skills/analysis/wrangling/streamline-analyst-guide/SKILL.md +119 -0
- package/skills/domains/ai-ml/ai-agent-papers-guide/SKILL.md +146 -0
- package/skills/domains/ai-ml/anomaly-detection-papers-guide/SKILL.md +167 -0
- package/skills/domains/ai-ml/autonomous-agents-papers-guide/SKILL.md +178 -0
- package/skills/domains/ai-ml/domain-adaptation-papers-guide/SKILL.md +173 -0
- package/skills/domains/ai-ml/generative-ai-guide/SKILL.md +2 -2
- package/skills/domains/ai-ml/graph-learning-papers-guide/SKILL.md +125 -0
- package/skills/domains/ai-ml/kolmogorov-arnold-networks-guide/SKILL.md +185 -0
- package/skills/domains/ai-ml/npcpy-research-guide/SKILL.md +137 -0
- package/skills/domains/ai-ml/responsible-ai-guide/SKILL.md +126 -0
- package/skills/domains/ai-ml/vmas-simulator-guide/SKILL.md +129 -0
- package/skills/domains/biomedical/clawbio-guide/SKILL.md +167 -0
- package/skills/domains/biomedical/clinical-dialogue-agents-guide/SKILL.md +145 -0
- package/skills/domains/biomedical/ena-sequence-api/SKILL.md +175 -0
- package/skills/domains/biomedical/genomas-guide/SKILL.md +126 -0
- package/skills/domains/biomedical/genotex-benchmark-guide/SKILL.md +125 -0
- package/skills/domains/biomedical/med-researcher-guide/SKILL.md +161 -0
- package/skills/domains/biomedical/med-researcher-r1-guide/SKILL.md +146 -0
- package/skills/domains/biomedical/ncbi-blast-api/SKILL.md +195 -0
- package/skills/domains/biomedical/ncbi-datasets-api/SKILL.md +220 -0
- package/skills/domains/biomedical/quickgo-api/SKILL.md +181 -0
- package/skills/domains/business/xpert-bi-guide/SKILL.md +84 -0
- package/skills/domains/chemistry/cactus-cheminformatics-guide/SKILL.md +89 -0
- package/skills/domains/chemistry/chemeagle-guide/SKILL.md +147 -0
- package/skills/domains/chemistry/chemgraph-agent-guide/SKILL.md +120 -0
- package/skills/domains/cs/ai-security-papers-guide/SKILL.md +103 -0
- package/skills/domains/cs/code-llm-papers-guide/SKILL.md +131 -0
- package/skills/domains/cs/gaussian-splatting-papers-guide/SKILL.md +158 -0
- package/skills/domains/cs/llm-aiops-guide/SKILL.md +70 -0
- package/skills/domains/cs/software-heritage-api/SKILL.md +200 -0
- package/skills/domains/economics/nber-working-papers-api/SKILL.md +177 -0
- package/skills/domains/economics/repec-economics-api/SKILL.md +188 -0
- package/skills/domains/education/academic-study-methods/SKILL.md +228 -0
- package/skills/domains/education/edumcp-guide/SKILL.md +74 -0
- package/skills/domains/education/open-syllabus-api/SKILL.md +171 -0
- package/skills/domains/finance/akshare-finance-data/SKILL.md +207 -0
- package/skills/domains/finance/finsight-research-guide/SKILL.md +113 -0
- package/skills/domains/finance/options-analytics-agent-guide/SKILL.md +117 -0
- package/skills/domains/geoscience/pangaea-data-api/SKILL.md +197 -0
- package/skills/domains/humanities/digital-humanities-methods/SKILL.md +232 -0
- package/skills/domains/law/caselaw-access-api/SKILL.md +149 -0
- package/skills/domains/law/legal-agent-skills-guide/SKILL.md +132 -0
- package/skills/domains/law/legal-research-methods/SKILL.md +190 -0
- package/skills/domains/law/opencontracts-guide/SKILL.md +168 -0
- package/skills/domains/math/lean-theorem-proving-guide/SKILL.md +140 -0
- package/skills/domains/pharma/madd-drug-discovery-guide/SKILL.md +153 -0
- package/skills/domains/social-science/ipums-microdata-api/SKILL.md +211 -0
- package/skills/domains/social-science/sociology-research-methods/SKILL.md +181 -0
- package/skills/literature/discovery/arxiv-paper-monitoring/SKILL.md +233 -0
- package/skills/literature/discovery/papers-we-love-guide/SKILL.md +169 -0
- package/skills/literature/discovery/zotero-arxiv-daily-guide/SKILL.md +2 -2
- package/skills/literature/fulltext/bioc-pmc-api/SKILL.md +146 -0
- package/skills/literature/fulltext/dataverse-api/SKILL.md +215 -0
- package/skills/literature/fulltext/hal-archive-api/SKILL.md +218 -0
- package/skills/literature/fulltext/osf-api/SKILL.md +212 -0
- package/skills/literature/fulltext/pmc-ftp-bulk-download/SKILL.md +182 -0
- package/skills/literature/fulltext/zotero-ai-butler-guide/SKILL.md +166 -0
- package/skills/literature/fulltext/zotero-scihub-guide/SKILL.md +168 -0
- package/skills/literature/metadata/bibliometrix-guide/SKILL.md +164 -0
- package/skills/literature/metadata/crossref-event-data-api/SKILL.md +183 -0
- package/skills/literature/metadata/doi-content-negotiation/SKILL.md +202 -0
- package/skills/literature/metadata/orkg-api/SKILL.md +153 -0
- package/skills/literature/metadata/plumx-metrics-api/SKILL.md +188 -0
- package/skills/literature/metadata/ror-organization-api/SKILL.md +208 -0
- package/skills/literature/metadata/sophosia-reference-guide/SKILL.md +110 -0
- package/skills/literature/metadata/viaf-authority-api/SKILL.md +209 -0
- package/skills/literature/metadata/zoplicate-dedup-guide/SKILL.md +147 -0
- package/skills/literature/metadata/zotero-actions-tags-guide/SKILL.md +212 -0
- package/skills/literature/metadata/zotmoov-guide/SKILL.md +120 -0
- package/skills/literature/metadata/zutilo-guide/SKILL.md +140 -0
- package/skills/literature/search/arxiv-cli-tools/SKILL.md +172 -0
- package/skills/literature/search/arxiv-osiris/SKILL.md +199 -0
- package/skills/literature/search/base-academic-search/SKILL.md +196 -0
- package/skills/literature/search/chatpaper-guide/SKILL.md +2 -2
- package/skills/literature/search/citeseerx-api/SKILL.md +183 -0
- package/skills/literature/search/deepgit-search-guide/SKILL.md +2 -2
- package/skills/literature/search/eric-education-api/SKILL.md +199 -0
- package/skills/literature/search/findpapers-guide/SKILL.md +177 -0
- package/skills/literature/search/ieee-xplore-api/SKILL.md +177 -0
- package/skills/literature/search/lens-scholarly-api/SKILL.md +211 -0
- package/skills/literature/search/multi-database-literature-search/SKILL.md +198 -0
- package/skills/literature/search/open-library-api/SKILL.md +196 -0
- package/skills/literature/search/open-semantic-search-guide/SKILL.md +190 -0
- package/skills/literature/search/openaire-api/SKILL.md +141 -0
- package/skills/literature/search/paper-search-mcp-guide/SKILL.md +107 -0
- package/skills/literature/search/papers-chat-guide/SKILL.md +194 -0
- package/skills/literature/search/pasa-paper-search-guide/SKILL.md +2 -2
- package/skills/literature/search/plos-open-access-api/SKILL.md +203 -0
- package/skills/literature/search/scielo-api/SKILL.md +182 -0
- package/skills/literature/search/share-research-api/SKILL.md +129 -0
- package/skills/literature/search/worldcat-search-api/SKILL.md +224 -0
- package/skills/research/automation/aim-experiment-guide/SKILL.md +2 -2
- package/skills/research/automation/claude-academic-workflow-guide/SKILL.md +202 -0
- package/skills/research/automation/coexist-ai-guide/SKILL.md +149 -0
- package/skills/research/automation/datagen-research-guide/SKILL.md +2 -2
- package/skills/research/automation/foam-agent-guide/SKILL.md +203 -0
- package/skills/research/automation/kedro-pipeline-guide/SKILL.md +2 -2
- package/skills/research/automation/mle-agent-guide/SKILL.md +2 -2
- package/skills/research/automation/paper-to-agent-guide/SKILL.md +2 -2
- package/skills/research/deep-research/auto-deep-research-guide/SKILL.md +2 -2
- package/skills/research/deep-research/cognitive-kernel-guide/SKILL.md +200 -0
- package/skills/research/deep-research/corvus-research-guide/SKILL.md +132 -0
- package/skills/research/deep-research/in-depth-research-guide/SKILL.md +205 -0
- package/skills/research/deep-research/kosmos-scientist-guide/SKILL.md +185 -0
- package/skills/research/deep-research/llm-scientific-discovery-guide/SKILL.md +178 -0
- package/skills/research/deep-research/open-researcher-guide/SKILL.md +138 -0
- package/skills/research/methodology/claude-scientific-guide/SKILL.md +2 -2
- package/skills/research/methodology/parsifal-slr-guide/SKILL.md +154 -0
- package/skills/research/methodology/research-pipeline-units-guide/SKILL.md +169 -0
- package/skills/research/methodology/slr-automation-guide/SKILL.md +235 -0
- package/skills/research/paper-review/latte-review-guide/SKILL.md +175 -0
- package/skills/research/paper-review/paper-critique-framework/SKILL.md +181 -0
- package/skills/tools/code-exec/contextplus-mcp-guide/SKILL.md +110 -0
- package/skills/tools/diagram/clawphd-guide/SKILL.md +149 -0
- package/skills/tools/diagram/kroki-diagram-api/SKILL.md +198 -0
- package/skills/tools/diagram/scientific-graphical-abstract/SKILL.md +201 -0
- package/skills/tools/document/docsgpt-guide/SKILL.md +2 -2
- package/skills/tools/document/md2pdf-xelatex/SKILL.md +212 -0
- package/skills/tools/document/openpaper-guide/SKILL.md +232 -0
- package/skills/tools/document/weknora-guide/SKILL.md +216 -0
- package/skills/tools/document/zotero-addon-market-guide/SKILL.md +108 -0
- package/skills/tools/document/zotero-night-theme-guide/SKILL.md +142 -0
- package/skills/tools/document/zotero-style-guide/SKILL.md +217 -0
- package/skills/tools/knowledge-graph/graphiti-guide/SKILL.md +2 -2
- package/skills/tools/knowledge-graph/mimir-memory-guide/SKILL.md +135 -0
- package/skills/tools/knowledge-graph/notero-zotero-notion-guide/SKILL.md +187 -0
- package/skills/tools/knowledge-graph/open-webui-tools-guide/SKILL.md +156 -0
- package/skills/tools/knowledge-graph/openspg-guide/SKILL.md +210 -0
- package/skills/tools/knowledge-graph/paperpile-notion-guide/SKILL.md +84 -0
- package/skills/tools/knowledge-graph/zotero-markdb-connect-guide/SKILL.md +162 -0
- package/skills/tools/ocr-translate/latex-translation-guide/SKILL.md +176 -0
- package/skills/tools/ocr-translate/math-equation-renderer/SKILL.md +198 -0
- package/skills/tools/ocr-translate/pdf-math-translate-guide/SKILL.md +2 -2
- package/skills/tools/ocr-translate/zotero-pdf-translate-guide/SKILL.md +2 -2
- package/skills/tools/ocr-translate/zotero-pdf2zh-guide/SKILL.md +2 -2
- package/skills/writing/citation/academic-citation-manager-guide/SKILL.md +182 -0
- package/skills/writing/citation/citation-assistant-skill/SKILL.md +192 -0
- package/skills/writing/citation/jabref-reference-guide/SKILL.md +2 -2
- package/skills/writing/citation/jasminum-zotero-guide/SKILL.md +2 -2
- package/skills/writing/citation/mendeley-api/SKILL.md +231 -0
- package/skills/writing/citation/obsidian-citation-guide/SKILL.md +2 -2
- package/skills/writing/citation/obsidian-zotero-guide/SKILL.md +2 -2
- package/skills/writing/citation/onecite-reference-guide/SKILL.md +168 -0
- package/skills/writing/citation/papersgpt-zotero-guide/SKILL.md +2 -2
- package/skills/writing/citation/papis-cli-guide/SKILL.md +2 -2
- package/skills/writing/citation/zotero-better-bibtex-guide/SKILL.md +2 -2
- package/skills/writing/citation/zotero-better-notes-guide/SKILL.md +2 -2
- package/skills/writing/citation/zotero-gpt-guide/SKILL.md +2 -2
- package/skills/writing/citation/zotero-mcp-guide/SKILL.md +2 -2
- package/skills/writing/citation/zotero-mdnotes-guide/SKILL.md +2 -2
- package/skills/writing/citation/zotero-reference-guide/SKILL.md +2 -2
- package/skills/writing/citation/zotfile-attachment-guide/SKILL.md +2 -2
- package/skills/writing/composition/opendraft-thesis-guide/SKILL.md +200 -0
- package/skills/writing/composition/paper-debugger-guide/SKILL.md +2 -2
- package/skills/writing/composition/paperforge-guide/SKILL.md +205 -0
- package/skills/writing/composition/research-paper-writer/SKILL.md +226 -0
- package/skills/writing/composition/scientific-writing-resources/SKILL.md +2 -2
- package/skills/writing/latex/academic-writing-latex/SKILL.md +285 -0
- package/skills/writing/latex/latex-drawing-collection/SKILL.md +2 -2
- package/skills/writing/latex/latex-templates-collection/SKILL.md +2 -2
- package/skills/writing/polish/chinese-text-humanizer/SKILL.md +140 -0
- package/skills/writing/templates/arxiv-preprint-template/SKILL.md +184 -0
- package/skills/writing/templates/elegant-paper-template/SKILL.md +141 -0
- package/skills/writing/templates/novathesis-guide/SKILL.md +2 -2
- package/skills/writing/templates/sjtuthesis-guide/SKILL.md +2 -2
- package/skills/writing/templates/thuthesis-guide/SKILL.md +2 -2
|
@@ -0,0 +1,149 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: caselaw-access-api
|
|
3
|
+
description: "Query 360+ years of US case law via the Harvard Caselaw Access Project"
|
|
4
|
+
metadata:
|
|
5
|
+
openclaw:
|
|
6
|
+
emoji: "⚖️"
|
|
7
|
+
category: "domains"
|
|
8
|
+
subcategory: "law"
|
|
9
|
+
keywords: ["case law", "legal database", "court opinions", "Harvard law", "judicial data", "legal research"]
|
|
10
|
+
source: "https://case.law/"
|
|
11
|
+
---
|
|
12
|
+
|
|
13
|
+
# Caselaw Access Project API
|
|
14
|
+
|
|
15
|
+
## Overview
|
|
16
|
+
|
|
17
|
+
The Caselaw Access Project (CAP) by Harvard Law School provides free access to 6.9 million US court opinions spanning 360+ years. The REST API enables searching, filtering, and downloading full-text case opinions from all federal and state courts. No authentication required for metadata; API key (free registration) required for full text of post-1923 cases.
|
|
18
|
+
|
|
19
|
+
## API Endpoints
|
|
20
|
+
|
|
21
|
+
### Base URL
|
|
22
|
+
|
|
23
|
+
```
|
|
24
|
+
https://api.case.law/v1/
|
|
25
|
+
```
|
|
26
|
+
|
|
27
|
+
### Cases
|
|
28
|
+
|
|
29
|
+
```bash
|
|
30
|
+
# Search cases by keyword
|
|
31
|
+
curl "https://api.case.law/v1/cases/?search=free+speech&decision_date_min=2020-01-01"
|
|
32
|
+
|
|
33
|
+
# Get a specific case by ID
|
|
34
|
+
curl "https://api.case.law/v1/cases/12345678/"
|
|
35
|
+
|
|
36
|
+
# Filter by jurisdiction and court
|
|
37
|
+
curl "https://api.case.law/v1/cases/?jurisdiction=us&court=us-sup-ct&search=miranda+rights"
|
|
38
|
+
|
|
39
|
+
# Filter by date range
|
|
40
|
+
curl "https://api.case.law/v1/cases/?decision_date_min=2015-01-01&decision_date_max=2025-12-31"
|
|
41
|
+
|
|
42
|
+
# Get full text (requires API key for post-1923)
|
|
43
|
+
curl -H "Authorization: Token YOUR_API_KEY" \
|
|
44
|
+
"https://api.case.law/v1/cases/12345678/?full_case=true"
|
|
45
|
+
```
|
|
46
|
+
|
|
47
|
+
### Query Parameters
|
|
48
|
+
|
|
49
|
+
| Parameter | Description | Example |
|
|
50
|
+
|-----------|-------------|---------|
|
|
51
|
+
| `search` | Full-text search | `search=due+process` |
|
|
52
|
+
| `jurisdiction` | Filter by jurisdiction slug | `jurisdiction=cal` (California) |
|
|
53
|
+
| `court` | Filter by court slug | `court=us-sup-ct` |
|
|
54
|
+
| `decision_date_min` | Earliest date | `decision_date_min=2020-01-01` |
|
|
55
|
+
| `decision_date_max` | Latest date | `decision_date_max=2025-12-31` |
|
|
56
|
+
| `cite` | Search by citation | `cite=410+U.S.+113` |
|
|
57
|
+
| `name_abbreviation` | Case name | `name_abbreviation=Roe+v.+Wade` |
|
|
58
|
+
| `ordering` | Sort results | `ordering=-decision_date` |
|
|
59
|
+
| `page_size` | Results per page (max 100) | `page_size=50` |
|
|
60
|
+
| `full_case` | Include full text | `full_case=true` |
|
|
61
|
+
|
|
62
|
+
### Courts and Jurisdictions
|
|
63
|
+
|
|
64
|
+
```bash
|
|
65
|
+
# List all courts
|
|
66
|
+
curl "https://api.case.law/v1/courts/"
|
|
67
|
+
|
|
68
|
+
# List all jurisdictions
|
|
69
|
+
curl "https://api.case.law/v1/jurisdictions/"
|
|
70
|
+
|
|
71
|
+
# List all reporters (case report series)
|
|
72
|
+
curl "https://api.case.law/v1/reporters/"
|
|
73
|
+
```
|
|
74
|
+
|
|
75
|
+
## Python Usage
|
|
76
|
+
|
|
77
|
+
```python
|
|
78
|
+
import requests
|
|
79
|
+
|
|
80
|
+
BASE_URL = "https://api.case.law/v1"
|
|
81
|
+
|
|
82
|
+
def search_cases(query: str, jurisdiction: str = None,
|
|
83
|
+
court: str = None, max_results: int = 20) -> list:
|
|
84
|
+
"""Search US case law."""
|
|
85
|
+
params = {"search": query, "page_size": min(max_results, 100)}
|
|
86
|
+
if jurisdiction:
|
|
87
|
+
params["jurisdiction"] = jurisdiction
|
|
88
|
+
if court:
|
|
89
|
+
params["court"] = court
|
|
90
|
+
|
|
91
|
+
resp = requests.get(f"{BASE_URL}/cases/", params=params)
|
|
92
|
+
resp.raise_for_status()
|
|
93
|
+
data = resp.json()
|
|
94
|
+
|
|
95
|
+
cases = []
|
|
96
|
+
for case in data.get("results", []):
|
|
97
|
+
cases.append({
|
|
98
|
+
"id": case["id"],
|
|
99
|
+
"name": case["name_abbreviation"],
|
|
100
|
+
"citation": case["citations"][0]["cite"] if case.get("citations") else None,
|
|
101
|
+
"court": case["court"]["name"],
|
|
102
|
+
"date": case["decision_date"],
|
|
103
|
+
"url": case["frontend_url"]
|
|
104
|
+
})
|
|
105
|
+
return cases
|
|
106
|
+
|
|
107
|
+
# Search Supreme Court cases
|
|
108
|
+
results = search_cases("fourth amendment", court="us-sup-ct")
|
|
109
|
+
for case in results:
|
|
110
|
+
print(f"{case['citation']}: {case['name']} ({case['date']})")
|
|
111
|
+
```
|
|
112
|
+
|
|
113
|
+
## Bulk Data Access
|
|
114
|
+
|
|
115
|
+
For large-scale research, download bulk datasets instead of querying the API:
|
|
116
|
+
|
|
117
|
+
```bash
|
|
118
|
+
# Bulk data available at:
|
|
119
|
+
# https://case.law/bulk/download/
|
|
120
|
+
# Formats: JSON (full case data) or text-only
|
|
121
|
+
# Organized by jurisdiction and reporter
|
|
122
|
+
```
|
|
123
|
+
|
|
124
|
+
## Key Jurisdictions
|
|
125
|
+
|
|
126
|
+
| Slug | Jurisdiction | Cases |
|
|
127
|
+
|------|-------------|-------|
|
|
128
|
+
| `us` | Federal (all) | ~1.5M |
|
|
129
|
+
| `us-sup-ct` | US Supreme Court | ~65K |
|
|
130
|
+
| `cal` | California | ~500K |
|
|
131
|
+
| `ny` | New York | ~600K |
|
|
132
|
+
| `tex` | Texas | ~300K |
|
|
133
|
+
| `ill` | Illinois | ~250K |
|
|
134
|
+
|
|
135
|
+
## Authentication
|
|
136
|
+
|
|
137
|
+
```
|
|
138
|
+
1. Register at https://case.law/user/register/
|
|
139
|
+
2. Get API token from your account page
|
|
140
|
+
3. Include in requests: Authorization: Token YOUR_TOKEN
|
|
141
|
+
```
|
|
142
|
+
|
|
143
|
+
Free accounts get full text for pre-1923 cases. Post-1923 full text requires an API token (still free).
|
|
144
|
+
|
|
145
|
+
## References
|
|
146
|
+
|
|
147
|
+
- [CAP API Documentation](https://case.law/api/)
|
|
148
|
+
- [CAP Bulk Data](https://case.law/bulk/download/)
|
|
149
|
+
- [Harvard Library Innovation Lab](https://lil.law.harvard.edu/)
|
|
@@ -0,0 +1,132 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: legal-agent-skills-guide
|
|
3
|
+
description: "Agent skills collection for legal research and automation"
|
|
4
|
+
metadata:
|
|
5
|
+
openclaw:
|
|
6
|
+
emoji: "⚖️"
|
|
7
|
+
category: "domains"
|
|
8
|
+
subcategory: "law"
|
|
9
|
+
keywords: ["legal AI", "legal automation", "legal research", "agent skills", "contract analysis", "case law"]
|
|
10
|
+
source: "https://github.com/lawvable/awesome-legal-skills"
|
|
11
|
+
---
|
|
12
|
+
|
|
13
|
+
# Legal Agent Skills Guide
|
|
14
|
+
|
|
15
|
+
## Overview
|
|
16
|
+
|
|
17
|
+
A curated collection of agent skills for legal research and automation — contract analysis, case law search, regulatory compliance checking, legal document drafting, and citation verification. Each skill provides structured capabilities that AI agents can use to assist with legal workflows. Designed for legal researchers, law firms, and compliance teams.
|
|
18
|
+
|
|
19
|
+
## Skill Categories
|
|
20
|
+
|
|
21
|
+
```
|
|
22
|
+
Legal Agent Skills
|
|
23
|
+
├── Research Skills
|
|
24
|
+
│ ├── Case law search (by jurisdiction, topic)
|
|
25
|
+
│ ├── Statute lookup (federal, state, international)
|
|
26
|
+
│ ├── Legal commentary search
|
|
27
|
+
│ └── Regulatory tracking
|
|
28
|
+
├── Analysis Skills
|
|
29
|
+
│ ├── Contract clause extraction
|
|
30
|
+
│ ├── Risk assessment
|
|
31
|
+
│ ├── Compliance checking
|
|
32
|
+
│ └── Legal argument analysis
|
|
33
|
+
├── Drafting Skills
|
|
34
|
+
│ ├── Contract drafting
|
|
35
|
+
│ ├── Legal memo writing
|
|
36
|
+
│ ├── Motion drafting
|
|
37
|
+
│ └── Compliance reports
|
|
38
|
+
├── Citation Skills
|
|
39
|
+
│ ├── Bluebook formatting
|
|
40
|
+
│ ├── Citation verification
|
|
41
|
+
│ ├── Shepard's-style validation
|
|
42
|
+
│ └── Cross-reference linking
|
|
43
|
+
└── Practice Management
|
|
44
|
+
├── Case timeline construction
|
|
45
|
+
├── Discovery document review
|
|
46
|
+
├── Deposition summary
|
|
47
|
+
└── Billing narrative generation
|
|
48
|
+
```
|
|
49
|
+
|
|
50
|
+
## Key Skills
|
|
51
|
+
|
|
52
|
+
### Case Law Research
|
|
53
|
+
|
|
54
|
+
```python
|
|
55
|
+
# Search case law databases
|
|
56
|
+
from legal_skills import CaseLawSearch
|
|
57
|
+
|
|
58
|
+
search = CaseLawSearch(jurisdictions=["federal", "california"])
|
|
59
|
+
|
|
60
|
+
cases = search.find(
|
|
61
|
+
query="AI liability product defect",
|
|
62
|
+
date_range=("2020-01-01", "2025-12-31"),
|
|
63
|
+
court_level="appellate",
|
|
64
|
+
max_results=20,
|
|
65
|
+
)
|
|
66
|
+
|
|
67
|
+
for case in cases:
|
|
68
|
+
print(f"{case.name} ({case.year})")
|
|
69
|
+
print(f" Court: {case.court}")
|
|
70
|
+
print(f" Key holding: {case.holding[:100]}...")
|
|
71
|
+
print(f" Citation: {case.citation}")
|
|
72
|
+
```
|
|
73
|
+
|
|
74
|
+
### Contract Analysis
|
|
75
|
+
|
|
76
|
+
```python
|
|
77
|
+
from legal_skills import ContractAnalyzer
|
|
78
|
+
|
|
79
|
+
analyzer = ContractAnalyzer()
|
|
80
|
+
|
|
81
|
+
# Analyze contract
|
|
82
|
+
analysis = analyzer.analyze("contract.pdf")
|
|
83
|
+
|
|
84
|
+
print("Risk Assessment:")
|
|
85
|
+
for risk in analysis.risks:
|
|
86
|
+
print(f" [{risk.severity}] {risk.clause}: {risk.description}")
|
|
87
|
+
|
|
88
|
+
print("\nKey Terms:")
|
|
89
|
+
for term in analysis.key_terms:
|
|
90
|
+
print(f" {term.name}: {term.value}")
|
|
91
|
+
|
|
92
|
+
print("\nMissing Clauses:")
|
|
93
|
+
for missing in analysis.missing_clauses:
|
|
94
|
+
print(f" - {missing}")
|
|
95
|
+
```
|
|
96
|
+
|
|
97
|
+
### Bluebook Citation
|
|
98
|
+
|
|
99
|
+
```python
|
|
100
|
+
from legal_skills import BluebookFormatter
|
|
101
|
+
|
|
102
|
+
formatter = BluebookFormatter()
|
|
103
|
+
|
|
104
|
+
# Format citation
|
|
105
|
+
citation = formatter.format(
|
|
106
|
+
case_name="Brown v. Board of Education",
|
|
107
|
+
volume=347,
|
|
108
|
+
reporter="U.S.",
|
|
109
|
+
page=483,
|
|
110
|
+
year=1954,
|
|
111
|
+
)
|
|
112
|
+
print(citation)
|
|
113
|
+
# Brown v. Board of Education, 347 U.S. 483 (1954).
|
|
114
|
+
|
|
115
|
+
# Verify citation
|
|
116
|
+
valid = formatter.verify("347 U.S. 483")
|
|
117
|
+
print(f"Valid: {valid.is_valid}, Case: {valid.case_name}")
|
|
118
|
+
```
|
|
119
|
+
|
|
120
|
+
## Use Cases
|
|
121
|
+
|
|
122
|
+
1. **Legal research**: AI-assisted case law and statute search
|
|
123
|
+
2. **Contract review**: Automated clause analysis and risk flagging
|
|
124
|
+
3. **Compliance**: Regulatory compliance checking
|
|
125
|
+
4. **Drafting**: AI-assisted legal document drafting
|
|
126
|
+
5. **Citation management**: Bluebook formatting and verification
|
|
127
|
+
|
|
128
|
+
## References
|
|
129
|
+
|
|
130
|
+
- [awesome-legal-skills](https://github.com/lawvable/awesome-legal-skills)
|
|
131
|
+
- [CourtListener](https://www.courtlistener.com/) — Free case law
|
|
132
|
+
- [Caselaw Access Project](https://case.law/)
|
|
@@ -0,0 +1,190 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: legal-research-methods
|
|
3
|
+
description: "Systematic legal research methods for case law, statutes, and regulations"
|
|
4
|
+
metadata:
|
|
5
|
+
openclaw:
|
|
6
|
+
emoji: "⚖️"
|
|
7
|
+
category: "domains"
|
|
8
|
+
subcategory: "law"
|
|
9
|
+
keywords: ["legal research", "case law", "statute analysis", "legal databases", "regulatory analysis", "legal methodology"]
|
|
10
|
+
source: "https://clawhub.ai/legal-research"
|
|
11
|
+
---
|
|
12
|
+
|
|
13
|
+
# Legal Research Methods
|
|
14
|
+
|
|
15
|
+
## Overview
|
|
16
|
+
|
|
17
|
+
Legal research involves finding and analyzing primary legal authorities (case law, statutes, regulations) and secondary sources (treatises, law reviews, restatements) to answer legal questions. This guide covers systematic research methodologies, major free and commercial databases, citation practices, and analysis frameworks used in both legal practice and law and economics scholarship.
|
|
18
|
+
|
|
19
|
+
## Legal Source Hierarchy
|
|
20
|
+
|
|
21
|
+
| Authority | Type | Weight | Examples |
|
|
22
|
+
|-----------|------|--------|---------|
|
|
23
|
+
| **Constitutional provisions** | Primary, mandatory | Highest | U.S. Constitution, Basic Law |
|
|
24
|
+
| **Statutes / Legislation** | Primary, mandatory | Very high | USC (federal), state codes |
|
|
25
|
+
| **Administrative regulations** | Primary, mandatory | High | CFR (federal), agency rules |
|
|
26
|
+
| **Case law (binding)** | Primary, mandatory | High | Supreme Court, circuit court (same circuit) |
|
|
27
|
+
| **Case law (persuasive)** | Primary, persuasive | Moderate | Other circuits, state courts, foreign courts |
|
|
28
|
+
| **Legislative history** | Secondary, persuasive | Moderate | Committee reports, floor debates |
|
|
29
|
+
| **Treatises** | Secondary, persuasive | Moderate | Prosser on Torts, Corbin on Contracts |
|
|
30
|
+
| **Law review articles** | Secondary, persuasive | Low-Moderate | Peer commentary, novel arguments |
|
|
31
|
+
| **Restatements** | Secondary, persuasive | Moderate | ALI Restatements (Torts, Contracts) |
|
|
32
|
+
| **Legal encyclopedias** | Secondary, reference | Low | Am Jur 2d, CJS |
|
|
33
|
+
|
|
34
|
+
## Free Legal Databases
|
|
35
|
+
|
|
36
|
+
| Database | Coverage | URL | Best For |
|
|
37
|
+
|----------|----------|-----|---------|
|
|
38
|
+
| **Google Scholar** (Case Law) | US federal + state opinions | scholar.google.com | Quick case search, citation checking |
|
|
39
|
+
| **CourtListener** | 8M+ opinions, PACER filings | courtlistener.com | Federal litigation, RECAP archive |
|
|
40
|
+
| **Caselaw Access Project** | 6.9M US cases (Harvard Law) | case.law | Historical research, bulk analysis |
|
|
41
|
+
| **Congress.gov** | Federal bills and laws | congress.gov | Legislative history |
|
|
42
|
+
| **GovInfo** | CFR, Federal Register, USC | govinfo.gov | Regulations, statutory text |
|
|
43
|
+
| **Cornell LII** | USC, CFR, Supreme Court | law.cornell.edu | Statutory lookup, Wex definitions |
|
|
44
|
+
| **Justia** | Federal + state cases, codes | justia.com | Free comprehensive search |
|
|
45
|
+
| **SSRN** | Working papers | ssrn.com | Legal scholarship preprints |
|
|
46
|
+
| **HeinOnline** | Law reviews (institutional) | heinonline.org | Historical law journals |
|
|
47
|
+
|
|
48
|
+
## Research Methodology
|
|
49
|
+
|
|
50
|
+
### The IRAC Framework
|
|
51
|
+
|
|
52
|
+
For analyzing legal questions:
|
|
53
|
+
|
|
54
|
+
```
|
|
55
|
+
Issue: What is the legal question?
|
|
56
|
+
Rule: What law (statute, case, regulation) governs this issue?
|
|
57
|
+
Application: How does the rule apply to the specific facts?
|
|
58
|
+
Conclusion: What is the likely outcome?
|
|
59
|
+
```
|
|
60
|
+
|
|
61
|
+
### Systematic Case Research Process
|
|
62
|
+
|
|
63
|
+
```markdown
|
|
64
|
+
Step 1: Identify the Legal Issue
|
|
65
|
+
- Frame as a specific, answerable question
|
|
66
|
+
- Identify jurisdiction (federal, state, international)
|
|
67
|
+
- Identify area of law (contract, tort, constitutional, regulatory)
|
|
68
|
+
|
|
69
|
+
Step 2: Find Controlling Statutes
|
|
70
|
+
- Search USC (federal) or state code for relevant provisions
|
|
71
|
+
- Read the full statutory section, not just the key subsection
|
|
72
|
+
- Check for recent amendments (currency)
|
|
73
|
+
- Note any implementing regulations (CFR)
|
|
74
|
+
|
|
75
|
+
Step 3: Find Leading Cases
|
|
76
|
+
- Start with secondary sources (treatise, ALR annotation) for overview
|
|
77
|
+
- Use headnotes/key numbers to find on-point cases
|
|
78
|
+
- Prioritize: Supreme Court > Circuit Court > District Court
|
|
79
|
+
- Prioritize: Recent > Older (unless seminal)
|
|
80
|
+
|
|
81
|
+
Step 4: Expand Through Citation Networks
|
|
82
|
+
- Forward: Who cited this case? (Citator / "Cited by")
|
|
83
|
+
- Backward: What does this case cite? (Footnotes)
|
|
84
|
+
- Negative treatment: Was this case overruled or distinguished?
|
|
85
|
+
|
|
86
|
+
Step 5: Verify Currency (Shepardize/KeyCite)
|
|
87
|
+
- Check if cases are still good law
|
|
88
|
+
- Check for legislative amendments to statutes
|
|
89
|
+
- Check for new regulations affecting the area
|
|
90
|
+
|
|
91
|
+
Step 6: Synthesize and Analyze
|
|
92
|
+
- Identify the majority rule vs. minority rule
|
|
93
|
+
- Note circuit splits
|
|
94
|
+
- Distinguish binding vs. persuasive authority
|
|
95
|
+
- Identify trends in recent decisions
|
|
96
|
+
```
|
|
97
|
+
|
|
98
|
+
### Boolean Search Syntax for Legal Databases
|
|
99
|
+
|
|
100
|
+
```
|
|
101
|
+
Westlaw: "due process" /s "property right" & date(aft 2020)
|
|
102
|
+
Lexis: "due process" w/s "property right" AND date aft 2020
|
|
103
|
+
Google Scholar: "due process" "property right" (with case law checkbox)
|
|
104
|
+
CourtListener: "due process" AND "property right" filed_after:2020-01-01
|
|
105
|
+
```
|
|
106
|
+
|
|
107
|
+
| Operator | Westlaw | Lexis | Google Scholar |
|
|
108
|
+
|----------|---------|-------|---------------|
|
|
109
|
+
| AND | & | AND | (implicit) |
|
|
110
|
+
| OR | (space) | OR | OR |
|
|
111
|
+
| NOT | but not | AND NOT | - (minus) |
|
|
112
|
+
| Phrase | "exact phrase" | "exact phrase" | "exact phrase" |
|
|
113
|
+
| Within sentence | /s | w/s | N/A |
|
|
114
|
+
| Within paragraph | /p | w/p | N/A |
|
|
115
|
+
| Proximity | /n (within n words) | w/n | N/A |
|
|
116
|
+
|
|
117
|
+
## Empirical Legal Research
|
|
118
|
+
|
|
119
|
+
For law and economics / quantitative legal studies:
|
|
120
|
+
|
|
121
|
+
### Common Data Sources
|
|
122
|
+
|
|
123
|
+
| Source | Coverage | Format | Research Use |
|
|
124
|
+
|--------|----------|--------|-------------|
|
|
125
|
+
| **Federal Judicial Center** | Federal court statistics | CSV | Case processing times, judicial behavior |
|
|
126
|
+
| **PACER / RECAP** | Federal docket data | PDF/XML | Litigation patterns, filing trends |
|
|
127
|
+
| **Caselaw Access Project API** | 6.9M case opinions | JSON API | Text analysis, citation networks |
|
|
128
|
+
| **SEC EDGAR** | Corporate filings | XBRL/HTML | Securities regulation, corporate governance |
|
|
129
|
+
| **BLS / Census** | Economic data | CSV | Regulatory impact analysis |
|
|
130
|
+
|
|
131
|
+
### Citation Network Analysis
|
|
132
|
+
|
|
133
|
+
```python
|
|
134
|
+
# Using CourtListener API for citation analysis
|
|
135
|
+
import requests
|
|
136
|
+
|
|
137
|
+
BASE_URL = "https://www.courtlistener.com/api/rest/v3"
|
|
138
|
+
|
|
139
|
+
def get_case_citations(case_id: str) -> dict:
|
|
140
|
+
"""Get citing and cited cases for a given opinion."""
|
|
141
|
+
# Get case details
|
|
142
|
+
resp = requests.get(f"{BASE_URL}/opinions/{case_id}/",
|
|
143
|
+
params={"fields": "citations,citing"})
|
|
144
|
+
return resp.json()
|
|
145
|
+
|
|
146
|
+
def build_citation_network(seed_case: str, depth: int = 2):
|
|
147
|
+
"""Build citation network from a seed case."""
|
|
148
|
+
network = {"nodes": set(), "edges": []}
|
|
149
|
+
queue = [(seed_case, 0)]
|
|
150
|
+
|
|
151
|
+
while queue:
|
|
152
|
+
case_id, level = queue.pop(0)
|
|
153
|
+
if level >= depth or case_id in network["nodes"]:
|
|
154
|
+
continue
|
|
155
|
+
network["nodes"].add(case_id)
|
|
156
|
+
data = get_case_citations(case_id)
|
|
157
|
+
for cited in data.get("citations", []):
|
|
158
|
+
network["edges"].append((case_id, cited))
|
|
159
|
+
queue.append((cited, level + 1))
|
|
160
|
+
|
|
161
|
+
return network
|
|
162
|
+
```
|
|
163
|
+
|
|
164
|
+
## Legal Citation Format (Bluebook)
|
|
165
|
+
|
|
166
|
+
```
|
|
167
|
+
Cases:
|
|
168
|
+
Brown v. Board of Education, 347 U.S. 483 (1954).
|
|
169
|
+
[Case Name], [Volume] [Reporter] [Page] ([Court] [Year]).
|
|
170
|
+
|
|
171
|
+
Statutes:
|
|
172
|
+
42 U.S.C. § 1983 (2018).
|
|
173
|
+
[Title] [Code] § [Section] ([Year]).
|
|
174
|
+
|
|
175
|
+
Law Reviews:
|
|
176
|
+
Cass R. Sunstein, On the Expressive Function of Law, 144 U. Pa. L. Rev. 2021 (1996).
|
|
177
|
+
[Author], [Title], [Volume] [Journal] [Page] ([Year]).
|
|
178
|
+
|
|
179
|
+
Regulations:
|
|
180
|
+
17 C.F.R. § 240.10b-5 (2023).
|
|
181
|
+
[Title] C.F.R. § [Section] ([Year]).
|
|
182
|
+
```
|
|
183
|
+
|
|
184
|
+
## References
|
|
185
|
+
|
|
186
|
+
- [CourtListener API](https://www.courtlistener.com/help/api/)
|
|
187
|
+
- [Caselaw Access Project](https://case.law/)
|
|
188
|
+
- [Cornell Legal Information Institute](https://www.law.cornell.edu/)
|
|
189
|
+
- [The Bluebook: A Uniform System of Citation](https://www.legalbluebook.com/)
|
|
190
|
+
- Epstein, L., & Martin, A. D. (2014). *An Introduction to Empirical Legal Research*. Oxford UP.
|
|
@@ -0,0 +1,168 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: opencontracts-guide
|
|
3
|
+
description: "Legal document annotation, versioning, and analysis platform"
|
|
4
|
+
metadata:
|
|
5
|
+
openclaw:
|
|
6
|
+
emoji: "📋"
|
|
7
|
+
category: "domains"
|
|
8
|
+
subcategory: "law"
|
|
9
|
+
keywords: ["legal documents", "contract annotation", "document versioning", "legal AI", "NLP legal", "MCP"]
|
|
10
|
+
source: "https://github.com/Open-Source-Legal/OpenContracts"
|
|
11
|
+
---
|
|
12
|
+
|
|
13
|
+
# OpenContracts Guide
|
|
14
|
+
|
|
15
|
+
## Overview
|
|
16
|
+
|
|
17
|
+
OpenContracts is an open-source platform for legal document annotation, versioning, and analysis. It provides collaborative annotation tools for legal text, version tracking across document drafts, NLP-powered clause extraction, and integration with AI agents via MCP. Designed for legal researchers, law firms, and teams managing large document collections that need structured annotation and analysis.
|
|
18
|
+
|
|
19
|
+
## Installation
|
|
20
|
+
|
|
21
|
+
```bash
|
|
22
|
+
# Docker deployment
|
|
23
|
+
git clone https://github.com/Open-Source-Legal/OpenContracts.git
|
|
24
|
+
cd OpenContracts
|
|
25
|
+
docker-compose up -d
|
|
26
|
+
|
|
27
|
+
# Access at http://localhost:3000
|
|
28
|
+
```
|
|
29
|
+
|
|
30
|
+
## Core Features
|
|
31
|
+
|
|
32
|
+
### Document Management
|
|
33
|
+
|
|
34
|
+
```python
|
|
35
|
+
from opencontracts import Client
|
|
36
|
+
|
|
37
|
+
client = Client("http://localhost:3000")
|
|
38
|
+
|
|
39
|
+
# Upload documents
|
|
40
|
+
doc = client.upload(
|
|
41
|
+
file="contract.pdf",
|
|
42
|
+
metadata={
|
|
43
|
+
"type": "NDA",
|
|
44
|
+
"parties": ["Company A", "Company B"],
|
|
45
|
+
"date": "2025-01-15",
|
|
46
|
+
"jurisdiction": "Delaware",
|
|
47
|
+
},
|
|
48
|
+
)
|
|
49
|
+
|
|
50
|
+
# Version tracking
|
|
51
|
+
versions = client.get_versions(doc.id)
|
|
52
|
+
for v in versions:
|
|
53
|
+
print(f"v{v.number}: {v.date} — {v.changes_summary}")
|
|
54
|
+
|
|
55
|
+
# Compare versions
|
|
56
|
+
diff = client.compare_versions(doc.id, v1=1, v2=3)
|
|
57
|
+
for change in diff.changes:
|
|
58
|
+
print(f"[{change.type}] Section {change.section}: "
|
|
59
|
+
f"{change.description}")
|
|
60
|
+
```
|
|
61
|
+
|
|
62
|
+
### Annotation
|
|
63
|
+
|
|
64
|
+
```python
|
|
65
|
+
# Create annotation project
|
|
66
|
+
project = client.create_project(
|
|
67
|
+
name="NDA Clause Analysis",
|
|
68
|
+
documents=[doc.id],
|
|
69
|
+
label_set=[
|
|
70
|
+
"confidentiality_scope",
|
|
71
|
+
"term_duration",
|
|
72
|
+
"exclusions",
|
|
73
|
+
"remedies",
|
|
74
|
+
"governing_law",
|
|
75
|
+
"dispute_resolution",
|
|
76
|
+
],
|
|
77
|
+
)
|
|
78
|
+
|
|
79
|
+
# Add annotations
|
|
80
|
+
client.annotate(
|
|
81
|
+
document_id=doc.id,
|
|
82
|
+
annotations=[
|
|
83
|
+
{
|
|
84
|
+
"start": 1250, "end": 1480,
|
|
85
|
+
"label": "confidentiality_scope",
|
|
86
|
+
"note": "Broad definition including derivatives",
|
|
87
|
+
},
|
|
88
|
+
{
|
|
89
|
+
"start": 2100, "end": 2250,
|
|
90
|
+
"label": "term_duration",
|
|
91
|
+
"note": "5-year term with auto-renewal",
|
|
92
|
+
},
|
|
93
|
+
],
|
|
94
|
+
)
|
|
95
|
+
```
|
|
96
|
+
|
|
97
|
+
### NLP Analysis
|
|
98
|
+
|
|
99
|
+
```python
|
|
100
|
+
# Automated clause extraction
|
|
101
|
+
clauses = client.extract_clauses(
|
|
102
|
+
doc.id,
|
|
103
|
+
clause_types=[
|
|
104
|
+
"indemnification",
|
|
105
|
+
"limitation_of_liability",
|
|
106
|
+
"termination",
|
|
107
|
+
"force_majeure",
|
|
108
|
+
"assignment",
|
|
109
|
+
],
|
|
110
|
+
)
|
|
111
|
+
|
|
112
|
+
for clause in clauses:
|
|
113
|
+
print(f"\n[{clause.type}] (confidence: {clause.confidence:.2f})")
|
|
114
|
+
print(f" Location: p.{clause.page}, para {clause.paragraph}")
|
|
115
|
+
print(f" Text: {clause.text[:100]}...")
|
|
116
|
+
|
|
117
|
+
# Risk assessment
|
|
118
|
+
risks = client.assess_risks(doc.id)
|
|
119
|
+
for risk in risks:
|
|
120
|
+
print(f"[{risk.severity}] {risk.clause}: {risk.description}")
|
|
121
|
+
```
|
|
122
|
+
|
|
123
|
+
### MCP Integration
|
|
124
|
+
|
|
125
|
+
```json
|
|
126
|
+
{
|
|
127
|
+
"mcpServers": {
|
|
128
|
+
"opencontracts": {
|
|
129
|
+
"command": "npx",
|
|
130
|
+
"args": ["@opencontracts/mcp-server"],
|
|
131
|
+
"env": {
|
|
132
|
+
"OPENCONTRACTS_URL": "http://localhost:3000"
|
|
133
|
+
}
|
|
134
|
+
}
|
|
135
|
+
}
|
|
136
|
+
}
|
|
137
|
+
```
|
|
138
|
+
|
|
139
|
+
## Search and Analytics
|
|
140
|
+
|
|
141
|
+
```python
|
|
142
|
+
# Full-text search across documents
|
|
143
|
+
results = client.search(
|
|
144
|
+
query="indemnification unlimited liability",
|
|
145
|
+
document_types=["NDA", "MSA"],
|
|
146
|
+
date_range=("2024-01-01", "2025-12-31"),
|
|
147
|
+
)
|
|
148
|
+
|
|
149
|
+
# Analytics
|
|
150
|
+
stats = client.analytics(project_id=project.id)
|
|
151
|
+
print(f"Documents annotated: {stats.docs_complete}")
|
|
152
|
+
print(f"Total annotations: {stats.total_annotations}")
|
|
153
|
+
print(f"Inter-annotator agreement: {stats.agreement:.2f}")
|
|
154
|
+
print(f"Most common clause: {stats.top_clauses[0]}")
|
|
155
|
+
```
|
|
156
|
+
|
|
157
|
+
## Use Cases
|
|
158
|
+
|
|
159
|
+
1. **Contract review**: Systematic clause analysis and risk assessment
|
|
160
|
+
2. **Legal research**: Annotate case law and legislation
|
|
161
|
+
3. **Compliance**: Track regulatory document requirements
|
|
162
|
+
4. **Training data**: Build labeled datasets for legal NLP
|
|
163
|
+
5. **Due diligence**: Structured review of deal documents
|
|
164
|
+
|
|
165
|
+
## References
|
|
166
|
+
|
|
167
|
+
- [OpenContracts GitHub](https://github.com/Open-Source-Legal/OpenContracts)
|
|
168
|
+
- [Legal NLP Resources](https://github.com/thunlp/LegalPapers)
|