Law — Agent Operations Manual
免责声明: 本技能辅助法律工作流程,不构成正式法律意见。所有分析结果应由持证律师审核后方可依赖。重大事项请咨询执业律师。
Quality Bar
输出必须达到执业律师初稿水平:法条引用精确到条款项、案例引用包含案号、风险判断有依据支撑。不得出现无来源的法律结论。
Security
- API 凭证必须来自环境变量
LEGAL_APP_ID和LEGAL_SECRET。 - 绝不硬编码、日志记录或在输出中展示 API 密钥。
- 若环境变量未设置,告知用户并停止。
Dependencies
| Dependency | Required | Install |
|---|---|---|
| Python ≥ 3.9 | Yes | — |
requests |
Yes | pip install -r scripts/requirements.txt |
python-docx |
Yes (for template extraction) | 同上 |
pandoc OR markdown_to_docx_converter |
For DOCX export | See pandoc.org |
| PowerShell ≥ 5.1 | For .ps1 scripts (Windows) |
Built-in on Windows |
Environment Branching
| Environment | Capabilities | Adjustments |
|---|---|---|
| Claude Code / Amp | 可执行脚本、读写文件、运行 Python | 完整工作流,直接调用 scripts/ 中的脚本 |
| Claude.ai (Artifact mode) | 无文件系统、无脚本执行 | 跳过 Stage 2 API 调用,基于内置知识分析并明示"未经接口检索验证";文书以 Artifact Markdown 交付,跳过 DOCX 导出 |
| API / Headless | 无用户交互、无文件系统 | 一次性输出完整分析,不使用渐进展开;返回纯 Markdown |
Reading Guide
按用户意图按需加载,不要一次性全部读取:
| User wants… | Load these references |
|---|---|
| Quick daily consultation | references/workflow-and-intent.md → references/output-standard.md |
| Statute/regulation lookup | + references/law-query-standard.md |
| Similar case analysis | + references/case-analysis-standard.md |
| Lawsuit / win-rate / dispute | + references/judicial-reasoning-standard.md + references/evidence-gap-diagnostic-standard.md |
| Compare similar cases | + references/case-difference-explainer-standard.md |
| Evidence sufficiency check | + references/evidence-gap-diagnostic-standard.md + references/evidence-burden-matrix.md |
| Contract review | + references/document-processing-standard.md |
| Draft a legal document | + references/document-processing-standard.md → check assets/templates/ |
| Export to Word | + references/word-export-skill-integration.md |
脚本视为黑盒。先用 --help 查看用法,不要阅读脚本源码(除非调试失败)。
Workflow Overview
┌──────────────────────────────────────────────────────────────────┐
│ LAW SKILL WORKFLOW │
├──────────────────────────────────────────────────────────────────┤
│ Stage 0: PREFLIGHT CHECK │
│ ✓ 检查环境变量 LEGAL_APP_ID / LEGAL_SECRET │
│ ✓ 运行 health_check.py 验证文件完整性 │
│ ✓ 失败则引导用户配置 │
├──────────────────────────────────────────────────────────────────┤
│ Stage 1: CLASSIFY INTENT │
│ ✓ 判断管辖范围(仅限中国大陆法律) │
│ ✓ 补充关键事实(主动提问) │
│ ✓ 分级:light / deep │
│ ✓ 分类:law / case / both / document │
├──────────────────────────────────────────────────────────────────┤
│ Stage 2: RETRIEVE │
│ ✓ 调用法条/案例 API │
│ ✓ 重试 + 降级链 │
├──────────────────────────────────────────────────────────────────┤
│ Stage 3: COMPOSE RESPONSE │
│ ✓ Mode A (light) 或 Mode B (deep) │
│ ✓ 风险分级:🟢 低 / 🟡 中 / 🔴 高 │
│ ✓ 渐进展开 → 无缝升级 │
├──────────────────────────────────────────────────────────────────┤
│ Stage 4: DOCUMENT GENERATION (if applicable) │
│ ✓ 起草法律文书 + 导出 DOCX │
└──────────────────────────────────────────────────────────────────┘
Stage 0 — Preflight Check
Goal: 确认运行环境就绪。
Exit condition: health_check.py 返回 {"ok": true} 且环境变量已设置。
Trigger: 仅在首次调用时执行,后续对话复用结果。
- 检查环境变量
LEGAL_APP_ID和LEGAL_SECRET是否已设置。 - 运行
python scripts/health_check.py。 - 若缺失环境变量 → 告知用户:
需要设置
LEGAL_APP_ID和LEGAL_SECRET环境变量才能使用法律检索功能。请联系管理员获取 API 凭证。 - 若缺失文件 → 告知用户哪些文件缺失,并建议重新安装 skill。
- 在 Claude.ai 环境下跳过此步骤(无脚本执行能力)。
Stage 1 — Classify Intent
Goal: 判断用户需求、确认管辖范围、补充关键事实。
Exit condition: 内部生成结构化 intent JSON(格式见 references/workflow-and-intent.md),且关键事实无重大缺失。
读取
references/workflow-and-intent.md(如未加载)。管辖范围判断:
- 若用户问题明确涉及港澳台法律、涉外法律(跨境合同/外国法适用),告知:
本技能仅覆盖中国大陆法律体系。港澳台及涉外法律问题建议咨询专业涉外律师。
- 涉及中国大陆法与涉外因素交叉时(如外企在大陆的劳动纠纷),按大陆法处理,但标注涉外风险。
- 若用户问题明确涉及港澳台法律、涉外法律(跨境合同/外国法适用),告知:
主动补充关键事实(Context Gathering): 当用户提供的信息不足以进行准确分析时,主动提出编号问题。根据纠纷类型选择提问:
纠纷类型 应收集的关键事实 通用 ① 事情发生的时间线 ② 涉及金额 ③ 所在城市/省份(影响管辖和地方标准) 劳动争议 ④ 是否签劳动合同 ⑤ 在职时长 ⑥ 工资发放方式(银行/现金/微信) 合同纠纷 ④ 合同签署方式(书面/口头/电子) ⑤ 已履行部分 ⑥ 违约方及违约内容 侵权纠纷 ④ 损害后果(人身/财产/精神) ⑤ 是否报警/就医 ⑥ 有无第三方在场 房屋租赁 ④ 是否签租赁合同 ⑤ 押金金额及支付凭证 ⑥ 房屋现状 格式: 列出 3-5 个编号问题,用户可用简短回答(如 "1: 去年3月, 2: 5万, 3: 北京")。 若用户明确拒绝补充(如"你先分析"): 直接分析,标注
[事实待补充]。分级:
- Light (Mode A) — 默认。日常咨询、快速建议。
- Deep (Mode B) — 用户提及起诉、律师函、胜诉率、裁判倾向、证据是否充分等。
分类意图:
law|case|both|document在内部生成 intent JSON(不展示给用户)。
用户自主权: 若用户明确拒绝结构化分析(如"直接告诉我就行"),切换为自由对话模式——仍执行检索硬约束,但输出不强制使用模板结构。
If unclear: 默认 light + both。先给轻量回答,再提供渐进展开入口。
Stage 2 — Retrieve
Goal: 在得出任何法律结论之前获取权威数据。 Exit condition: 至少一个 API 返回有效结果,或双接口失败均已报告给用户。
| Intent | APIs to Call |
|---|---|
law |
python scripts/query_law_api.py --query "…" --fetch-detail -o /tmp/law.json |
case |
python scripts/query_case_api.py --query "…" -o /tmp/case.json |
both |
法规(带--fetch-detail -o)+ 案例(-o)并行调用 |
document |
纯起草跳过;需要法律依据时按 both 调用 |
重要:必须使用 -o 参数输出到文件! Windows 下 Python subprocess 管道传输会破坏 UTF-8 中文编码。使用 -o output.json 直接写文件可完全避免此问题,读取文件内容即可。
法规检索说明: queryListLaw 接口仅返回元数据,必须使用 --fetch-detail 参数触发两步式检索(列表→逐条调 lawInfo 详情接口合并完整正文),才能获取法条具体内容。
Hard constraints:
- ❌ 绝不在未成功检索时给出实质性法律结论
- ❌ 绝不将 web search 作为主要检索渠道
- ✅ 一个接口失败时使用另一个的结果,标注失败原因,提供重试选项
Retry & fallback chain:
- 首次失败 → 自动重试一次(相同参数)。
- 仍失败 → 换用精简关键词重试一次。
- 仍失败 → 降级为单接口(仅法条或仅案例),标注降级原因。
- 双接口全部失败 → 告知用户"检索接口暂时不可用",征得用户明确同意后方可使用 web search 作为降级补充。
Stage 3 — Compose Response
Goal: 按适当深度交付回答,包含风险分级。 Exit condition: 输出同时满足以下全部条件:
- 包含至少 1 条法条引用(含条款号)或 1 条案例引用(含案号)
- 包含检索状态行(✅/❌ + 条数)
- 包含风险分级标记(🟢/🟡/🔴)
- 末尾包含风险声明
- 通过
python scripts/validate_output.py ./output.md验证(仅在生成文件时执行)
风险分级系统
对每个风险点或建议事项标注分级:
| 等级 | 含义 | 建议行动 |
|---|---|---|
| 🟢 低风险 | 法律关系清晰,胜率高,操作简单 | 用户可自行处理,参考建议步骤即可 |
| 🟡 中风险 | 存在争议空间、证据可能不足、或涉及地方裁判差异 | 建议律师复核关键环节后再行动 |
| 🔴 高风险 | 可能败诉、涉及重大财产/人身权益、法律关系复杂 | 必须委托律师处理,不可自行操作 |
Mode A (Light) — 输出模板
## 结论
一句话回答问题。
## 你现在可以怎么做
1. 行动建议1 [🟢/🟡/🔴]
2. 行动建议2 [🟢/🟡/🔴]
3. 行动建议3(可选)
## 注意风险
- 🟡 风险提醒1
- 🔴 风险提醒2(可选)
## 需要的话可展开
- 📖 查看法律依据
- 📋 查看类似案例
- 🔍 检查我还缺哪些证据
---
检索状态:queryListLaw [✅/❌ + 条数] | queryListCase [✅/❌ + 条数]
> ⚠️ 风险提示:以上内容仅供信息参考,不构成正式法律意见。重大事项请咨询持证律师。
- 模板文件:
assets/templates/light_consult_response.md - 末尾提供渐进展开选项(📖 法律依据 / 📋 类似案例 / 🔍 证据检查)。
- 用户展开时 → 无缝升级到 Mode B,复用已有检索结果,不重复调用 API。
Mode B (Deep) — 输出模板
# [案件类型] 分析报告
## 一、任务类型识别
- 意图:[case/law/both/document]
- 复杂度:deep
- 案由:[识别的案由]
- 整体风险评级:[🟢/🟡/🔴]
## 二、处理结果
[包含适用的深度模块:裁判思维模拟器 / 证据缺口诊断器 / 类案差异解释器]
## 三、检索结果清单(原始条目)
[法条和/或类案原始条目]
## 四、需补充信息(如有)
[缺失的关键信息,标注 [待补充]]
## 五、下一步建议
- 24小时内:🔴 [紧急行动]
- 3天内:🟡 [准备工作]
- 7天内:🟢 [中期行动]
## 六、检索执行信息
- queryListLaw:[状态 + 条数]
- queryListCase:[状态 + 条数]
- 检索词:[实际使用的检索关键词]
> ⚠️ 风险提示:以上内容仅供信息参考,不构成正式法律意见。重大事项请咨询持证律师。
- 详细输出规范见
references/output-standard.md。 - 按条件激活深度模块:
| Condition | Modules |
|---|---|
| 诉讼 / 胜诉率 / 争议 | 裁判思维模拟器 + 证据缺口诊断器 |
| 返回类案结果 | + 类案差异解释器 |
| "证据够不够" | 证据缺口诊断器(可单独使用) |
| 合同审查 | 合同审查(→ Stage 4) |
- 仅加载所需的深度模块参考文件(见 Reading Guide)。
多轮对话状态管理: 渐进展开或追问时,复用已有检索结果和 intent JSON,不重复调用 API。仅在用户提出新事实或新问题时重新检索。
Stage 4 — Document Generation & Export (if applicable)
Goal: 生成完整法律文书并导出 DOCX。 触发条件: Stage 3 产出需交付文件(起诉状、律师函、合同审查报告等)。 Exit condition: 文书文件已导出(.docx 或 .md 兜底),路径已告知用户。
- 读取
references/document-processing-standard.md,按其规则起草文书。 - 查找模板:
assets/templates/official/→assets/templates/official/samr/→assets/templates/。 - 标记所有缺失信息为
[待补充]。 - 读取
references/word-export-skill-integration.md,按其流程导出.docx。 - 输出导出路径与状态,失败时提供原始 Markdown 作为兜底。
Error Handling
脚本失败时的统一处理流程:
| 场景 | 处理方式 |
|---|---|
| 脚本返回非零退出码 | 读取 stderr 输出,向用户报告错误原因 |
脚本返回 {"ok": false, "error": "..."} |
提取 error 字段内容展示给用户 |
| 脚本超时无响应(>30s) | 终止并告知用户"接口响应超时",按 Retry 链处理 |
| JSON 解析失败 | 展示原始输出前 200 字符,提示用户可能是接口异常 |
| 环境变量缺失 | 不尝试调用,直接提示配置步骤 |
通用原则: 不吞没错误,不猜测结果。失败时如实告知用户并提供可操作的下一步。
Prohibited
| ❌ Never | ✅ Instead |
|---|---|
| 编造法条、案号或裁判结果 | 仅引用检索返回的结果并标注来源 |
| 写"可直接套用判决结果" | 写"可援引"并说明边界条件 |
| 写"已证明事实" | 证据仅佐证时写"可补强" |
| 写"确定判决" | 写"裁判倾向预测" |
| 跳过检索直接从记忆给出法律结论 | 始终先检索 |
| 将 web search 作为主检索渠道 | 使用 API 脚本;web search 仅为用户同意的降级补充 |
| 暴露 API 凭证 | 凭证仅从环境变量获取 |
| 对港澳台/涉外法律问题直接给出结论 | 告知用户本技能仅覆盖大陆法律,建议咨询涉外律师 |
Directory Index
| Directory | Contents | Index |
|---|---|---|
references/ |
规则标准与参考文档 | references/README.md |
assets/templates/ |
可复用文书模板 | assets/README.md |
scripts/ |
API 脚本、导出工具、实用程序 | scripts/README.md |