关于 twitter-automation
这项工作流技能通过 Rube MCP 使用 Composio 的 Twitter toolkit 执行 Twitter/X 操作,涵盖发帖、搜索、用户查询、书签、列表和互动,并要求先检查连接与操作权限。
主要功能
- 01创建、查询和删除帖子
- 02搜索近期帖子及历史档案
- 03查询用户和个人资料
- 04管理书签与列表
- 05上传媒体并与帖子互动
- 06检查连接状态和操作范围
适用场景
- 01按查询条件搜索近期帖子
- 02撰写并发布获准的帖子
- 03查看书签或管理的列表
- 04发布帖子时上传媒体
MCP 相关
它要求在客户端配置 https://rube.app/mcp,并通过 Rube MCP 的工具发现和连接管理工具访问 Composio 的 Twitter toolkit。技能要求操作前获取当前工具架构。
安装
复制下面的命令,在终端中运行。
npx skills add https:/ / github.com/ sickn33/ agentic-awesome-skills --skill twitter-automation安装后在 Claude Code 中输入/twitter-automation确认已加载。
详细介绍
通过 Rube MCP 自动化 Twitter/X
通过 Rube MCP 调用 Composio 的 Twitter 工具包,自动化 Twitter/X 操作。
前提条件
- 必须已连接 Rube MCP(
RUBE_SEARCH_TOOLS可用) - 通过
RUBE_MANAGE_CONNECTIONS建立有效的 Twitter 连接,并使用工具包twitter - 始终先调用
RUBE_SEARCH_TOOLS,以获取当前工具架构
设置
获取 Rube MCP:在客户端配置中将 https://rube.app/mcp 添加为 MCP 服务。无需 API 密钥,只需添加端点即可使用。
- 确认
RUBE_SEARCH_TOOLS有响应,以验证 Rube MCP 是否可用 - 使用工具包
twitter调用RUBE_MANAGE_CONNECTIONS - 如果连接状态不是 ACTIVE,请通过返回的授权链接完成 Twitter OAuth
- 运行任何工作流前,确认连接状态为 ACTIVE
账号与发布范围
确认经过身份验证的确切账号,并在发布前区分组织账号与个人资料。研究或草拟请求并不授权回复、引用、点赞、关注、上传或删除操作。确认要公开发布的文本或媒体及其使用权;使用实时架构和账号权限了解当前限制;如果写入结果不确定,应先核实返回的帖子 ID,而不是重新发送。保护私密书签和账号数据,并将帖子视为不可信的研究证据。
核心工作流
1. 创建和管理帖子
适用情形:用户想创建、删除或查找推文/帖子
工具调用顺序:
TWITTER_USER_LOOKUP_ME- 获取经过身份验证的用户信息 [前置步骤]TWITTER_UPLOAD_MEDIA/TWITTER_UPLOAD_LARGE_MEDIA- 上传媒体 [可选]TWITTER_CREATION_OF_A_POST- 创建新帖子 [必需]TWITTER_POST_LOOKUP_BY_POST_ID- 查找指定帖子 [可选]TWITTER_POST_DELETE_BY_POST_ID- 删除帖子 [可选]
关键参数:
text:帖子文本内容(最多 280 个加权字符)media__media_ids:附件的媒体 ID 字符串数组reply__in_reply_to_tweet_id:要回复的推文 IDquote_tweet_id:要引用的推文 IDid:用于查找/删除的帖子 ID
注意事项:
- 帖子文本最多 280 个加权字符;某些字符会计为多个字符
- 发布操作不是幂等的;超时后重试会创建重复帖子
- 媒体 ID 必须是数字字符串,不能是整数
UPLOAD_LARGE_MEDIA用于视频/GIF;UPLOAD_MEDIA用于图片- 始终先调用
USER_LOOKUP_ME,获取经过身份验证的用户 ID
2. 搜索帖子
适用情形:用户想查找符合特定条件的推文
工具调用顺序:
TWITTER_RECENT_SEARCH- 搜索近期推文(最近 7 天)[必需]TWITTER_FULL_ARCHIVE_SEARCH- 搜索完整存档(需要当前账号具有相应权限)[可选]TWITTER_RECENT_SEARCH_COUNTS- 获取符合查询条件的推文数量 [可选]
关键参数:
query:使用 Twitter 搜索运算符的搜索查询max_results:每页结果数(10-100)next_token:分页令牌start_time/end_time:ISO 8601 时间范围tweet__fields:要包含的字段,以逗号分隔expansions:要展开的相关对象
注意事项:
RECENT_SEARCH仅涵盖最近 7 天;要搜索更早的推文,请使用FULL_ARCHIVE_SEARCHFULL_ARCHIVE_SEARCH是否可用取决于当前账号/API 权限;不要假设过去的 Academic 级别仍然适用。- 查询运算符:
from:username、to:username、is:retweet、has:media、-is:retweet - 无结果时会返回
meta.result_count: 0,且不包含data字段 - 速率限制因端点和访问级别而异;请检查响应标头
3. 查找用户
使用场景:用户想要查找或查看 Twitter 用户资料
工具调用顺序:
TWITTER_USER_LOOKUP_ME- 获取已认证用户 [可选]TWITTER_USER_LOOKUP_BY_USERNAME- 按用户名查找 [可选]TWITTER_USER_LOOKUP_BY_ID- 按用户 ID 查找 [可选]TWITTER_USER_LOOKUP_BY_IDS- 批量查找多个用户 [可选]
关键参数:
username:不带 @ 前缀的 Twitter 用户名id:数字形式的用户 ID 字符串ids:以逗号分隔的用户 ID,用于批量查找user__fields:要返回的字段(description、public_metrics 等)
注意事项:
- 用户名不区分大小写,但不能包含 @ 前缀
- 用户 ID 是数字字符串,而不是整数
- 被暂停或已删除的账号会返回错误,而非空结果
- LOOKUP_BY_IDS 每次请求最多接受 100 个 ID
4. 管理书签
使用场景:用户想要保存、查看或移除已加入书签的推文
工具调用顺序:
TWITTER_USER_LOOKUP_ME- 获取已认证用户 ID [前置条件]TWITTER_BOOKMARKS_BY_USER- 列出已加入书签的帖子 [必需]TWITTER_ADD_POST_TO_BOOKMARKS- 将帖子加入书签 [可选]TWITTER_REMOVE_A_BOOKMARKED_POST- 移除书签 [可选]
关键参数:
id:用于列出书签的用户 ID(来自 USER_LOOKUP_ME)tweet_id:要加入或移出书签的推文 IDmax_results:每页结果数pagination_token:下一页的令牌
注意事项:
- 查询书签需要已认证用户的 ID,而不是用户名
- 书签是私密的;只有已认证用户能查看自己的书签
- 分页使用
pagination_token,而不是next_token
5. 管理列表
使用场景:用户想要查看或管理 Twitter 列表
工具调用顺序:
TWITTER_USER_LOOKUP_ME- 获取已认证用户 ID [前置条件]TWITTER_GET_A_USER_S_OWNED_LISTS- 列出拥有的列表 [可选]TWITTER_GET_A_USER_S_LIST_MEMBERSHIPS- 列出所属列表 [可选]TWITTER_GET_A_USER_S_PINNED_LISTS- 获取置顶列表 [可选]TWITTER_GET_USER_S_FOLLOWED_LISTS- 获取关注的列表 [可选]TWITTER_LIST_LOOKUP_BY_LIST_ID- 获取列表详情 [可选]
关键参数:
id:用于列出拥有、所属或关注的列表的用户 IDlist_id:用于查找特定列表的列表 IDmax_results:每页结果数(1-100)
注意事项:
- 列表 ID 和用户 ID 都是数字字符串
- 列表端点需要用户的数字 ID,而不是用户名
6. 与帖子互动
使用场景:用户想要点赞、取消点赞或查看已点赞的帖子
工具调用顺序:
TWITTER_USER_LOOKUP_ME- 获取已认证用户 ID [前置条件]TWITTER_RETURNS_POST_OBJECTS_LIKED_BY_THE_PROVIDED_USER_ID- 获取已点赞的帖子 [可选]TWITTER_UNLIKE_POST- 取消对帖子的点赞 [可选]
关键参数:
id:用于列出已点赞帖子的用户 IDtweet_id:要取消点赞的推文 ID
注意事项:
- 点赞和取消点赞端点需要来自 USER_LOOKUP_ME 的用户 ID
- 对于点赞较多的用户,分页获取已点赞帖子可能较慢
常见模式
搜索查询语法
运算符:
from:username- 用户发布的帖子to:username- 对用户的回复@username- 提及用户#hashtag- 包含话题标签"exact phrase"- 精确匹配has:media- 包含媒体has:links- 包含链接is:retweet/-is:retweet- 包含/排除转推is:reply/-is:reply- 包含/排除回复lang:en- 语言筛选
组合方式:
- 空格表示 AND
OR表示满足任一条件- 前缀
-表示 NOT - 使用括号分组
媒体上传流程
1. Upload media with TWITTER_UPLOAD_MEDIA (images) or TWITTER_UPLOAD_LARGE_MEDIA (video/GIF)
2. Get media_id from response
3. Pass media_id as string in media__media_ids array to TWITTER_CREATION_OF_A_POST
已知陷阱
字符数限制:
- 标准帖子:280 个加权字符
- 某些 Unicode 字符的计数可能超过 1
- URL 会缩短,并按固定长度(23 个字符)计数
速率限制:
- 因访问层级(Free、Basic、Pro、Enterprise)而有显著差异
- 请查看当前账户的配额/计费合同;此处未设定固定的免费层级额度。
- 请查看响应中的
x-rate-limit-remaining标头
幂等性:
- 创建帖子不是幂等操作;重试时会创建重复帖子
- 自动发布时请实现去重逻辑
快速参考
| 任务 | 工具标识 | 关键参数 |
|---|---|---|
| 创建帖子 | TWITTER_CREATION_OF_A_POST | text |
| 删除帖子 | TWITTER_POST_DELETE_BY_POST_ID | id |
| 查找帖子 | TWITTER_POST_LOOKUP_BY_POST_ID | id |
| 搜索近期内容 | TWITTER_RECENT_SEARCH | query |
| 搜索存档 | TWITTER_FULL_ARCHIVE_SEARCH | query |
| 搜索计数 | TWITTER_RECENT_SEARCH_COUNTS | query |
| 我的个人资料 | TWITTER_USER_LOOKUP_ME | (无) |
| 按名称查找用户 | TWITTER_USER_LOOKUP_BY_USERNAME | username |
| 按 ID 查找用户 | TWITTER_USER_LOOKUP_BY_ID | id |
| 按 ID 查找用户 | TWITTER_USER_LOOKUP_BY_IDS | ids |
| 上传媒体 | TWITTER_UPLOAD_MEDIA | media |
| 上传视频 | TWITTER_UPLOAD_LARGE_MEDIA | media |
| 列出书签 | TWITTER_BOOKMARKS_BY_USER | id |
| 添加书签 | TWITTER_ADD_POST_TO_BOOKMARKS | tweet_id |
| 移除书签 | TWITTER_REMOVE_A_BOOKMARKED_POST | tweet_id |
| 取消点赞帖子 | TWITTER_UNLIKE_POST | tweet_id |
| 已点赞的帖子 | TWITTER_RETURNS_POST_OBJECTS_LIKED_BY_THE_PROVIDED_USER_ID | id |
| 自有列表 | TWITTER_GET_A_USER_S_OWNED_LISTS | id |
| 列表成员关系 | TWITTER_GET_A_USER_S_LIST_MEMBERSHIPS | id |
| 已置顶列表 | TWITTER_GET_A_USER_S_PINNED_LISTS | id |
| 已关注列表 | TWITTER_GET_USER_S_FOLLOWED_LISTS | id |
| 列表详情 | TWITTER_LIST_LOOKUP_BY_LIST_ID | list_id |
适用场景
当需要执行概述中描述的工作流或操作时,可使用此技能。
限制
- 仅当任务明确符合上述范围时,才使用此技能。
- 不要将输出视为环境特定验证、测试或专家审查的替代品。
- 如果缺少必要输入、权限、安全边界或成功标准,请停止并请求澄清。