ARTICLE DETAIL

资讯详情

深耕郑州网站建设与运营推广的一线实战洞察。

从Prompt到Skill:用skill-creator生成我的第一个SKILL.md

从Prompt到Skill:用skill-creator生成我的第一个SKILL.md 1. 为什么你的 Prompt 该升级成 Skill 了如果你经常在 opencode 里跟大模型打交道大概率攒了一堆好用的 Prompt写周报的、生成接口文档的、把技术稿改成短视频脚本的。它们确实好用但每次用都得翻聊天记录、复制粘贴改一个参数还要手动替换好几处。更麻烦的是这些 Prompt 只活在对话里换台机器、换个项目就找不到了。Skill 就是来解决这个问题的。你可以把它理解成给 opencode 装的一个“插件”它把一段 Prompt 连同触发条件、执行步骤、可选的脚本和模板一起打包成一个文件夹放进~/.agents/skills/目录后opencode 会在合适的时机自动识别并加载它。你不再需要记住 Prompt 全文只要说一句“帮我策划一期关于 XX 的视频”系统就会命中对应的 Skill。这篇要做的就是用skill-creator这个“孵化器”技能把一段已经调好的 Prompt 沉淀成标准的SKILL.md并演示生成后怎么校验它真的能被 opencode 正确加载。适合已经用过 opencode、手里有几段得意 Prompt、想进一步做知识资产化的同学。全程只需要一个终端和一个能跑 opencode 的环境不需要写复杂代码。我试过把同一段视频脚本 Prompt 手动复制了十几次之后才下决心把它做成 Skill后面维护成本直接降下来了。2. 前置准备TaoToken 与 skill-creator 的安装2.1 为什么这里会用到 TaoTokenopencode 本身是个客户端真正干活的是背后的大模型。skill-creator 在初始化技能时需要模型帮你把 Prompt 拆成 frontmatter、工作流和输出规范这一步对模型的指令遵循能力有要求。TaoToken 提供的是兼容 OpenAI 风格接口的模型调用入口你可以在 opencode 里把它配成 provider这样 skill-creator 生成 SKILL.md 时走的就是稳定的模型通道。需要说明的是TaoToken 在这里的角色是模型 API 接入层不是编辑器替代品也不涉及任何绕过网络限制的操作。你只是把 opencode 的 base_url 指向它然后用自己的 API Key 调用模型。2.2 拿到 API Key登录 TaoToken 控制台在 API Keys 页面创建一个新 Key。建议按用途命名比如opencode-skill-dev方便后面区分。创建后立刻复制保存页面刷新后就看不到完整 Key 了。控制台入口https://taotoken.net/console?utm_sourcetaotoken_aicg_blog_endutm_contentconsoleutm_campaignrewriteAPI Keys 页面https://taotoken.net/api-keys?utm_sourcetaotoken_aicg_blog_endutm_contentapi-keysutm_campaignrewrite2.3 在 opencode 里配置 provideropencode 的模型配置一般写在项目或全局的配置文件里。下面是一个最小可用的配置片段把 TaoToken 作为 OpenAI 兼容 provider 接入{ provider: { taotoken: { type: openai, baseURL: https://taotoken.net/api, apiKey: sk-你的Key, models: { default: claude-sonnet-4-5 } } } }注意baseURL用的是https://taotoken.net/api不要多加路径后缀。模型名按你实际可用的填这里只是示例。配好后在 opencode 里发一条测试消息能正常返回就说明通道通了。2.4 安装 skill-creatorskill-creator 本身也是一个 Skill它内置了init_skill.py和package_skill.py这类脚手架脚本专门用来生成新技能的骨架。安装命令大致如下opencode install skill-creator装完后确认一下目录默认落在ls ~/.agents/skills/skill-creator你应该能看到SKILL.md以及scripts/目录。如果这个目录不存在说明安装没成功先检查 opencode 版本和网络配置。3. 可复制配置从 Prompt 到 SKILL.md 的完整路径3.1 先把 Prompt 打磨到“可封装”的程度不是所有 Prompt 都值得做成 Skill。判断标准很简单这段 Prompt 你是不是反复用、参数是不是固定、输出格式是不是稳定。我拿“技术主题转短视频脚本”这个场景举例调好之后的 Prompt 大致包含三块角色设定百万粉丝科技博主语言口语化避免学术腔。 工作流先做知识对齐再匹配叙事框架最后规划视觉风格。 输出规范生成scene.md分镜和script.json口播文件放在项目assets/目录下。这三块正好对应 SKILL.md 里的 frontmatter、body 工作流和输出约束。你手里的 Prompt 如果也能拆成这三层就可以进入下一步。3.2 用 skill-creator 初始化技能在 opencode 对话框里调用 skill-creator把打磨好的 Prompt 作为输入。指令可以这样写使用 skill-creator帮我创建一个名为 video-script-creator 的新技能。 核心功能输入技术主题生成 scene.md分镜和 script.json口播。 工作流包含知识对齐、框架匹配、视觉规划。 资源文件放在 assets 目录下。 风格要求百万粉丝科技博主支持分镜画面描述和口播对齐。skill-creator 会调用模型解析这段描述然后在~/.agents/skills/video-script-creator/下生成初始结构video-script-creator/ ├── SKILL.md └── assets/这就是标准的轻量级技能结构。SKILL.md是核心assets/用来放模板和生成产物。3.3 SKILL.md 骨架长什么样生成出来的SKILL.md顶部是 YAML frontmatter用---包裹--- name: video-script-creator description: | 科技博主风格短视频策划方案生成器。 输入技术主题自动生成分镜画面提示词(scene.md)和口播文稿(script.json)。 支持三种叙事框架、六种画面风格。 ---name是技能唯一标识description是触发关键。opencode 平时只加载这两项靠 description 判断要不要激活这个技能。所以 description 里一定要写清楚“在什么场景下用我”比如“当用户提到做视频、写脚本、策划短视频时使用”。frontmatter 下面是 body也就是指令主体。它通常包含角色设定、工作流步骤和输出规范。一个可用的 body 骨架## 角色 你是一位百万粉丝科技博主擅长把硬核技术讲成大白话。 ## 工作流 1. 知识对齐确认主题的核心概念和受众水平。 2. 框架匹配从“理论实证法/问题解决法/对比评测法”中选一个。 3. 视觉规划从六种画面风格中选一种输出分镜提示词。 4. 产出文件在项目 assets/ 下生成 scene.md 和 script.json。 ## 输出规范 - scene.md 用 Markdown 表格每行一个分镜。 - script.json 包含 title、segments 两个字段。 - 口播文案单句不超过 40 字便于配音。3.4 补充 scripts 和 references可选第一个 Skill 可以不带脚本。但如果你的流程里有确定性操作比如生成后自动校验 JSON 格式就可以在scripts/下放一个 Python 脚本在 SKILL.md 里写明“生成后运行python scripts/validate.py”。references 则用来放私有知识比如“公司短视频审核红线”模型只在需要时才读不占日常上下文。4. 验证请求确认 Skill 能被正确加载4.1 检查目录位置Skill 要被 opencode 识别必须放在~/.agents/skills/下。确认一下ls ~/.agents/skills/video-script-creator能看到SKILL.md就说明位置对了。如果放在项目目录里需要确认 opencode 是否配置了额外的技能搜索路径。4.2 列出已安装技能opencode 提供了查看技能的命令opencode list输出里应该出现video-script-creator。如果没出现多半是SKILL.md的 frontmatter 格式有问题比如---没闭合、name字段缺失。4.3 用自然语言触发一次最直接的验证方式就是在对话框里说一句模糊指令我想做一个关于 Python 装饰器的短视频帮我出个方案。如果 Skill 加载成功opencode 会命中video-script-creator按 SKILL.md 里的工作流执行并在项目assets/下生成scene.md和script.json。你可以打开这两个文件检查分镜是否有画面描述口播是否口语化格式是否符合输出规范。4.4 用命令精确调用除了自然语言触发也可以显式指定技能和参数opencode run video-script-creator --params {topic: 量子计算入门} --output ./my_video_project这条命令会强制走video-script-creator把主题作为参数传入产物输出到指定目录。实测下来这种方式更适合放进自动化流程比如批量生成系列视频脚本。4.5 验证成功的判断标准一次成功的加载和调用应该同时满足opencode list能看到技能名自然语言触发时模型行为符合 SKILL.md 定义的工作流产物文件出现在预期路径且格式正确。三条都过了才算真正跑通。5. 本篇常见错排查5.1 Skill 不触发模型完全没反应最常见的原因是description写得太泛比如只写了“视频脚本生成器”没有说明触发场景。opencode 靠 description 做检索匹配建议改成“当用户提到做视频、写脚本、策划短视频、生成分镜时使用”。另外确认 frontmatter 的---是文件第一行前面不能有空行。5.2 报错找不到 SKILL.md检查目录层级。正确路径是~/.agents/skills/video-script-creator/SKILL.md不是~/.agents/skills/SKILL.md。每个技能一个独立文件夹文件夹名和name字段保持一致最稳妥。5.3 生成的文件跑到了奇怪的位置SKILL.md 里写的assets/是相对路径相对于你当前运行 opencode 的项目目录不是技能目录。如果你希望产物固定落在某个位置就在输出规范里写绝对路径或者用--output参数显式指定。5.4 模型调用报 401 或超时先确认 TaoToken 的 API Key 有没有过期再检查baseURL是不是https://taotoken.net/api。如果 opencode 日志里显示连接被拒多半是配置文件里 provider 名称和调用时用的名称不一致。改完配置记得重启 opencode。5.5 skill-creator 生成的 SKILL.md 格式错乱skill-creator 依赖模型输出结构化内容如果模型指令遵循能力弱frontmatter 可能缺字段。解决办法是换一个更强的模型来跑初始化或者手动补全 frontmatter。生成后一定用opencode list验证一遍别直接开用。6. 把 Skill 用起来接入与长期维护Skill 做好之后日常使用就是自然语言触发不需要再碰 Prompt 全文。如果你要把它分享给同事整个video-script-creator/文件夹打包发过去对方放进自己的~/.agents/skills/就能用这就是可移植性带来的好处。对于需要长期跑编码任务或 Agent 流程的同学可以考虑用 Coding Plan 来管理模型调用额度避免频繁切换 Key。接入相关的文档和模型对话调试入口如下模型对话调试https://taotoken.net/chat?utm_sourcetaotoken_aicg_blog_endutm_contentchatutm_campaignrewriteCoding Planhttps://taotoken.net/coding-plan?utm_sourcetaotoken_aicg_blog_endutm_contentcoding-planutm_campaignrewrite接入文档https://taotoken.net/doc?utm_sourcetaotoken_aicg_blog_endutm_contentdocutm_campaignrewrite最后给一个实用建议Skill 的description值得反复打磨它决定了触发准确率SKILL.md 的 body 保持精简多给具体例子少写大段说明。能写进scripts/的确定性逻辑就别让模型在对话里反复推理。你的第一个 Skill 不用追求功能全能稳定触发、稳定产出就已经比散落的 Prompt 前进了一大步。
返回列表