Back to skills
SKILL.md
Lawd Analysis Report
ASecurity生成深度法律分析报告(民商/行政/非诉)。基于录音转写文本或案件材料,自动识别事务类型,运行时探测并调用「案例检索」「法规检索」「企业工商信息查询」三类连接器能力做自动化增强,输出排版精美的 Word (.docx) 文档。适用于律师沟通后快速产出'合伙人级别'分析建议书。TRIGGER when: (1) 用户提供录音转写文本或案件材料要求出具法律分析报告 (2) 用户要求对案件进行全面分析并生成建议书 (3) 用户提及'分析报告''法律建议书''案件分析'等关键词。NOT for: 单纯法条查询(应使用 律师法规检索)、单纯类案检索(应使用 律师类案检索与报告)、合同审查(应使用 律师合同预审)、企业信息查询(应使用 律师企业尽调报告)、简单法律咨询(无需生成完整报告的一问一答)、律师函撰写(应使用 律师函撰写)、办案小结(应使用 律师办案小结)。
- 28 stars
- 0 votes
- 0 copies
- 1 view
- Added September 12, 2026
Works with
Security analysis
92/100- Installs packages at runtime which could introduce malicious dependencies
Pro scans all 12 files and shows the line behind each finding
npx -y skills add ahang1598/doubao-workbuddy-qwenwork-skills --skill lawd-analysis-report --agent claude-codeAre you the author of Lawd Analysis Report?
Add the live security badge to your README. It updates with every re-scan.
[](https://www.skillsdirectory.com/skills/ahang1598-lawd-analysis-report)---
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. 已明确绑定唯一案件且案件管家可用时,成果完成后提交标准案件事件;无案件不建档、不回写,回写失败不得阻塞成果交付。
Files in this skill
- .skill-metadata.yaml
- CHANGELOG.md
- SKILL.md
- references/case-data-structure.md
- references/case-query-rewrite-prompt.md
- references/case-search-pipeline.md
- references/regulation-data-structure.md
- references/regulation-query-rewrite-prompt.md
- references/regulation-search-pipeline.md
- references/report-template.md
- scripts/generate_docx.py
- scripts/validate_analysis_report.py
Attribution
Comments
Loading comments…
Newsletter
Get the weekly list of safe new skills, and the ones we pulled.