生成深度法律分析报告(民商/行政/非诉)。基于录音转写文本或案件材料,自动识别事务类型,运行时探测并调用「案例检索」「法规检索」「企业工商信息查询」三类连接器能力做自动化增强,输出排版精美的 Word (.docx) 文档。适用于律师沟通后快速产出'合伙人级别'分析建议书。TRIGGER when: (1) 用户提供录音转写文本或案件材料要求出具法律分析报告 (2) 用户要求对案件进行全面分析并生成建议书 (3) 用户提及'分析报告''法律建议书''案件分析'等关键词。NOT for: 单纯法条查询(应使用 律师法规检索)、单纯类案检索(应使用 律师类案检索与报告)、合同审查(应使用 律师合同预审)、企业信息查询(应使用 律师企业尽调报告)、简单法律咨询(无需生成完整报告的一问一答)、律师函撰写(应使用 律师函撰写)、办案小结(应使用 律师办案小结)。
Scanned 9/12/2026
Install to Claude Code
npx -y skills add ahang1598/doubao-workbuddy-qwenwork-skills --skill lawd-analysis-report --agent claude-codeInstalls into .claude/skills of the current project.
Are you the author of Lawd Analysis Report?
Add the live security badge to your README — it updates automatically with every re-scan.
[](https://www.skillsdirectory.com/skills/ahang1598-lawd-analysis-report)More formats (shields.io, HTML) on the badges page.
---
name: 案情法律分析报告
name_en: lawd-analysis-report
displayName: 案情法律分析报告
description_en: "Generates an in-depth legal analysis report (civil/commercial, administrative, or non-contentious) from meeting transcripts or case materials, auto-routing the matter type and enriching analysis via runtime-discovered case search, regulation search, and company-registry connectors. Use when a user provides transcripts or case materials and asks for a legal analysis report or advisory opinion. Delivers a professionally formatted Word (.docx) analysis memorandum."
argument-hint: 录音转写文本或案件材料
description: "生成深度法律分析报告(民商/行政/非诉)。基于录音转写文本或案件材料,自动识别事务类型,运行时探测并调用「案例检索」「法规检索」「企业工商信息查询」三类连接器能力做自动化增强,输出排版精美的 Word (.docx) 文档。适用于律师沟通后快速产出'合伙人级别'分析建议书。TRIGGER when: (1) 用户提供录音转写文本或案件材料要求出具法律分析报告 (2) 用户要求对案件进行全面分析并生成建议书 (3) 用户提及'分析报告''法律建议书''案件分析'等关键词。NOT for: 单纯法条查询(应使用 律师法规检索)、单纯类案检索(应使用 律师类案检索与报告)、合同审查(应使用 律师合同预审)、企业信息查询(应使用 律师企业尽调报告)、简单法律咨询(无需生成完整报告的一问一答)、律师函撰写(应使用 律师函撰写)、办案小结(应使用 律师办案小结)。"
recommended_connectors: "案例检索类 / 法规检索类 / 企业工商信息类 MCP 连接器(探测关键词见正文「数据源获取」小节)"
graceful_degradation: strict
---
# 法律分析报告生成技能 (LawD- Analysis Report)
本技能旨在帮助甲方顾问及执业律师将非结构化的**沟通录音转写文本**或**零散案件材料**转化为结构化、专业且可直接交付的《法律分析建议书》(.docx)。
## 外部服务依赖
本技能依赖三块外部数据能力进行自动化增强,**在执行第二阶段前必须先按下方「数据源获取」流程探测并确认可用性**。三块能力全部通过千问办公连接器在运行时动态发现、按语义匹配调用,**不绑定任何具体供应商**:
| 能力 | 能力语义(一句话) | 降级档 |
|------|------|------|
| 案例检索 | 输入案情/争议焦点,返回类案清单(案号、审理法院、案由、裁判日期、争议焦点、裁判要旨、法律依据) | A 档:拒绝降级,探测不到即跳过类案环节并标注"基于法理推导",严禁编造案号 |
| 法规检索 | 输入检索 query/关键词,返回法规/法条清单(法规名称、条号、条文原文、时效性、效力级别) | A 档:拒绝降级,探测不到即停止该环节并提示安装连接器,**严禁凭模型记忆罗列法条** |
| 企业工商信息查询 | 输入企业名/USCC,返回工商登记、股东、涉诉、风险等企业信息 | A 档:拒绝降级,探测不到即提示去"设置 → 连接器"安装,**不用 WebSearch、不编造企业信息** |
> 连接器缺失是**必然场景**,不是异常。三块能力各自的完整探测/匹配/调用/降级流程见「第二阶段」2.1 / 2.2 / 2.3。
---
## 不适用场景
本技能**不适用于**以下场景,遇到时应引导用户使用对应技能:
| 场景 | 应使用的技能 |
|------|------------|
| 单纯法条查询("XX法第几条怎么规定的") | `律师法规检索` |
| 单纯类案检索("帮我找类似判例") | `律师类案检索与报告` |
| 合同审查("帮我审一下这份合同") | `律师合同预审` |
| 企业信息查询("查一下这家公司") | `律师企业尽调报告` |
| 律师函撰写("帮我写一封律师函") | `律师函撰写` |
| 办案小结("帮我写个办案小结") | `律师办案小结` |
| 简单法律咨询(无需生成完整报告的一问一答) | 直接回答,无需调用技能 |
## 工具白名单
本技能**仅允许**使用以下工具,**禁止调用未列出的任何工具或技能**:
| 工具 | 用途 | 说明 |
|------|------|---------|
| `qwenwork_mcp_tool_list` | 探测已连接的 MCP 连接器 | 按能力语义关键词发现可用工具,**不写死供应商** |
| `qwenwork_mcp_tool_get` | 查看某工具的入参/返回 schema | 调用前验证字段,避免选错工具 |
| `qwenwork_mcp_tool_call` | 调用匹配到的连接器工具 | 执行案例检索 / 法规检索 / 企业工商信息查询 |
| `ask_human` | 向用户确认信息 | 内置工具(用于补全案件要素,**不用于索要任何 API Key**) |
| `docx` | 生成 Word 文档 | 技能调用 |
| `dws doc create` | 生成钉钉文档(docx 生成的降级路径) | CLI 命令;仅用于文档生成兜底,与法律/工商检索无关 |
| 文件读写 | 读取用户附件、保存检索结果、写入 output | 内置工具 |
> ⚠️ 本技能**不指导用户手动配置 MCP**(不写 `.mcp/mcpServerConfig.json`、不索要 API Key)。连接器由千问办公平台在"设置 → 连接器"统一安装管理,技能只负责运行时探测与语义匹配。
## 核心原则
1. **绝对真实**:严禁编造事实、法条或案例。对于录音/材料中未提及但分析所需的关键信息,必须标注【待核实】或通过 `ask_human` 询问用户。涉及数据真实性时,必须忠实于原文,严禁猜测、推断或"合理补充"任何法律信息。
2. **资深视角**:以"拥有20年经验的资深合伙人"身份撰写,逻辑严密、直击痛点,并包含对承办律师的"隐形带教"复盘。
3. **深度要求**:整体篇幅需达到"详尽办案指引"级别,每个模块必须展开完整推理过程(事实依据 + 法律判断 + 实务影响),拒绝"简报式"输出。
4. **IRAC 闭环**:所有争议焦点分析必须严格执行 IRAC 分析:争议点 → 分析结论 → 法律法规锁定 → 类案深度验证,形成逻辑闭环。
5. **原文引用**:引用录音原文的部分,禁止修改录音内容,应当直接引用原文。
6. **案件筛选**:仅保留有实质性讨论(包含主体、行为、诉求或证据线索)的案件;对仅在闲聊中一两句带过、无事实细节支撑的"疑似案件"一律视为噪音予以剔除。
7. **自动化增强(连接器优先)**:在执行过程中,必须先探测并调用「案例检索」「法规检索」「企业工商信息查询」三类连接器进行增强。连接器探测不到或调用失败时,按各环节的 A 档降级话术处理——**权威引用(法条/案例)与企业主体信息一律拒绝硬降级,禁止用 WebSearch 或模型记忆兜底后不加标注**,不得因此中断任务。
8. **领域限定**:仅处理**民商事争议、行政诉讼/复议、非诉讼交易**三类。若识别为刑事领域,必须明确告知用户本技能不支持并建议转交专业人士。
## 工作流程
### 第一阶段:输入解析与事务路由 (Parse & Route) — 路由层
1. **接收输入**:读取用户提供的录音转写文本或案件背景材料(支持纯文本、Markdown、附件文件)。
2. **输入类型判定**:
- `录音转写文本`:需执行噪音清洗(剔除闲聊、重复、无意义语气词),提取有效法律信息。
- `案件材料`:直接提取结构化信息(合同条款、判决书、函件等)。
3. **事务类型路由**:
- 判断每个独立事务属于:`民商事` / `行政` / `非诉`。
- 若识别为`刑事` → **立即终止**,告知用户:"本技能暂不支持刑事领域分析,建议转交刑事辩护专业律师处理。"
- 若存在多个独立事务 → 按录音中首次深入讨论的先后顺序编号,分别建立索引。
4. **输出案件清单**:以"法律事务名称 + 法律事务类型"格式列出,后续对每个案件独立、完整地输出全部模块。
### 第 1.5 阶段:信息补全与关键要素确认 (Validate & Enrich) — 路由层
1. **关键要素检查清单**:
- 主体信息(各方名称、身份、法律角色)
- 核心行为与时间线
- 争议金额或标的
- 核心诉求与底线
- 已有证据线索
- 管辖约定或法定管辖依据
2. **缺失处理**:
- 若关键要素缺失(如涉案金额、管辖约定、核心证据状态),使用 `ask_human` 向用户确认,最多询问 2 轮。
- **主体名称因遮挡/模糊无法精确识别时,先尝试从材料其他位置推断**(公章、合同编号、项目地址、USCC 片段、上下文称谓),仍无法确定再用 `ask_human` 询问。
- 若用户无法补充,在报告中对应位置标注【待核实:具体缺失项】。
3. **主体识别与标注**:逐一明确各方主体名称、身份(自然人/公司/关联主体),标注其法律角色(出资人、交易对方、实际控制人等)和诉讼地位(潜在原告、潜在被告等)。
### 第二阶段:自动化增强 (Automation Enhancement) — 执行层
在撰写报告前,依次执行以下三项增强动作。每项动作均遵循「能力语义 + 三段式探测(探测 → 匹配 → 调用)+ 分级降级」的连接器写法,**不写死任何供应商/工具名**。
> **执行门禁(三项共同遵守)**:在向用户或报告中输出任何具体法条、案号或企业登记信息之前,必须先按下方流程实际探测并调用对应连接器取得结果(或明确记录探测/调用失败原因)。**禁止**未经检索就凭记忆罗列法条案例、凭空填写企业信息。
#### 2.1 案例检索
本环节需要**「案例检索」**能力:输入案情/争议焦点,返回类案清单(案号、审理法院、案由、裁判日期、争议焦点、裁判要旨、法律依据)。
**探测**:
调用 `qwenwork_mcp_tool_list`,keyword 逐个尝试以下关键词(覆盖能力中英文表述与供应商标识):
`案例 / 判例 / 类案 / case / 元典 / 法宝 / pkulaw / yuandian / ptal / qwal`
**匹配**(按工具语义判定,不写死任何工具名):
- 在返回工具中,匹配工具名或 description 含「案例检索」「类案」「判例」「case search」等语义的工具;
- 不确定时用 `qwenwork_mcp_tool_get` 查看参数 schema,确认支持案情/关键词入参且返回含案号、审理法院、裁判日期、裁判要旨等字段,再决定;
- 多家可用时按探测命中顺序依次尝试,首选调用失败(报错/超时/鉴权失败/空结构)时切换下一家。
**调用**:
- Query 改写规则见 [case-query-rewrite-prompt.md](references/case-query-rewrite-prompt.md),query ≤ 30 字,keywords 3-5 个,若工具要求逗号分隔的关键词字符串则**必须用英文逗号**;
- **多争议焦点案件按焦点分别检索**:如"设计费付款条件"与"违约金酌减"应拆成两次检索,确保每个争议焦点有 ≥ 3 个直接相关类案(输出契约要求每焦点至少 3 案);
- 用 `qwenwork_mcp_tool_call` 执行;实际入参名以匹配到的工具 schema 为准,将 Query 改写输出适配到该工具支持的参数;
- 返回数据结构归一化说明见 [case-data-structure.md](references/case-data-structure.md);
- 空结果时缩短 query + 减少 keywords 重试,最多 2 次;
- 完整管道见 [案例检索连接器管道](references/case-search-pipeline.md)。
**降级(A 档:权威引用拒绝硬降级)**:
- 探测不到任何「案例检索」连接器,或全部连接器调用失败时:**跳过类案检索环节**,在报告相关位置标注"暂未检索到高度匹配的公开判例,以下分析基于法理推导";
- **严禁编造案号**,**严禁**用 WebSearch 或模型记忆虚构案例充当"已检索类案";
- 可提示用户:"如需类案支撑,请前往千问办公 设置 → 连接器 安装案例检索类连接器后重试。"
---
#### 2.2 法规检索
本环节需要**「法规检索」**能力:输入检索 query/关键词,返回法规/法条清单(法规名称、条号、条文原文、时效性、效力级别)。
**探测**:
调用 `qwenwork_mcp_tool_list`,keyword 逐个尝试以下关键词:
`法规 / 法条 / fatiao / law / article / pkulaw / fabao / yuandian / flfg / 法智`
**匹配**(按工具语义判定,不写死任何工具名):
- 匹配工具名或 description 含「法规检索」「法条检索」「statute/law search」「article」等语义的工具;
- 不确定时用 `qwenwork_mcp_tool_get` 查看 schema,确认返回含法规名称、条号、条文原文、时效性字段,再决定;
- 多家可用时按探测命中顺序依次尝试,首选失败切下一家。
**调用**:
- Query 改写规则见 [regulation-query-rewrite-prompt.md](references/regulation-query-rewrite-prompt.md),query 8-15 字,使用法律专业术语;keywords 若为逗号分隔字符串**必须用英文逗号**,中文逗号会导致空结果;
- **推荐两步管道**:先用语义检索(search_article 一类)定位目标法规,再用精确取条能力(get_article 一类)按条号逐条获取条文原文——仅用语义检索一步得到的往往是法规框架文件而非条文原文;
- 用 `qwenwork_mcp_tool_call` 执行;实际入参名以匹配到的工具 schema 为准;`lawName` 优先映射到工具独立的「法规名称过滤/精确取条」入参,不支持时并入查询文本;
- 返回数据结构归一化说明见 [regulation-data-structure.md](references/regulation-data-structure.md);
- 禁止引用已废止的《合同法》《担保法》《婚姻法》等旧法,检索结果含已废止法规时须标注"已废止";
- 完整管道见 [法规检索连接器管道](references/regulation-search-pipeline.md)。
**降级(A 档:权威法条拒绝降级)**:
- 探测不到任何「法规检索」连接器,或全部连接器调用失败时:**停止该环节**,告知用户:"本技能的法条引用需要「法规检索」能力,请前往千问办公 设置 → 连接器 安装法规检索类连接器后重试。"
- **严禁**用 WebSearch 或**模型内置知识罗列法条**替代权威检索结果(法条属权威引用,模型记忆可能条号/版本错误,会导致律师引用不存在的法律依据);
- 未取得法规检索结果时,报告中不得出现具体法条条号与条文原文,相关分析只写法理层面判断并明确标注"待连接器检索后补充法律依据"。
---
#### 2.3 企业工商信息查询
本环节需要**「企业工商信息查询」**能力:输入企业名称/USCC,返回工商登记信息(法定代表人、注册资本与实缴、成立日期、登记状态、注册地址、经营范围)、股东结构、实际控制人、涉诉与执行风险等,用于主体背景调查。
> **仅当案件涉及企业/公司主体时执行本环节**;案件主体全部为自然人时,无可查询对象,直接跳过并在「数据来源与局限」注明。
**探测**:
调用 `qwenwork_mcp_tool_list`,keyword 逐个尝试以下关键词(覆盖供应商名、能力英文名、能力中文名三类):
`企业 / 工商 / 企业信息 / 股东 / 涉诉 / 风险 / company / enterprise / registration / shareholder / qcc / tianyancha / qibook / yuandian`
**匹配**(按工具语义判定,不写死任何工具名):
1. 在返回工具中,按**工具名或 description** 是否命中上述语义判定候选(企业主体定位 / 工商登记 / 股东结构 / 涉诉执行等);
2. **命中后必须用 `qwenwork_mcp_tool_get` 验证 schema**:
- 入参支持的主体标识形式(企业名 / USCC / 企业 ID),据此适配调用入参名与类型;
- 返回字段是否包含所需信息(法定代表人、注册资本、成立日期、登记状态、注册地址等);
- **返回 schema 不含所需字段的,视为该能力未命中,切换下一家候选**,不得因工具名"看起来对"就直接调用;
3. 同一能力多家候选时,按必需字段齐备度 → 覆盖维度数选择。
**调用**:
- 用 `qwenwork_mcp_tool_call` 执行;一般先以企业名称定位主体取得企业标识(如 USCC / 企业 ID),再据此并行取工商登记、股东、涉诉、风险等维度;
- 各维度之间除需先取得企业标识外无依赖,应尽量并行调用以提高效率;
- 每次调用只传该工具 schema 支持的参数;
- **提取信息**:企业存续状态、注册资本、涉诉情况、股东结构、实际控制人,填入报告「主体信息」章节。
**降级(A 档:企业主体信息拒绝硬降级)**:
- 探测不到任何「企业工商信息查询」连接器,或全部候选调用失败时:
1. **不硬跑、不编造企业信息**,**严禁**用 WebSearch 检索或模型记忆填写企业登记信息;
2. 告知用户:"主体背景调查需要「企业工商信息查询」能力,当前未探测到可用连接器,请前往千问办公 **设置 → 连接器** 安装企业信息类连接器后重试。"
3. 若用户选择跳过或坚持继续:报告中主体信息表相关字段填"未取得(已提示安装连接器)",涉及具体企业身份的字段若来自用户自报,须标注"(用户自报,待核验)",**不得输出任何以工商数据为依据的确定性主体结论**;
- 无论探测结果如何,均须在报告「数据来源与局限」章节声明 `**工商数据获取状态:** 已取得 / 未取得`(供交付门禁校验,见第四阶段)。
**状态填写规则(门禁硬判据)**:状态行**只接受"已取得 / 未取得"二选一,不存在"部分取得"选项**——只要通过连接器取得了任一方主体的工商登记信息即填"已取得",未取得的一方在主体信息表中标注"待核实";全部主体均未取得才填"未取得"。
> 部分维度查询失败时,跳过失败维度、继续输出其他维度,并在对应位置标注"该维度数据获取失败"。
### 第三阶段:报告撰写 (Drafting)
按照 [法律分析建议书模板](references/report-template.md) 的标准结构撰写 Markdown 内容。
**总体输出要求**:
- 输出结构针对单个独立法律事务案件。若存在多个独立案件,需分别输出完整模块分析。
- 严格按照事务类型适用对应分支结构,严禁跨领域生搬硬套(例如用"原被告"称呼非诉交易对手)。
- 每个小点至少写清"事实依据 + 法律判断 + 实务影响"。
#### 按事务类型选择模板分支
报告模板按事务类型分为三个专属分支 + 通用模块,详见 [report-template.md](references/report-template.md):
- **A. 民商事案件**(一~八章):主体信息 → 基本案情 → 核心结论与风险评估 → 要件事实时间轴 → 证据链梳理与分析 → 主要法律问题分析(IRAC)→ 需补充材料 → 管辖与程序
- **B. 行政案件**(一~八章):主体信息 → 基本案情 → 核心结论与合法性审查 → 起诉/复议期限 → 举证责任与证据分析 → 主要法律问题分析(IRAC)→ 需补充材料 → 救济程序与维权成本
- **C. 非诉项目**(一~八章):主体信息 → 项目背景与交易安排 → 核心结论与风险评估 → 交易里程碑 → 尽调清单与文件体系 → 主要法律问题分析 → 需补充材料 → 审批与费用
- **D. 通用模块**(接续编号,适用于所有类型):实务建议与行动方案 + 执业复盘与合规警示(仅录音转写时输出)
⚠️ **IRAC 严格执行**:所有争议焦点分析必须独立输出,每个焦点结构为:
```
(N){争议焦点精准提炼}
1. 结论:{倾向性结论 + 风险提示}
2. 法律与实务分析:{事实依据 → 法律适用 → 实务影响}
3. 相关法律法规:{法规全称 + 条款号 + 条款原文,缩进引用格式}
4. 相关案例:{≥3个类案,每个含审理法院、案号、案由、裁判日期、裁判摘要}
5. 风险提示:{针对本焦点的特别风险}
```
### 第三阶段半:生成前确认(必须执行)
在调用 docx 技能生成 Word 文档之前,应先向用户展示法律分析建议书大纲(包含各模块核心结论要点)。**若用户已在任务消息中写明「凡需用户确认的,一律按是」「勿等待用户输入直至任务完成」或等价含义**,展示大纲后**立即进入第四阶段**,不得停留于「请确认后再生成」;其他情形仍等待用户确认后再生成。
### 第四阶段:Word 文档生成与交付 (Generate & Deliver)
> ⚠️ **强制要求**:最终交付物必须是 `.docx` 格式的文件,并确保工作目录 `outputs/` 中可见主交付文件。**禁止**在 `output` 仍为空时声称已生成 Word。
#### 4.0 交付前门禁(必须执行)
在生成 Word 前,将第三阶段的 Markdown 草稿运行交付门禁脚本校验:
```bash
python3 scripts/validate_analysis_report.py <草稿.md> [--cases <类案检索结果.json>] [--laws <法规检索结果.json>]
```
脚本校验:①报告含「数据来源与局限」章节且 `工商数据获取状态` 声明行齐备;②声明"未取得"工商数据时,主体信息表不得出现被当作确定结论的企业登记值(须为"未取得/待核验");③报告未泄漏写死的供应商/工具名(天眼查/WebSearch/dws law 等);④传入检索结果 JSON 时,报告引用的法条/案号能与检索结果对上。**脚本未通过(退出码非 0)时禁止交付**,须先修正再重跑。
**门禁已知陷阱(先读再写,避免踩坑重跑)**:
1. `工商数据获取状态` 只接受"已取得 / 未取得"二选一,**写"部分取得"会被拦截**(填写规则见 §2.3);
2. 数据来源表的"来源"列**不得出现任何供应商名**(天眼查/企查查等,含括号注释)——写能力语义,如"企业工商信息查询连接器(运行时探测)"。
#### 4.1 Markdown 内容规范(生成 Word 前必须遵守)
第三阶段撰写的内容**必须使用纯 Markdown 语法**,由 `scripts/generate_docx.py` 脚本自动转换为 Word 原生格式,**确保最终 Word 文档中不残留任何 Markdown 符号或 HTML 标签**。
> ⚠️ **严禁使用任何 HTML 标签**。以下是常见错误写法及正确替代:
>
> | 禁止写法(HTML) | 正确写法(Markdown) |
> |---|---|
> | `<h1>标题</h1>` | `# 标题` |
> | `<h2>标题</h2>` | `## 标题` |
> | `<br/>` 或 `<br>` | 直接换行(空一行) |
> | `<center>文本</center>` | `# 文本`(一级标题自动居中) |
> | `<b>加粗</b>` 或 `<strong>加粗</strong>` | `**加粗**` |
> | `<i>斜体</i>` 或 `<em>斜体</em>` | `*斜体*` |
> | `<div>`、`<span>`、`<p>` | 直接删除,不需要容器标签 |
> | `<hr>` 或 `<hr/>` | 不要使用,用标题层级区分章节 |
> | `***` 或 `---`(水平线) | 不要使用 |
>
> 脚本内置了 HTML 清洗兜底机制,但**不应依赖兜底**,撰写时就应使用纯 Markdown。
**允许使用的 Markdown 语法**(脚本会自动转换为 Word 原生格式):
- 标题:`#`、`##`、`###`、`####`(→ Word 标题 1-4 级,黑体加粗)
- 加粗:`**文本**`(→ Word 粗体,不会残留 `**` 符号)
- 斜体:`*文本*`(→ Word 斜体,不会残留 `*` 符号)
- 引用:`> 引用文本`(→ Word 缩进引用样式,带灰色左边框)
- 表格:`| 列1 | 列2 |`(→ Word 原生表格,表头自动加粗)
- 列表:`- 无序列表`、`1. 有序列表`(→ Word 列表项)
#### 4.2 文档结构
对标正式律所出具的法律分析建议书格式:
- **封面页**(独立一页):顶部信息栏(致/To、抄送/CC、自/From、事由/Subject、出具日期/Date、文件编号),居中标题区(律所名称 → "关于" → 客户名称 → 案件描述 → "之" → "法律分析建议书" → 中文日期)。
- **前言**(独立一页):致辞段落 + 【重要声明与保密限制】(4条:基于给定事实、适用法律、非诉讼保证、保密性)+ "顺颂商祺!" + 落款。
- **目录页**:自动目录(TOC),覆盖一至三级标题。
- **正文**:按第三阶段选定的事务类型分支结构展开,标题编号使用中文法律文书标准格式(一、→(一)→ 1. → (1))。
- **附录**:数据来源与局限、引用案例清单、引用法条清单。
- **正式结尾**:"以上法律分析建议,供贵方参考……" + "顺颂商祺!" + 律所/团队名称 + 中文日期。
#### 4.3 生成方式(按优先级依次尝试)
1. **调用 `scripts/generate_docx.py`**(优先):将第三阶段的 Markdown 内容保存为临时文件,然后调用脚本生成排版规范的 `.docx`。脚本会自动将所有 Markdown 语法转换为 Word 原生格式,**确保最终文档中不残留 `**`、`*`、`#`、`>`、`|` 等 Markdown 符号**。
```bash
python3 scripts/generate_docx.py --workspace output --file /tmp/lawding_analysis_draft.md --filename "法律分析建议书_[案件简称]_YYYYMMDD.docx"
```
> 依赖 `python-docx`,若未安装则先执行 `pip install python-docx`。
2. **降级:调用 `docx` 技能**(`generate_docx.py` 执行失败时):将 Markdown 内容传给 docx 技能生成 `.docx` 文件。
3. **降级:`dws doc create` CLI**(docx 技能也不可用时):调用 `dws doc create` CLI 生成钉钉文档:
```bash
dws doc create --title "法律分析建议书_[案件简称]" --content "[Markdown 内容]"
```
4. **三重失败处理**(以上方式均失败时):
- 向用户明确提示:"文档生成服务暂时不可用,法律分析建议书内容如下:"
- 将结构化 Markdown 写入 `outputs/法律分析建议书_[案件简称]_YYYYMMDD.md`
- 向用户说明 Word 生成失败原因,建议稍后再次尝试
- **禁止**在 `output` 为空时结束任务
#### 4.4 排版要求
- 排版规范见 [报告模板 · Word 排版要求](references/report-template.md) 末尾章节。
- 确保标题层级清晰(H1-H4 对应 Word 标题样式),表格排版整齐,重点内容加粗,法条引用使用缩进引用格式。
#### 4.5 文件命名与保存
- **文件命名**:`法律分析建议书_[案件简称]_YYYYMMDD.docx`(案件简称取自案件清单中的第一个案件名称,简化至10字以内)
- **保存路径**:确保文件保存在 `outputs/` 目录下,生成完成后向用户确认文件路径。
## 异常处理
以下异常情况必须按对应方案处理,**任何异常都不得导致任务中断**:
| 异常场景 | 处理方案 | 报告中的标注 |
|---------|---------|-------------|
| 输入为刑事案件 | **立即终止**,告知用户不支持并建议转交专业人士 | — |
| 关键信息严重缺失 | 使用 `ask_human` 询问用户,最多 2 轮;仍不足则标注【待核实】继续分析 | 【待核实:具体缺失项】 |
| 未探测到「案例检索」连接器 | 跳过类案检索,基于法理推导撰写,可提示安装案例检索类连接器 | "暂未检索到高度匹配的公开判例,以下分析基于法理推导" |
| 案例检索调用失败 / 返回空 | 缩短 query + 减少 keywords 重试(最多 2 次);仍无结果或全部连接器失败则跳过,**严禁编造案号** | "未检索到匹配案例,建议安装/切换案例检索连接器后重试" |
| 未探测到「法规检索」连接器 | **停止该环节**,提示去"设置 → 连接器"安装;**禁止凭模型记忆罗列法条** | "法条引用需安装法规检索类连接器,本次未输出具体条号" |
| 法规检索调用失败 / 返回空 | 替换同义词/缩短 query 重试(最多 2 次);全部连接器失败则停止该环节,不输出具体法条 | 同上 |
| 未探测到「企业工商信息查询」连接器 | 提示去"设置 → 连接器"安装企业信息类连接器;**不用 WebSearch、不编造企业信息** | 「数据来源与局限」标 `工商数据获取状态:未取得` |
| 企业工商信息查询调用失败 | 有其他候选连接器时切换重试;全部失败则按"未取得"处理,不得用 WebSearch 替代 | "主体信息未取得(连接器调用失败)" |
| 部分维度查询失败 | 跳过失败维度,继续输出其他维度 | "该维度数据获取失败" |
| `docx` 技能不可用 | 降级使用 `dws doc create` CLI 生成钉钉文档;双重失败则输出 Markdown 至 `outputs/` 并告知用户 | — |
| 输入内容过长(超过模型上下文) | 分段处理,按案件拆分,逐个生成后合并 | — |
| 多案件输入 | 每个案件独立输出完整模块,最终合并为一份 Word 文档 | — |
**严禁**在任何异常情况下编造案号、法条或企业信息。
## 状态管理
本技能在执行过程中维护以下状态键,用于跨阶段传递信息和断点恢复:
| 状态键 | 类型 | 写入阶段 | 说明 |
|--------|------|---------|------|
| `input_type` | string | 第一阶段 | 输入类型:`transcript`(录音转写)/ `case_material`(案件材料) |
| `case_list` | array | 第一阶段 | 识别出的独立案件列表,每项含 `name`(名称)和 `type`(民商事/行政/非诉) |
| `current_case_index` | number | 第三阶段 | 当前正在分析的案件序号(多案件时用于逐个输出) |
| `case_search_status` | string | 第二阶段 2.1 | 案例检索状态:`success` / `skipped`(未探测到连接器/无结果) |
| `regulation_search_status` | string | 第二阶段 2.2 | 法规检索状态:`success` / `blocked`(未探测到连接器,停止该环节) |
| `company_info_status` | string | 第二阶段 2.3 | 企业工商信息查询状态:`success` / `partial` / `skipped`(无企业主体)/ `unavailable`(未探测到连接器)。注意:`partial`(仅取得部分主体)时,报告声明行仍按 §2.3 填写规则填"已取得",未取得方在主体表标"待核实"——报告声明行无"部分取得"选项 |
| `draft_md` | string | 第三阶段 | Markdown 分析草稿内容(传给第四阶段生成 Word) |
| `output_docx_path` | string | 第四阶段 | 最终 Word 文档的保存路径 |
## 参考文件说明
本技能包含以下参考文件,各文件用途如下:
| 文件 | 用途 | 何时使用 |
|------|------|----------|
| [references/case-query-rewrite-prompt.md](references/case-query-rewrite-prompt.md) | 案例检索 Query 改写提示词 | 第二阶段 2.1 改写检索语句时 |
| [references/regulation-query-rewrite-prompt.md](references/regulation-query-rewrite-prompt.md) | 法规检索 Query 改写提示词 | 第二阶段 2.2 改写检索语句时 |
| [references/case-data-structure.md](references/case-data-structure.md) | 案例检索返回数据归一化结构说明 | 第二阶段 2.1 解析连接器返回时 |
| [references/regulation-data-structure.md](references/regulation-data-structure.md) | 法规检索返回数据归一化结构说明 | 第二阶段 2.2 解析连接器返回时 |
| [references/case-search-pipeline.md](references/case-search-pipeline.md) | 案例检索连接器完整管道流程 | 第二阶段 2.1 执行检索时 |
| [references/regulation-search-pipeline.md](references/regulation-search-pipeline.md) | 法规检索连接器完整管道流程 | 第二阶段 2.2 执行检索时 |
| [references/report-template.md](references/report-template.md) | 法律分析建议书 Word 报告模板 | 第三阶段撰写报告和第四阶段生成 Word 时 |
| [scripts/validate_analysis_report.py](scripts/validate_analysis_report.py) | 交付前门禁:数据来源声明、工商数据缺失硬门禁、供应商泄漏、引用溯源 | 第四阶段 4.0 交付前必须运行 |
| [scripts/generate_docx.py](scripts/generate_docx.py) | Markdown → Word 转换脚本(自动去除 Markdown 符号) | 第四阶段生成 Word 时优先使用 |
## 输出契约
### 最终交付物
- 一份名为 `法律分析建议书_[案件简称]_YYYYMMDD.docx` 的排版规范的 Word 文件。
### 中间产物(可选)
- 结构化的 Markdown 分析草稿(若用户明确要求时额外提供,但不替代 .docx 最终交付物)。
### 质量标准
- 每个争议焦点的 IRAC 分析不少于 500 字。
- 每个争议焦点至少引用 3 个真实类案(案例检索连接器不可用的降级情况除外)。
- 法条引用必须包含具体条款编号,且来自「法规检索」连接器返回结果(未取得时不得凭记忆罗列)。
- 所有未经核实的信息必须标注【待核实】。
- 录音原文引用必须保持原文不变。
- 报告中引用的每一条类案、法条、企业信息,必须能溯源到实际的连接器检索结果;企业信息未取得时须在「数据来源与局限」如实声明。
## 可选套件上下文(不影响独立使用)
1. 工作目录根存在 `套件运行规则.md` 时必须先读取并执行;不存在时以本技能硬规则为准,不影响独立使用。
2. 工作目录根存在 `办案画像.md` 时,只读取与当前任务有关的诉讼立场、风险偏好和文书风格;不存在时按本技能默认运行,不追问、不报错。
3. 仅当用户明确切换到某案或提供唯一案件路径时,读取 `cases/{案件简称}/案件画像.md`;不得猜测案件,不得跨案带入。
4. 画像只影响表达与偏好,不得覆盖事实、法律依据、必备结构、验证结果或本技能硬规则。
5. 已明确绑定唯一案件且案件管家可用时,成果完成后提交标准案件事件;无案件不建档、不回写,回写失败不得阻塞成果交付。
Is this your skill, or is something wrong with this listing? Request removal or report an issue. Author removals are honored within 72 hours.
No comments yet. Be the first to comment!