使用 Rube MCP 在 Codex 中自动化 Screenshotone 截图任务:awesome-codex-skills 实战指南
【免费下载链接】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/screenshotone-automation/SKILL.md 为核心骨架,系统讲解如何通过 Rube MCP 网关驱动 Composio 的 Screenshotone toolkit,在 Codex CLI/API 会话中完成网页截图类任务的端到端自动化。读完你将掌握"工具发现 → 连接检查 → 多工具执行"的完整工作流,理解 Rube 生态中RUBE_SEARCH_TOOLS、RUBE_MANAGE_CONNECTIONS、RUBE_MULTI_EXECUTE_TOOL等核心工具的正确调用姿势,以及规避 Schema 过期、连接失效等高频陷阱的实战经验。
一、技能定位:这份 SKILL.md 解决什么问题
Codex Skills 是一类"模块化指令包":每个技能以独立目录承载,内含带name与descriptionfrontmatter 元数据的SKILL.md,Codex 依据元数据决定何时触发技能,触发后才加载正文,从而保持上下文精简(见 README.md 中 "What Are Codex Skills?" 一节)。
本技能screenshotone-automation位于 composio-skills/screenshotone-automation/,其 frontmatter 声明如下:
--- name: screenshotone-automation description: "Automate Screenshotone tasks via Rube MCP (Composio). Always search tools first for current schemas." requires: mcp: [rube] ---从声明可以读出三层关键信息:
- 能力边界:自动化 Screenshotone 相关操作——Screenshotone 是网页截图/页面渲染服务,经 Composio 封装为 toolkit 后暴露为可调用工具;
- 依赖前提:必须挂载名为
rube的 MCP 服务器(requires.mcp: [rube]); - 铁律:
description末尾的 "Always search tools first for current schemas" 是贯穿全文的核心原则——工具的 Schema 随时可能变化,绝不可硬编码工具 slug 与参数。
该技能与仓库中大量composio-skills/*-automation技能(如 composio-skills/composio-automation/SKILL.md)共享同一套 Rube MCP 调用模式,可以视为"通过 Rube 网关调用 Composio toolkit"这一通用范式的 Screenshotone 具体落地。
二、运行前提(Prerequisites)
在开始任何 Screenshotone 自动化之前,必须满足以下三个前置条件(对应 SKILL.md):
| 前提 | 说明 | 未满足时的现象 |
|---|---|---|
| Rube MCP 已连接 | 环境中存在可用的RUBE_SEARCH_TOOLS工具 | 无法发现工具、无法解析 Schema |
| Screenshotone 连接为 ACTIVE | 通过RUBE_MANAGE_CONNECTIONS以 toolkitscreenshotone建立并激活连接 | 执行工具时鉴权失败 |
| 先搜索再执行 | 每次工作流开始前先调用RUBE_SEARCH_TOOLS获取最新工具 Schema | 工具 slug 或参数字段过期导致调用报错 |
其中第三条是"过程性前提":它不是一个一次性配置,而是每个工作流都必须执行的第一步。原因在于 Composio 侧的工具定义(slug、入参字段、类型)会随上游 API 演进而更新,只有以搜索结果为唯一事实来源,才能保证自动化脚本长期可用。
三、初始化设置:接入 Rube MCP 并激活 Screenshotone 连接
3.1 获取 Rube MCP
Rube MCP 的接入方式极为轻量:将https://rube.app/mcp作为 MCP 服务器地址添加到你的客户端(Codex CLI 或其他支持 MCP 的客户端)配置中即可,无需申请任何 API Key——添加端点后即开箱可用(见 SKILL.md 的 Setup 一节)。
3.2 四步建立连接
接入端点后,按以下顺序完成连接初始化:
- 验证可用性:确认
RUBE_SEARCH_TOOLS有响应,证明 Rube MCP 通道已打通; - 发起连接:调用
RUBE_MANAGE_CONNECTIONS,参数中携带 toolkitscreenshotone; - 完成授权:若返回的连接状态不是 ACTIVE,则跟随返回的认证链接(auth link)完成第三方授权流程;
- 确认状态:在运行任何工作流之前,务必确认连接状态已变为 ACTIVE。
实践要点:OAuth 授权是一次性的,授权完成后连接会持久保存。后续会话中只需"检查状态"而非"重复授权"。
四、工具发现:让 Schema 始终新鲜
"先发现,后执行"是本技能的第一原则。执行任何工作流前,必须先调用RUBE_SEARCH_TOOLS获取当前可用的工具列表(SKILL.md):
RUBE_SEARCH_TOOLS queries: [{use_case: "Screenshotone operations", known_fields: ""}] session: {generate_id: true}该调用会返回四类关键信息:
- 可用工具 slug(tool slugs):后续
RUBE_MULTI_EXECUTE_TOOL中的tool_slug字段取值来源; - 输入 Schema:每个工具的参数名、类型、必填项,是构造
arguments的唯一依据; - 推荐执行计划(recommended execution plans):Rube 针对该 use case 给出的多步编排建议;
- 已知陷阱(known pitfalls):该工具链历史上容易踩坑的地方。
注意这里使用了session: {generate_id: true}——这是新工作流的标准用法,由 Rube 自动生成一个新的会话 ID 作为本次工作流的上下文容器。若已处于某个进行中的工作流,则应改用session: {id: "existing_session_id"}复用既有会话。
五、核心工作流:搜索 → 检查连接 → 执行
本技能的核心工作流由三个固定步骤组成(SKILL.md),每一步都有明确的工具与参数约定。
5.1 Step 1:发现可用工具
将第一步中"Screenshotone operations"的宽泛 use case 替换为你的具体任务描述,并在已有会话中执行:
RUBE_SEARCH_TOOLS queries: [{use_case: "your specific Screenshotone task"}] session: {id: "existing_session_id"}例如,若任务是"截取某 URL 的桌面端网页截图",use_case 就应描述为与之匹配的自然语言任务。搜索越具体,返回的工具 slug 与推荐执行计划越精准。
5.2 Step 2:检查连接状态
在执行工具之前,用会话 ID 显式确认 Screenshotone 连接仍然有效:
RUBE_MANAGE_CONNECTIONS toolkits: ["screenshotone"] session_id: "your_session_id"此步返回连接状态。只有当结果显示 ACTIVE 时才能进入下一步——避免因连接过期而在执行阶段才暴露鉴权错误。
5.3 Step 3:执行工具
确认连接 ACTIVE 后,调用RUBE_MULTI_EXECUTE_TOOL执行具体操作:
RUBE_MULTI_EXECUTE_TOOL tools: [{ tool_slug: "TOOL_SLUG_FROM_SEARCH", arguments: {/* schema-compliant args from search results */} }] memory: {} session_id: "your_session_id"参数要点:
tool_slug必须来自 Step 1 的搜索结果,禁止凭记忆硬编码;arguments的字段名与类型必须严格遵循搜索结果中的 Schema(schema-compliant);memory参数必须始终携带,即使没有需要跨调用保留的状态也要传空对象{};session_id与 Step 1/2 保持一致,确保同一工作流内的状态连贯。
RUBE_MULTI_EXECUTE_TOOL支持在tools数组中一次传入多个工具调用,适合把"截图 → 处理 → 上传"这类多动作编排在一次请求内完成。
六、常见陷阱与规避(Known Pitfalls)
SKILL.md 总结了六条高频陷阱,逐条拆解如下:
1. 必须先搜索(Always search first)工具 Schema 会变化。任何未经过RUBE_SEARCH_TOOLS校验就硬编码的 slug 或参数,都有可能在 API 演进后失效。这是本技能最核心的一条纪律。
2. 执行前检查连接(Check connection)用RUBE_MANAGE_CONNECTIONS确认状态为 ACTIVE 再执行。连接可能因 token 过期、用户撤销授权等原因失效,前置检查能避免在长工作流中段才发现问题。
3. 严格遵循 Schema(Schema compliance)参数必须使用搜索结果中的精确字段名与类型。多传、漏传、类型不符都会导致调用失败——不要"凭直觉"猜测字段。
4. memory 参数不可省略(Memory parameter)RUBE_MULTI_EXECUTE_TOOL的调用中必须包含memory字段,即使为空也要传{}。省略该字段可能导致调用不符合工具契约。
5. 会话复用策略(Session reuse)同一工作流内复用同一个session_id,保证上下文与状态连续;开启全新工作流时再生成新的会话 ID。混用会导致状态串扰。
6. 注意分页(Pagination)检查响应中的分页 token(pagination tokens)。当结果集较大时,必须持续翻页直至取完,否则会遗漏后续数据。这个陷阱在批量处理截图结果、拉取任务列表等场景尤其常见。
七、速查表:一次记住五类操作
SKILL.md 提供了操作级速查表,是日常使用时最高效的索引:
| 操作 | 方式 |
|---|---|
| 查找工具(Find tools) | RUBE_SEARCH_TOOLS,传入 Screenshotone 相关的具体 use case |
| 建立连接(Connect) | RUBE_MANAGE_CONNECTIONS,toolkit 指定为screenshotone |
| 执行操作(Execute) | RUBE_MULTI_EXECUTE_TOOL,使用搜索发现的工具 slug |
| 批量操作(Bulk ops) | RUBE_REMOTE_WORKBENCH,配合run_composio_tool()函数 |
| 获取完整 Schema(Full schema) | RUBE_GET_TOOL_SCHEMAS,适用于搜索结果中带schemaRef的工具 |
值得注意最后两行:当单个工具的 Schema 较大、搜索结果只返回了schemaRef引用时,需要用RUBE_GET_TOOL_SCHEMAS拉取完整定义;而当需要对 Screenshotone 做批量、循环类操作时,RUBE_REMOTE_WORKBENCH(远程工作台,支持执行run_composio_tool()这类编程式调用)比逐个RUBE_MULTI_EXECUTE_TOOL更高效。
八、与 Composio 生态的呼应:一套模式,千种集成
将本技能放回仓库全景观察,可以看到它并非孤立存在:composio-skills/目录下成百上千个*-automation技能(如 composio-skills/composio-automation/SKILL.md)共享完全相同的 Rube MCP 骨架——同样的requires.mcp: [rube]声明、同样的四步连接流程、同样的三步工作流与六条陷阱清单,唯一差异只是 toolkit 名称与 use case 描述。从源码结构可以推断:这套"搜索 → 检查连接 → 执行"的编排方式,是 Rube MCP 面向 Composio 全部集成(1000+ 应用)的统一契约,Screenshotone 只是其中一例。
这一模式也解释了为何技能描述反复强调"先搜索":因为有了统一的工具发现机制,任何 toolkit 的工具变更都不需要技能作者逐一手动维护,而是由运行时 Schema 动态兜底。
与之互补的是 connect/SKILL.md 中介绍的 Composio CLI 路线(composio search/composio execute/composio link)。两条路线能力同源——都建立在 Composio 的工具封装之上;区别在于接入形态:Rube MCP 面向"已接入 MCP 的 Agent 会话"提供标准 MCP 工具调用,而 Composio CLI 面向终端直接操作。二者可根据你的运行环境取舍。
九、将本技能安装进 Codex
技能安装遵循仓库 README.md 的通用流程(本仓库只读,以下仅为安装说明):
- 手动安装:将
composio-skills/screenshotone-automation/目录复制到$CODEX_HOME/skills/(默认~/.codex/skills/); - 重启 Codex:使新的 frontmatter 元数据被加载;
- 触发使用:在会话中自然描述截图自动化任务,Codex 会根据
description自动匹配并触发本技能;也可显式提及技能名。
安装完成后,技能目录下的SKILL.md即成为 Codex 在该任务中的行为指导书,前文所述的工作流与陷阱清单会自动约束 Agent 的每一步调用。
结语
Screenshotone 自动化只是 Rube MCP × Composio 集成范式的一个切片。吃透这份技能,你就掌握了在 Codex 中驱动任何 Composio toolkit 的通用方法论:永远先搜索 Schema,永远先确认连接,永远携带 memory 与正确的 session。把这三条纪律内化为习惯,你就能在 Codex 中稳定、可复用、可维护地自动化网页截图乃至任何第三方 SaaS 操作。
【免费下载链接】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),仅供参考