当用户的意图是准备上传技能到腾讯技能平台时,立即调用本技能。以下表达均应触发:
当你已经把一个技能在本地调试好,准备上传到腾讯技能商店时,这个技能帮你自动完成两件事:
/skill-publisher <技能名称>
或指定导出路径:
/skill-publisher <技能名称> --export <导出目录>
示例:
/skill-publisher geo-optimization --export C:\Users\Administrator\Desktop\腾讯龙虾技能导出
平台发布页面需要填写以下 6 个字段,本技能会逐一从 SKILL.md 中提取或推导:
| # | 平台字段 | 来源 | 说明 |
|---|---|---|---|
| --- | --------- | ------ | ------ |
| 1 | Slug | frontmatter.slug | 技能唯一标识,必须与 SKILL.md 中的 slug 一致 |
| 2 | 显示名称 | frontmatter.name | 技能在商店中的展示名称 |
| 3 | 图标 | 需用户提供 | 平台要求上传图标文件,本技能会提示用户自行上传 |
| 4 | 描述 | frontmatter.description | 技能功能描述,直接复制 |
| 5 | 版本号 | frontmatter.version | 当前版本,格式如 1.0.0 |
| 6 | 变更说明 | 需推导 | 如果有变更历史则提取;如果是首次发布,简要列出技能包含的核心能力。禁止偷懒只写"初始发布" |
按以下优先级查找技能:
~/.workbuddy/skills/<技能名称>/SKILL.md(用户级技能){当前工作区}/.workbuddy/skills/<技能名称>/SKILL.md(项目级技能)如果找不到,立即告诉用户,不要猜测。
在解析 frontmatter 之前,先做一个判断:
version 没有对应更新,必须先更新版本号再继续打包1.0.0 → 1.0.11.0.0 → 1.1.01.0.0 → 2.0.0读取 SKILL.md,从 YAML frontmatter 中提取:
name: ... # → 显示名称
slug: ... # → Slug
version: ... # → 版本号
description: ... # → 描述
校验规则:
slug 只允许小写字母、数字和连字符(a-z0-9-),不允许中文和空格version 格式应为 X.Y.Z(语义化版本)slug 值(即 {导出目录}/{slug}/)注意:
将提取到的字段排版为以下格式,方便用户直接复制粘贴到腾讯平台:
━━━━━━━━━━━━━━━━━━━━━━━━━━
腾讯技能平台 · 发布表单
━━━━━━━━━━━━━━━━━━━━━━━━━━
Slug:
{slug}
显示名称:
{name}
图标:
⚠️ 需要你手动上传图标文件
描述:
{description}
版本号:
{version}
变更说明:
{changelog}
━━━━━━━━━━━━━━━━━━━━━━━━━━
导出路径: {export_path}\{slug}\
━━━━━━━━━━━━━━━━━━━━━━━━━━
输出完表单后,附加简短提示:
📌 后续步骤:
1. 打开腾讯技能平台发布页
2. 将上方字段逐一复制到对应表单中
3. 手动上传图标文件
4. 将导出文件夹 {slug}\ 打包为 zip 上传(如果平台要求 zip 格式)
| 情况 | 处理方式 |
|---|---|
| ------ | --------- |
| 技能不存在 | 明确报错,列出 ~/.workbuddy/skills/ 下已有的技能供选择 |
| SKILL.md 无 frontmatter | 提示用户补充 YAML 头部 |
| slug 含非法字符 | 报错并列出非法字符,建议修正 |
| 导出目录已存在同名文件夹 | 先删除再覆盖,并告知用户 |
| description 过长/过短 | 给出建议但不阻止(平台有具体限制以平台为准) |
| 变更说明为空 | 列出技能的核心能力和关键设计决策,而不是只写"初始发布" |
skill-scanner 或 skills-security-check 技能使用共 2 个版本