写进自己的技能
如果你有一套固定的办案流程,可以写成技能(
SKILL.md),让智能体每次都按同一套步骤调用码上律术,而不是每次重新交代。
1. 技能和 MCP 是什么关系
| 管什么 | 举例 | |
|---|---|---|
技能(SKILL.md) | 管「怎么做」 | 先问什么、按什么顺序做、输出什么格式、出错怎么处理 |
| MCP 工具 | 管「能做什么」 | 真实的案由库、办案指引库;技能负责调用,工具负责给出结果 |
先记住一条:技能里不写 API Key,也不让模型直接发 HTTP 请求。鉴权由接入智能体里的客户端配置负责,技能只负责「在什么时候调用哪个工具」。
2. 一个最小可用的技能
新建一个文件夹,里面放一个 SKILL.md,内容如下。它做的事:接案时先补事实、再脱敏、调 cause_locate、按固定格式输出。
---
name: 案由定准
description: 接案或立案前,把案情定成主案由与辅案由,并输出案由名称和案由编码。
allowed-tools:
- cause_locate
---
# 案由定准
## 依赖声明
- 必需 MCP Server:mashanglvshu
- 必需工具:cause_locate(案由定位)
## 前置校验(第一步执行)
1. 检查当前工具清单里有没有 cause_locate(有的客户端会显示成
mcp__mashanglvshu__cause_locate,只要包含 cause_locate 就算有);
2. 没有就立即停止,把使用说明地址发给用户,不要用其他工具替代。
## 使用流程
1. 先收集事实:当事人、时间、行为、金额、诉求;缺失的先问用户;
2. 先把姓名、身份证号、手机号、住址等敏感信息脱敏;
3. 把脱敏后的案情整理成一段话,作为 query 调用 cause_locate;
4. 按固定格式输出:
- 案件类型:民事 / 刑事 / 行政
- 主案由:名称 + 案由编码 + 置信度
- 辅案由:逐条列出名称 + 编码
- 定位依据:一两句话
5. 结尾注明:以上为参考性意见,须经律师复核,最终以法院认定为准。
## 异常处理
| 情况 | 做法 |
| --- | --- |
| 工具缺失 | 停止,输出接入指引 |
| 提示积分不足 | 把提示里的获取积分链接原样发给用户,停止重试 |
| 结果置信度低 | 请用户补充事实,再调用一次(最多一次) |
## 禁止事项
- 不编造案由编码;
- 不绕过 MCP 直接发 HTTP 请求;
- 不把未脱敏的当事人信息传给工具。3. 三段关键写法
| 写在哪 | 写什么 | 作用 |
|---|---|---|
frontmatter 的 allowed-tools | 工具名 cause_locate | 客户端层面的硬白名单,只允许用这个工具 |
| 正文「前置校验」 | 先检查工具清单里有没有该工具,没有就停 | 避免模型找不到工具时「凑」一个相似结果 |
| 正文「使用流程」 | 什么时候调、query 传什么、结果怎么用 | 把方法固化成 SOP,每次执行都一致 |
| 正文「异常处理」 | 积分不足、工具缺失、置信度低分别怎么办 | 不重试、不瞎编,把问题交回给人 |
| 正文「禁止事项」 | 不编编码、不绕过 MCP、不传未脱敏信息 | 给模型划红线 |
4. 工具名在不同客户端里可能长得不一样
| 客户端 | 工具名可能显示为 |
|---|---|
| 大多数客户端(WorkBuddy / 豆包工作等) | cause_locate |
| Claude Code | mcp__mashanglvshu__cause_locate |
| VS Code 等 | mcp.mashanglvshu.cause_locate |
| 部分客户端 | mashanglvshu:cause_locate |
写技能时统一写 cause_locate,并在「前置校验」里用「包含 cause_locate 就算有」的写法,就能兼容上面几种显示形式。
5. 装到智能体里
豆包工作
- 左侧「插件·技能·伙伴」→ 切到「技能」页 → 右上角「+ 添加」。
- 选「上传技能」,上传刚才那个文件夹。技能文件里至少要有
skill.md,开头要有 YAML 格式的名称和描述。 - 保存后在任务对话框中输入
@或/搜索技能名即可调用;也可以直接描述需求,由它自动匹配。
WorkBuddy
- 把含
SKILL.md的技能文件夹放进 WorkBuddy 的技能目录,或在客户端「技能」管理里导入(具体入口随版本略有差异)。 - 重启客户端,在技能列表中看到「案由定准」。
- 在对话里输入
/选择该技能,或直接说「用案由定准技能帮我定这个案子的案由」。
Claude
- 把含
SKILL.md的技能文件夹放进 Claude 的 skills 目录。 - 重新加载客户端,在技能列表里确认已出现。
- 对话里用
/选择技能,或直接描述任务让它匹配。
6. 写完先自检
- 已经按接入智能体接过 MCP,助手能列出
cause_locate。 SKILL.md开头的 YAML 有name和description,allowed-tools里有工具名。- 正文写了「前置校验」,工具缺失时会停下来而不是硬凑。
- 流程里说清了
query传什么、结果输出成什么格式。 - 技能里没有 API Key,也没有直接发 HTTP 请求的代码。
- 用一段脱敏后的真实案情跑一遍,结果里能看到案由名称与编码。