基于 Rube MCP 的 Goody 自动化实战:解析 awesome-codex-skills 的 goody-automation 技能
【免费下载链接】awesome-codex-skillsA curated list of practical Codex skills for automating workflows across the Codex CLI and API.项目地址: https://gitcode.com/GitHub_Trending/aw/awesome-codex-skills
导读
本文围绕 composio-skills/goody-automation/SKILL.md 展开,讲解如何在 Codex 中通过 Rube MCP 驱动 Composio 的 Goody 工具集,自动完成 Goody 平台业务操作。你将掌握从 Rube MCP 接入、Goody 连接建立、工具发现到执行调用的一整套可复用的三步工作流,并理解RUBE_SEARCH_TOOLS、RUBE_MANAGE_CONNECTIONS、RUBE_MULTI_EXECUTE_TOOL等核心 MCP 工具的调用结构与参数语义,可直接落地到你的 Codex 自动化任务中。
技能概览:goody-automation 在仓库中的定位
awesome-codex-skills 是一个面向 Codex CLI 与 API 的实用技能(Skill)集合仓库,每个技能以独立目录承载,目录内通过SKILL.md描述元数据与执行步骤。Goody 自动化技能位于 composio-skills/goody-automation/,是该仓库composio-skills家族中面向「礼赠 / 礼品卡场景」业务操作的自动化技能。
技能文件开头的 YAML frontmatter 是 Codex 触发技能的元数据核心:
--- name: goody-automation description: "Automate Goody tasks via Rube MCP (Composio). Always search tools first for current schemas." requires: mcp: [rube] ---三个字段各有明确职责:
name:技能唯一标识,安装后位于$CODEX_HOME/skills/goody-automation/。description:决定 Codex 何时自动触发该技能。按照 README.md 的说明,Codex 读取元数据判断何时触发技能,正文只在触发后加载,以保持上下文精简。因此这里特意写入了「Always search tools first for current schemas」——提醒 Agent 在使用前必须动态发现工具,而不是凭记忆硬编码。requires.mcp: [rube]:声明该技能运行依赖名为rube的 MCP 服务器,Codex 只有在 Rube MCP 可用时才会把该技能纳入考虑。
前置条件:Rube MCP 与 Goody 连接
技能文档给出了三条硬性前置条件,缺一不可:
- Rube MCP 已连接:环境中必须存在
RUBE_SEARCH_TOOLS工具,它是整个自动化的入口。 - Goody 连接为 ACTIVE 状态:通过
RUBE_MANAGE_CONNECTIONS建立 toolkit 为goody的活动连接。 - 先搜索再执行:任何工作流执行前必须先调用
RUBE_SEARCH_TOOLS获取当前工具 schema。
Rube MCP 的接入方式极其轻量:在客户端配置中添加https://rube.app/mcp作为 MCP 服务器端点即可,无需任何 API Key。这与仓库 README 中描述的 Composio MCP Gateway 思路一致——通过单一 MCP 端点获得大量第三方集成的工具访问能力,认证与连接管理由网关层统一处理。
建立连接的四步流程
1. 验证 Rube MCP 可用:确认 RUBE_SEARCH_TOOLS 有响应 2. 调用 RUBE_MANAGE_CONNECTIONS,toolkit 指定为 "goody" 3. 若连接不是 ACTIVE,点击返回的认证链接完成设置 4. 确认连接状态为 ACTIVE 后,再开始运行任何工作流第 2 步返回的认证链接是 OAuth 式授权流程的一部分:Agent 无法替用户输入账号密码,必须由用户在浏览器中完成授权,授权后连接即持久化为 ACTIVE。因此「先确认状态、再执行任务」是防止调用因未授权而失败的关键习惯。
工具发现:RUBE_SEARCH_TOOLS 的正确用法
Composio 工具集的 schema 会随平台演进持续变化,技能明确要求「永远先搜索」,并给出了标准发现调用:
RUBE_SEARCH_TOOLS queries: [{use_case: "Goody operations", known_fields: ""}] session: {generate_id: true}调用结果会返回四类关键信息:
- 可用的工具 slug(tool slugs):后续执行调用时的工具标识;
- 输入 schema:每个工具的参数结构、字段名与类型;
- 推荐的执行计划(recommended execution plans):针对目标用例的编排建议;
- 已知陷阱(known pitfalls):该工具集特有的注意事项。
注意这里的session.generate_id: true——它让 Rube 为本次发现过程生成一个新的会话 ID,该 ID 需要贯穿后续的连接检查与工具执行,作为整个工作流的上下文纽带。
核心三步工作流
技能将 Goody 自动化收敛为三个固定步骤,每一步对应一个 MCP 工具调用。
Step 1:发现可用工具
RUBE_SEARCH_TOOLS queries: [{use_case: "your specific Goody task"}] session: {id: "existing_session_id"}与工具发现阶段的区别在于:这里use_case换成你手头的具体任务(例如发卡、查余额、批量送礼等),且session.id复用已有会话 ID,而不是重新生成。把任务描述得越具体,返回的执行计划越贴近目标。
Step 2:检查连接
RUBE_MANAGE_CONNECTIONS toolkits: ["goody"] session_id: "your_session_id"再次确认 Goody 连接的 ACTIVE 状态。由于连接可能在授权过期、凭据失效后变为非 ACTIVE,在每次工作流执行前做一次状态校验,能把「执行到一半才发现未授权」的失败成本前置。
Step 3:执行工具
RUBE_MULTI_EXECUTE_TOOL tools: [{ tool_slug: "TOOL_SLUG_FROM_SEARCH", arguments: {/* schema-compliant args from search results */} }] memory: {} session_id: "your_session_id"RUBE_MULTI_EXECUTE_TOOL支持在一个调用中批量传入多个工具执行项(tools数组),每个执行项由tool_slug与arguments组成:
tool_slug必须来自 Step 1 的搜索结果,不能凭记忆硬编码;arguments必须严格符合搜索返回的 schema——字段名、类型、必填项都要与 schema 一致;memory是必传参数,即使没有需要传递的记忆数据也要传空对象{};session_id复用当前工作流的会话 ID,保证多次工具调用在同一个上下文中串联。
Rube MCP 工具族与参数深度解析
除了三步工作流用到的三个工具,技能的快速参考中还出现了另外两个工具,理解它们的定位有助于编排更复杂的 Goody 自动化。
RUBE_REMOTE_WORKBENCH:批量操作的执行环境
RUBE_REMOTE_WORKBENCH with run_composio_tool()当需要批量处理大量 Goody 操作(例如成批发送礼卡、批量查询订单状态)时,可以在远程 workbench 环境中通过run_composio_tool()编程式地编排多次工具调用,把「多次往返的 MCP 调用」收敛为「一次脚本化批量任务」,减少逐次调用的延迟与上下文消耗。
RUBE_GET_TOOL_SCHEMAS:完整 schema 的兜底查询
RUBE_GET_TOOL_SCHEMAS for tools with schemaRef某些工具在搜索结果中只返回schemaRef引用而非完整 schema,此时用RUBE_GET_TOOL_SCHEMAS拉取完整定义,补齐参数结构后再填充arguments,避免因 schema 不完整而构造出非法参数。
会话(session)与记忆(memory)的语义
- 会话复用:同一个工作流内复用同一
session_id,保持上下文连续;开启新的工作流时生成新 ID(generate_id: true)。从源码结构看,这套设计让 Rube 侧可以将一次工作流内的所有调用归并到同一上下文,便于状态追踪与审计。 - memory 必传:
RUBE_MULTI_EXECUTE_TOOL的memory参数即使为空也必须显式传入{},它是工作流间传递上下文数据(如前面步骤得到的订单 ID、用户 ID)的通道。
分页处理
Composio 平台返回的列表类结果(订单列表、联系人列表等)可能带分页 token。检查响应中是否存在分页标记,存在则持续请求下一页,直到取完所有数据,否则容易漏掉尾页数据导致统计或批量操作不完整。
已知陷阱与最佳实践
技能文档总结了六条必须遵守的纪律,每一条都对应一次真实踩坑经验:
- 先搜索再执行:工具 schema 会变。不先调用
RUBE_SEARCH_TOOLS就硬编码工具 slug 或参数,是失败率最高的错误。 - 先检查连接:执行前确认
RUBE_MANAGE_CONNECTIONS返回 ACTIVE,避免在未授权状态下空跑。 - schema 合规:字段名与类型严格取自搜索结果,不允许「差不多」的近似参数。
- memory 必传:
RUBE_MULTI_EXECUTE_TOOL调用永远带上memory,哪怕传{}。 - 会话复用:工作流内复用 session ID,新工作流生成新 ID。
- 分页取全:检查响应中的分页 token 并持续拉取直至完成。
快速参考表
| 操作 | 方式 |
|---|---|
| 查找工具 | RUBE_SEARCH_TOOLS,使用 Goody 特定 use case |
| 建立连接 | RUBE_MANAGE_CONNECTIONS,toolkit 为goody |
| 执行调用 | RUBE_MULTI_EXECUTE_TOOL,使用发现的工具 slug |
| 批量操作 | RUBE_REMOTE_WORKBENCH,配合run_composio_tool() |
| 获取完整 schema | RUBE_GET_TOOL_SCHEMAS,处理带schemaRef的工具 |
这张表把「发现 → 连接 → 执行」三类核心动作以及两个增强工具一一对应,可以作为日常编码时的速查清单。
安装与在 Codex 中的使用
该技能与仓库内其他技能一样,可以通过两种方式安装到 Codex。
方式一:使用 skill-installer 脚本
仓库提供了 skill-installer 技能及其辅助脚本 install-skill-from-github.py,支持从仓库指定路径安装单个或多个技能。参照 README.md 的用法模式,安装本技能的命令形如:
python skill-installer/scripts/install-skill-from-github.py \ --repo <owner>/awesome-codex-skills \ --path composio-skills/goody-automation安装器会把技能放到$CODEX_HOME/skills/goody-automation/(默认~/.codex/skills),之后重启 Codex 以加载新技能元数据。
方式二:手动安装
将技能目录复制到$CODEX_HOME/skills/(默认~/.codex/skills/),重启 Codex。之后在会话中用自然语言描述任务,Codex 会根据descriptionfrontmatter 自动匹配并触发该技能。
运行时要求
技能运行前还需完成两件配置层面的准备工作:在客户端中配置 Rube MCP 端点https://rube.app/mcp,并通过RUBE_MANAGE_CONNECTIONS完成 Goody 的 OAuth 授权。这两步完成后,技能描述中的requires.mcp: [rube]前置条件即得到满足。
在 composio-skills 家族中的同构性与可迁移性
goody-automation 并非孤例。仓库的 composio-skills/ 目录下存在上百个结构完全一致的技能,例如 composio-automation/SKILL.md(toolkit 为composio)、exa-automation/SKILL.md(toolkit 为exa)等。对比可见:
- frontmatter 结构完全同构:
name/description/requires.mcp: [rube]; - 前置条件、四步连接流程、三步工作流、六条陷阱、快速参考表逐一对应;
- 唯一差异在于 toolkit 名称(
goody)与 use case 描述。
这意味着你只要吃透本文的三步工作流,就能举一反三地使用该家族中的任意一个技能——差异只在工具集层面,调用范式完全一致。这种模板化设计正是该仓库把「MCP 网关 + 技能」组合大规模复用的关键。
总结
goody-automation 技能展示了在 Codex 中安全、可靠地驱动第三方业务平台的标准范式:以 Rube MCP 作为单一入口,先动态发现工具、再校验连接、最后按 schema 精确执行,并辅以会话、记忆与分页等机制保证长工作流的正确性。无论你要自动化的对象是 Goody 还是其他接入 Composio 的平台,这套「搜索 → 连接 → 执行」的骨架都同样适用——动态 schema、显式状态校验与严格参数合规,是 AI Agent 调用外部工具时最重要的三条工程纪律。
【免费下载链接】awesome-codex-skillsA curated list of practical Codex skills for automating workflows across the Codex CLI and API.项目地址: https://gitcode.com/GitHub_Trending/aw/awesome-codex-skills
创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考