@wentorai/research-plugins 1.0.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/LICENSE +21 -0
- package/README.md +204 -0
- package/curated/analysis/README.md +64 -0
- package/curated/domains/README.md +104 -0
- package/curated/literature/README.md +53 -0
- package/curated/research/README.md +62 -0
- package/curated/tools/README.md +87 -0
- package/curated/writing/README.md +61 -0
- package/index.ts +39 -0
- package/mcp-configs/academic-db/ChatSpatial.json +17 -0
- package/mcp-configs/academic-db/academia-mcp.json +17 -0
- package/mcp-configs/academic-db/academic-paper-explorer.json +17 -0
- package/mcp-configs/academic-db/academic-search-mcp-server.json +17 -0
- package/mcp-configs/academic-db/agentinterviews-mcp.json +17 -0
- package/mcp-configs/academic-db/all-in-mcp.json +17 -0
- package/mcp-configs/academic-db/apple-health-mcp.json +17 -0
- package/mcp-configs/academic-db/arxiv-latex-mcp.json +17 -0
- package/mcp-configs/academic-db/arxiv-mcp-server.json +17 -0
- package/mcp-configs/academic-db/bgpt-mcp.json +17 -0
- package/mcp-configs/academic-db/biomcp.json +17 -0
- package/mcp-configs/academic-db/biothings-mcp.json +17 -0
- package/mcp-configs/academic-db/catalysishub-mcp-server.json +17 -0
- package/mcp-configs/academic-db/clinicaltrialsgov-mcp-server.json +17 -0
- package/mcp-configs/academic-db/deep-research-mcp.json +17 -0
- package/mcp-configs/academic-db/dicom-mcp.json +17 -0
- package/mcp-configs/academic-db/enrichr-mcp-server.json +17 -0
- package/mcp-configs/academic-db/fec-mcp-server.json +17 -0
- package/mcp-configs/academic-db/fhir-mcp-server-themomentum.json +17 -0
- package/mcp-configs/academic-db/fhir-mcp.json +19 -0
- package/mcp-configs/academic-db/gget-mcp.json +17 -0
- package/mcp-configs/academic-db/google-researcher-mcp.json +17 -0
- package/mcp-configs/academic-db/idea-reality-mcp.json +17 -0
- package/mcp-configs/academic-db/legiscan-mcp.json +19 -0
- package/mcp-configs/academic-db/lex.json +17 -0
- package/mcp-configs/ai-platform/Adaptive-Graph-of-Thoughts-MCP-server.json +17 -0
- package/mcp-configs/ai-platform/ai-counsel.json +17 -0
- package/mcp-configs/ai-platform/atlas-mcp-server.json +17 -0
- package/mcp-configs/ai-platform/counsel-mcp.json +17 -0
- package/mcp-configs/ai-platform/cross-llm-mcp.json +17 -0
- package/mcp-configs/ai-platform/gptr-mcp.json +17 -0
- package/mcp-configs/browser/decipher-research-agent.json +17 -0
- package/mcp-configs/browser/deep-research.json +17 -0
- package/mcp-configs/browser/everything-claude-code.json +17 -0
- package/mcp-configs/browser/gpt-researcher.json +17 -0
- package/mcp-configs/browser/heurist-agent-framework.json +17 -0
- package/mcp-configs/data-platform/4everland-hosting-mcp.json +17 -0
- package/mcp-configs/data-platform/context-keeper.json +17 -0
- package/mcp-configs/data-platform/context7.json +19 -0
- package/mcp-configs/data-platform/contextstream-mcp.json +17 -0
- package/mcp-configs/data-platform/email-mcp.json +17 -0
- package/mcp-configs/note-knowledge/ApeRAG.json +17 -0
- package/mcp-configs/note-knowledge/In-Memoria.json +17 -0
- package/mcp-configs/note-knowledge/agent-memory.json +17 -0
- package/mcp-configs/note-knowledge/aimemo.json +17 -0
- package/mcp-configs/note-knowledge/biel-mcp.json +19 -0
- package/mcp-configs/note-knowledge/cognee.json +17 -0
- package/mcp-configs/note-knowledge/context-awesome.json +17 -0
- package/mcp-configs/note-knowledge/context-mcp.json +17 -0
- package/mcp-configs/note-knowledge/conversation-handoff-mcp.json +17 -0
- package/mcp-configs/note-knowledge/cortex.json +17 -0
- package/mcp-configs/note-knowledge/devrag.json +17 -0
- package/mcp-configs/note-knowledge/easy-obsidian-mcp.json +17 -0
- package/mcp-configs/note-knowledge/engram.json +17 -0
- package/mcp-configs/note-knowledge/gnosis-mcp.json +17 -0
- package/mcp-configs/note-knowledge/graphlit-mcp-server.json +19 -0
- package/mcp-configs/reference-mgr/arxiv-cli.json +17 -0
- package/mcp-configs/reference-mgr/arxiv-search-mcp.json +17 -0
- package/mcp-configs/reference-mgr/chiken.json +17 -0
- package/mcp-configs/reference-mgr/claude-scholar.json +17 -0
- package/mcp-configs/reference-mgr/devonthink-mcp.json +17 -0
- package/mcp-configs/registry.json +447 -0
- package/openclaw.plugin.json +21 -0
- package/package.json +61 -0
- package/skills/analysis/dataviz/color-accessibility-guide/SKILL.md +230 -0
- package/skills/analysis/dataviz/geospatial-viz-guide/SKILL.md +218 -0
- package/skills/analysis/dataviz/interactive-viz-guide/SKILL.md +287 -0
- package/skills/analysis/dataviz/network-visualization-guide/SKILL.md +195 -0
- package/skills/analysis/dataviz/publication-figures-guide/SKILL.md +238 -0
- package/skills/analysis/dataviz/python-dataviz-guide/SKILL.md +195 -0
- package/skills/analysis/econometrics/causal-inference-guide/SKILL.md +197 -0
- package/skills/analysis/econometrics/iv-regression-guide/SKILL.md +198 -0
- package/skills/analysis/econometrics/panel-data-guide/SKILL.md +274 -0
- package/skills/analysis/econometrics/robustness-checks/SKILL.md +250 -0
- package/skills/analysis/econometrics/stata-regression/SKILL.md +117 -0
- package/skills/analysis/econometrics/time-series-guide/SKILL.md +235 -0
- package/skills/analysis/statistics/bayesian-statistics-guide/SKILL.md +221 -0
- package/skills/analysis/statistics/hypothesis-testing-guide/SKILL.md +210 -0
- package/skills/analysis/statistics/meta-analysis-guide/SKILL.md +206 -0
- package/skills/analysis/statistics/nonparametric-tests-guide/SKILL.md +221 -0
- package/skills/analysis/statistics/power-analysis-guide/SKILL.md +240 -0
- package/skills/analysis/statistics/sem-guide/SKILL.md +231 -0
- package/skills/analysis/statistics/survival-analysis-guide/SKILL.md +195 -0
- package/skills/analysis/wrangling/missing-data-handling/SKILL.md +224 -0
- package/skills/analysis/wrangling/pandas-data-wrangling/SKILL.md +242 -0
- package/skills/analysis/wrangling/questionnaire-design-guide/SKILL.md +234 -0
- package/skills/analysis/wrangling/text-mining-guide/SKILL.md +225 -0
- package/skills/domains/ai-ml/computer-vision-guide/SKILL.md +213 -0
- package/skills/domains/ai-ml/deep-learning-papers-guide/SKILL.md +200 -0
- package/skills/domains/ai-ml/llm-evaluation-guide/SKILL.md +194 -0
- package/skills/domains/ai-ml/prompt-engineering-research/SKILL.md +233 -0
- package/skills/domains/ai-ml/reinforcement-learning-guide/SKILL.md +254 -0
- package/skills/domains/ai-ml/transformer-architecture-guide/SKILL.md +233 -0
- package/skills/domains/biomedical/clinical-research-guide/SKILL.md +232 -0
- package/skills/domains/biomedical/clinicaltrials-api/SKILL.md +177 -0
- package/skills/domains/biomedical/epidemiology-guide/SKILL.md +200 -0
- package/skills/domains/biomedical/genomics-analysis-guide/SKILL.md +270 -0
- package/skills/domains/business/market-analysis-guide/SKILL.md +112 -0
- package/skills/domains/business/strategic-management-guide/SKILL.md +154 -0
- package/skills/domains/chemistry/computational-chemistry-guide/SKILL.md +266 -0
- package/skills/domains/chemistry/retrosynthesis-guide/SKILL.md +215 -0
- package/skills/domains/cs/algorithms-complexity-guide/SKILL.md +194 -0
- package/skills/domains/cs/dblp-api/SKILL.md +129 -0
- package/skills/domains/cs/software-engineering-research/SKILL.md +218 -0
- package/skills/domains/ecology/biodiversity-data-guide/SKILL.md +296 -0
- package/skills/domains/ecology/conservation-biology-guide/SKILL.md +198 -0
- package/skills/domains/ecology/gbif-api/SKILL.md +158 -0
- package/skills/domains/ecology/inaturalist-api/SKILL.md +173 -0
- package/skills/domains/economics/behavioral-economics-guide/SKILL.md +239 -0
- package/skills/domains/economics/development-economics-guide/SKILL.md +181 -0
- package/skills/domains/economics/fred-api/SKILL.md +189 -0
- package/skills/domains/education/curriculum-design-guide/SKILL.md +144 -0
- package/skills/domains/education/learning-science-guide/SKILL.md +150 -0
- package/skills/domains/finance/financial-data-analysis/SKILL.md +152 -0
- package/skills/domains/finance/quantitative-finance-guide/SKILL.md +151 -0
- package/skills/domains/geoscience/climate-science-guide/SKILL.md +158 -0
- package/skills/domains/geoscience/gis-remote-sensing-guide/SKILL.md +129 -0
- package/skills/domains/humanities/digital-humanities-guide/SKILL.md +181 -0
- package/skills/domains/humanities/philosophy-research-guide/SKILL.md +148 -0
- package/skills/domains/law/courtlistener-api/SKILL.md +213 -0
- package/skills/domains/law/legal-research-guide/SKILL.md +250 -0
- package/skills/domains/math/linear-algebra-applications/SKILL.md +227 -0
- package/skills/domains/math/numerical-methods-guide/SKILL.md +236 -0
- package/skills/domains/math/oeis-api/SKILL.md +158 -0
- package/skills/domains/pharma/clinical-pharmacology-guide/SKILL.md +165 -0
- package/skills/domains/pharma/drug-development-guide/SKILL.md +177 -0
- package/skills/domains/physics/computational-physics-guide/SKILL.md +300 -0
- package/skills/domains/physics/nasa-ads-api/SKILL.md +150 -0
- package/skills/domains/physics/quantum-computing-guide/SKILL.md +234 -0
- package/skills/domains/social-science/social-research-methods/SKILL.md +194 -0
- package/skills/domains/social-science/survey-research-guide/SKILL.md +182 -0
- package/skills/literature/discovery/citation-alert-guide/SKILL.md +154 -0
- package/skills/literature/discovery/conference-proceedings-guide/SKILL.md +142 -0
- package/skills/literature/discovery/literature-mapping-guide/SKILL.md +175 -0
- package/skills/literature/discovery/paper-tracking-guide/SKILL.md +211 -0
- package/skills/literature/discovery/rss-paper-feeds/SKILL.md +214 -0
- package/skills/literature/discovery/semantic-scholar-recs-guide/SKILL.md +164 -0
- package/skills/literature/fulltext/doaj-api/SKILL.md +120 -0
- package/skills/literature/fulltext/interlibrary-loan-guide/SKILL.md +163 -0
- package/skills/literature/fulltext/open-access-guide/SKILL.md +183 -0
- package/skills/literature/fulltext/pmc-oai-api/SKILL.md +184 -0
- package/skills/literature/fulltext/preprint-servers-guide/SKILL.md +128 -0
- package/skills/literature/fulltext/repository-harvesting-guide/SKILL.md +207 -0
- package/skills/literature/fulltext/unpaywall-api/SKILL.md +113 -0
- package/skills/literature/metadata/altmetrics-guide/SKILL.md +132 -0
- package/skills/literature/metadata/citation-network-guide/SKILL.md +236 -0
- package/skills/literature/metadata/crossref-api/SKILL.md +133 -0
- package/skills/literature/metadata/datacite-api/SKILL.md +126 -0
- package/skills/literature/metadata/doi-resolution-guide/SKILL.md +168 -0
- package/skills/literature/metadata/h-index-guide/SKILL.md +183 -0
- package/skills/literature/metadata/journal-metrics-guide/SKILL.md +188 -0
- package/skills/literature/metadata/opencitations-api/SKILL.md +128 -0
- package/skills/literature/metadata/orcid-api/SKILL.md +136 -0
- package/skills/literature/metadata/orcid-integration-guide/SKILL.md +178 -0
- package/skills/literature/search/arxiv-api/SKILL.md +95 -0
- package/skills/literature/search/biorxiv-api/SKILL.md +123 -0
- package/skills/literature/search/boolean-search-guide/SKILL.md +199 -0
- package/skills/literature/search/citation-chaining-guide/SKILL.md +148 -0
- package/skills/literature/search/database-comparison-guide/SKILL.md +100 -0
- package/skills/literature/search/europe-pmc-api/SKILL.md +120 -0
- package/skills/literature/search/google-scholar-guide/SKILL.md +182 -0
- package/skills/literature/search/mesh-terms-guide/SKILL.md +164 -0
- package/skills/literature/search/openalex-api/SKILL.md +134 -0
- package/skills/literature/search/pubmed-api/SKILL.md +130 -0
- package/skills/literature/search/scientify-literature-survey/SKILL.md +203 -0
- package/skills/literature/search/semantic-scholar-api/SKILL.md +134 -0
- package/skills/literature/search/systematic-search-strategy/SKILL.md +214 -0
- package/skills/research/automation/ai-scientist-guide/SKILL.md +228 -0
- package/skills/research/automation/data-collection-automation/SKILL.md +248 -0
- package/skills/research/automation/research-workflow-automation/SKILL.md +266 -0
- package/skills/research/deep-research/meta-synthesis-guide/SKILL.md +174 -0
- package/skills/research/deep-research/research-cog/SKILL.md +153 -0
- package/skills/research/deep-research/scoping-review-guide/SKILL.md +217 -0
- package/skills/research/deep-research/systematic-review-guide/SKILL.md +250 -0
- package/skills/research/funding/figshare-api/SKILL.md +163 -0
- package/skills/research/funding/grant-writing-guide/SKILL.md +233 -0
- package/skills/research/funding/nsf-grant-guide/SKILL.md +206 -0
- package/skills/research/funding/open-science-guide/SKILL.md +255 -0
- package/skills/research/funding/zenodo-api/SKILL.md +174 -0
- package/skills/research/methodology/action-research-guide/SKILL.md +201 -0
- package/skills/research/methodology/experimental-design-guide/SKILL.md +236 -0
- package/skills/research/methodology/grad-school-guide/SKILL.md +182 -0
- package/skills/research/methodology/grounded-theory-guide/SKILL.md +171 -0
- package/skills/research/methodology/mixed-methods-guide/SKILL.md +208 -0
- package/skills/research/methodology/qualitative-research-guide/SKILL.md +234 -0
- package/skills/research/methodology/scientify-idea-generation/SKILL.md +222 -0
- package/skills/research/paper-review/paper-reading-assistant/SKILL.md +266 -0
- package/skills/research/paper-review/peer-review-guide/SKILL.md +227 -0
- package/skills/research/paper-review/rebuttal-writing-guide/SKILL.md +185 -0
- package/skills/research/paper-review/scientify-write-review-paper/SKILL.md +209 -0
- package/skills/tools/code-exec/jupyter-notebook-guide/SKILL.md +178 -0
- package/skills/tools/code-exec/python-reproducibility-guide/SKILL.md +341 -0
- package/skills/tools/code-exec/r-reproducibility-guide/SKILL.md +236 -0
- package/skills/tools/code-exec/sandbox-execution-guide/SKILL.md +221 -0
- package/skills/tools/diagram/mermaid-diagram-guide/SKILL.md +269 -0
- package/skills/tools/diagram/plantuml-guide/SKILL.md +397 -0
- package/skills/tools/diagram/scientific-illustration-guide/SKILL.md +225 -0
- package/skills/tools/document/anystyle-api/SKILL.md +199 -0
- package/skills/tools/document/grobid-pdf-parsing/SKILL.md +294 -0
- package/skills/tools/document/markdown-academic-guide/SKILL.md +217 -0
- package/skills/tools/document/pdf-extraction-guide/SKILL.md +321 -0
- package/skills/tools/knowledge-graph/knowledge-graph-construction/SKILL.md +306 -0
- package/skills/tools/knowledge-graph/ontology-design-guide/SKILL.md +214 -0
- package/skills/tools/knowledge-graph/rag-methodology-guide/SKILL.md +325 -0
- package/skills/tools/ocr-translate/formula-recognition-guide/SKILL.md +367 -0
- package/skills/tools/ocr-translate/handwriting-recognition-guide/SKILL.md +211 -0
- package/skills/tools/ocr-translate/latex-ocr-guide/SKILL.md +204 -0
- package/skills/tools/ocr-translate/multilingual-research-guide/SKILL.md +234 -0
- package/skills/tools/scraping/academic-web-scraping/SKILL.md +326 -0
- package/skills/tools/scraping/api-data-collection-guide/SKILL.md +301 -0
- package/skills/tools/scraping/web-scraping-ethics-guide/SKILL.md +250 -0
- package/skills/writing/citation/bibtex-management-guide/SKILL.md +246 -0
- package/skills/writing/citation/citation-style-guide/SKILL.md +248 -0
- package/skills/writing/citation/reference-manager-comparison/SKILL.md +208 -0
- package/skills/writing/citation/zotero-api/SKILL.md +188 -0
- package/skills/writing/composition/abstract-writing-guide/SKILL.md +188 -0
- package/skills/writing/composition/discussion-writing-guide/SKILL.md +194 -0
- package/skills/writing/composition/introduction-writing-guide/SKILL.md +194 -0
- package/skills/writing/composition/literature-review-writing/SKILL.md +196 -0
- package/skills/writing/composition/methods-section-guide/SKILL.md +185 -0
- package/skills/writing/composition/response-to-reviewers/SKILL.md +215 -0
- package/skills/writing/composition/scientific-writing-guide/SKILL.md +152 -0
- package/skills/writing/latex/bibliography-management-guide/SKILL.md +206 -0
- package/skills/writing/latex/latex-drawing-guide/SKILL.md +234 -0
- package/skills/writing/latex/latex-ecosystem-guide/SKILL.md +240 -0
- package/skills/writing/latex/math-typesetting-guide/SKILL.md +231 -0
- package/skills/writing/latex/overleaf-collaboration-guide/SKILL.md +211 -0
- package/skills/writing/latex/tikz-diagrams-guide/SKILL.md +211 -0
- package/skills/writing/polish/academic-translation-guide/SKILL.md +175 -0
- package/skills/writing/polish/academic-writing-refiner/SKILL.md +143 -0
- package/skills/writing/polish/ai-writing-humanizer/SKILL.md +178 -0
- package/skills/writing/polish/grammar-checker-guide/SKILL.md +184 -0
- package/skills/writing/polish/plagiarism-detection-guide/SKILL.md +167 -0
- package/skills/writing/templates/beamer-presentation-guide/SKILL.md +263 -0
- package/skills/writing/templates/conference-paper-template/SKILL.md +219 -0
- package/skills/writing/templates/thesis-template-guide/SKILL.md +200 -0
- package/skills/writing/templates/thesis-writing-guide/SKILL.md +220 -0
- package/src/tools/arxiv.ts +131 -0
- package/src/tools/crossref.ts +112 -0
- package/src/tools/openalex.ts +174 -0
- package/src/tools/pubmed.ts +166 -0
- package/src/tools/semantic-scholar.ts +108 -0
- package/src/tools/unpaywall.ts +58 -0
|
@@ -0,0 +1,148 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: philosophy-research-guide
|
|
3
|
+
description: "Research methods and analytical frameworks for philosophical inquiry and scho..."
|
|
4
|
+
metadata:
|
|
5
|
+
openclaw:
|
|
6
|
+
emoji: "owl"
|
|
7
|
+
category: "domains"
|
|
8
|
+
subcategory: "humanities"
|
|
9
|
+
keywords: ["philosophy", "ethics", "epistemology", "history", "logic", "argumentation"]
|
|
10
|
+
source: "wentor"
|
|
11
|
+
---
|
|
12
|
+
|
|
13
|
+
# Philosophy Research Guide
|
|
14
|
+
|
|
15
|
+
A skill for conducting rigorous philosophical research, from constructing arguments and analyzing texts to writing publishable philosophy papers. Covers major subfields, argumentation methods, and the distinctive methodology of philosophical inquiry.
|
|
16
|
+
|
|
17
|
+
## Philosophical Argumentation
|
|
18
|
+
|
|
19
|
+
### Argument Structure and Evaluation
|
|
20
|
+
|
|
21
|
+
Every philosophical argument can be reconstructed in standard form:
|
|
22
|
+
|
|
23
|
+
```
|
|
24
|
+
Premise 1: All knowledge requires justification. (epistemic principle)
|
|
25
|
+
Premise 2: Sensory experience alone cannot provide certainty. (empirical claim)
|
|
26
|
+
Premise 3: If knowledge requires certainty, then sensory experience
|
|
27
|
+
is insufficient for knowledge. (conditional from P1, P2)
|
|
28
|
+
Conclusion: Therefore, knowledge requires something beyond sensory
|
|
29
|
+
experience. (from P1, P2, P3 by modus ponens)
|
|
30
|
+
```
|
|
31
|
+
|
|
32
|
+
### Validity and Soundness Checks
|
|
33
|
+
|
|
34
|
+
```python
|
|
35
|
+
def evaluate_argument(premises: list[str], conclusion: str,
|
|
36
|
+
premises_true: list[bool],
|
|
37
|
+
valid: bool) -> dict:
|
|
38
|
+
"""
|
|
39
|
+
Evaluate an argument's logical properties.
|
|
40
|
+
|
|
41
|
+
An argument is:
|
|
42
|
+
- Valid: if the conclusion follows necessarily from the premises
|
|
43
|
+
- Sound: if it is valid AND all premises are true
|
|
44
|
+
- Cogent (inductive): if premises make conclusion probable
|
|
45
|
+
"""
|
|
46
|
+
all_true = all(premises_true)
|
|
47
|
+
sound = valid and all_true
|
|
48
|
+
|
|
49
|
+
return {
|
|
50
|
+
'n_premises': len(premises),
|
|
51
|
+
'valid': valid,
|
|
52
|
+
'all_premises_true': all_true,
|
|
53
|
+
'sound': sound,
|
|
54
|
+
'diagnosis': (
|
|
55
|
+
'Sound argument' if sound
|
|
56
|
+
else 'Valid but unsound (false premise)' if valid
|
|
57
|
+
else 'Invalid argument -- conclusion does not follow'
|
|
58
|
+
)
|
|
59
|
+
}
|
|
60
|
+
```
|
|
61
|
+
|
|
62
|
+
### Common Logical Fallacies
|
|
63
|
+
|
|
64
|
+
Identify and avoid these in philosophical writing:
|
|
65
|
+
|
|
66
|
+
| Fallacy | Structure | Example |
|
|
67
|
+
|---------|-----------|---------|
|
|
68
|
+
| Affirming the consequent | If P then Q; Q; therefore P | "If it rained, the street is wet. The street is wet. Therefore it rained." |
|
|
69
|
+
| Begging the question | Assuming the conclusion in a premise | "God exists because the Bible says so, and the Bible is true because it is God's word." |
|
|
70
|
+
| False dilemma | Presenting only two options when more exist | "Either we have free will or everything is determined." |
|
|
71
|
+
| Equivocation | Using a term with different meanings | "A bank is beside a river. I deposit money in a bank. Therefore I deposit money beside a river." |
|
|
72
|
+
| Straw man | Misrepresenting an opponent's position | Attacking a weakened version of the actual argument |
|
|
73
|
+
|
|
74
|
+
## Research Methods by Subfield
|
|
75
|
+
|
|
76
|
+
### Epistemology
|
|
77
|
+
|
|
78
|
+
Key research questions and methods:
|
|
79
|
+
|
|
80
|
+
- **Analysis of knowledge**: Examine Gettier-style counterexamples to JTB (justified true belief)
|
|
81
|
+
- **Thought experiments**: Construct carefully specified scenarios to test intuitions
|
|
82
|
+
- **Formal epistemology**: Apply Bayesian probability, decision theory, and logic
|
|
83
|
+
|
|
84
|
+
### Ethics and Applied Ethics
|
|
85
|
+
|
|
86
|
+
Systematic approach to ethical analysis:
|
|
87
|
+
|
|
88
|
+
```
|
|
89
|
+
Step 1: Identify the moral question clearly
|
|
90
|
+
Step 2: Gather relevant empirical facts
|
|
91
|
+
Step 3: Apply ethical frameworks:
|
|
92
|
+
- Consequentialism: What outcomes does each option produce?
|
|
93
|
+
- Deontology: What duties or rules apply?
|
|
94
|
+
- Virtue ethics: What would a virtuous person do?
|
|
95
|
+
- Care ethics: What relationships and responsibilities are involved?
|
|
96
|
+
Step 4: Identify conflicts between frameworks
|
|
97
|
+
Step 5: Construct a reasoned position addressing objections
|
|
98
|
+
Step 6: Consider implications and edge cases
|
|
99
|
+
```
|
|
100
|
+
|
|
101
|
+
### History of Philosophy
|
|
102
|
+
|
|
103
|
+
Hermeneutic methodology for textual interpretation:
|
|
104
|
+
|
|
105
|
+
1. **Close reading**: Analyze the primary text sentence by sentence
|
|
106
|
+
2. **Historical context**: Situate the text within its intellectual and social milieu
|
|
107
|
+
3. **Charitable interpretation**: Apply the principle of charity (interpret ambiguous passages in the strongest possible way)
|
|
108
|
+
4. **Systematic reconstruction**: Build a coherent account of the philosopher's position
|
|
109
|
+
5. **Critical evaluation**: Assess internal consistency and compare with rival interpretations
|
|
110
|
+
|
|
111
|
+
## Writing Philosophy Papers
|
|
112
|
+
|
|
113
|
+
### Paper Structure
|
|
114
|
+
|
|
115
|
+
A standard analytic philosophy paper follows this structure:
|
|
116
|
+
|
|
117
|
+
```
|
|
118
|
+
1. Introduction (10%)
|
|
119
|
+
- State the thesis clearly in the first paragraph
|
|
120
|
+
- Preview the argument structure
|
|
121
|
+
|
|
122
|
+
2. Background / Setup (15%)
|
|
123
|
+
- Present the problem or debate
|
|
124
|
+
- Define key terms precisely
|
|
125
|
+
|
|
126
|
+
3. Main Argument (40%)
|
|
127
|
+
- Present the argument in numbered steps
|
|
128
|
+
- Provide support for each premise
|
|
129
|
+
|
|
130
|
+
4. Objections and Replies (25%)
|
|
131
|
+
- Consider the strongest objections
|
|
132
|
+
- Provide substantive responses
|
|
133
|
+
|
|
134
|
+
5. Conclusion (10%)
|
|
135
|
+
- Summarize without merely repeating
|
|
136
|
+
- Note limitations and future directions
|
|
137
|
+
```
|
|
138
|
+
|
|
139
|
+
### Citation Practices
|
|
140
|
+
|
|
141
|
+
Philosophy primarily uses author-date citations and engages directly with the text. Quote passages when the exact wording matters for the argument. Always cite the most authoritative edition of historical texts (e.g., Bekker numbers for Aristotle, Adam and Tannery for Descartes).
|
|
142
|
+
|
|
143
|
+
## Key Databases
|
|
144
|
+
|
|
145
|
+
- PhilPapers (philpapers.org): the most comprehensive philosophy bibliography
|
|
146
|
+
- JSTOR: historical journal archives
|
|
147
|
+
- Stanford Encyclopedia of Philosophy (SEP): authoritative survey articles
|
|
148
|
+
- PhilArchive: open-access preprint repository for philosophy
|
|
@@ -0,0 +1,213 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: courtlistener-api
|
|
3
|
+
description: "Legal case law database with PACER data and judge profiles"
|
|
4
|
+
metadata:
|
|
5
|
+
openclaw:
|
|
6
|
+
emoji: "🔍"
|
|
7
|
+
category: "domains"
|
|
8
|
+
subcategory: "law"
|
|
9
|
+
keywords: ["law", "case law", "legal theory", "compliance analysis", "jurisprudence"]
|
|
10
|
+
source: "https://www.courtlistener.com/api/rest-info/"
|
|
11
|
+
---
|
|
12
|
+
|
|
13
|
+
# CourtListener API Guide
|
|
14
|
+
|
|
15
|
+
## Overview
|
|
16
|
+
|
|
17
|
+
CourtListener is a free legal research platform operated by Free Law Project, a non-profit organization dedicated to making legal data freely accessible. The platform hosts one of the largest open collections of U.S. case law, containing millions of court opinions, docket entries, oral arguments, and judge profiles sourced from PACER (Public Access to Court Electronic Records), state court websites, and historical digitization efforts.
|
|
18
|
+
|
|
19
|
+
The CourtListener REST API provides programmatic access to this extensive legal database, enabling searches across court opinions, dockets, judge biographical data, and court information. The API covers federal courts (Supreme Court, Circuit Courts, District Courts, Bankruptcy Courts) and many state courts, with records spanning from the founding of the republic to the present day.
|
|
20
|
+
|
|
21
|
+
Legal scholars, law students, practicing attorneys, journalists, policy researchers, and civic technologists use the CourtListener API to conduct legal research, perform empirical legal studies, build litigation analytics tools, track judicial behavior, monitor active litigation, and analyze trends in case law. It serves as a critical resource for computational legal studies and access-to-justice initiatives.
|
|
22
|
+
|
|
23
|
+
## Authentication
|
|
24
|
+
|
|
25
|
+
No authentication is required for basic API access. The CourtListener API is publicly accessible for read operations. However, creating an account and using an API token provides higher rate limits and access to additional features. Authentication is recommended for production applications.
|
|
26
|
+
|
|
27
|
+
To obtain an API token:
|
|
28
|
+
1. Create a free account at https://www.courtlistener.com/
|
|
29
|
+
2. Navigate to your profile settings
|
|
30
|
+
3. Generate an API token
|
|
31
|
+
4. Include it in the `Authorization` header
|
|
32
|
+
|
|
33
|
+
```bash
|
|
34
|
+
# Unauthenticated request
|
|
35
|
+
curl "https://www.courtlistener.com/api/rest/v4/opinions/?q=first+amendment"
|
|
36
|
+
|
|
37
|
+
# Authenticated request (higher rate limits)
|
|
38
|
+
curl -H "Authorization: Token YOUR_TOKEN" \
|
|
39
|
+
"https://www.courtlistener.com/api/rest/v4/opinions/?q=first+amendment"
|
|
40
|
+
```
|
|
41
|
+
|
|
42
|
+
## Core Endpoints
|
|
43
|
+
|
|
44
|
+
### opinions: Search Court Opinions
|
|
45
|
+
|
|
46
|
+
Search and retrieve the full text of court opinions (judicial decisions) across all indexed courts.
|
|
47
|
+
|
|
48
|
+
- **URL**: `GET https://www.courtlistener.com/api/rest/v4/opinions/`
|
|
49
|
+
- **Parameters**:
|
|
50
|
+
|
|
51
|
+
| Parameter | Type | Required | Description |
|
|
52
|
+
|----------------|--------|----------|------------------------------------------------------|
|
|
53
|
+
| q | string | No | Full-text search query |
|
|
54
|
+
| court | string | No | Court identifier (e.g., `scotus`, `ca9`) |
|
|
55
|
+
| date_filed_min | string | No | Minimum filing date (YYYY-MM-DD) |
|
|
56
|
+
| date_filed_max | string | No | Maximum filing date (YYYY-MM-DD) |
|
|
57
|
+
| type | string | No | Opinion type: `010combined`, `020lead`, etc. |
|
|
58
|
+
| ordering | string | No | Sort order: `date_filed`, `-date_filed` |
|
|
59
|
+
| page | int | No | Page number for pagination |
|
|
60
|
+
|
|
61
|
+
- **Example**:
|
|
62
|
+
|
|
63
|
+
```bash
|
|
64
|
+
curl "https://www.courtlistener.com/api/rest/v4/opinions/?q=privacy+fourth+amendment&court=scotus&ordering=-date_filed"
|
|
65
|
+
```
|
|
66
|
+
|
|
67
|
+
- **Response**: Returns paginated results with `count`, `next`, `previous`, and `results` array. Each opinion includes `id`, `absolute_url`, `cluster` (case metadata), `author` (judge), `type`, `date_filed`, `plain_text` or `html` (opinion text), `download_url`, and `citations`.
|
|
68
|
+
|
|
69
|
+
### dockets: Access Case Dockets
|
|
70
|
+
|
|
71
|
+
Search and retrieve docket information including case metadata, parties, attorneys, and docket entries from PACER and other sources.
|
|
72
|
+
|
|
73
|
+
- **URL**: `GET https://www.courtlistener.com/api/rest/v4/dockets/`
|
|
74
|
+
- **Parameters**:
|
|
75
|
+
|
|
76
|
+
| Parameter | Type | Required | Description |
|
|
77
|
+
|-----------------|--------|----------|---------------------------------------------------|
|
|
78
|
+
| q | string | No | Full-text search query |
|
|
79
|
+
| court | string | No | Court identifier |
|
|
80
|
+
| date_filed_min | string | No | Minimum filing date |
|
|
81
|
+
| date_filed_max | string | No | Maximum filing date |
|
|
82
|
+
| case_name | string | No | Filter by case name |
|
|
83
|
+
| docket_number | string | No | Filter by docket number |
|
|
84
|
+
| ordering | string | No | Sort order field |
|
|
85
|
+
|
|
86
|
+
- **Example**:
|
|
87
|
+
|
|
88
|
+
```bash
|
|
89
|
+
curl "https://www.courtlistener.com/api/rest/v4/dockets/?q=antitrust&court=scotus&ordering=-date_filed"
|
|
90
|
+
```
|
|
91
|
+
|
|
92
|
+
- **Response**: Returns `count`, `results` array with `id`, `case_name`, `docket_number`, `court`, `date_filed`, `date_terminated`, `nature_of_suit`, `assigned_to` (judge), `referred_to`, and `docket_entries`.
|
|
93
|
+
|
|
94
|
+
### courts: Court Information
|
|
95
|
+
|
|
96
|
+
Retrieve information about courts in the CourtListener database, including jurisdiction, location, and identifiers.
|
|
97
|
+
|
|
98
|
+
- **URL**: `GET https://www.courtlistener.com/api/rest/v4/courts/`
|
|
99
|
+
- **Parameters**:
|
|
100
|
+
|
|
101
|
+
| Parameter | Type | Required | Description |
|
|
102
|
+
|--------------|--------|----------|-------------------------------------------------|
|
|
103
|
+
| jurisdiction | string | No | Filter by jurisdiction type: `F` (federal), `S` (state) |
|
|
104
|
+
|
|
105
|
+
- **Example**:
|
|
106
|
+
|
|
107
|
+
```bash
|
|
108
|
+
curl "https://www.courtlistener.com/api/rest/v4/courts/?jurisdiction=F"
|
|
109
|
+
```
|
|
110
|
+
|
|
111
|
+
- **Response**: Returns court objects with `id`, `full_name`, `short_name`, `jurisdiction`, `position`, `start_date`, `end_date`, and `url`.
|
|
112
|
+
|
|
113
|
+
### people: Judge Profiles
|
|
114
|
+
|
|
115
|
+
Access biographical and professional information about judges, including their appointment history, education, and political affiliations.
|
|
116
|
+
|
|
117
|
+
- **URL**: `GET https://www.courtlistener.com/api/rest/v4/people/`
|
|
118
|
+
- **Parameters**:
|
|
119
|
+
|
|
120
|
+
| Parameter | Type | Required | Description |
|
|
121
|
+
|--------------|--------|----------|------------------------------------------|
|
|
122
|
+
| q | string | No | Name search query |
|
|
123
|
+
| court | string | No | Filter by court served |
|
|
124
|
+
| appointer | int | No | Filter by appointing authority |
|
|
125
|
+
|
|
126
|
+
- **Example**:
|
|
127
|
+
|
|
128
|
+
```bash
|
|
129
|
+
curl "https://www.courtlistener.com/api/rest/v4/people/?q=ginsburg"
|
|
130
|
+
```
|
|
131
|
+
|
|
132
|
+
- **Response**: Returns judge profiles with `id`, `name_first`, `name_last`, `date_of_birth`, `gender`, `positions` (court appointments with dates), `education`, `political_affiliations`, and `aba_ratings`.
|
|
133
|
+
|
|
134
|
+
### search: Unified Search
|
|
135
|
+
|
|
136
|
+
Perform a unified full-text search across all CourtListener content types.
|
|
137
|
+
|
|
138
|
+
- **URL**: `GET https://www.courtlistener.com/api/rest/v4/search/`
|
|
139
|
+
- **Parameters**:
|
|
140
|
+
|
|
141
|
+
| Parameter | Type | Required | Description |
|
|
142
|
+
|-----------|--------|----------|-----------------------------------------------|
|
|
143
|
+
| q | string | Yes | Search query |
|
|
144
|
+
| type | string | No | Content type: `o` (opinions), `r` (RECAP), `oa` (oral arguments) |
|
|
145
|
+
|
|
146
|
+
- **Example**:
|
|
147
|
+
|
|
148
|
+
```bash
|
|
149
|
+
curl "https://www.courtlistener.com/api/rest/v4/search/?q=net+neutrality&type=o"
|
|
150
|
+
```
|
|
151
|
+
|
|
152
|
+
- **Response**: Returns unified search results with relevance scoring across content types.
|
|
153
|
+
|
|
154
|
+
## Rate Limits
|
|
155
|
+
|
|
156
|
+
The CourtListener API allows up to 5,000 requests per hour for unauthenticated users. Authenticated users with API tokens receive higher limits. The API returns standard HTTP 429 responses when limits are exceeded. For bulk data access, CourtListener provides downloadable bulk data files at https://www.courtlistener.com/api/bulk-info/ which are more appropriate for large-scale research projects. The bulk data includes complete opinion texts, docket metadata, and judge biographical data.
|
|
157
|
+
|
|
158
|
+
## Common Patterns
|
|
159
|
+
|
|
160
|
+
### Track Recent Supreme Court Opinions
|
|
161
|
+
|
|
162
|
+
Monitor new opinions from the Supreme Court of the United States:
|
|
163
|
+
|
|
164
|
+
```python
|
|
165
|
+
import requests
|
|
166
|
+
|
|
167
|
+
params = {
|
|
168
|
+
"court": "scotus",
|
|
169
|
+
"ordering": "-date_filed",
|
|
170
|
+
"page_size": 10
|
|
171
|
+
}
|
|
172
|
+
resp = requests.get("https://www.courtlistener.com/api/rest/v4/opinions/", params=params)
|
|
173
|
+
data = resp.json()
|
|
174
|
+
|
|
175
|
+
for opinion in data["results"]:
|
|
176
|
+
cluster = opinion.get("cluster", {})
|
|
177
|
+
print(f"{opinion['date_filed']}: {cluster.get('case_name', 'Unknown')}")
|
|
178
|
+
```
|
|
179
|
+
|
|
180
|
+
### Empirical Analysis of Judicial Citations
|
|
181
|
+
|
|
182
|
+
Study citation patterns across courts and time periods:
|
|
183
|
+
|
|
184
|
+
```python
|
|
185
|
+
import requests
|
|
186
|
+
|
|
187
|
+
params = {
|
|
188
|
+
"q": "stare decisis",
|
|
189
|
+
"court": "scotus",
|
|
190
|
+
"date_filed_min": "2020-01-01",
|
|
191
|
+
"ordering": "-date_filed"
|
|
192
|
+
}
|
|
193
|
+
resp = requests.get("https://www.courtlistener.com/api/rest/v4/search/", params={**params, "type": "o"})
|
|
194
|
+
results = resp.json()
|
|
195
|
+
|
|
196
|
+
print(f"Found {results['count']} opinions mentioning 'stare decisis' since 2020")
|
|
197
|
+
```
|
|
198
|
+
|
|
199
|
+
### Judge Appointment Analysis
|
|
200
|
+
|
|
201
|
+
Research judicial appointments and their characteristics:
|
|
202
|
+
|
|
203
|
+
```bash
|
|
204
|
+
curl "https://www.courtlistener.com/api/rest/v4/people/?court=scotus&ordering=-date_nominated"
|
|
205
|
+
```
|
|
206
|
+
|
|
207
|
+
## References
|
|
208
|
+
|
|
209
|
+
- Official API documentation: https://www.courtlistener.com/api/rest-info/
|
|
210
|
+
- CourtListener homepage: https://www.courtlistener.com/
|
|
211
|
+
- Bulk data downloads: https://www.courtlistener.com/api/bulk-info/
|
|
212
|
+
- Free Law Project: https://free.law/
|
|
213
|
+
- RECAP Archive: https://www.courtlistener.com/recap/
|
|
@@ -0,0 +1,250 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: legal-research-guide
|
|
3
|
+
description: "Legal research methods, case law analysis, and compliance tools"
|
|
4
|
+
metadata:
|
|
5
|
+
openclaw:
|
|
6
|
+
emoji: "scales"
|
|
7
|
+
category: "domains"
|
|
8
|
+
subcategory: "law"
|
|
9
|
+
keywords: ["law", "jurisprudence", "case law", "compliance analysis"]
|
|
10
|
+
source: "wentor-research-plugins"
|
|
11
|
+
---
|
|
12
|
+
|
|
13
|
+
# Legal Research Guide
|
|
14
|
+
|
|
15
|
+
Conduct systematic legal research across jurisdictions, analyze case law, navigate statutory frameworks, and use computational legal tools for academic and practice-oriented research.
|
|
16
|
+
|
|
17
|
+
## Legal Research Frameworks
|
|
18
|
+
|
|
19
|
+
### IRAC Method
|
|
20
|
+
|
|
21
|
+
The standard analytical framework for legal reasoning:
|
|
22
|
+
|
|
23
|
+
| Step | Description | Example |
|
|
24
|
+
|------|-------------|---------|
|
|
25
|
+
| **Issue** | Identify the legal question | "Does web scraping of public data constitute a CFAA violation?" |
|
|
26
|
+
| **Rule** | State the applicable legal rule | "The CFAA prohibits accessing a computer 'without authorization' or 'exceeding authorized access'" |
|
|
27
|
+
| **Application** | Apply the rule to the facts | "In hiQ v. LinkedIn, the 9th Circuit held that scraping publicly available data does not violate the CFAA..." |
|
|
28
|
+
| **Conclusion** | State the legal conclusion | "Therefore, scraping publicly available academic data likely does not violate the CFAA, though terms-of-service issues remain." |
|
|
29
|
+
|
|
30
|
+
### CREAC Method (For Academic Legal Writing)
|
|
31
|
+
|
|
32
|
+
```
|
|
33
|
+
C - Conclusion (state your thesis)
|
|
34
|
+
R - Rule (present the legal rule with authority)
|
|
35
|
+
E - Explanation (analyze how courts have interpreted the rule)
|
|
36
|
+
A - Application (apply the rule to your specific scenario)
|
|
37
|
+
C - Conclusion (restate and refine conclusion)
|
|
38
|
+
```
|
|
39
|
+
|
|
40
|
+
## Legal Research Databases
|
|
41
|
+
|
|
42
|
+
### Primary Sources
|
|
43
|
+
|
|
44
|
+
| Database | Coverage | Cost | Best For |
|
|
45
|
+
|----------|----------|------|----------|
|
|
46
|
+
| Westlaw (Thomson Reuters) | US, UK, EU, international | Subscription | Comprehensive case law, KeyCite citator |
|
|
47
|
+
| LexisNexis | US, UK, international | Subscription | News integration, Shepard's citator |
|
|
48
|
+
| Google Scholar (Case Law) | US federal and state courts | Free | Quick case lookup, citation tracking |
|
|
49
|
+
| Casetext / CoCounsel | US courts | Subscription | AI-powered legal research |
|
|
50
|
+
| CourtListener | US federal courts | Free | PACER alternative, bulk data |
|
|
51
|
+
| EUR-Lex | EU law | Free | EU legislation, CJEU case law |
|
|
52
|
+
| BAILII | UK, Ireland | Free | UK case law and legislation |
|
|
53
|
+
| Justia | US law | Free | US case law, statutes, regulations |
|
|
54
|
+
| HeinOnline | Historical legal materials | Subscription | Law journals, treaties, legislative history |
|
|
55
|
+
|
|
56
|
+
### Secondary Sources
|
|
57
|
+
|
|
58
|
+
| Source | Content | Use |
|
|
59
|
+
|--------|---------|-----|
|
|
60
|
+
| Law reviews / journals | Scholarly analysis | Academic research, policy arguments |
|
|
61
|
+
| Restatements | ALI compilations of common law | Authoritative secondary source |
|
|
62
|
+
| Treatises | Comprehensive subject coverage | Deep dive into specific areas |
|
|
63
|
+
| Legal encyclopedias (AmJur, CJS) | Broad legal summaries | Starting point for unfamiliar areas |
|
|
64
|
+
| Practice guides | Practical how-to | Practitioner-oriented research |
|
|
65
|
+
|
|
66
|
+
## Citation Systems
|
|
67
|
+
|
|
68
|
+
### Bluebook (US Standard)
|
|
69
|
+
|
|
70
|
+
```
|
|
71
|
+
# Case citation
|
|
72
|
+
Marbury v. Madison, 5 U.S. (1 Cranch) 137 (1803).
|
|
73
|
+
Brown v. Board of Education, 347 U.S. 483, 495 (1954).
|
|
74
|
+
|
|
75
|
+
# Statute citation
|
|
76
|
+
42 U.S.C. Section 1983 (2018).
|
|
77
|
+
Cal. Civ. Code Section 1798.100 (West 2020). # California statute
|
|
78
|
+
|
|
79
|
+
# Law review article
|
|
80
|
+
Jane Smith, The Future of AI Regulation, 120 Harv. L. Rev. 456 (2024).
|
|
81
|
+
|
|
82
|
+
# Book
|
|
83
|
+
Richard Posner, Economic Analysis of Law 25 (9th ed. 2014).
|
|
84
|
+
|
|
85
|
+
# Short form citations (after first full citation)
|
|
86
|
+
Brown, 347 U.S. at 495.
|
|
87
|
+
Smith, supra note 12, at 460.
|
|
88
|
+
Id. at 462. # Same source as immediately preceding citation
|
|
89
|
+
```
|
|
90
|
+
|
|
91
|
+
### OSCOLA (UK/Oxford Standard)
|
|
92
|
+
|
|
93
|
+
```
|
|
94
|
+
# Case citation
|
|
95
|
+
Donoghue v Stevenson [1932] AC 562 (HL).
|
|
96
|
+
R v Brown [1994] 1 AC 212, 237 (HL).
|
|
97
|
+
|
|
98
|
+
# Statute citation
|
|
99
|
+
Human Rights Act 1998, s 3.
|
|
100
|
+
Data Protection Act 2018, s 170(1).
|
|
101
|
+
|
|
102
|
+
# Journal article
|
|
103
|
+
Jane Smith, 'The Future of AI Regulation' (2024) 120 Modern Law Review 456.
|
|
104
|
+
|
|
105
|
+
# Book
|
|
106
|
+
Richard Posner, Economic Analysis of Law (9th edn, Aspen 2014) 25.
|
|
107
|
+
```
|
|
108
|
+
|
|
109
|
+
## Computational Legal Research
|
|
110
|
+
|
|
111
|
+
### Case Law Analysis with Python
|
|
112
|
+
|
|
113
|
+
```python
|
|
114
|
+
import requests
|
|
115
|
+
import json
|
|
116
|
+
|
|
117
|
+
# Using the CourtListener API (free, open-source)
|
|
118
|
+
BASE_URL = "https://www.courtlistener.com/api/rest/v3"
|
|
119
|
+
|
|
120
|
+
def search_opinions(query, court="scotus", page_size=20):
|
|
121
|
+
"""Search case opinions via CourtListener API."""
|
|
122
|
+
response = requests.get(
|
|
123
|
+
f"{BASE_URL}/search/",
|
|
124
|
+
params={
|
|
125
|
+
"q": query,
|
|
126
|
+
"type": "o", # opinions
|
|
127
|
+
"court": court,
|
|
128
|
+
"page_size": page_size,
|
|
129
|
+
"order_by": "score desc"
|
|
130
|
+
},
|
|
131
|
+
headers={"Authorization": "Token YOUR_API_TOKEN"}
|
|
132
|
+
)
|
|
133
|
+
results = response.json()
|
|
134
|
+
for case in results.get("results", []):
|
|
135
|
+
print(f"[{case.get('dateFiled', 'N/A')}] {case.get('caseName', 'N/A')}")
|
|
136
|
+
print(f" Court: {case.get('court', 'N/A')}")
|
|
137
|
+
print(f" Citation: {case.get('citation', ['N/A'])[0] if case.get('citation') else 'N/A'}")
|
|
138
|
+
print(f" URL: https://www.courtlistener.com{case.get('absolute_url', '')}")
|
|
139
|
+
return results
|
|
140
|
+
|
|
141
|
+
# Search for AI-related Supreme Court cases
|
|
142
|
+
results = search_opinions("artificial intelligence", court="scotus")
|
|
143
|
+
```
|
|
144
|
+
|
|
145
|
+
### Citation Network Analysis
|
|
146
|
+
|
|
147
|
+
```python
|
|
148
|
+
import networkx as nx
|
|
149
|
+
|
|
150
|
+
def build_citation_network(seed_case_ids, depth=2):
|
|
151
|
+
"""Build a citation network starting from seed cases."""
|
|
152
|
+
G = nx.DiGraph()
|
|
153
|
+
visited = set()
|
|
154
|
+
queue = [(cid, 0) for cid in seed_case_ids]
|
|
155
|
+
|
|
156
|
+
while queue:
|
|
157
|
+
case_id, level = queue.pop(0)
|
|
158
|
+
if case_id in visited or level > depth:
|
|
159
|
+
continue
|
|
160
|
+
visited.add(case_id)
|
|
161
|
+
|
|
162
|
+
# Get case metadata and citations
|
|
163
|
+
resp = requests.get(f"{BASE_URL}/opinions/{case_id}/",
|
|
164
|
+
headers={"Authorization": "Token YOUR_API_TOKEN"})
|
|
165
|
+
if resp.status_code != 200:
|
|
166
|
+
continue
|
|
167
|
+
|
|
168
|
+
case = resp.json()
|
|
169
|
+
case_name = case.get("case_name", f"Case {case_id}")
|
|
170
|
+
G.add_node(case_id, name=case_name, date=case.get("date_filed"))
|
|
171
|
+
|
|
172
|
+
# Get citing opinions (who cites this case)
|
|
173
|
+
for cited_id in case.get("opinions_cited", []):
|
|
174
|
+
G.add_edge(case_id, cited_id)
|
|
175
|
+
if level < depth:
|
|
176
|
+
queue.append((cited_id, level + 1))
|
|
177
|
+
|
|
178
|
+
return G
|
|
179
|
+
|
|
180
|
+
# Analyze: which cases are most cited (highest in-degree)?
|
|
181
|
+
# These are the most authoritative precedents
|
|
182
|
+
```
|
|
183
|
+
|
|
184
|
+
### Statutory Text Analysis
|
|
185
|
+
|
|
186
|
+
```python
|
|
187
|
+
# Analyzing legislative text complexity
|
|
188
|
+
import re
|
|
189
|
+
from textstat import textstat
|
|
190
|
+
|
|
191
|
+
def analyze_statute(text):
|
|
192
|
+
"""Compute readability metrics for statutory text."""
|
|
193
|
+
return {
|
|
194
|
+
"flesch_reading_ease": textstat.flesch_reading_ease(text),
|
|
195
|
+
"flesch_kincaid_grade": textstat.flesch_kincaid_grade(text),
|
|
196
|
+
"gunning_fog": textstat.gunning_fog(text),
|
|
197
|
+
"word_count": textstat.lexicon_count(text),
|
|
198
|
+
"sentence_count": textstat.sentence_count(text),
|
|
199
|
+
"avg_sentence_length": textstat.avg_sentence_length(text),
|
|
200
|
+
"defined_terms": len(re.findall(r'"[A-Z][^"]*"', text)),
|
|
201
|
+
"cross_references": len(re.findall(r'[Ss]ection \d+', text))
|
|
202
|
+
}
|
|
203
|
+
|
|
204
|
+
# Example: Analyze a section of the GDPR
|
|
205
|
+
gdpr_article_5 = """
|
|
206
|
+
Personal data shall be processed lawfully, fairly and in a transparent
|
|
207
|
+
manner in relation to the data subject; collected for specified, explicit
|
|
208
|
+
and legitimate purposes and not further processed in a manner that is
|
|
209
|
+
incompatible with those purposes; adequate, relevant and limited to what
|
|
210
|
+
is necessary in relation to the purposes for which they are processed.
|
|
211
|
+
"""
|
|
212
|
+
print(analyze_statute(gdpr_article_5))
|
|
213
|
+
```
|
|
214
|
+
|
|
215
|
+
## Research Areas in Law
|
|
216
|
+
|
|
217
|
+
| Area | Key Topics | Interdisciplinary Connections |
|
|
218
|
+
|------|-----------|------------------------------|
|
|
219
|
+
| **AI & Law** | Algorithmic fairness, liability for autonomous systems, AI regulation | CS, philosophy |
|
|
220
|
+
| **IP Law** | Patent, copyright, trade secret, open source licensing | Engineering, business |
|
|
221
|
+
| **Privacy Law** | GDPR, CCPA, surveillance, data protection | CS, political science |
|
|
222
|
+
| **Law & Economics** | Efficiency analysis of legal rules, behavioral law & economics | Economics |
|
|
223
|
+
| **Comparative Law** | Cross-jurisdictional analysis, legal transplants | Political science |
|
|
224
|
+
| **International Law** | Treaties, humanitarian law, trade law | International relations |
|
|
225
|
+
| **Environmental Law** | Climate litigation, ESG regulation, environmental justice | Environmental science |
|
|
226
|
+
| **Health Law** | Clinical trial regulation, health data, bioethics | Medicine, public health |
|
|
227
|
+
|
|
228
|
+
## Practical Research Workflow
|
|
229
|
+
|
|
230
|
+
1. **Frame the legal question** using IRAC or CREAC structure
|
|
231
|
+
2. **Search secondary sources** first (treatises, law reviews) for background
|
|
232
|
+
3. **Identify governing law** (federal vs. state, statutory vs. common law)
|
|
233
|
+
4. **Find controlling authority** (binding precedent in your jurisdiction)
|
|
234
|
+
5. **Shepardize / KeyCite** every case to ensure it is still good law
|
|
235
|
+
6. **Analyze and synthesize** cases by extracting rules, holdings, and reasoning
|
|
236
|
+
7. **Consider policy arguments** drawing on law and economics, empirical legal studies, or comparative law perspectives
|
|
237
|
+
8. **Update regularly** as law changes frequently (set up alerts on Westlaw/Lexis)
|
|
238
|
+
|
|
239
|
+
## Top Academic Venues
|
|
240
|
+
|
|
241
|
+
| Journal | Rank | Focus |
|
|
242
|
+
|---------|------|-------|
|
|
243
|
+
| Harvard Law Review | T1 | General |
|
|
244
|
+
| Yale Law Journal | T1 | General |
|
|
245
|
+
| Stanford Law Review | T1 | General, tech law |
|
|
246
|
+
| Columbia Law Review | T1 | General |
|
|
247
|
+
| Journal of Legal Studies | T1 | Law & economics |
|
|
248
|
+
| Journal of Empirical Legal Studies | T1 | Empirical methods |
|
|
249
|
+
| Computer Law & Security Review | Field | Technology law |
|
|
250
|
+
| Berkeley Technology Law Journal | Field | Tech, IP |
|