写进自己的技能

如果你有一套固定的办案流程,可以写成技能(SKILL.md),让智能体每次都按同一套步骤调用码上律术,而不是每次重新交代。

1. 技能和 MCP 是什么关系

管什么举例
技能(SKILL.md)管「怎么做」先问什么、按什么顺序做、输出什么格式、出错怎么处理
MCP 工具管「能做什么」真实的案由库、办案指引库;技能负责调用,工具负责给出结果

先记住一条:技能里不写 API Key,也不让模型直接发 HTTP 请求。鉴权由接入智能体里的客户端配置负责,技能只负责「在什么时候调用哪个工具」。

2. 一个最小可用的技能

新建一个文件夹,里面放一个 SKILL.md,内容如下。它做的事:接案时先补事实、再脱敏、调 cause_locate、按固定格式输出。

SKILL.md
---
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 Codemcp__mashanglvshu__cause_locate
VS Code 等mcp.mashanglvshu.cause_locate
部分客户端mashanglvshu:cause_locate

写技能时统一写 cause_locate,并在「前置校验」里用「包含 cause_locate 就算有」的写法,就能兼容上面几种显示形式。

5. 装到智能体里

豆包工作

  1. 左侧「插件·技能·伙伴」→ 切到「技能」页 → 右上角「+ 添加」。
  2. 选「上传技能」,上传刚才那个文件夹。技能文件里至少要有 skill.md,开头要有 YAML 格式的名称和描述。
  3. 保存后在任务对话框中输入 @ 或 / 搜索技能名即可调用;也可以直接描述需求,由它自动匹配。

WorkBuddy

  1. 把含 SKILL.md 的技能文件夹放进 WorkBuddy 的技能目录,或在客户端「技能」管理里导入(具体入口随版本略有差异)。
  2. 重启客户端,在技能列表中看到「案由定准」。
  3. 在对话里输入 / 选择该技能,或直接说「用案由定准技能帮我定这个案子的案由」。

Claude

  1. 把含 SKILL.md 的技能文件夹放进 Claude 的 skills 目录。
  2. 重新加载客户端,在技能列表里确认已出现。
  3. 对话里用 / 选择技能,或直接描述任务让它匹配。

6. 写完先自检

  • 已经按接入智能体接过 MCP,助手能列出 cause_locate。
  • SKILL.md 开头的 YAML 有 name 和 description,allowed-tools 里有工具名。
  • 正文写了「前置校验」,工具缺失时会停下来而不是硬凑。
  • 流程里说清了 query 传什么、结果输出成什么格式。
  • 技能里没有 API Key,也没有直接发 HTTP 请求的代码。
  • 用一段脱敏后的真实案情跑一遍,结果里能看到案由名称与编码。