全部文档

产品功能:技能里该有什么(允许清单)

目的:生成或更新技能时,只保留执行所需;清单外一律不要。

来源 help/product-features/skill-content-rules.md

目的:生成或更新技能时,只保留执行所需;清单外一律不要。 适用:对话「生成 / 更新技能」、技能中心「描述创建 / 改进助手」、手工编辑与导入。 落地:撰写注入会优先带上本文;发布校验会拦截思考块泄漏、重复二级标题、交付规则自相矛盾等错误。

技能是给智能体 按步骤复现一类操作 的说明书 + 可选可执行件,不是写作过程的草稿本,也不是聊天记录存档。


1. 总原则

  1. 白名单制:下面「允许」里有的才可以进技能包;没有列到的,默认 不要
  2. 一物一用:每个文件、每个正文小节都要能回答「执行时靠它做什么」;答不上来就删。
  3. 单一真相:同一规则只写一处;禁止「前面禁止、后面又允许」的软冲突。
  4. 可复现:正文写清步骤与交付;长模板、脚本、样例 HTML 放附属文件,正文用路径引用,勿把整份调试痕迹塞进正文。

2. 允许清单:技能必须 / 可以有什么

2.1 元数据(必有)

内容意义要求
名称(显示名)技能中心列表标题;用户识别「这是哪个能力」短、场景可辨,如「日隆部门职级统计图」
标识符(slug)导出包目录名、与外部工具互导小写连字符;一般由系统生成
触发说明决定对话里 会不会被想起必须含 适用 / 不适用;适用行以触发短语开头
功能类型列表筛选标签2~8 字,如「数据报表」;系统可归纳

2.2 技能正文(必有)

对应编辑区 Markdown / SKILL.md 去掉 frontmatter 后的正文。

小节何时要有意义
# 显示名(可选一行标题)建议有与列表名称一致,方便阅读
## 使用说明必有重复哪类事、前置条件、所需输入、推荐调用顺序;缺输入先追问
## 完成标准必有成功时用户应看到的 可见交付物(文件链接、报表、回执文案等)
## 失败信号必有必须停下并向用户说明的情况
## 接口与调用有 HTTP 时方法、URL、鉴权占位、参数要点
## 操作流程无 HTTP、纯步骤时逐步怎么做
## 脚本执行要用 run_script调哪个脚本、输入输出、与业务步骤关系
## 图表规格 / 交付形态有图表或固定 HTML 报表时图表类型、字段映射;或 唯一 交付模板约定
## 排错与迭代有已知坑时现象 → 处理;只保留仍有效的
## 注意事项有权限/密钥边界时勿硬编码密钥、授权名、站点范围等

正文里可以写:归类规则表、占位符说明、强制路径(如本地 ECharts)、与附属文件的相对路径引用。

2.3 附属文件(按需;没有就不要建空目录)

目录意义放什么不放什么
references/按需加载的长材料,避免正文过长接口说明、查询定义 JSON、完整可复用 HTML/报表模板、字段对照表聊天摘录、一次跑数的临时结果、过期草稿
scripts/确定性计算/拼装(沙箱执行)取数后清洗、聚合、按模板填数生成 HTML/Office 等可重复脚本已弃用脚本、空壳 NotImplemented、用 matplotlib 再嵌 PNG 却与正文红线冲突的画图脚本
assets/静态资源、版式壳空壳 HTML、CSS、图标、样例结构(不含业务密钥)某次运行的 PNG 截图当「标准答案」、含真实令牌的文件

约定

  • 用户认可的「标准交付物」若是一整份 HTML,应落在 references/(或 assets/)为 完整模板,正文只写「以该文件为准 + 如何替换数据」,不要只在正文里留半截骨架。
  • 若正文写「禁止 Python 画图」,则 scripts/ 不得再保留画图脚本;只保留「拼装/填模板」类脚本(若需要)。
  • 一次实测人数(如 93、1745)只能标为 示例勿照抄,或干脆不写死,执行时以当次取数为准。

2.4 可选:权限声明(frontmatter)

permissions:
  tools: [data_source_invoke, file_write]
  secrets: [授权名]

意义:声明本技能依赖哪些工具与对接授权 名称(不是密钥值)。没有外部依赖可不写。


3. 禁止清单:生成 / 更新时一律不要

下列内容 不得 写入技能正文、触发说明或附属文件:

禁止项为什么多余 / 有害
<think> / <thinking> / <redacted_thinking> 等思考块模型写作草稿,不是执行步骤;浪费上下文、误导执行
「我打算先读技能再改…」类过程叙述同上,属于对话过程,不是技能
重复的同名 ## 标题(如交付形态写两次)造成补丁错位、规则叠罗汉
已废止路径与现行红线并存(如「禁止 PNG」却又写「PNG 可作默认预览」)智能体仍会走旧路
真实 API Key、Bearer 令牌、密码安全风险
编造材料中未出现的 URL、字段、数字执行失败或假数据
空泛触发句(「由会话自动生成」「助力提升效率」「用户消息涉及本技能所归纳的接口」)召回无效
变更日志式长文(「v1 用脚本 / v2 改 HTML…」写进正文当步骤)应只保留 当前 有效步骤;历史留给版本记录
未引用的废弃脚本 / 空模板文件增加误调用概率
CDN 外链脚本(在已要求本地 vendor 时)预览环境不可用或违反平台约束
把整段聊天记录、tool_trace 原文堆进正文应整理成步骤;原始摘录不是技能

4. 最小合格包(对照)

仅说明型(无脚本、无模板文件):

  • 元数据 + 正文(使用说明 / 完成标准 / 失败信号 + 按需小节)

取数 + 固定 HTML 报表(如部门职级统计):

  • 元数据 + 正文(含交付红线、归类规则、引用路径)
  • 正文须含可解析的 Markdown 归类表(部门聚合、职级关键字)+ 占位符清单(若模板用 __TOTAL__ 等)
  • references/一份 完整 HTML 模板(可含 __占位符__,或带样例数字的完整版式骨架)
  • 推荐scripts/ 下提供带 build_report(...) 的聚合/填模板脚本(不画图)——创建应用时原样同步
  • 对话完成统计、技能无脚本(仅正文归类说明 + HTML 模板):创建应用时由模型根据「技能正文 + 本会话出报表过程」生成应用内 build_report.py,把对话中的对等计算固化进应用
  • 正文仍建议写清归类表与占位符,便于模型编译与人工核对
  • 不要:旧画图脚本、半截表体、think、与红线冲突的 PNG;不要假设平台常驻万能报表计算
  • 流程:对话里先用技能出报表 → 再说「生成应用」

取数 + 地图 / 结构示意 HTML(门店点位、组织树):

  • 同上「固定 HTML」要求;模板脚本分别用平台 LeafletMermaid(见 /static/vendor/
  • 仓库骨架:examples/html-vendor-skills/dept-level-charts/examples/html-vendor-skills/store-locations-map/examples/html-vendor-skills/org-structure-diagram/
  • 不要:Google/百度 SDK、CDN、未登记图库;统计图勿用 matplotlib/自造 SVG 替代平台 ECharts

接口调用型

  • 元数据 + 正文(含 ## 接口与调用)+ {{授权名}}
  • 长 API 说明可放 references/

5. 生成与更新时的自检(写完必过)

  1. 正文是否以标题或 ## 使用说明 起笔,开头没有 think / 规划废话?
  2. 是否只有 一套 现行交付方式,旧路径已删净?
  3. 每个附属文件是否被正文引用?未被引用的删掉。
  4. 示例数字是否标明「勿照抄」或已去掉?
  5. 触发说明是否含具体触发短语 + 不适用?
  6. 是否含真实密钥或 CDN(在禁止时)?

任一项不通过:先改到通过再发布,不要带着多余物升版本。


6. 相关文档