# 律师类案检索与报告

> 律师类案检索一体化技能，一个入口三种模式：模式A 类案检索（把案情、法律问题、案由或检索词改写为专业查询，调用案例检索连接器，核验并整理真实案例，形成基于当前检索样本的裁判观点、争议焦点、法规关注清单和案例列表）、模式B 按案号取裁判文书全文（已知案号时用浏览器能力登录中国裁判文书网检索文书详情并落盘 Markdown 与 PDF）、模式C 正式类案检索报告（把已核验案例数据编排为经脚本校验的 .docx 五部分正式报告）。TRIGGER when：用户提及查案例、找判例、寻找类似案件、了解法院怎么判、有没有支持我方观点的裁判、裁判趋势→模式A；已知案号要判决书全文、裁判文书网、文书详情、判决书原文、下载判决书→模式B（必须已知案号）；生成类案检索报告、案例检索报告、检索报告、把检索结果做成正式报告或向法院提交类案报告→模式C；用户说要判决书全文但只给了关键词、案由、当事人等模糊条件而无案号→一律走模式A，不走模式B。模式A 完成后可直接接模式C 出报告或接模式B 取某案全文，不重复检索。NOT for：单独检索法律法规条文（用 律师法规检索）、虚构案例或编造案号、替代正式法律意见、被执行人与失信信息查询（用 被执行人记录查询）、企业工商公示信息查询（用 律师企业尽调报告）。输出：模式A 默认对话交付（明确要求时出 .md）；模式B 出 Markdown 与 PDF 落盘文件加详情 URL；模式C 出经脚本校验的 .docx。

- Skill: `ahang1598/skill-126` (Agent Skill, multi-file: 24 files)
- Install (CLI): `npx skillmds@latest add ahang1598/skill-126`
- Raw SKILL.md: https://api.skillmd.com/api/skills/ahang1598/skill-126/raw
- Safety review: pending (external: skill-scanner PASS, skillspector PASS)
- Works with: Claude Code, Claude.ai, OpenAI Codex
- Category: Docs & Writing
- Author: ahang1598 (https://skillmd.com/u/ahang1598)
- Updated: 2026-09-09
- Page: https://skillmd.com/skills/ahang1598/skill-126

---


# 律师类案检索与报告

## 一、能力总述

本 Skill 覆盖律师办案中**类案与判例工作的完整链路**：从把案情或法律问题改写成专业检索式、调用案例检索连接器取回并核验真实判例、生成样本内裁判观点与争议焦点，到按案号取回指定裁判文书的逐字全文，再到把核验后的案例编排成可正式提交或归档的 Word 类案检索报告。

本单元由原三个技能合并而成，对外只有一个入口，内部按用户意图分流为三种模式：

| 模式 | 名称 | 解决什么问题 | 前身技能 | 核心交付物 |
|------|------|--------------|----------|------------|
| 模式A | **类案检索** | 用案情/法律问题找真实判例，出裁判观点、争议焦点、法规清单和案例列表 | `lawd-case-retrieval`（旧名「律师类案检索」，合并后沿用其 slug） | 默认对话交付（可选 `.md`） |
| 模式B | **按案号取裁判文书全文** | 已知案号，取回该案文书详情与逐字全文并落盘 | `lawd-case-detail-query`（旧名「裁判文书网抓取/案号取全文」） | `outputs/` 下 `.md` + `.pdf` + 详情 URL |
| 模式C | **正式类案检索报告** | 把已核验案例编排成五部分正式报告 | `lawd-case-retrieval-report`（旧名「类案检索报告」） | 经脚本校验的 `.docx` |

**一句话记住三者的分界**：**没有案号、要找一批** → 模式A；**已有案号、要一份文书的字** → 模式B；**已有案例、要一份能提交的报告** → 模式C。

### 贯穿三模式的不可违反原则

1. 先取得连接器或页面的**实际返回数据**，再陈述任何案例事实、裁判趋势或法规使用情况。
2. 不编造、补全、修正或猜测案号、法院、日期、当事人、审判人员、裁判理由和法律依据。
3. 案号有值时逐字引用，不清理空格、不替换括号、不纠错；为空、`null` 或缺失时统一显示 `案号：无`（模式C 中显示"检索结果未提供"）。
4. 用户明确要求优先于默认行为；未指定的时间、地域、法院、分类和文件格式**不得自行添加**。
5. 分析结论必须注明**基于当前检索样本**，不得把有限样本表述为全部司法实践。
6. 交付前必须运行对应模式的门禁脚本（第五节），**未通过禁止交付**。
7. 不得使用固定 Skill UUID，也不得假设用户安装了任何其他 Skill。

---

## 二、触发与分流

### 2.1 意图 → 模式路由表

判定顺序：**先看用户手里有没有案号**，再看要的**产出物形态**，最后看**范围**。

| 用户意图（原话典型形态） | 判定要点 | 路由 |
|---|---|---|
| "帮我找找类似的买卖合同纠纷判决" / "查案例" / "找判例" / "有没有类似案件" | 无案号，要一批案例 | **模式A** |
| "法院一般怎么判" / "这类案子裁判趋势" / "认定标准是什么" | 要裁判观点/趋势归纳 | **模式A** |
| "有没有支持我方观点的裁判" / "对方的主张有判例支持吗" | 要找支持某一方立场的判例 | **模式A** |
| "找五个近三年浙江法院竞业限制补偿金的案例" | 有数量/时间/地域约束的检索 | **模式A** |
| "（2023）京01民终1234号这个判决书全文给我" | **已给出案号** + 要全文 | **模式B** |
| "查一下这个案号" / "下载这份判决书" / "去裁判文书网看这个文书" / "要判决书原文" | 已给出案号 + 指向裁判文书网/文书详情 | **模式B** |
| "把刚才检索结果做成正式报告" / "生成类案检索报告" / "出一份案例检索报告" | 要正式报告文件 | **模式C** |
| "做份能向法院提交的类案报告" / "检索报告 Word 版" | 要可提交/归档的 `.docx` | **模式C** |

### 2.2 无案号情形（**必须先判断，最容易出错的一条**）

**模式B 的硬前提是已知案号。** 用户口头提到"判决书全文""裁判文书""文书原文"但**没有给出案号**时：

- **一律走模式A**，不得进入模式B，不得让用户"先去查个案号回来"；
- 在模式A 检索完成后，明确告知用户："已检索到 X 条相关判例，如需其中某一条的**裁判文书逐字全文**，请告诉我序号或案号，我按模式B 去裁判文书网取回。"
- 用户给出的"案号"缺关键段（缺年份、缺法院代字、结构不成立）时，按 `references/detail-query-case-no-examples.md` 请用户补全，**禁止猜测补全**；用户无法补全时回落到模式A。

**反例（必须落到模式A）**：
- "劳动争议的判决书全文发我看看" → 无案号 → **模式A**
- "帮我找一下最高院关于对赌协议的判决书原文" → 只有法院和主题，无案号 → **模式A**
- "去裁判文书网查一下买卖合同纠纷的案子" → 只有案由 → **模式A**

**正例（可进模式B）**：
- "（2026）最高法刑申3号，判决书全文" → 有案号 → **模式B**
- "2017年沪01刑更761号这份文书详情" → 有可标准化的案号 → **模式B**

### 2.3 组合链路与"不重复检索"约定

三个模式可以在同一会话内串联。**串联时严禁重复检索**：

| 链路 | 触发形态 | 衔接规则 |
|---|---|---|
| **A → C** | 模式A 交付后用户说"做成正式报告" | 直接复用模式A 本次任务的 `cases_full.json` / `cases_delivery.json` / `stats.json`，按 [references/mode-c-retrieval-report.md](references/mode-c-retrieval-report.md) Step 3 映射为报告输入契约。**不得重新调用检索连接器**，不得复制一份经模型改写的案例清单当事实源 |
| **A → B** | 模式A 交付后用户说"第 3 条的判决书全文" | 先按交付集顺序从 `cases_full.json` 取该案的 `caseNo`；案号存在→以该案号进入模式B 步骤 B1；案号为空→告知用户"该条检索结果未提供案号，无法按案号取全文"，**不得由标题、法院或日期反推案号** |
| **B → C** | 模式B 取回全文后用户要报告 | 把模式B 取得的逐字全文写入报告契约的 `full_text`；未取得全文的案例该字段留空并如实注明 |
| **C（无数据直入）** | 用户直接说"生成类案检索报告"但会话内没有案例数据 | 先执行模式A 取数（含模式A 全部门禁），再进入模式C；模式A 检索连接器不可用时按 A 档停止，**不得生成虚构报告** |

用户中途改变目的时直接切换模式，已完成的检索结果与已落盘文件复用，不重复索要材料、不重复检索、不重新编号。

### 2.4 边界（NOT for，指向本单元之外的技能）

- 仅需**法律法规条文检索**（不要案例）→ 使用 `律师法规检索`
- 需要**被执行人、失信被执行人、执行案件信息** → 使用 `被执行人记录查询`
- 需要**企业工商公示信息** → 使用 `律师企业尽调报告`
- 需要**案例要点摘要/案例笔记** → 使用 `律师办案小结`
- 需要**争议焦点归纳与攻防推演** → 使用 `起诉状分析与攻防策略`
- 本 Skill 不替代正式法律意见，不虚构案例，不为凑数混入无关案例。

### 2.5 资源导航（按需读取，勿全文加载）

| 主题 | 适用模式 | 路径 |
|---|---|---|
| **模式A 完整工作流（执行模式A 前必读）** | A | `references/mode-a-case-search.md` |
| **模式B 完整工作流（执行模式B 前必读）** | B | `references/mode-b-fetch-judgment.md` |
| **模式C 完整工作流（执行模式C 前必读）** | C | `references/mode-c-retrieval-report.md` |
| Query 改写规则与输出 JSON 格式 | A | `references/query-rewrite-prompt.md` |
| 案例检索连接器调用方式（**能力调用的唯一来源**） | A | `references/connector-search.md` |
| 归一化分页 JSON、字段映射、去重、裁剪与交接结构 | A / C | `references/data-structure.md` |
| 对话、Markdown、详情与分类输出格式 | A | `references/output-format.md` |
| 案号提取、标准化细则、形态校验、对照表 | B | `references/detail-query-case-no-examples.md` |
| 模式B 脚本用法与浏览器动作清单 | B | `references/detail-query-script-usage.md` |
| `output` 路径、命名、sanitize、同名策略 | B | `references/detail-query-file-naming.md` |
| 报告输入契约（JSON 字段与缺失值规则） | C | `references/report-case-input-contract.md` |
| 报告五部分结构与写作边界 | C | `references/report-format.md` |
| 报告校验规则与一致性机制 | C | `references/report-validation-rules.md` |

---

## 三、模式工作流

三个模式的完整执行细则已外移到 `references/`，按需加载。**进入任一模式前，必须先完整读取对应文件并严格按其流程执行**；下方仅为速览简介，不得凭简介直接执行。

### 3.1 模式A：类案检索

将用户问题转化为可执行的类案检索：提取用户约束 → 改写 Query → 三段式探测并调用案例检索连接器 → `process_case_results.py` 确定性处理 → `validate_case_fields.py` 字段门禁核验 → 样本内洞察与交付，并含模式A→B/C 内部衔接与异常重试规则。默认对话交付；用户明确要求时出 `.md`；要求 Word 时转模式C。

> ⛔ 执行模式A 前，必须先完整读取 [references/mode-a-case-search.md](references/mode-a-case-search.md)，严格按其流程执行。未读取该文件前，禁止开始检索、罗列案号或交付。

### 3.2 模式B：按案号取裁判文书全文

已知案号时，用「浏览器页面操作」能力登录中国裁判文书网，按案号检索、核对列表、取回文书详情与逐字全文，落盘 Markdown 与 PDF 并给出详情 URL。硬前提：必须已知案号，无案号一律回落模式A（见 2.2）。**实验性能力**：首条回复必须显性提示；抓取失败必须显性告知并建议改用模式A，禁止静默失败、禁止以摘要冒充全文。

> ⛔ 执行模式B 前，必须先完整读取 [references/mode-b-fetch-judgment.md](references/mode-b-fetch-judgment.md)，严格按其流程执行。未读取该文件前，禁止打开裁判文书网或落盘任何文件。

### 3.3 模式C：正式类案检索报告

将经过核验的案例数据编排为五部分正式类案检索报告：确认输入 → 确定案例集合 → 建立结构化输入 JSON → `validate_report_cases.py` 校验 → 大纲与结论 → `generate_report_docx.py` 生成 → `validate_report_docx.py` 强制验证 → 交付。数据优先复用模式A 交接产物（不重复检索）或模式B 逐字全文；无案例数据时先执行模式A。只有 `.docx` 已生成且通过校验才可宣告完成。

> ⛔ 执行模式C 前，必须先完整读取 [references/mode-c-retrieval-report.md](references/mode-c-retrieval-report.md)，严格按其流程执行。未读取该文件前，禁止生成或交付任何报告。

---

## 四、数据源

本技能涉及两类外部能力：模式A 的**案例检索连接器**、模式B 的**浏览器页面操作**能力。两者都**只写能力语义、不写死任何供应商工具名**，运行时按语义探测；找不到就按分级降级处理。**两类能力均按 A 档（拒绝降级）处理**——判例引证与裁判文书全文属"准确性即价值"场景。

### 4.1 模式A 数据源：案例/裁判文书检索能力

本技能需要「案例/裁判文书检索」能力：输入自然语言案情描述或结构化条件，返回真实案例列表（案号、法院、裁判日期、案由、裁判要旨等）。调用方式只写能力语义，不写死任何供应商工具名；按 [references/connector-search.md](references/connector-search.md) 完成三段式探测：

- **探测**：用 `qwenwork_mcp_tool_list` 依次检索关键词 `案例 / 判例 / case / ptal / qwal / pkulaw / fabao / yuandian / 裁判文书`，汇总候选连接器；
- **匹配**：按工具名或描述含案例语义检索、案例条件检索、权威案例（指导性/公报/典型）、案例详情等语义判定；不确定时用 `qwenwork_mcp_tool_get` 查看 schema，schema 不符的切换下一家；
- **调用**：用 `qwenwork_mcp_tool_call` 执行；多家可用时按能力匹配度选择，首选出错切下一家。

Query 改写结果与用户明确约束按 connector-search.md 的入参语义映射传入（案情描述、案由、法院、地域、日期范围、文书类型、返回条数）；具体参数名以连接器运行时 schema 为准。

**降级（A 档，拒绝降级）**：全部连接器不可用时——

> 停止执行，并告知用户："本技能需要「案例/裁判文书检索」连接器。请前往 设置 → 连接器，搜索「案例」或「法律检索」安装法律案例检索类连接器后重试。"

不硬跑，不用网页搜索或模型记忆编造案例与案号。

**已知缺口**：案例检索连接器（北大法宝、元典、法智、企查查、天眼查、Qibook 等）**均不提供裁判文书逐字全文抓取能力**——语义检索、条件检索与案例详情返回的是整理后的案例内容、命中片段或裁判要旨（元典 `case_details` 明示"不等同逐字全文"）。因此**逐字全文没有连接器可以替代，只能走模式B 的浏览器方案**。

### 4.2 模式B 数据源：浏览器页面操作能力

模式B 需要「**浏览器页面操作**」能力：**导航**到指定网址、在页面上**点击**元素、向输入框**输入**文本、**截图**、**读取页面内容**（正文/DOM/可见文本），可选**等待/滚动**与**导出 PDF**。用途是**登录并访问中国裁判文书网、按案号检索、取回裁判文书全文**。

> 说明：千问办公内置浏览器连接器属**原生 builtin 连接器**（非市场 MCP），其设置项 key 为 `qwenwork.settings.connector.builtin.browser`（`query / open / enable / disable`，典型 tools：`navigate / screenshot / click / type`）。这里给出 key **仅用于生成"去设置里启用"的引导话术与状态自查**；**能力匹配一律按语义判定，不在调用处写死工具名**。

#### 探测

调用 `qwenwork_mcp_tool_list`，keyword 依次覆盖：

`browser / 浏览器 / navigate / screenshot / 页面 / click / type / 导航 / 截图 / web / browse`

（可选状态自查：`qw_query({ key: "qwenwork.settings.connector.builtin.browser" })` 查看 `connected` / `status` / `tools`；未连接时按下方 A 档降级引导用户启用，**不得**自行替代。）

#### 匹配（按工具语义，不写死名字）

在返回工具中，按工具名或 description 是否包含以下语义判定：

- 「**页面导航**」：描述含 navigate、open url、goto、打开网页、访问网址；
- 「**页面内容读取**」：描述含 get content、read page、extract text、DOM、snapshot、页面内容、正文；
- 「**元素交互**」：描述含 click、type、fill、input、点击、输入；
- 「**截图**」：描述含 screenshot、capture、截图；
- 「**等待 / 滚动**」（增强，可选）：描述含 wait、scroll、等待、滚动；
- 「**导出 PDF**」（增强，可选）：描述含 pdf、print to pdf、打印。

**Schema 验证（必做）**：候选确定后用 `qwenwork_mcp_tool_get` 查看参数与返回 schema，**必须确认同时具备「导航」与「页面内容读取」两项基础能力**（导航能接受目标 URL，内容读取能返回页面文本/DOM）。仅有截图而无内容读取的，**不满足**模式B 要求（截图不能作为文书正文来源）；schema 不符的切换下一候选，不得强行套用。

#### 调用

用 `qwenwork_mcp_tool_call` 执行；动作与用途对照表见 `references/detail-query-script-usage.md` 第 3 节。具体参数名以运行时 schema 为准。同一会话内可缓存探测结果，避免重复探测。

#### 降级（**A 档 · 拒绝降级**）

裁判文书全文用于法律引证，属"**准确性即价值**"场景。浏览器能力不可用（探测不到、未启用、schema 不具备导航与内容读取）时：

> 停止执行，并告知用户："模式B 需要「浏览器页面操作」能力才能登录并访问中国裁判文书网取回文书全文。请前往 **设置 → 连接器**，启用**浏览器连接器**后重试。当前也可以改用**模式A 类案检索**，取该案或同类案件的裁判要旨与裁判观点（非逐字全文）。"

**严禁**：
- 用 `WebSearch` 或任何网页搜索取回的**摘要、转载、二手解读**冒充裁判文书全文；
- 凭模型记忆**编造**判决内容、裁判理由、法条援引或当事人信息；
- 把模式A 的 `sourceContent`（连接器整理后内容）标称为"逐字全文"；
- 把"连接器缺失"当异常静默跳过——它是必然场景，必须显式提示用户。

#### 实验性状态与风险提示

模式B 的浏览器登录与页面抓取**尚未在千问办公完成实测**，是本单元最大风险点。执行时必须：

1. 首条回复中一句话告知用户模式B 属实验性能力；
2. 抓取失败时**明确告知失败环节与原因**，不让失败静默；
3. 同时给出替代路径："改用模式A 取裁判要旨"；
4. 不因为失败而回落到任何编造或摘要冒充行为。

---

## 五、门禁脚本

**通用规则：交付前必须运行对应模式的门禁脚本，任一脚本退出码非 0 即视为未通过，未通过禁止交付。** 不得为通过校验而删改用户约束、伪造字段或修改脚本规则。

| 脚本 | 服务模式 | 作用 | 何时必须运行 | 未通过后果 |
|---|---|---|---|---|
| `scripts/process_case_results.py` | A | 校验分页 JSON 结构、合并分页、稳定去重、形成交付集、裁剪重字段、输出统计 | 每新增一页后重跑一次；**输出任何案号前必须已通过** | 停止分析，说明数据无法验证；禁止从异常响应中摘取案例 |
| `scripts/validate_case_fields.py` | A | **字段映射门禁**：案号 / 法院 / 出处（数据来源）三项的类型容错校验与齐全度统计 | 模式A 第五步，交付案例列表前 | 禁止罗列案例；先定位是字段映射问题还是数据源缺字段 |
| `scripts/validate_report_cases.py` | C | 报告输入 JSON 结构、身份键唯一性、案号重复、占位符、用户明确约束可核验性 | 模式C Step 4，生成 DOCX 前 | 修正数据映射或补充取证，不得强行通过 |
| `scripts/validate_report_docx.py` | C | DOCX 容器合法性、A4 与黑色标题、五章节齐全、案例集合摘要一致、无占位符 | 模式C Step 7，交付前 | 视为未交付完成；修复后重新生成并重新验证 |
| `scripts/normalize_case_no_for_search.py` | B | 搜索框键入前强制去空白闸门 | 模式B 步骤 B4.0，提交搜索前 | 不得提交搜索；回步骤 B1 重新标准化 |
| `scripts/convert_to_md.py` | B | 文书内容落盘为 Markdown，输出 `FILE_PATH:` 供核验 | 模式B 步骤 B7 | 非零退出或无 `FILE_PATH:` 时禁止伪造路径 |
| `scripts/generate_report_docx.py` | C | 确定性 DOCX 生成器（A4、中文字体、标题层级、表格、分页、附件） | 模式C Step 6 | 生成失败按模式C 降级处理，不得改扩展名冒充 |
| `scripts/save_stdout.py` | A | 命令行输出管道保存工具（`>` 被禁用时） | 需要管道保存分页 JSON 时 | — |

### `validate_case_fields.py` 用法与拦截口径

```bash
python3 "<本技能目录>/scripts/validate_case_fields.py" "<交付集精简JSON>" \
  [--max-missing-ratio 0.3] [--json]
```

校验三项**出处字段**（验收口径"返回判例带案号 / 法院 / 出处"）：

| 字段 | 归一化路径 | 拦截条件 |
|---|---|---|
| 案号 | `caseDomain.caseNo` | 非字符串类型（int/list/dict 等）→ 逐条定位并拦截；缺失率 > 阈值 → 拦截 |
| 法院 | `caseDomain.trialCourt.name` | 缺失率 > 阈值 → 拦截 |
| 出处（数据来源） | `caseDomain.dataFrom` | 缺失率 > 阈值 → 拦截 |

- 默认阈值 `--max-missing-ratio 0.3`（30%）；三者任一**大面积缺失**即拦截。
- 未超阈值的零星缺失只提示不拦截，但交付时必须逐条注明"未提供"，**禁止推断补全、禁止拼接法院全称**。
- 该脚本补的正是 `process_case_results.py` 的两处已知缺口：① 案号类型异常原先会让**整页**校验失败且难以定位，本脚本逐条报出实际类型与取值；② 原统计只有 `missingCaseNoCount`，未覆盖法院与出处，本脚本补齐三字段统计与拦截。
- `--json` 输出结构化结果，便于把校验结论留痕到交付说明中。

---

## 六、交付物

| 模式 | 默认交付物 | 格式与落点 | 必须同时说明 |
|---|---|---|---|
| **模式A** | 对话内检索结果 | 按 `references/output-format.md` 顺序：检索说明 → AI 洞察（标注样本边界）→ 核心法规关注清单 → 类案列表 → 限制说明。**不自动写文件** | Query 与明确约束、检索页数、原始/去重/交付数量、字段缺失情况 |
| **模式A（用户明确要求 .md）** | Markdown 文件 | `类案检索结果_YYYYMMDD_HHMMSS.md`，保存到用户指定目录；未指定时用当前工作区内明确位置 | 文件路径 + 样本数量；**Markdown 不是 Word** |
| **模式A（用户明确要求 Word）** | 转入模式C | 见下 | 不得把 `.md` 改扩展名冒充 `.docx` |
| **模式B** | 文书 Markdown + PDF + 详情 URL | `{工作区}/outputs/{sanitize(案号)}_案例详情.md`、`…_案例详情.pdf`（命名与同名策略见 `references/detail-query-file-naming.md`）；URL 为详情页完整地址 | 实际用于检索的 caseNo；PDF 是否成功落到 `outputs/`；若用户改选了列表条目要客观说明；**实验性能力提示与失败原因** |
| **模式C** | 经脚本校验的 `.docx` | 五部分结构（检索说明 / 检索目标 / 检索结果 / 检索内容 / 附件），A4 纵向，中文字体，案例间分页；路径由用户指定或工作区内明确位置 | 纳入案例数量、已执行的用户明确约束、缺失的来源信息、**DOCX 校验已通过** |

### 交付硬口径

1. **模式A**：默认对话交付，不自动生成任何文件；未运行 `process_case_results.py` + `validate_case_fields.py` 且退出码为 0，**禁止**罗列案号。
2. **模式B**：只有文件在 `{工作区}/outputs/` 中**实际存在**才可报告该路径；PDF 首写在 `artifacts/`、`snapshot/` 等位置不算交付。内联全文与"文件已生成"不得同时成立。
3. **模式C**：只有 `.docx` **已生成且通过 `validate_report_docx.py`** 才可宣告完成。Markdown 仅用于大纲预览或失败诊断；在线文档仅为协作副本。
4. **文书类正式交付一律只认 `.docx`**（沿用套件统一口径）。
5. 任何模式失败时，明确说明失败环节、已完成部分和建议的替代路径，**不得**用摘要、外站内容或模型记忆填补后宣告成功。

## 可选套件上下文（不影响独立使用）

1. 工作目录根存在 `套件运行规则.md` 时必须先读取并执行；不存在时以本技能硬规则为准，不影响独立使用。
2. 工作目录根存在 `办案画像.md` 时，只读取与当前任务有关的诉讼立场、风险偏好和文书风格；不存在时按本技能默认运行，不追问、不报错。
3. 仅当用户明确切换到某案或提供唯一案件路径时，读取 `cases/{案件简称}/案件画像.md`；不得猜测案件，不得跨案带入。
4. 画像只影响表达与偏好，不得覆盖事实、法律依据、必备结构、验证结果或本技能硬规则。
5. 已明确绑定唯一案件且案件管家可用时，成果完成后提交标准案件事件；无案件不建档、不回写，回写失败不得阻塞成果交付。

