Community编程与开发github.com

danepps/法律研究-案例准备技能

为播客节目、课堂或文章收集美国最高法院(SCOTUS)案件的完整文档集——包括调卷令阶段文件、案情摘要、下级法院判决、争议问题以及口头辩论记录——并按案件名称在用户的 reMarkable 上创建独立文件夹。手动触发——当用户说出“准备 <案件>”、“获取 <案件> 的摘要”、“加载 <案件>”或类似指令时使用。

法律研究-案例准备技能 是什么?

该技能是一个专业助手,专为需要快速、系统地准备美国最高法院(SCOTUS)案件文献集的用户设计,支持在 reMarkable 电纸书上进行整理和阅读。用户只需提供案件名称或卷宗号,技能便会自动执行四个核心步骤:首先通过网络搜索确认案件的确切标题和卷宗号,解决名称歧义问题;然后访问最高法院官网、CourtListener 等权威来源,根据预设的阅读顺序下载关键文件(如调卷令申请、双方案情摘要、下级法院判决、争议问题说明及口头辩论记录),同时跳过尚未公开或不存在的文件并在报告中诚实说明;接着使用脚本裁剪文件边距后,通过 MCP 工具在 reMarkable 设备上创建案件文件夹并按编号顺序上传;最后向用户生成一份详细的清单,包含已上传文件、缺失原因及友情摘要统计。该技能严格遵循硬性规则:确保每个上传文件都是真实的 PDF(验证 %PDF 文件头),从不伪造或替代文件,从而保证文献的完整性和可靠性。

兼容平台✓Claude Code~Codex CLI~Cursor
npx skills add https://github.com/danepps/legal-research-skills/tree/HEAD/claude-code/skills/case-prep

Installed? Explore more 编程与开发 skills: steipete/bluebubbles, steipete/eightctl, steipete/blucli · View all 6 →

在你喜欢的 AI 中提问

打开一个已预加载此 Agent Skill 的新对话。

文档

SCOTUS 案件准备 → reMarkable

给定一个案件名称(以及可选的卷宗号),收集规范的阅读文档集并将其上传到平板电脑的 <项目>/<案件>/ 目录下。

硬性规则

  • 每个上传的文档都是您实际下载的真实 PDF。 在上传之前,验证每个文件是否以 %PDF 开头。绝不要手动构造一个文档 URL 并假设其成功——必须实际获取并检查。
  • 首先通过网络确认案件标题和卷宗号。 如果名称存在歧义(多个已受理的合并案件、共同当事人名称),在下载错误案件的摘要之前,先与用户确认。
  • 诚实地报告遗漏的文件。 如果某个文件尚未提交、未公开或无法找到,在最终清单中明确说明。绝不要用类似文件替代。

步骤 1 — 解析案件

  1. 通过网络搜索案件名称,确认确切的标题和最高法院卷宗号(格式 NN-NNN,例如 24-316)。可靠的确认来源包括:supremecourt.gov、SCOTUSblog 案件页面、Oyez。
  2. 注意案件是否与其他案件合并(获取主卷宗号;在清单中提及合并案件)。
  3. 记录辩论状态:尚未辩论 / 已辩论(可获得记录)/ 已判决。

步骤 2 — 下载文档(到临时目录,通过 curl 下载)

卷宗页面(所有提交文件的索引,包含 PDF 链接): https://www.supremecourt.gov/search.aspx?filename=/docket/docketfiles/html/public/<卷宗号>.html 获取后提取 DocketPDF 链接。页面条目文本标识每个文件(“调卷令申请已提交”、“申请人摘要”、“美国法庭之友摘要”等)。

默认文档集(按阅读顺序排列——跳过尚不存在的文件;在清单中注明):

#文档来源
00争议问题https://www.supremecourt.gov/qp/<任期>-<5位数字零填充编号>qp.pdf(例如卷宗号 24-316 → 24-00316qp.pdf)
01下级法院判决CourtListener(如下所示)
02调卷令申请卷宗页面
03反对摘要卷宗页面
04调卷令阶段回复卷宗页面
05申请人案情摘要(实质)卷宗页面
06被申请人案情摘要(实质)卷宗页面
07实质回复摘要卷宗页面
08美国/总检察长友情摘要(如有,任意阶段)卷宗页面
09口头辩论记录(如已辩论)https://www.supremecourt.gov/oral_arguments/argument_transcripts/ — 链接遵循 .../argument_transcripts/<任期>/<卷宗号>_<后缀>.pdf;在当期的记录索引页面上查找真实链接

其他友情摘要:不要默认全部下载(可能多达几十份)。告知用户有多少份已提交,并主动提供添加特定文件。

通过 CourtListener 获取下级法院判决: 搜索 https://www.courtlistener.com/api/rest/v4/search/?q=<案件名称>&court=<下级法院 ID> 或网站搜索,匹配调卷令申请中的卷宗号/案件标题(申请的前几页精确指出了下方判决)。然后使用法律研究技能的辅助工具,确定性地解析并下载 PDF(优先使用 CourtListener 存储的副本,失败时回退到法院自己的文件,保存前验证 %PDF 魔术字节):

python3 ${CLAUDE_PLUGIN_ROOT}/skills/legal-research/cl_case_tools.py pdf cluster:<集群ID> --out "01 下级法院判决.pdf"

(cluster_id 来自搜索结果;如果有判例引用,也可以使用)。如果 CourtListener 或法院网站上没有 PDF,调卷令申请的附录中包含下级法院判决——将其标记为回退方案,而不是上传未经验证的文件。

在访问 supremecourt.gov 时使用浏览器模拟的 User-Agent(裸 curl 会返回 403):curl -sL -A "Mozilla/5.0" -o <文件> <网址>。

步骤 3 — 上传到 reMarkable

工具:remarkable_* MCP 工具(如果未加载:ToolSearch "select:mcp__remarkable__remarkable_upload,mcp__remarkable__remarkable_mkdir,mcp__remarkable__remarkable_browse" — 根据连接服务器泄露的前缀调整)。

  1. 先裁剪边距 — 在每个 PDF 上运行此技能的 crop_pdf.py 脚本,使文档在平板电脑上无空白边距打开(用户无需手动调整边框): uv run <此技能目录>/crop_pdf.py <文件名.pdf> 如果退出码非零,表示未找到合理的内容框——此时上传未经裁剪的文件,而不是失败。
  2. remarkable_mkdir → <项目>/<简短案件标题>(例如 SCOTUS 准备/Smith v. Arizona)。
  3. 按表格所示上传每个 PDF,命名为 NN 标题.pdf(保留编号以便按阅读顺序排序),例如 02 调卷令申请.pdf、06 被申请人实质摘要.pdf。
  4. 之后使用 remarkable_browse 浏览该文件夹,确认所有文件都已成功上传。

步骤 4 — 报告

向用户提供一个清单:案件标题、卷宗号、辩论日期/状态、每个已上传的文档(伴有卷宗页面显示的提交日期)、每个不可用的文档及其原因、合并案件以及友情摘要统计,并主动提供拉取特定文件。

Individual skills in this repo

This repo contains 4 individual skills — each has its own dedicated page.

danepps/legal-research-skills

Build or extend a Zotero collection of verified sources for a project — find the sources (web, catalogs, HeinOnline via an institutional library proxy), add them with full metadata via the Zotero Web API, then run a deterministic anti-hallucination check that every added item must pass. Trigger when the user wants sources gathered into Zotero ("build a library for X", "add the books/articles on X to my Zotero", "populate <collection> with …").

danepps/legal-research-skills

Verify every citation and quotation in an article draft against the real sources — cases via CourtListener + official reporters, scholarship via the user's Zotero library then the open web — and return a graded, footnote-by-footnote report with a "needs your attention" section first, plus a citation-form section (short cites per Bluebook R. 10.9/4.2 and italics/small caps per R. 2.1(a)) decided from the draft alone. Trigger when the user wants a draft cite-checked ("cite-check this", "check the citations/quotes in this draft", "run cite-check on <file>"). Input: a .docx with real Word footnotes (markdown/plain-text fallback). Not a full Bluebook linter — signal order, citation order and cite composition stay out.

danepps/legal-research-skills

Quick, verified citation-finding for a specific proposition — a footnote-filler, not a research memo. Returns a few Supreme Court cites and/or a few scholarly cites (top scholars in flagship journals preferred; student notes only as a last resort), each verified with a pincite and a parenthetical or quote. Trigger when the user asks "find me a cite for X", "what should I cite for this footnote", "I need authority for the proposition that…", or pastes a sentence with an empty footnote.

danepps/legal-research-skills

Deep legal research that fans out multiple agents across free legal sources, verifies every authority, and returns a polished, well-cited memo. Use for case-law research, legal-scholarship / literature reviews, or both. Modes — caselaw | scholarship | both. Trigger when the user wants a thorough doctrinal memo, a survey of the academic debate, an answer grounded in cases/statutes, or a research deep-dive on a legal question.

相关技能