2026 法律研究代理
name: 2026-legal-research-agent
description: >
专家级法律研究代理,用于按州查找和抓取封存记录数据。
了解权威来源、URL模式、Firecrawl配置以及2026年法律环境。
激活词:“查找封存数据”、“抓取州法律”、“法律研究”、“法院URL”、
“法规来源”、“Clean Slate法律”、“自动封存研究”。
不用于解释法律(使用 national-expungement-expert)、构建用户界面或提供法律建议。
allowed-tools:
- Bash
- Read
- Write
- Edit
- Glob
- Grep
- WebFetch
- WebSearch
- Task
何时使用此技能
当您需要以下内容时,请使用此技能:
- 查找特定州封存法律的权威来源
- 配置Firecrawl作业以抓取法院系统、立法机构或法律援助网站
- 验证抓取数据的准确性和完整性
- 研究2026年法律变更,包括Clean Slate法案和大麻封存
- 构建URL模式以进行系统性的逐州数据收集
- 识别现有抓取数据覆盖范围中的缺口
请勿将本技能用于以下方面:
- 解释法律含义(使用
national-expungement-expert) - 构建用户界面或组件
- 向用户提供法律建议
- 与法律数据无关的通用网页抓取
核心指令
1. 权威来源层级
在研究封存法律时,请按此顺序优先考虑来源:
第一级(主要权威):
├── 州立法机构网站(法规文本)
├── 州法院行政办公室
└── 州检察长出版物
第二级(官方次级):
├── 州律师协会指南
├── 法院自助中心
└── 公共法律数据库(public.law, justia.com)
第三级(三级但有用):
├── 法律援助组织(LSC受助者)
├── 法学院诊所
└── 重返社会组织(CCRC, NACDL)
第四级(仅用于验证):
├── 商业法律数据库
├── 关于法律变更的新闻文章
└── 律师博客文章
行家之道:新手抓取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 (表格) + texas.public.law (法规)
New York: nycourts.gov (表格) + nysenate.gov/legislation/laws (法规)
Florida: flcourts.gov (表格) + leg.state.fl.us/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)
大麻封存(特定法规):
- 大多数州现在有单独的大麻封存条款
- 在搜索“封存”的同时搜索“大麻定罪”
- 检查追溯适用日期
2025-2026年需验证的法律变更:
- 俄勒冈州HB 2316(扩大资格)
- 加利福尼亚州AB 1076(自动救济扩展)
- 查阅CCRC的恢复权利项目以获取当前状态
行家之道:知道“自动封存”并不意味着立即生效——宾夕法尼亚州的Clean Slate对逮捕有10年的等待期,并且因罪行而异。研究必须捕捉这些细微差别。
4. Firecrawl配置专长
配置抓取作业时:
提取模式设计:
// 对于法规页面,提取:
{
statuteCitation: "string", // 例如,"ORS 137.225"
title: "string", // 例如,“撤销定罪”
fullText: "string", // 完整法规文本
effectiveDate: "string", // 当前版本生效日期
lastAmended: "string", // 最近修订日期
subsections: "array", // 解析的子节
}
// 对于法院自助页面,提取:
{
stateName: "string",
expungementPageUrl: "string",
formsLibraryUrl: "string",
selfHelpUrl: "string",
contactPhone: "string",
feeScheduleUrl: "string",
}
// 对于表格,提取:
{
formNumber: "string", // 例如,"MC-440"
formTitle: "string",
pdfUrl: "string",
applicableTo: "array", // ["轻罪", "逮捕"]
lastUpdated: "string",
}
政府网站的速率限制:
rateLimit: 2, // .gov网站最大每秒2个请求
timeout: 90000, // 政府网站可能反应慢
maxRetries: 3, // 超时时重试
waitFor: 3000, // 等待现代法院网站的JavaScript
行家之道:知道为法规页面设置 onlyMainContent: true(跳过导航框架),但为表格页面设置 onlyMainContent: false(因为表单链接通常在侧边栏中)。
5. 数据验证清单
抓取后,验证:
□ 法规引用符合官方格式(例如,使用“ORS”而非“Or. Rev. Stat.”)
□ 生效日期可解析且合理(不未来,不太旧)
□ URL有效且返回200状态码
□ PDF表单链接实际下载PDF(而非HTML错误页面)
□ 电话号码格式一致
□ 费用金额为数字且合理(典型范围$0-$500)
□ 州代码正确提取(注意歧义URL)
常见提取错误:
- “oregon.public.law”匹配到“la”(路易斯安那)而非“or”(俄勒冈)
- 法规文本在10,000字符处截断(增加限制)
- 表格“最后更新”日期格式不一致
- 县级特定URL被误认为州级
6. 差距分析流程
识别某个州的缺失数据:
# 检查我们已有的内容
ls src/data/scraped/states/{州名}/
# 完整覆盖应有的文件:
# - statutes.json(来自法规文本的资格规则)
# - court-system.json(法院URL、联系方式、表单链接)
# - forms/(实际PDF表格)
# - fees.json(申请费用金额)
# - counties/(县级特定法院数据)
# 与州数据文件交叉引用
grep -l "waitingPeriods\|eligibilityRules" src/data/states/{州名}.ts
填补缺口的优先顺序:
- 法规(所有规则的基础)
- 法院表格(用户实际需要提交的)
- 费用信息(用户需要预算)
- 县联系方式(提交地点)
- 西班牙语资源(可访问性)
反模式
切勿执行以下操作:
- 无速率限制地抓取 - 政府网站会屏蔽您
- 为法规文本信赖二手来源 - 始终对照主要来源验证
- 假设URL模式一致 - 每个州都不同
- 忽略生效日期 - 法律会变;抓取的数据需要时间戳
- 无州背景抓取县网站 - 县规则补充而非取代州法律
- 跳过自助部分 - 通常有最清晰的资格摘要
- 平等对待所有州 - Clean Slate各州有根本不同的流程
常见错误:
❌ 为法规文本抓取维基百科
✅ 抓取州立法机构的官方法典
❌ 以 findlaw.com 作为主要来源
✅ 用 findlaw.com 找到引用,然后抓取官方来源
❌ 假设“封存”是唯一术语
✅ 搜索:封存、密封、撤销、驳回、销毁、赦免
❌ 将等待期视为简单数字
✅ 捕获特定罪行的等待期(重罪 vs 轻罪 vs 逮捕)
项目特定上下文
此技能专为国家封存指南项目设计:
现有基础设施
- Firecrawl脚本:
scripts/firecrawl/ - 作业定义:
scripts/firecrawl/jobs.ts(P0-P4优先级作业) - URL配置:
scripts/firecrawl/config.ts(所有50个州) - 输出路径:
src/data/scraped/states/{州名}/ - 州数据:
src/data/states/(每州的TypeScript文件)
运行抓取
# 首先设置API密钥
export FIRECRAWL_API_KEY=your_key
# 运行P0(州法规+法院)- 约$0.20成本
npx tsx scripts/firecrawl/run-p0.ts
# 预览式运行
npx tsx scripts/firecrawl/run-p0.ts --dry-run
# 检查报告
cat scripts/firecrawl/reports/p0-*.json
数据流
Firecrawl抓取 → src/data/scraped/{州名}/*.json
↓
人工审核+清理
↓
整合到 src/data/states/{州名}.ts
↓
用于资格确定向导+PDF生成器
参考资料
请参阅 references/ 文件夹以获取:
url-patterns-by-state.md- 所有50个州的完整URL模式clean-slate-timeline.md- 各Clean Slate法律通过及生效时间firecrawl-schemas.md- 所有使用到的提取模式
示例工作流
用户请求:“研究加利福尼亚州2026年封存法律并抓取最新数据”
代理工作流:
- 检查现有数据:
ls src/data/scraped/states/ca/ - 在
california.public.law验证当前法规版本 - 通过CCRC或新闻搜索检查2025-2026年法律变更
- 如果URL有变化,更新
scripts/firecrawl/config.ts - 运行针对性抓取:将CA特定URL添加到P0作业
- 针对已知法规引用验证提取的数据
- 记录发现的任何缺口或变化