Community程式設計與開發github.com

danepps/法律研究技能

為播客、課堂或文章收集美國最高法院(SCOTUS)案件完整文件集,包括訴訟文件、判決書及口頭辯論逐字稿,並以每個案件專屬資料夾形式上傳至使用者的 reMarkable 平板。可透過「準備<案件>」、「下載<案件>的書狀」等指令手動觸發。

法律研究技能 是什麼?

此技能專為需要深入分析美國最高法院案件的法律專業人士、教育工作者或播客主持人設計。它能根據案件名稱(或案號)自動從最高法院網站、CourtListener 等權威來源搜集完整的閱讀文件集,包括調卷令申請、答辯狀、下級法院判決、問題陳述及口頭辯論逐字稿。技能會確保每個文件都是真實的 PDF 並驗證其完整性,最後自動裁切邊距並以案件為單位上傳到 reMarkable 平板,讓使用者在紙質螢幕上輕鬆閱讀。此技能支援各類開發工具環境,如 Claude Code 和 Cursor,並提供詳細的操作步驟及錯誤處理。

相容平台✓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 的新對話。

說明文件

最高法院案件準備 → 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/<DOCKET>.html 擷取該頁面並提取 DocketPDF 連結。條目標題會識別每個提交文件(「調卷令申請書已提交」、「申請人答辯狀」、「美國政府法庭之友意見書」等)。

預設文件集(依閱讀順序——若尚未存在則跳過,並在清單中註明):

#文件來源
00問題陳述https://www.supremecourt.gov/qp/<TERM>-<5-digit-zero-padded-number>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/<TERM>/<docket>_<suffix>.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:<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 <file.pdf> 非零退出碼表示未找到合理的內容框——此時上傳未裁切的檔案,而不是失敗。
  2. remarkable_mkdir → <專案>/<短標題>(例如 SCOTUS Prep/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.

相關技能