跳到主要内容

技能

技能是赋予每个智能体领域专业知识的结构化知识包。它们不仅仅是提示 —— 它们包含执行协议、技术栈参考、代码模板、错误处理手册、质量检查清单和少样本示例,以为 token 效率设计的两层架构组织。


两层设计

第一层:SKILL.md(约 800 字节,始终加载)

每个技能在其根目录下都有一个 SKILL.md 文件。当技能被引用时,它始终被加载到上下文窗口中。它包含:

  • YAML 前置元数据,包含 namedescription(用于路由和显示)
  • 何时使用 / 何时不使用 —— 明确的激活条件
  • 核心规则 —— 领域中最关键的 5-15 条约束
  • 架构概览 —— 代码应如何组织
  • 库列表 —— 批准的依赖及其用途
  • 引用 —— 指向第二层资源的指针(永不自动加载)

前置元数据示例:

---
name: oma-frontend
description: Frontend specialist for React, Next.js, TypeScript with FSD-lite architecture, shadcn/ui, and design system alignment. Use for UI, component, page, layout, CSS, Tailwind, and shadcn work.
---

description 字段至关重要 —— 它包含技能路由系统用于将任务匹配到智能体的路由关键词。

第二层:resources/(按需加载)

resources/ 目录包含深层执行知识。这些文件仅在以下情况下加载:

  1. 智能体被显式调用(通过 /command 或智能体 skills 字段)
  2. 当前任务类型和难度需要特定资源

这种按需加载由上下文加载指南(.agents/skills/_shared/core/context-loading.md)管理,它将任务类型映射到每个智能体所需的资源。


文件结构示例

.agents/skills/oma-frontend/
├── SKILL.md ← 第一层:始终加载(约 800 字节)
└── resources/
├── execution-protocol.md ← 第二层:分步工作流
├── tech-stack.md ← 第二层:详细技术规范
├── tailwind-rules.md ← 第二层:Tailwind 特定约定
├── component-template.tsx ← 第二层:React 组件模板
├── snippets.md ← 第二层:可复制粘贴的代码模式
├── error-playbook.md ← 第二层:错误恢复流程
├── checklist.md ← 第二层:质量验证清单
└── examples/ ← 第二层:少样本输入/输出示例
└── examples.md

.agents/skills/oma-backend/
├── SKILL.md
├── resources/
│ ├── execution-protocol.md
│ ├── examples.md
│ ├── orm-reference.md ← 领域特定(ORM 查询、N+1、事务)
│ ├── checklist.md
│ └── error-playbook.md
└── stack/ ← 由 /stack-set 生成(语言特定)
├── stack.yaml
├── tech-stack.md
├── snippets.md
└── api-template.*

.agents/skills/oma-design/
├── SKILL.md
├── resources/
│ ├── execution-protocol.md
│ ├── anti-patterns.md
│ ├── checklist.md
│ ├── design-md-spec.md
│ ├── design-tokens.md
│ ├── prompt-enhancement.md
│ ├── stitch-integration.md
│ └── error-playbook.md
├── reference/ ← 深层参考材料
│ ├── typography.md
│ ├── color-and-contrast.md
│ ├── spatial-design.md
│ ├── motion-design.md
│ ├── responsive-design.md
│ ├── component-patterns.md
│ ├── accessibility.md
│ └── shader-and-3d.md
└── examples/
├── design-context-example.md
└── landing-page-prompt.md

每技能资源类型

资源类型文件名模式目的加载时机
执行协议execution-protocol.md分步工作流:分析 -> 规划 -> 实现 -> 验证始终(随 SKILL.md)
技术栈tech-stack.md详细技术规范、版本、配置复杂任务
错误手册error-playbook.md带"三击出局"升级的恢复流程仅在出错时
检查清单checklist.md领域特定的质量验证在验证步骤
代码片段snippets.md可直接复制的代码模式中等/复杂任务
示例examples.mdexamples/LLM 的少样本输入/输出示例中等/复杂任务
变体stack/ 目录语言/框架特定参考(由 /stack-set 生成)当 stack 存在时
模板component-template.tsxscreen-template.dart样板文件模板创建组件时
领域参考orm-reference.mdanti-patterns.md特定子任务的深层领域知识任务类型特定

共享资源(_shared/)

所有智能体共享来自 .agents/skills/_shared/ 的公共基础。分为三类:

核心资源(.agents/skills/_shared/core/

资源目的加载时机
skill-routing.md将任务关键词映射到正确的智能体。包含技能-智能体映射表、复杂请求路由模式、智能体间依赖规则、升级规则和回合限制指南。由编排器和协调技能引用
context-loading.md定义为哪种任务类型和难度加载哪些资源。包含每个智能体的任务类型到资源映射表和条件协议加载触发器。在工作流开始时(步骤 0 / 阶段 0)
prompt-structure.md定义每个任务提示必须包含的四个要素:目标、上下文、约束、完成条件。包含 PM、实现和 QA 智能体的模板。列出反模式。由 PM 智能体和所有工作流引用
clarification-protocol.md定义不确定性级别(LOW/MEDIUM/HIGH)及每级的操作。包含不确定性触发器、升级模板、每种智能体类型的必需验证项和子智能体模式行为。需求模糊时
context-budget.mdToken 预算管理。定义文件读取策略(使用 find_symbol 而非 read_file)、每个模型层级的资源加载预算(Flash:约 3,100 token / Pro:约 5,000 token)、大文件处理和上下文溢出症状。在工作流开始时
difficulty-guide.md将任务分类为简单/中等/复杂的标准。定义预期回合数、协议分支(快速通道 / 标准 / 扩展)和误判恢复。在任务开始时(步骤 0)
reasoning-templates.md常见决策模式的结构化推理填空模板。复杂决策期间
quality-principles.md适用于所有智能体的 4 条通用质量原则。在以质量为中心的工作流(ultrawork)开始时
vendor-detection.md检测当前运行时环境的协议(Claude Code、Codex CLI、Gemini CLI、Antigravity、CLI 回退)。使用标记检查:Agent 工具 = Claude Code、apply_patch = Codex、@-语法 = Gemini。在工作流开始时
session-metrics.md澄清债务(CD)评分和会话指标追踪。定义事件类型(clarify +10、correct +25、redo +40)、阈值(CD >= 50 = RCA、CD >= 80 = 暂停)和集成点。编排会话期间
common-checklist.md复杂任务最终验证时应用的通用质量清单。复杂任务的验证步骤
lessons-learned.md过去会话经验的存储库,从澄清债务违规和被丢弃的实验自动生成。错误后和会话结束时引用
api-contracts/包含 API 契约模板和生成的契约的目录。template.md 定义每个端点的格式(方法、路径、请求/响应模式、认证、错误)。规划跨边界工作时

运行时资源(.agents/skills/_shared/runtime/

资源目的
memory-protocol.mdCLI 子智能体的内存文件格式和操作。定义启动时、执行期间和完成时的协议,使用可配置的内存工具(read/write/edit)。包含实验追踪扩展。
execution-protocols/claude.mdClaude Code 特定的执行模式。供应商为 claude 时由 oma agent:spawn 注入。
execution-protocols/gemini.mdGemini CLI 特定的执行模式。
execution-protocols/codex.mdCodex CLI 特定的执行模式。
execution-protocols/qwen.mdQwen CLI 特定的执行模式。

供应商特定的执行协议由 oma agent:spawn 自动注入 —— 智能体无需手动加载。

条件资源(.agents/skills/_shared/conditional/

这些仅在执行过程中满足特定条件时加载:

资源触发条件加载方大约 Token
quality-score.md支持质量度量的工作流中开始 VERIFY 或 SHIP 阶段编排器(传递给 QA 智能体提示)约 250
experiment-ledger.md建立 IMPL 基线后首次记录实验编排器(内联,在基线测量后)约 250
exploration-loop.md同一个关卡因同一问题失败两次编排器(内联,在启动假设智能体之前)约 250

预算影响:如果 3 个全部加载约 750 token。由于是条件加载,典型会话加载 1-2 个。Flash 级别预算保持在约 3,100 token 分配内。


技能如何通过 skill-routing.md 路由

技能路由映射定义了任务如何匹配到智能体:

简单路由(单一领域)

包含 "Build a login form with Tailwind CSS" 的提示匹配关键词 UIcomponentformTailwind,路由到 oma-frontend

复杂请求路由

多领域请求遵循既定的执行顺序:

请求模式执行顺序
"Create a fullstack app"oma-pm -> (oma-backend + oma-frontend) 并行 -> oma-qa
"Create a mobile app"oma-pm -> (oma-backend + oma-mobile) 并行 -> oma-qa
"Fix bug and review"oma-debug -> oma-qa
"Design and build a landing page"oma-design -> oma-frontend
"I have an idea for a feature"oma-brainstorm -> oma-pm -> 相关智能体 -> oma-qa
"Do everything automatically"oma-orchestrator(内部:oma-pm -> 智能体 -> oma-qa)

智能体间依赖规则

可以并行运行(无依赖):

  • oma-backend + oma-frontend(当 API 契约已预先定义时)
  • oma-backend + oma-mobile(当 API 契约已预先定义时)
  • oma-frontend + oma-mobile(彼此独立)

必须顺序运行:

  • oma-brainstorm -> oma-pm(设计先于规划)
  • oma-pm -> 所有其他智能体(规划先行)
  • 实现智能体 -> oma-qa(实现后审查)
  • oma-backend -> oma-frontend/oma-mobile(当没有预定义 API 契约时)

QA 始终在最后,除非用户仅请求审查特定文件。


Token 节省计算

考虑一个 5 智能体编排会话(pm、backend、frontend、mobile、qa):

不使用渐进式披露:

  • 每个智能体加载所有资源:每个约 4,000 token
  • 总计:5 x 4,000 = 20,000 token 在任何工作开始前消耗

使用渐进式披露:

  • 所有智能体仅第一层:5 x 800 = 4,000 token
  • 仅为活跃智能体加载第二层(通常同时 1-2 个):+1,500 token
  • 总计:约 5,500 token

节省:约 72-75%

在 flash 级别模型(128K 上下文)上,这意味着拥有 125K token 可用于工作而非 108K —— 对于复杂任务来说意义重大。


按任务难度加载资源

难度指南将任务分为三个级别,决定加载多少第二层内容:

简单(预期 3-5 回合)

单文件变更、需求明确、重复现有模式。

加载:仅 execution-protocol.md。跳过分析,使用最小检查清单直接实现。

中等(预期 8-15 回合)

2-3 个文件变更、需要一些设计决策、将模式应用到新领域。

加载:execution-protocol.md + examples.md。标准协议,简要分析和完整验证。

复杂(预期 15-25 回合)

4+ 个文件变更、需要架构决策、引入新模式、依赖其他智能体。

加载:execution-protocol.md + examples.md + tech-stack.md + snippets.md。扩展协议,带检查点、执行中进度记录和包含 common-checklist.md 的完整验证。


上下文加载任务映射(按智能体)

上下文加载指南提供详细的任务类型到资源映射。以下是关键映射:

后端智能体

任务类型所需资源
CRUD API 创建stack/snippets.md(路由、schema、模型、测试)
认证stack/snippets.md(JWT、密码)+ stack/tech-stack.md
数据库迁移stack/snippets.md(迁移)
性能优化examples.md(N+1 示例)
现有代码修改examples.md + Serena MCP

前端智能体

任务类型所需资源
组件创建snippets.md + component-template.tsx
表单实现snippets.md(表单 + Zod)
API 集成snippets.md(TanStack Query)
样式tailwind-rules.md
页面布局snippets.md(网格)+ examples.md

设计智能体

任务类型所需资源
设计系统创建reference/typography.md + reference/color-and-contrast.md + reference/spatial-design.md + design-md-spec.md
着陆页设计reference/component-patterns.md + reference/motion-design.md + prompt-enhancement.md + examples/landing-page-prompt.md
设计审计checklist.md + anti-patterns.md
设计令牌导出design-tokens.md
3D / 着色器效果reference/shader-and-3d.md + reference/motion-design.md
无障碍审查reference/accessibility.md + checklist.md

QA 智能体

任务类型所需资源
安全审查checklist.md(安全章节)
性能审查checklist.md(性能章节)
无障碍审查checklist.md(无障碍章节)
完整审计checklist.md(完整)+ self-check.md
质量评分quality-score.md(条件)

编排器提示组合

编排器为子智能体组合提示时,仅包含与任务相关的资源:

  1. 智能体 SKILL.md 的核心规则部分
  2. execution-protocol.md
  3. 匹配特定任务类型的资源(来自上述映射)
  4. error-playbook.md(始终包含 —— 恢复是必不可少的)
  5. Serena 内存协议(CLI 模式)

这种有针对性的组合避免加载不必要的资源,最大化子智能体可用于实际工作的上下文空间。