# OpenCode Skills 技能文件夹 本文件夹包含 OpenCode 的各种技能(Skills),每个技能都是一个独立的功能模块,可以为 AI 助手提供特定领域的能力。 ## 目录结构 ``` .opencode/ └── skills/ ├── get-started/ # 入门引导技能 ├── workspace-guide/ # 工作区指南技能 ├── plugin-creator/ # 插件创建技能 ├── skill-creator/ # 技能创建技能 ├── command-creator/ # 命令创建技能 ├── agent-creator/ # 代理创建技能 └── event-publisher/ # 活动发布技能 ``` ## 技能详解 ### 1. get-started(入门引导) **路径**: `skills/get-started/SKILL.md` **功能**: 引导新用户完成 OpenWork 的入门设置和 Chrome DevTools 演示。 **触发条件**: 用户说 "get started" 或类似表达 **主要用途**: - 欢迎新用户并介绍 OpenWork - 引导用户访问 Google.com 演示 Chrome DevTools 功能 - 返回 "I'm on " 确认导航完成 --- ### 2. workspace-guide(工作区指南) **路径**: `skills/workspace-guide/SKILL.md` **功能**: 向新用户介绍 OpenWork 并帮助其入门。 **主要用途**: - 区分技术用户和非技术用户,提供不同的说明 - 解释 Skills(技能)和 Plugins(插件)的概念 - 提供快速入门的操作建议 **针对非技术用户**: - 解释 OpenWork 像聊天应用一样简单 - 指导如何总结、创建和组织文件 **针对技术用户**: - 介绍 OpenCode 的完整功能 - 指向官方文档学习更多 --- ### 3. plugin-creator(插件创建) **路径**: `skills/plugin-creator/SKILL.md` **功能**: 帮助创建 OpenCode 插件,提供插件开发指南和模板。 **插件存放位置**: - 项目插件: `.opencode/plugins/*.js` 或 `.ts` - 全局插件: `~/.config/opencode/plugins/*.js` 或 `.ts` **从 npm 加载插件**: 在 `opencode.json` 中配置: ```json { "$schema": "https://opencode.ai/config.json", "plugin": ["opencode-helicone-session", "opencode-wakatime"] } ``` **最小插件模板**: ```typescript export const MyPlugin = async ({ project, client, $, directory, worktree }) => { return { // Hook implementations go here } } ``` --- ### 4. skill-creator(技能创建) **路径**: `skills/skill-creator/SKILL.md` **功能**: 帮助创建新的 OpenCode 技能,包含标准化的脚手架模板。 **最佳使用方式**: 1. 用户先执行一个流程 2. 然后说 "create a skill for this" 3. 使用本技能创建可复用的技能 **创建步骤**: 1. 如果需要配置,创建 `.env.example`(不含凭据) 2. 询问用户是否需要存储凭据 3. 创建 `.gitignore` 忽略 `.env` 4. 添加可复用脚本到 `scripts/` 目录 **触发短语示例**: ```yaml --- name: my-skill description: | [技能一句话描述] 触发条件: - "[具体短语1]" - "[具体短语2]" - "[具体短语3]" --- ``` **文件夹结构**: ``` skill-name/ ├── SKILL.md # 技能定义文件(必需) ├── scripts/ # 可复用脚本目录 ├── .env # 环境变量和凭据 ├── .env.example # 环境变量模板 └── .gitignore # 忽略 .env ``` --- ### 5. command-creator(命令创建) **路径**: `skills/command-creator/SKILL.md` **功能**: 创建 OpenCode 自定义命令,用于重复性任务。 **命令存放位置**: - 项目命令: `.opencode/commands/` - 全局命令: `~/.config/opencode/commands/` **命令文件示例**: ```markdown --- description: Run tests with coverage agent: build model: gpt-5.2-codex --- Run the full test suite with coverage report and show any failures. Focus on the failing tests and suggest fixes. ``` **使用方式**: 在 TUI 中输入 `/命令名` 执行 **高级功能**: - `$ARGUMENTS` - 传递参数 - `$1`, `$2`, `$3` - 位置参数 - `` !`command` `` - 注入 Shell 输出 - `@path/to/file` - 包含文件内容 --- ### 6. agent-creator(代理创建) **路径**: `skills/agent-creator/SKILL.md` **功能**: 创建新的 OpenCode 代理,默认使用 gpt-5.2-codex 模型。 **创建命令**: ```bash opencode agent create ``` **代理存放位置**: - 项目代理: `.opencode/agents/.md` - 全局代理: `~/.config/opencode/agents/.md` **代理模板**: ```markdown --- description: One-line description of what the agent does mode: subagent model: gpt-5.2-codex tools: write: false edit: false bash: false --- You are a specialized agent. Describe your task, boundaries, and expected output. ``` **配置选项**: - `mode`: `primary`, `subagent`, 或 `all` - `model`: 指定使用的模型 - `tools`: 控制代理的工具访问权限 --- ### 7. event-publisher(活动发布助手) **路径**: `skills/event-publisher/SKILL.md` **功能**: 完整的一站式活动创建和发布流程:选题 → 文案生成 → 海报生成(含Logo)→ 活动发布。 **触发条件**: - "发布活动"、"创建活动" - "活动海报"、"活动文案" - "生成海报"、"上传活动" - "过年游园"、"春节活动" **工作流程**: ``` 用户提供信息 ↓ 生成文案 (generate_content.sh) → 得到 .md 文件 ↓ 生成海报 (generate_image.sh) → AI生成提示词 → 生成图片 → 自动叠加Logo → 保存提示词 ↓ 用户选择图片 ↓ 发布活动 (upload_event.sh) → 上传图片到OSS → 读取 .md 文件作为 description → 发布 API ↓ 返回活动ID ✅ ``` **包含的脚本**: | 脚本 | 功能 | |------|------| | `generate_content.sh` | 生成标准化的 Markdown 活动文案 | | `generate_prompt.sh` | 生成图片提示词 | | `generate_image.sh` | 生成图片(含 Logo 处理) | | `add_logo.py` | 自动添加 quant-speed Logo | | `upload_event.sh` | 上传图片并发布活动 | **API 配置**: | 服务 | API | 状态 | |------|-----|------| | 豆包图片生成 | doubao-seedream-5-0-260128 | ✅ | | 豆包文本生成 | doubao-seed-2-0-pro-260215 | ✅ | | Nanobanana | gemini-3-pro-image-preview | ✅ | | 图片上传OSS | data.tangledup-ai.com/upload | ✅ | | 活动发布 | market.quant-speed.com | ✅ | --- ## 通用约定 ### Frontmatter 格式 每个 SKILL.md 文件顶部都包含 YAML 格式的元数据: ```yaml --- name: skill-name # 技能名称(小写,与文件夹名一致) description: | # 技能描述(触发条件和使用说明) 技能功能描述 触发条件: - "具体短语1" - "具体短语2" --- ``` ### 快速使用标记 - **Quick Usage (Already Configured)**: 表示该技能已预配置,可直接使用 - **First-Time Setup (If Not Configured)**: 表示首次使用时的设置步骤 --- ## 官方文档 更多详细信息请参考 OpenCode 官方文档: - Skills: https://opencode.ai/docs/skills/ - Plugins: https://opencode.ai/docs/plugins/ - Commands: https://opencode.ai/docs/commands/ - Agents: https://opencode.ai/docs/agents/