反重力技能编排器
antigravity-skill-orchestrator
antigravity-skill-orchestrator
概述
skill-orchestrator 是一个旨在增强 AI Agent 处理复杂问题能力的元技能。它充当智能协调员,首先评估用户请求的复杂度。基于评估结果,它决定是否需要专业技能。如果需要,它将选择合适的技能组合,并使用 @agent-memory-mcp 明确记录这些组合以供未来参考,同时引导 Agent 完成执行过程。至关重要的一点是,它包含严格的护栏机制,以防止在可以通过基础能力解决的简单任务中不必要地调用专业技能。
何时使用此技能
- 处理可能需要多个领域专业知识的复杂、多步骤问题时。
- 不确定哪些具体技能最适合给定的用户请求,且需要从更广泛的生态系统中寻找时。
- 用户在重大任务中明确要求“编排”、“组合技能”或“使用最合适的工具”时。
- 想要查找针对特定类型问题此前成功的技能组合时。
核心概念
任务评估护栏
并非每个任务都需要专业技能。对于简单问题(例如:微小的 CSS 修复、简单的脚本编写、重命名变量),请勿使用专业技能。对简单任务过度设计会浪费 Token 和时间。此外,严禁编排器创建新技能。其唯一目的是组合并使用社区提供或当前环境中已有的现有技能。
在调用任何技能之前,请评估任务:
1. 任务是否简单/独立? 如果是,请直接使用 Agent 在当前环境中具备的常规文件编辑、搜索和终端能力来解决。
2. 任务是否复杂/跨领域? 只有在这种情况下,才应进行技能编排。
技能选择与组合
当任务被判定为复杂时,识别所需的领域(例如:前端、数据库、部署)。在当前环境中搜索可用技能,寻找最相关的项。如果在本地未找到所需技能,请查阅主技能目录。主技能目录
Antigravity 生态系统在https://raw.githubusercontent.com/sickn33/agentic-awesome-skills/main/CATALOG.md 维护着一个精心筛选的主技能目录。当本地技能不足时,可通过获取此目录在 9 个主要类别中发现合适的技能:
architecture(架构)
business(业务)
data-ai(数据-AI)
development(开发)
general(通用)
infrastructure(基础设施)
security(安全)
testing(测试)
workflow(工作流)
记忆集成 (@agent-memory-mcp)
为了构建组织知识,编排器依赖 agent-memory-mcp 技能来记录和检索成功的技能组合。
分步指南
1. 任务评估与护栏检查
[在面对可能需要技能的新用户请求时触发] 1. 阅读用户请求。 2. 自问:“我能否高效地解决这个问题……” iciently with just basic file editing and terminal commands?" 3. 如果为“是”:无需调用专业技能,直接执行。在此停止编排。 4. 如果为“否”:进入步骤 2。2. 检索既有知识
[在任务复杂时触发] 1. 使用agent-memory-mcp 提供的 memory_search 工具搜索类似的既往任务。
- 查询示例:memory_search({ query: "skill combination for react native and firebase", type: "skill_combination" })
2. 如果存在可行的组合,使用 memory_read 读取详情。
3. 如果没有相关记忆,进入步骤 3。
3. 发现并选择技能
[在既有知识无法覆盖任务时触发] 1. 分析核心需求(例如:“需要 React UI、Node.js 后端和 PostgreSQL 数据库”)。 2. 使用当前环境的技能列表或等效的发现机制查询本地可用技能,为每项需求寻找最佳匹配。 3. 如果本地技能不足,使用当前环境中的 Web 或命令行检索工具获取主目录:https://raw.githubusercontent.com/sickn33/agentic-awesome-skills/main/CATALOG.md。
4. 扫描目录中的 9 个主类别,确定需要引入当前上下文的合适技能。
5. 选择所需的最少技能集。切勿过度选择。
4. 应用技能并记录组合
[在利用所选技能执行任务后触发] 1. 假设任务已通过一套新的技能组合(例如@react-patterns + @nodejs-backend-patterns + @postgresql)成功完成。
2. 使用 agent-memory-mcp 的 memory_write 将此组合记录下来以备后用。
- 确保类型为 skill_combination。
- 提供描述性的键(key)和详细内容,说明为什么这些技能组合在一起效果良好。
示例
示例 1:处理简单任务(护栏机制生效)
用户请求: “将index.css 中提交按钮的颜色改为蓝色。”
操作: 技能编排器评估任务,判定其为“简单/独立”任务。不调用专业技能,直接编辑 index.css。
示例 2:记录新技能组合
javascript
// 在成功构建复杂功能后使用 agent-memory-mcp 工具
memory_write({
key: "combination-ecommerce-checkout",
type: "skill_combination",
content: "对于电商结账流程,将 @stripe-integration 与 @react-state-management 和 @postgresql 结合使用,可以有效地处理从 UI 状态到支付处理再到订单记录的全流程。",
tags: ["ecommerce", "checkout", "stripe", "react"]
})示例 3:检索组合
javascript
// 在新电商任务开始时
memory_search({
query: "ecommerce checkout",
type: "skill_combination"
})
// 返回键名 "combination-ecommerce-checkout",随后读取:
memory_read({ key: "combination-ecommerce-checkout" })最佳实践
- ✅ 建议: 在寻找技能 *之前* 始终先评估任务复杂度。
- ✅ 建议: 尽可能减少编排的技能数量。
- ✅ 建议: 执行
memory_write时使用高度描述性的键,以便日后搜索。
- ❌ 避免: 将此技能用于简单的 Bug 修复或 UI 微调。
- ❌ 避免: 在没有明确冲突解决计划的情况下,组合具有重叠且冲突指令的技能。
- ❌ 避免: 尝试构建、生成或...
相关技能
@agent-memory-mcp- 本技能运行的核心依赖。为技能组合提供持久化存储。
局限性
- 仅在任务明确符合上述范围时使用此技能。
- 不要将输出结果视为环境特定验证、测试或专家评审的替代方案。
- 如果缺少必要的输入、权限、安全边界或成功标准,请停止操作并请求澄清。