mcpField
2
2026-legal-research-agent

2026-legal-research-agent

github.com/curiositech生産性257230 回インストール2 日前に更新
リポジトリ

2026-legal-research-agent について

National Expungement Guide プロジェクト向けに、州ごとの犯罪記録抹消法と関連資料を収集・検証する法律調査スキルです。情報源の優先順位、Firecrawl の設定、データ検証、網羅性の分析を扱い、法律の解釈や法的助言は行いません。

主な機能

  1. 01州の権威ある法律情報源の特定
  2. 02Firecrawl のスクレイピング設定
  3. 03取得データの検証
  4. 042026年の法改正調査
  5. 05州別 URL パターンの整理
  6. 06データ網羅性の不足分析

活用シーン

  1. 01州の犯罪記録抹消法を確認
  2. 02裁判所や議会サイトの取得を設定
  3. 03法令・書式・手数料データを検証
  4. 04州単位の資料不足を特定

インストール

コマンドをコピーしてターミナルで実行します。

$npx skills add https://github.com/curiositech/some_claude_skills --skill 2026-legal-research-agent

インストール後、Claude Code で/2026-legal-research-agentを入力して読み込まれたか確認します。

同梱ファイル

SKILL.md と一緒にインストールされる参考資料やスクリプト。

.claude-plugin/
plugin.json
references/
clean-slate-timeline.md
url-patterns-by-state.md
scripts/
validate-scraped-data.ts

詳細

2026 法律調査エージェント


このスキルを使用する場面

次のような場合に、このスキルを使用してください。

  • 特定の州の犯罪記録抹消法に関する信頼できる情報源を見つける
  • 裁判所システム、州議会、法律扶助サイトをスクレイピングする Firecrawl ジョブを設定する
  • スクレイピングしたデータの正確性と完全性を検証する
  • クリーンスレート法やマリファナ関連の犯罪記録抹消を含む、2026 年の法改正を調査する
  • 州ごとの体系的なデータ収集に向けて URL パターンを構築する
  • 既存のスクレイピング済みデータにおけるカバー範囲の不足を特定する

次の目的では、このスキルを使用しないでください。

  • 法律の意味を解釈する場合(national-expungement-expert を使用してください)
  • ユーザーインターフェースやコンポーネントを構築する場合
  • ユーザーに法律上の助言を提供する場合
  • 法律データと無関係な一般的なウェブスクレイピングを行う場合

基本的な指示

1. 信頼できる情報源の優先順位

犯罪記録抹消法を調査する際は、次の順に情報源を優先してください。

Tier 1 (Primary Authority):
├── State Legislature websites (statute text)
├── State Court Administrative Office
└── State Attorney General publications

Tier 2 (Official Secondary):
├── State Bar Association guides
├── Court self-help centers
└── Public law databases (public.law, justia.com)

Tier 3 (Tertiary but Valuable):
├── Legal aid organizations (LSC grantees)
├── Law school clinics
└── Reentry organizations (CCRC, NACDL)

Tier 4 (Verification Only):
├── Commercial legal databases
├── News articles about law changes
└── Attorney blog posts

識別の要点:初心者は Google 検索の最初の結果をスクレイピングします。専門家は、courts.{state}.gov にセルフヘルプ用の書式があり、legislature.{state}.gov に法令本文があることを理解しており、両方が必要だと知っています。

2. 州の種類別 URL パターンの知識

州によって、法律関連の情報源の構成は異なります。次のパターンを把握してください。

統合型裁判所システム(裁判所がすべてを管理):

California: courts.ca.gov/selfhelp-expungement.htm
Oregon: courts.oregon.gov/programs/exp/Pages/default.aspx
Washington: courts.wa.gov/forms/?fa=forms.contribute&formID=101

分離型システム(州議会と裁判所が別々):

Texas: txcourts.gov (forms) + texas.public.law (statutes)
New York: nycourts.gov (forms) + nysenate.gov/legislation/laws (statutes)
Florida: flcourts.gov (forms) + leg.state.fl.us/statutes (statutes)

Public.law の州(法令の掲載に優れている):

oregon.public.law, california.public.law, texas.public.law
michigan.public.law, washington.public.law

識別の要点:apps.leg.wa.gov/RCW/ がワシントン州の法令データベースであり、leg.wa.gov が州議会の一般サイトであることを把握してください。実際の法令本文が掲載されているのは、RCW サブドメインです。

3. 2026 年の法的状況の把握

2026 年現在、次の大きな変更が調査に影響します。

クリーンスレート州(自動的な犯罪記録抹消が成立):

  • ペンシルベニア州(2018 年)、ユタ州(2019 年)、ニュージャージー州(2019 年)、ミシガン州(2020 年)
  • カリフォルニア州(2020 年)、コネチカット州(2021 年)、デラウェア州(2021 年)、バージニア州(2021 年)
  • オクラホマ州(2022 年)、コロラド州(2022 年)、ニューヨーク州(2023 年)、ミネソタ州(2023 年)
  • メリーランド州(2024 年)、イリノイ州(2024 年)、オレゴン州(2025 年)

マリファナ関連の犯罪記録抹消(個別の法令):

  • 現在、ほとんどの州にマリファナ関連の犯罪記録抹消に関する個別の規定があります
  • 「犯罪記録抹消」とあわせて「大麻の有罪判決」も検索してください
  • 遡及適用の開始日を確認してください

確認が必要な 2025~2026 年の法改正:

  • オレゴン州 HB 2316(対象資格の拡大)
  • カリフォルニア州 AB 1076(自動救済措置の拡大)
  • CCRC の Restoration of Rights Project で最新の状況を確認してください

識別の要点:「自動的な犯罪記録抹消」は即時の抹消を意味するわけではありません。ペンシルベニア州の Clean Slate では、逮捕記録に 10 年の待機期間があり、期間は犯罪の種類によって異なります。調査では、こうした細かな条件も把握する必要があります。

4. Firecrawl 設定の専門知識

スクレイピングジョブを設定する際は、次の点に留意してください。

抽出スキーマの設計:

// For statute pages, extract:
{
  statuteCitation: "string",   // e.g., "ORS 137.225"
  title: "string",             // e.g., "Setting aside conviction"
  fullText: "string",          // Complete statute text
  effectiveDate: "string",     // When current version took effect
  lastAmended: "string",       // Most recent amendment date
  subsections: "array",        // Parsed subsections
}

// For court self-help pages, extract:
{
  stateName: "string",
  expungementPageUrl: "string",
  formsLibraryUrl: "string",
  selfHelpUrl: "string",
  contactPhone: "string",
  feeScheduleUrl: "string",
}

// For forms, extract:
{
  formNumber: "string",        // e.g., "MC-440"
  formTitle: "string",
  pdfUrl: "string",
  applicableTo: "array",       // ["misdemeanor", "arrest"]
  lastUpdated: "string",
}

政府系サイトのレート制限:

rateLimit: 2,  // 2 requests/second max for .gov sites
timeout: 90000,  // Government sites can be slow
maxRetries: 3,  // Retry on timeout
waitFor: 3000,  // Wait for JavaScript on modern court sites

識別の要点:法令ページではナビゲーション部分を除外するために onlyMainContent: true を設定し、書式ページではフォームへのリンクがサイドバーにあることが多いため onlyMainContent: false を設定します。

5. データ検証チェックリスト

スクレイピング後に、次の点を検証してください。

□ Statute citations match official format (e.g., "ORS" not "Or. Rev. Stat.")
□ Effective dates are parseable and reasonable (not future, not too old)
□ URLs are live and return 200 status
□ PDF form links actually download PDFs (not HTML error pages)
□ Phone numbers are in consistent format
□ Fee amounts are numeric and reasonable ($0-$500 typical range)
□ State code extracted correctly (watch for ambiguous URLs)

よくある抽出エラー:

  • 「oregon.public.law」が「or」(オレゴン州)ではなく「la」(ルイジアナ州)に一致する
  • 法令本文が 10,000 文字で途切れる(上限を増やしてください)
  • 書式の「最終更新日」の形式に一貫性がない
  • 郡固有の URL を州レベルの URL と誤認する
6. データ不足の分析手順

州の不足データを特定するには、次の手順に従ってください。

# Check what we have
ls src/data/scraped/states/{state}/

# Expected files for complete coverage:
# - statutes.json (eligibility rules from statute text)
# - court-system.json (court URLs, contacts, forms links)
# - forms/ (actual PDF forms)
# - fees.json (filing fee amounts)
# - counties/ (county-specific court data)

# Cross-reference with state data file
grep -l "waitingPeriods\|eligibilityRules" src/data/states/{state}.ts

不足分を補う優先順位:

  1. 法令(すべての規則の基礎)
  2. 裁判所の書式(ユーザーが実際に提出する必要があるもの)
  3. 手数料情報(ユーザーが予算を立てるために必要)
  4. 郡の連絡先(提出先)
  5. スペイン語の情報(アクセシビリティ)

避けるべきパターン

絶対にしてはいけないこと:
  1. レート制限なしでスクレイピングする - 政府のサイトにブロックされます
  2. 法令の本文を二次情報源だけで確認する - 必ず一次情報源と照合してください
  3. URLのパターンに一貫性があると思い込む - 州によって異なります
  4. 施行日を無視する - 法律は変わるため、スクレイピングしたデータにはタイムスタンプが必要です
  5. 州の文脈を確認せずに郡のサイトをスクレイピングする - 郡の規則は州法を補足するものであり、置き換えるものではありません
  6. セルフヘルプのセクションを読み飛ばす - 適格性の要約が最も明確に記載されていることがよくあります
  7. すべての州を同じように扱う - Clean Slate 州では、手続きが根本的に異なります
よくある間違い:
❌ Scraping Wikipedia for statute text
✅ Scraping the state legislature's official code

❌ Using findlaw.com as primary source
✅ Using findlaw.com to find the citation, then scraping the official source

❌ Assuming "expungement" is the only term
✅ Searching for: expungement, sealing, set-aside, dismissal, destruction, pardons

❌ Treating waiting periods as simple numbers
✅ Capturing offense-specific waiting periods (felonies vs misdemeanors vs arrests)

プロジェクト固有のコンテキスト

このスキルは、National Expungement Guide プロジェクト向けに設計されています。

既存のインフラストラクチャ
  • Firecrawl スクリプト:scripts/firecrawl/
  • ジョブ定義:scripts/firecrawl/jobs.ts(P0~P4 の優先度ジョブ)
  • URL 設定:scripts/firecrawl/config.ts(全 50 州)
  • 出力先:src/data/scraped/states/{state}/
  • 州データ:src/data/states/(州ごとの TypeScript ファイル)
スクレイピングの実行
# Set API key first
export FIRECRAWL_API_KEY=your_key

# Run P0 (state statutes + courts) - ~$0.20 cost
npx tsx scripts/firecrawl/run-p0.ts

# Dry run to preview
npx tsx scripts/firecrawl/run-p0.ts --dry-run

# Check reports
cat scripts/firecrawl/reports/p0-*.json
データフロー
Firecrawl scrape → src/data/scraped/{state}/*.json
       ↓
Manual review + cleanup
       ↓
Integrated into src/data/states/{state}.ts
       ↓
Used by eligibility wizard + PDF generator

参考資料

references/ フォルダーを参照してください。

  • url-patterns-by-state.md - 全 50 州の完全な URL パターン
  • clean-slate-timeline.md - 各 Clean Slate 法の成立日と施行日
  • firecrawl-schemas.md - 使用するすべての抽出スキーマ

ワークフローの例

ユーザーの依頼:「カリフォルニア州の 2026 年の前科抹消法を調査し、最新データをスクレイピングしてください」

エージェントのワークフロー:

  1. 既存データを確認する:ls src/data/scraped/states/ca/
  2. california.public.law で現行の法令バージョンを確認する
  3. CCRC またはニュース検索で 2025~2026 年の法改正を確認する
  4. URL が変更されている場合は scripts/firecrawl/config.ts を更新する
  5. 対象を絞ってスクレイピングを実行する:CA 固有の URL を P0 ジョブに追加する
  6. 抽出したデータを既知の法令引用と照合して検証する
  7. 見つかった不足や変更点を記録する

コメント