本指南介绍如何以与 Claude Code 体验紧密一致的方式(自动技能选择、生命周期驱动的工作流和严格的流程执行)在 OpenCode 中使用 Agent Skills。
OpenCode 支持自定义 /commands,但没有像 Claude Code 那样的原生插件系统或自动技能路由。
相反,我们通过以下方式实现同等体验:
- 强大的系统提示(
AGENTS.md) - 内置的
skill工具 - 从
/skills目录一致地发现技能
这创建了一个代理驱动的工作流,技能被自动选择和执行。
虽然可以在 OpenCode 中重新创建 /spec、/plan 和其他命令,但此集成有意采用代理驱动的方式:
- 技能根据意图自动选择
- 工作流通过
AGENTS.md强制执行 - 无需手动调用命令
这更接近 Claude Code 在实践中的行为方式,即技能是自动触发而非手动触发的。
- 克隆仓库:
git clone https://github.com/addyosmani/agent-skills.git-
在 OpenCode 中打开项目。
-
确保工作区中存在以下文件:
AGENTS.md(根目录)skills/目录
无需额外安装。
所有技能位于:
skills/<skill-name>/SKILL.md
OpenCode 代理被指示(通过 AGENTS.md):
- 检测技能何时适用
- 调用
skill工具 - 严格遵循技能
代理评估每个请求并将其映射到适当的技能。
示例:
- "构建一个功能" →
incremental-implementation+test-driven-development - "设计一个系统" →
spec-driven-development - "修复一个 bug" →
debugging-and-error-recovery - "审查这段代码" →
code-review-and-quality
用户不需要显式请求技能。
开发生命周期以隐式方式编码:
- DEFINE →
spec-driven-development - PLAN →
planning-and-task-breakdown - BUILD →
incremental-implementation+test-driven-development - VERIFY →
debugging-and-error-recovery - REVIEW →
code-review-and-quality - SHIP →
shipping-and-launch
这替代了 /spec、/plan 等斜杠命令。
用户:
为此应用添加身份验证
代理行为:
- 检测到功能开发
- 调用
spec-driven-development - 在编写代码前先生成规格
- 进入规划和实现技能
用户:
此端点返回 500 错误
代理行为:
- 调用
debugging-and-error-recovery - 复现 → 定位 → 修复 → 添加防护
用户:
审查此 PR
代理行为:
- 调用
code-review-and-quality - 应用结构化审查(正确性、设计、可读性等)
要使 OpenCode 正常工作,代理必须遵循以下规则:
- 在行动前始终检查是否有技能适用
- 如果技能适用,必须使用
- 永远不要跳过必需的工作流(规格、计划、测试等)
- 不要直接跳到实现
这些规则通过 AGENTS.md 强制执行。
- 没有原生斜杠命令(通过意图映射代替)
- 没有插件系统(通过提示 + 结构代替)
- 技能调用取决于模型合规性
尽管如此,工作流在实践中与 Claude Code 紧密一致。
只需使用自然语言:
- "设计一个功能"
- "规划此变更"
- "实现这个"
- "修复这个 bug"
- "审查这个"
代理将自动选择并执行正确的技能。
OpenCode 集成通过组合以下内容实现:
- 结构化技能(本仓库)
- 强大的代理规则(
AGENTS.md) - 通过推理自动调用技能
这产生了一个完全代理驱动的、生产级工程工作流,无需插件或手动命令。