关于 2026-legal-research-agent
面向 National Expungement Guide 项目的法律研究技能,用于收集和核验各州的犯罪记录清除法律与相关资料。它提供官方来源优先级、Firecrawl 抓取配置、数据校验和缺口分析流程,不用于解释法律或提供法律建议。
主要功能
- 01各州权威法律来源定位
- 02Firecrawl 抓取任务配置
- 03抓取数据准确性校验
- 042026 年法律变更研究
- 05州级 URL 模式整理
- 06数据覆盖缺口分析
适用场景
- 01核查某州犯罪记录清除法规
- 02配置法院与立法网站抓取
- 03验证法规、表格及费用数据
- 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.jsonreferences/clean-slate-timeline.mdurl-patterns-by-state.mdscripts/validate-scraped-data.ts详细介绍
2026 年法律研究 Agent
何时使用此技能
在以下情况下使用此技能:
- 查找权威法律来源,了解特定州的记录封存法律
- 配置 Firecrawl 任务,抓取法院系统、立法机构或法律援助网站
- 验证抓取的数据是否准确、完整
- 研究 2026 年法律变更,包括 Clean Slate 法案和大麻相关记录封存
- 构建 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 年,以下重大变化会影响研究:
Clean Slate 州(已通过自动记录封存法):
- 宾夕法尼亚州(2018 年)、犹他州(2019 年)、新泽西州(2019 年)、密歇根州(2020 年)
- 加利福尼亚州(2020 年)、康涅狄格州(2021 年)、特拉华州(2021 年)、弗吉尼亚州(2021 年)
- 俄克拉荷马州(2022 年)、科罗拉多州(2022 年)、纽约州(2023 年)、明尼苏达州(2023 年)
- 马里兰州(2024 年)、伊利诺伊州(2024 年)、俄勒冈州(2025 年)
大麻相关记录封存(具体法条):
- 目前大多数州都有单独的大麻记录封存规定
- 除了搜索“expungement”,还要搜索“cannabis conviction”
- 检查追溯适用日期
需要核实的 2025—2026 年法律变更:
- Oregon HB 2316(扩大资格范围)
- California 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”匹配为“la”(路易斯安那州),而不是“or”(俄勒冈州)
- 法条文本在 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
填补缺口的优先顺序:
- 法条(所有规则的基础)
- 法院表格(用户实际需要提交的材料)
- 费用信息(用户需要据此编制预算)
- 县级联系信息(提交材料的地点)
- 西班牙语资源(无障碍访问)
反模式
切勿做以下事情:
- 抓取时不限制速率 - 政府网站会封禁你
- 将二手来源中的法条文本当真 - 务必对照一手来源进行核实
- 假设 URL 模式一致 - 各州各不相同
- 忽略生效日期 - 法律会发生变化;抓取的数据需要带上时间戳
- 脱离州法律背景抓取县级网站 - 县级规则是补充,不能取代州法律
- 跳过自助服务部分 - 其中通常有最清晰的资格条件摘要
- 将所有州一视同仁 - 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 年的犯罪记录封存法律,并抓取最新数据”
Agent 工作流:
- 检查现有数据:
ls src/data/scraped/states/ca/ - 在
california.public.law核实当前法条版本 - 通过 CCRC 或新闻搜索检查 2025-2026 年的法律变更
- 如果 URL 已变更,更新
scripts/firecrawl/config.ts - 运行定向抓取:将加利福尼亚州专属 URL 添加到 P0 任务
- 根据已知法条引用验证提取的数据
- 记录发现的任何缺漏或变更