@wentorai/research-plugins 1.0.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 +22 -22
- package/curated/analysis/README.md +82 -56
- package/curated/domains/README.md +225 -69
- package/curated/literature/README.md +115 -46
- package/curated/research/README.md +106 -58
- package/curated/tools/README.md +107 -87
- package/curated/writing/README.md +92 -45
- 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/cloud-docs/confluence-mcp.json +37 -0
- package/mcp-configs/cloud-docs/google-drive-mcp.json +35 -0
- package/mcp-configs/cloud-docs/notion-mcp.json +29 -0
- package/mcp-configs/communication/discord-mcp.json +29 -0
- package/mcp-configs/communication/discourse-mcp.json +21 -0
- package/mcp-configs/communication/slack-mcp.json +29 -0
- package/mcp-configs/communication/telegram-mcp.json +28 -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/database/neo4j-mcp.json +37 -0
- package/mcp-configs/database/postgres-mcp.json +28 -0
- package/mcp-configs/database/sqlite-mcp.json +29 -0
- package/mcp-configs/dev-platform/geogebra-mcp.json +21 -0
- package/mcp-configs/dev-platform/github-mcp.json +31 -0
- package/mcp-configs/dev-platform/gitlab-mcp.json +34 -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/email/email-mcp.json +40 -0
- package/mcp-configs/email/gmail-mcp.json +37 -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/mcp-configs/registry.json +178 -149
- package/mcp-configs/repository/dataverse-mcp.json +33 -0
- package/mcp-configs/repository/huggingface-mcp.json +29 -0
- package/openclaw.plugin.json +2 -2
- package/package.json +2 -2
- package/skills/analysis/dataviz/algorithm-visualizer-guide/SKILL.md +259 -0
- package/skills/analysis/dataviz/bokeh-visualization-guide/SKILL.md +270 -0
- package/skills/analysis/dataviz/chart-image-generator/SKILL.md +229 -0
- package/skills/analysis/dataviz/citation-map-guide/SKILL.md +184 -0
- package/skills/analysis/dataviz/d3-visualization-guide/SKILL.md +281 -0
- package/skills/analysis/dataviz/data-visualization-principles/SKILL.md +171 -0
- package/skills/analysis/dataviz/echarts-visualization-guide/SKILL.md +250 -0
- package/skills/analysis/dataviz/metabase-analytics-guide/SKILL.md +242 -0
- package/skills/analysis/dataviz/plotly-interactive-guide/SKILL.md +266 -0
- package/skills/analysis/dataviz/redash-analytics-guide/SKILL.md +284 -0
- package/skills/analysis/econometrics/econml-causal-guide/SKILL.md +163 -0
- package/skills/analysis/econometrics/empirical-paper-analysis/SKILL.md +192 -0
- package/skills/analysis/econometrics/mostly-harmless-guide/SKILL.md +139 -0
- package/skills/analysis/econometrics/panel-data-analyst/SKILL.md +259 -0
- package/skills/analysis/econometrics/panel-data-regression-workflow/SKILL.md +267 -0
- package/skills/analysis/econometrics/python-causality-guide/SKILL.md +134 -0
- package/skills/analysis/econometrics/stata-accounting-guide/SKILL.md +269 -0
- package/skills/analysis/econometrics/stata-analyst-guide/SKILL.md +245 -0
- package/skills/analysis/econometrics/stata-reference-guide/SKILL.md +293 -0
- package/skills/analysis/statistics/data-anomaly-detection/SKILL.md +157 -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/statistics/ml-experiment-tracker/SKILL.md +212 -0
- package/skills/analysis/statistics/pywayne-statistics-guide/SKILL.md +192 -0
- package/skills/analysis/statistics/quantitative-methods-guide/SKILL.md +193 -0
- package/skills/analysis/statistics/senior-data-scientist-guide/SKILL.md +223 -0
- package/skills/analysis/wrangling/claude-data-analysis-guide/SKILL.md +100 -0
- package/skills/analysis/wrangling/csv-data-analyzer/SKILL.md +170 -0
- package/skills/analysis/wrangling/data-cleaning-pipeline/SKILL.md +266 -0
- package/skills/analysis/wrangling/data-cog-guide/SKILL.md +178 -0
- package/skills/analysis/wrangling/open-data-scientist-guide/SKILL.md +197 -0
- package/skills/analysis/wrangling/stata-data-cleaning/SKILL.md +276 -0
- package/skills/analysis/wrangling/streamline-analyst-guide/SKILL.md +119 -0
- package/skills/analysis/wrangling/survey-data-processing/SKILL.md +298 -0
- package/skills/domains/ai-ml/ai-agent-papers-guide/SKILL.md +146 -0
- package/skills/domains/ai-ml/ai-model-benchmarking/SKILL.md +209 -0
- package/skills/domains/ai-ml/annotated-dl-papers-guide/SKILL.md +159 -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/dl-transformer-finetune/SKILL.md +239 -0
- package/skills/domains/ai-ml/domain-adaptation-papers-guide/SKILL.md +173 -0
- package/skills/domains/ai-ml/generative-ai-guide/SKILL.md +146 -0
- package/skills/domains/ai-ml/graph-learning-papers-guide/SKILL.md +125 -0
- package/skills/domains/ai-ml/huggingface-inference-guide/SKILL.md +196 -0
- package/skills/domains/ai-ml/keras-deep-learning/SKILL.md +210 -0
- package/skills/domains/ai-ml/kolmogorov-arnold-networks-guide/SKILL.md +185 -0
- package/skills/domains/ai-ml/llm-from-scratch-guide/SKILL.md +124 -0
- package/skills/domains/ai-ml/ml-pipeline-guide/SKILL.md +295 -0
- package/skills/domains/ai-ml/nlp-toolkit-guide/SKILL.md +247 -0
- package/skills/domains/ai-ml/npcpy-research-guide/SKILL.md +137 -0
- package/skills/domains/ai-ml/pytorch-guide/SKILL.md +281 -0
- package/skills/domains/ai-ml/pytorch-lightning-guide/SKILL.md +244 -0
- package/skills/domains/ai-ml/responsible-ai-guide/SKILL.md +126 -0
- package/skills/domains/ai-ml/tensorflow-guide/SKILL.md +241 -0
- package/skills/domains/ai-ml/vmas-simulator-guide/SKILL.md +129 -0
- package/skills/domains/biomedical/bioagents-guide/SKILL.md +308 -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/medgeclaw-guide/SKILL.md +345 -0
- package/skills/domains/biomedical/medical-imaging-guide/SKILL.md +305 -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/architecture-design-guide/SKILL.md +279 -0
- package/skills/domains/business/innovation-management-guide/SKILL.md +257 -0
- package/skills/domains/business/operations-research-guide/SKILL.md +258 -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/chemistry/molecular-dynamics-guide/SKILL.md +237 -0
- package/skills/domains/chemistry/pubchem-api-guide/SKILL.md +180 -0
- package/skills/domains/chemistry/spectroscopy-analysis-guide/SKILL.md +290 -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/distributed-systems-guide/SKILL.md +268 -0
- package/skills/domains/cs/formal-verification-guide/SKILL.md +298 -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/ecology/species-distribution-guide/SKILL.md +343 -0
- package/skills/domains/economics/imf-data-api-guide/SKILL.md +174 -0
- package/skills/domains/economics/nber-working-papers-api/SKILL.md +177 -0
- package/skills/domains/economics/post-labor-economics/SKILL.md +254 -0
- package/skills/domains/economics/pricing-psychology-guide/SKILL.md +273 -0
- package/skills/domains/economics/repec-economics-api/SKILL.md +188 -0
- package/skills/domains/economics/world-bank-data-guide/SKILL.md +179 -0
- package/skills/domains/education/academic-study-methods/SKILL.md +228 -0
- package/skills/domains/education/assessment-design-guide/SKILL.md +213 -0
- package/skills/domains/education/educational-research-methods/SKILL.md +179 -0
- package/skills/domains/education/edumcp-guide/SKILL.md +74 -0
- package/skills/domains/education/mooc-analytics-guide/SKILL.md +206 -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/finance/portfolio-optimization-guide/SKILL.md +279 -0
- package/skills/domains/finance/risk-modeling-guide/SKILL.md +260 -0
- package/skills/domains/finance/stata-accounting-research/SKILL.md +372 -0
- package/skills/domains/geoscience/climate-modeling-guide/SKILL.md +215 -0
- package/skills/domains/geoscience/pangaea-data-api/SKILL.md +197 -0
- package/skills/domains/geoscience/satellite-remote-sensing/SKILL.md +193 -0
- package/skills/domains/geoscience/seismology-data-guide/SKILL.md +208 -0
- package/skills/domains/humanities/digital-humanities-methods/SKILL.md +232 -0
- package/skills/domains/humanities/ethical-philosophy-guide/SKILL.md +244 -0
- package/skills/domains/humanities/history-research-guide/SKILL.md +260 -0
- package/skills/domains/humanities/political-history-guide/SKILL.md +241 -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-nlp-guide/SKILL.md +236 -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/law/patent-analysis-guide/SKILL.md +257 -0
- package/skills/domains/law/regulatory-compliance-guide/SKILL.md +267 -0
- package/skills/domains/math/lean-theorem-proving-guide/SKILL.md +140 -0
- package/skills/domains/math/symbolic-computation-guide/SKILL.md +263 -0
- package/skills/domains/math/topology-data-analysis/SKILL.md +305 -0
- package/skills/domains/pharma/clinical-trial-design-guide/SKILL.md +271 -0
- package/skills/domains/pharma/drug-target-interaction/SKILL.md +242 -0
- package/skills/domains/pharma/madd-drug-discovery-guide/SKILL.md +153 -0
- package/skills/domains/pharma/pharmacovigilance-guide/SKILL.md +216 -0
- package/skills/domains/physics/astrophysics-data-guide/SKILL.md +305 -0
- package/skills/domains/physics/particle-physics-guide/SKILL.md +287 -0
- package/skills/domains/social-science/ipums-microdata-api/SKILL.md +211 -0
- package/skills/domains/social-science/network-analysis-guide/SKILL.md +310 -0
- package/skills/domains/social-science/psychology-research-guide/SKILL.md +270 -0
- package/skills/domains/social-science/sociology-research-guide/SKILL.md +238 -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/paper-recommendation-guide/SKILL.md +120 -0
- package/skills/literature/discovery/papers-we-love-guide/SKILL.md +169 -0
- package/skills/literature/discovery/semantic-paper-radar/SKILL.md +144 -0
- package/skills/literature/discovery/zotero-arxiv-daily-guide/SKILL.md +94 -0
- package/skills/literature/fulltext/bioc-pmc-api/SKILL.md +146 -0
- package/skills/literature/fulltext/core-api-guide/SKILL.md +144 -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/institutional-repository-guide/SKILL.md +212 -0
- package/skills/literature/fulltext/open-access-mining-guide/SKILL.md +341 -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/academic-paper-summarizer/SKILL.md +101 -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/wikidata-api-guide/SKILL.md +156 -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-batch-reporting/SKILL.md +133 -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/arxiv-paper-processor/SKILL.md +141 -0
- package/skills/literature/search/baidu-scholar-guide/SKILL.md +110 -0
- package/skills/literature/search/base-academic-search/SKILL.md +196 -0
- package/skills/literature/search/chatpaper-guide/SKILL.md +122 -0
- package/skills/literature/search/citeseerx-api/SKILL.md +183 -0
- package/skills/literature/search/deep-literature-search/SKILL.md +149 -0
- package/skills/literature/search/deepgit-search-guide/SKILL.md +147 -0
- 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 +138 -0
- 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/ai-scientist-v2-guide/SKILL.md +284 -0
- package/skills/research/automation/aim-experiment-guide/SKILL.md +234 -0
- 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 +131 -0
- package/skills/research/automation/foam-agent-guide/SKILL.md +203 -0
- package/skills/research/automation/kedro-pipeline-guide/SKILL.md +216 -0
- package/skills/research/automation/mle-agent-guide/SKILL.md +139 -0
- package/skills/research/automation/paper-to-agent-guide/SKILL.md +116 -0
- package/skills/research/automation/rd-agent-guide/SKILL.md +246 -0
- package/skills/research/automation/research-paper-orchestrator/SKILL.md +254 -0
- package/skills/research/deep-research/academic-deep-research/SKILL.md +190 -0
- package/skills/research/deep-research/auto-deep-research-guide/SKILL.md +141 -0
- 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/deep-research-pro/SKILL.md +213 -0
- package/skills/research/deep-research/deep-research-work/SKILL.md +204 -0
- package/skills/research/deep-research/deep-searcher-guide/SKILL.md +253 -0
- package/skills/research/deep-research/gpt-researcher-guide/SKILL.md +191 -0
- package/skills/research/deep-research/in-depth-research-guide/SKILL.md +205 -0
- package/skills/research/deep-research/khoj-research-guide/SKILL.md +200 -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/local-deep-research-guide/SKILL.md +253 -0
- package/skills/research/deep-research/open-researcher-guide/SKILL.md +138 -0
- package/skills/research/deep-research/tongyi-deep-research-guide/SKILL.md +217 -0
- package/skills/research/funding/eu-horizon-guide/SKILL.md +244 -0
- package/skills/research/funding/grant-budget-guide/SKILL.md +284 -0
- package/skills/research/funding/nih-reporter-api-guide/SKILL.md +166 -0
- package/skills/research/funding/nsf-award-api-guide/SKILL.md +133 -0
- package/skills/research/methodology/academic-mentor-guide/SKILL.md +169 -0
- package/skills/research/methodology/claude-scientific-guide/SKILL.md +122 -0
- package/skills/research/methodology/deep-innovator-guide/SKILL.md +242 -0
- package/skills/research/methodology/osf-api-guide/SKILL.md +165 -0
- package/skills/research/methodology/parsifal-slr-guide/SKILL.md +154 -0
- package/skills/research/methodology/research-paper-kb/SKILL.md +263 -0
- package/skills/research/methodology/research-pipeline-units-guide/SKILL.md +169 -0
- package/skills/research/methodology/research-town-guide/SKILL.md +263 -0
- package/skills/research/methodology/slr-automation-guide/SKILL.md +235 -0
- package/skills/research/paper-review/automated-review-guide/SKILL.md +281 -0
- package/skills/research/paper-review/latte-review-guide/SKILL.md +175 -0
- package/skills/research/paper-review/paper-compare-guide/SKILL.md +238 -0
- package/skills/research/paper-review/paper-critique-framework/SKILL.md +181 -0
- package/skills/research/paper-review/paper-digest-guide/SKILL.md +240 -0
- package/skills/research/paper-review/paper-research-assistant/SKILL.md +231 -0
- package/skills/research/paper-review/research-quality-filter/SKILL.md +261 -0
- package/skills/research/paper-review/review-response-guide/SKILL.md +275 -0
- package/skills/tools/code-exec/contextplus-mcp-guide/SKILL.md +110 -0
- package/skills/tools/code-exec/google-colab-guide/SKILL.md +276 -0
- package/skills/tools/code-exec/kaggle-api-guide/SKILL.md +216 -0
- package/skills/tools/code-exec/overleaf-cli-guide/SKILL.md +279 -0
- package/skills/tools/diagram/clawphd-guide/SKILL.md +149 -0
- package/skills/tools/diagram/code-flow-visualizer/SKILL.md +197 -0
- package/skills/tools/diagram/excalidraw-diagram-guide/SKILL.md +170 -0
- package/skills/tools/diagram/json-data-visualizer/SKILL.md +270 -0
- package/skills/tools/diagram/kroki-diagram-api/SKILL.md +198 -0
- package/skills/tools/diagram/mermaid-architect-guide/SKILL.md +219 -0
- package/skills/tools/diagram/scientific-graphical-abstract/SKILL.md +201 -0
- package/skills/tools/diagram/tldraw-whiteboard-guide/SKILL.md +397 -0
- package/skills/tools/document/docsgpt-guide/SKILL.md +130 -0
- package/skills/tools/document/large-document-reader/SKILL.md +202 -0
- package/skills/tools/document/md2pdf-xelatex/SKILL.md +212 -0
- package/skills/tools/document/openpaper-guide/SKILL.md +232 -0
- package/skills/tools/document/paper-parse-guide/SKILL.md +243 -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/citation-network-builder/SKILL.md +244 -0
- package/skills/tools/knowledge-graph/concept-map-generator/SKILL.md +284 -0
- package/skills/tools/knowledge-graph/graphiti-guide/SKILL.md +219 -0
- 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 +141 -0
- package/skills/tools/ocr-translate/zotero-pdf-translate-guide/SKILL.md +95 -0
- package/skills/tools/ocr-translate/zotero-pdf2zh-guide/SKILL.md +143 -0
- package/skills/tools/scraping/dataset-finder-guide/SKILL.md +253 -0
- package/skills/tools/scraping/easy-spider-guide/SKILL.md +250 -0
- package/skills/tools/scraping/google-scholar-scraper/SKILL.md +255 -0
- package/skills/tools/scraping/repository-harvesting-guide/SKILL.md +310 -0
- package/skills/writing/citation/academic-citation-manager/SKILL.md +314 -0
- 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 +127 -0
- package/skills/writing/citation/jasminum-zotero-guide/SKILL.md +103 -0
- package/skills/writing/citation/mendeley-api/SKILL.md +231 -0
- package/skills/writing/citation/obsidian-citation-guide/SKILL.md +164 -0
- package/skills/writing/citation/obsidian-zotero-guide/SKILL.md +137 -0
- package/skills/writing/citation/onecite-reference-guide/SKILL.md +168 -0
- package/skills/writing/citation/papersgpt-zotero-guide/SKILL.md +132 -0
- package/skills/writing/citation/papis-cli-guide/SKILL.md +213 -0
- package/skills/writing/citation/zotero-better-bibtex-guide/SKILL.md +107 -0
- package/skills/writing/citation/zotero-better-notes-guide/SKILL.md +121 -0
- package/skills/writing/citation/zotero-gpt-guide/SKILL.md +111 -0
- package/skills/writing/citation/zotero-mcp-guide/SKILL.md +164 -0
- package/skills/writing/citation/zotero-mdnotes-guide/SKILL.md +162 -0
- package/skills/writing/citation/zotero-reference-guide/SKILL.md +139 -0
- package/skills/writing/citation/zotero-scholar-guide/SKILL.md +294 -0
- package/skills/writing/citation/zotfile-attachment-guide/SKILL.md +140 -0
- package/skills/writing/composition/ml-paper-writing/SKILL.md +163 -0
- package/skills/writing/composition/opendraft-thesis-guide/SKILL.md +200 -0
- package/skills/writing/composition/paper-debugger-guide/SKILL.md +143 -0
- 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 +151 -0
- package/skills/writing/composition/scientific-writing-wrapper/SKILL.md +153 -0
- package/skills/writing/latex/academic-writing-latex/SKILL.md +285 -0
- package/skills/writing/latex/latex-drawing-collection/SKILL.md +154 -0
- package/skills/writing/latex/latex-templates-collection/SKILL.md +159 -0
- package/skills/writing/latex/md-to-pdf-academic/SKILL.md +230 -0
- package/skills/writing/latex/tex-render-guide/SKILL.md +243 -0
- package/skills/writing/polish/academic-tone-guide/SKILL.md +209 -0
- package/skills/writing/polish/chinese-text-humanizer/SKILL.md +140 -0
- package/skills/writing/polish/conciseness-editing-guide/SKILL.md +225 -0
- package/skills/writing/polish/paper-polish-guide/SKILL.md +160 -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/graphical-abstract-guide/SKILL.md +183 -0
- package/skills/writing/templates/novathesis-guide/SKILL.md +152 -0
- package/skills/writing/templates/scientific-article-pdf/SKILL.md +261 -0
- package/skills/writing/templates/sjtuthesis-guide/SKILL.md +197 -0
- package/skills/writing/templates/thuthesis-guide/SKILL.md +181 -0
- package/skills/literature/fulltext/repository-harvesting-guide/SKILL.md +0 -207
|
@@ -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,236 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: legal-nlp-guide
|
|
3
|
+
description: "NLP techniques for legal text analysis, case law mining, and contracts"
|
|
4
|
+
metadata:
|
|
5
|
+
openclaw:
|
|
6
|
+
emoji: "balance-scale"
|
|
7
|
+
category: "domains"
|
|
8
|
+
subcategory: "law"
|
|
9
|
+
keywords: ["legal-nlp", "text-mining", "case-law", "contract-analysis", "named-entity", "classification"]
|
|
10
|
+
source: "wentor"
|
|
11
|
+
---
|
|
12
|
+
|
|
13
|
+
# Legal NLP Guide
|
|
14
|
+
|
|
15
|
+
A skill for applying natural language processing techniques to legal texts. Covers legal document classification, named entity recognition for legal entities, contract clause extraction, case law similarity search, and court opinion summarization using modern NLP tools.
|
|
16
|
+
|
|
17
|
+
## Legal Text Characteristics
|
|
18
|
+
|
|
19
|
+
Legal language presents unique NLP challenges:
|
|
20
|
+
|
|
21
|
+
- **Long documents**: Court opinions average 5,000-20,000 tokens; contracts can exceed 50,000
|
|
22
|
+
- **Domain-specific vocabulary**: Terms of art with precise legal meanings (e.g., "consideration", "estoppel")
|
|
23
|
+
- **Complex syntax**: Multi-clause sentences with nested qualifications and cross-references
|
|
24
|
+
- **Citation networks**: Dense cross-referencing between cases, statutes, and regulations
|
|
25
|
+
- **Temporal reasoning**: Effective dates, amendments, and retroactivity
|
|
26
|
+
|
|
27
|
+
## Legal Text Classification
|
|
28
|
+
|
|
29
|
+
### Document Type Classification
|
|
30
|
+
|
|
31
|
+
```python
|
|
32
|
+
from transformers import AutoTokenizer, AutoModelForSequenceClassification
|
|
33
|
+
import torch
|
|
34
|
+
|
|
35
|
+
# Legal-BERT: domain-adapted BERT for legal text
|
|
36
|
+
model_name = "nlpaueb/legal-bert-base-uncased"
|
|
37
|
+
tokenizer = AutoTokenizer.from_pretrained(model_name)
|
|
38
|
+
model = AutoModelForSequenceClassification.from_pretrained(
|
|
39
|
+
model_name, num_labels=5
|
|
40
|
+
)
|
|
41
|
+
|
|
42
|
+
# Legal document categories
|
|
43
|
+
labels = ["contract", "court_opinion", "statute", "regulation", "brief"]
|
|
44
|
+
|
|
45
|
+
def classify_legal_document(text: str, max_length: int = 512) -> dict:
|
|
46
|
+
"""
|
|
47
|
+
Classify a legal document into predefined categories.
|
|
48
|
+
For long documents, use the first 512 tokens (typically the
|
|
49
|
+
preamble/introduction which contains strong classification signals).
|
|
50
|
+
"""
|
|
51
|
+
inputs = tokenizer(
|
|
52
|
+
text, return_tensors="pt",
|
|
53
|
+
max_length=max_length, truncation=True, padding=True
|
|
54
|
+
)
|
|
55
|
+
with torch.no_grad():
|
|
56
|
+
logits = model(**inputs).logits
|
|
57
|
+
probs = torch.softmax(logits, dim=-1).squeeze()
|
|
58
|
+
predicted = labels[probs.argmax().item()]
|
|
59
|
+
return {
|
|
60
|
+
"predicted_class": predicted,
|
|
61
|
+
"confidence": probs.max().item(),
|
|
62
|
+
"all_scores": {l: p.item() for l, p in zip(labels, probs)},
|
|
63
|
+
}
|
|
64
|
+
```
|
|
65
|
+
|
|
66
|
+
### Topic Classification for Case Law
|
|
67
|
+
|
|
68
|
+
Common topic taxonomies for legal research:
|
|
69
|
+
|
|
70
|
+
| Category | Examples |
|
|
71
|
+
|----------|---------|
|
|
72
|
+
| Constitutional Law | Due process, equal protection, First Amendment |
|
|
73
|
+
| Criminal Law | Sentencing, evidence, plea bargaining |
|
|
74
|
+
| Contract Law | Breach, formation, damages |
|
|
75
|
+
| Tort Law | Negligence, product liability, defamation |
|
|
76
|
+
| Property Law | Real property, intellectual property, zoning |
|
|
77
|
+
| Administrative Law | Agency rulemaking, judicial review |
|
|
78
|
+
|
|
79
|
+
## Named Entity Recognition
|
|
80
|
+
|
|
81
|
+
### Legal NER Categories
|
|
82
|
+
|
|
83
|
+
Legal NER extends standard NER with domain-specific entity types:
|
|
84
|
+
|
|
85
|
+
```python
|
|
86
|
+
import spacy
|
|
87
|
+
|
|
88
|
+
# Load a legal NER model (e.g., trained on the LegalNERo dataset)
|
|
89
|
+
# or fine-tune spaCy on legal annotations
|
|
90
|
+
nlp = spacy.load("en_legal_ner")
|
|
91
|
+
|
|
92
|
+
legal_entity_types = {
|
|
93
|
+
"COURT": "Court or tribunal name",
|
|
94
|
+
"JUDGE": "Judge or justice name",
|
|
95
|
+
"PARTY": "Plaintiff, defendant, petitioner, respondent",
|
|
96
|
+
"STATUTE": "Statute or regulation citation",
|
|
97
|
+
"CASE_CITATION": "Case name and reporter citation",
|
|
98
|
+
"DATE": "Dates of decisions, filings, events",
|
|
99
|
+
"JURISDICTION": "Geographic or subject matter jurisdiction",
|
|
100
|
+
"PROVISION": "Specific section or clause reference",
|
|
101
|
+
}
|
|
102
|
+
|
|
103
|
+
def extract_legal_entities(text: str) -> list[dict]:
|
|
104
|
+
"""Extract legal named entities from text."""
|
|
105
|
+
doc = nlp(text)
|
|
106
|
+
entities = []
|
|
107
|
+
for ent in doc.ents:
|
|
108
|
+
entities.append({
|
|
109
|
+
"text": ent.text,
|
|
110
|
+
"label": ent.label_,
|
|
111
|
+
"start": ent.start_char,
|
|
112
|
+
"end": ent.end_char,
|
|
113
|
+
"description": legal_entity_types.get(ent.label_, ""),
|
|
114
|
+
})
|
|
115
|
+
return entities
|
|
116
|
+
```
|
|
117
|
+
|
|
118
|
+
### Citation Extraction and Parsing
|
|
119
|
+
|
|
120
|
+
```python
|
|
121
|
+
import re
|
|
122
|
+
|
|
123
|
+
# US case citation patterns (simplified)
|
|
124
|
+
CASE_CITE_PATTERN = re.compile(
|
|
125
|
+
r"(?P<volume>\d+)\s+"
|
|
126
|
+
r"(?P<reporter>U\.S\.|S\.\s?Ct\.|F\.\s?\d[dthsr]+|"
|
|
127
|
+
r"F\.\s?Supp\.\s?\d*[dthsr]*)\s+"
|
|
128
|
+
r"(?P<page>\d+)"
|
|
129
|
+
r"(?:\s*,\s*(?P<pinpoint>\d+))?"
|
|
130
|
+
r"(?:\s*\((?P<year>\d{4})\))?"
|
|
131
|
+
)
|
|
132
|
+
|
|
133
|
+
def parse_citations(text: str) -> list[dict]:
|
|
134
|
+
"""Extract and parse legal citations from text."""
|
|
135
|
+
citations = []
|
|
136
|
+
for match in CASE_CITE_PATTERN.finditer(text):
|
|
137
|
+
citations.append({
|
|
138
|
+
"full_match": match.group(),
|
|
139
|
+
"volume": match.group("volume"),
|
|
140
|
+
"reporter": match.group("reporter"),
|
|
141
|
+
"page": match.group("page"),
|
|
142
|
+
"pinpoint": match.group("pinpoint"),
|
|
143
|
+
"year": match.group("year"),
|
|
144
|
+
})
|
|
145
|
+
return citations
|
|
146
|
+
```
|
|
147
|
+
|
|
148
|
+
## Contract Analysis
|
|
149
|
+
|
|
150
|
+
### Clause Extraction and Classification
|
|
151
|
+
|
|
152
|
+
```python
|
|
153
|
+
def segment_contract_clauses(text: str) -> list[dict]:
|
|
154
|
+
"""
|
|
155
|
+
Segment a contract into numbered clauses and classify them.
|
|
156
|
+
Uses section numbering patterns as primary segmentation cues.
|
|
157
|
+
"""
|
|
158
|
+
# Split on section/article numbering patterns
|
|
159
|
+
section_pattern = re.compile(
|
|
160
|
+
r"\n\s*(?:Section|Article|Clause|\d+\.)\s+\d+[\.\d]*\s*[:\.\-]?\s*",
|
|
161
|
+
re.IGNORECASE,
|
|
162
|
+
)
|
|
163
|
+
sections = section_pattern.split(text)
|
|
164
|
+
headers = section_pattern.findall(text)
|
|
165
|
+
|
|
166
|
+
clause_types = {
|
|
167
|
+
"indemnification": ["indemnif", "hold harmless", "defend and indemnify"],
|
|
168
|
+
"termination": ["terminat", "cancel", "expir"],
|
|
169
|
+
"confidentiality": ["confidential", "non-disclosure", "proprietary"],
|
|
170
|
+
"limitation_of_liability": ["limit of liabilit", "limitation of liabilit",
|
|
171
|
+
"aggregate liability", "consequential damages"],
|
|
172
|
+
"governing_law": ["governing law", "governed by", "jurisdiction"],
|
|
173
|
+
"force_majeure": ["force majeure", "act of god", "beyond reasonable control"],
|
|
174
|
+
"assignment": ["assign", "transfer", "delegate"],
|
|
175
|
+
}
|
|
176
|
+
|
|
177
|
+
clauses = []
|
|
178
|
+
for i, section in enumerate(sections[1:], 1):
|
|
179
|
+
detected_type = "general"
|
|
180
|
+
section_lower = section.lower()
|
|
181
|
+
for ctype, keywords in clause_types.items():
|
|
182
|
+
if any(kw in section_lower for kw in keywords):
|
|
183
|
+
detected_type = ctype
|
|
184
|
+
break
|
|
185
|
+
clauses.append({
|
|
186
|
+
"index": i,
|
|
187
|
+
"header": headers[i - 1].strip() if i <= len(headers) else "",
|
|
188
|
+
"type": detected_type,
|
|
189
|
+
"text": section.strip()[:500],
|
|
190
|
+
})
|
|
191
|
+
return clauses
|
|
192
|
+
```
|
|
193
|
+
|
|
194
|
+
## Case Similarity and Legal Search
|
|
195
|
+
|
|
196
|
+
### Embedding-Based Case Retrieval
|
|
197
|
+
|
|
198
|
+
```python
|
|
199
|
+
from sentence_transformers import SentenceTransformer
|
|
200
|
+
import numpy as np
|
|
201
|
+
|
|
202
|
+
# Legal domain sentence embeddings
|
|
203
|
+
encoder = SentenceTransformer("sentence-transformers/all-MiniLM-L6-v2")
|
|
204
|
+
|
|
205
|
+
def build_case_index(case_summaries: list[str]) -> np.ndarray:
|
|
206
|
+
"""Encode case summaries into dense vector representations."""
|
|
207
|
+
embeddings = encoder.encode(case_summaries, show_progress_bar=True)
|
|
208
|
+
# L2 normalize for cosine similarity via dot product
|
|
209
|
+
norms = np.linalg.norm(embeddings, axis=1, keepdims=True)
|
|
210
|
+
return embeddings / norms
|
|
211
|
+
|
|
212
|
+
def search_similar_cases(query: str, index: np.ndarray,
|
|
213
|
+
case_ids: list[str], top_k: int = 10) -> list:
|
|
214
|
+
"""Find the most similar cases to a query."""
|
|
215
|
+
query_vec = encoder.encode([query])
|
|
216
|
+
query_vec = query_vec / np.linalg.norm(query_vec)
|
|
217
|
+
scores = (index @ query_vec.T).squeeze()
|
|
218
|
+
top_indices = np.argsort(scores)[::-1][:top_k]
|
|
219
|
+
return [(case_ids[i], scores[i]) for i in top_indices]
|
|
220
|
+
```
|
|
221
|
+
|
|
222
|
+
## Legal Datasets and Benchmarks
|
|
223
|
+
|
|
224
|
+
- **CaseHOLD**: Multiple-choice QA from case law holdings (Harvard)
|
|
225
|
+
- **LEDGAR**: 100,000 contract provisions labeled with 12 clause types
|
|
226
|
+
- **ECtHR dataset**: European Court of Human Rights case texts with violation labels
|
|
227
|
+
- **LegalBench**: Multi-task benchmark for legal reasoning (Stanford)
|
|
228
|
+
- **CUAD (Contract Understanding Atticus Dataset)**: 510 contracts with 41 clause type annotations
|
|
229
|
+
|
|
230
|
+
## Tools and Resources
|
|
231
|
+
|
|
232
|
+
- **Legal-BERT / CaseLaw-BERT**: Domain-adapted transformer models
|
|
233
|
+
- **spaCy + Blackstone**: Legal NER and text processing for UK law
|
|
234
|
+
- **Haystack**: Open-source framework for legal document search and QA
|
|
235
|
+
- **CourtListener / RECAP**: Free US case law and PACER document archive
|
|
236
|
+
- **LexNLP (ContraxSuite)**: Python library for legal text extraction
|
|
@@ -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.
|