关于 basecamp-automation
basecamp-automation 是面向项目协作的 Basecamp 自动化技能,可通过 Composio 工具集管理待办事项、项目消息、成员和项目结构。它覆盖读取与创建、更新及访问管理流程。
主要功能
- 01浏览项目及项目结构
- 02创建待办清单和任务
- 03发布或更新项目消息
- 04查看成员并管理项目访问权限
- 05在待办清单中创建分组
适用场景
- 01为项目建立待办清单并分配任务
- 02向项目消息板发布或修订内容
- 03核对项目成员并调整访问权限
- 04按组整理待办事项
MCP 相关
通过 Rube MCP 调用 Composio 的 Basecamp 工具集。需检查当前工具架构、确认连接有效,并核实目标项目及写入范围。
安装
复制下面的命令,在终端中运行。
npx skills add https:/ / github.com/ sickn33/ agentic-awesome-skills --skill basecamp-automation安装后在 Claude Code 中输入/basecamp-automation确认已加载。
详细介绍
通过 Rube MCP 实现 Basecamp 自动化
通过 Composio 的 Basecamp 工具包,自动执行 Basecamp 操作,包括项目管理、创建待办事项列表、任务管理、在消息板发布内容、人员管理以及待办事项分组整理。
前置条件
- 必须已连接 Rube MCP(可用
RUBE_SEARCH_TOOLS) - 通过工具包
basecamp的RUBE_MANAGE_CONNECTIONS建立有效的 Basecamp 连接 - 始终先调用
RUBE_SEARCH_TOOLS,以获取最新的工具架构
设置
使用现有的已批准 Rube 连接和受支持的主机身份验证流程;仅添加端点不会建立账户访问权限。
- 确认
RUBE_SEARCH_TOOLS有响应,以验证 Rube MCP 是否可用 - 使用工具包
basecamp调用RUBE_MANAGE_CONNECTIONS - 如果连接状态不是 ACTIVE,请根据返回的身份验证链接完成 Basecamp OAuth
- 运行任何工作流前,确认连接状态显示为 ACTIVE
以下历史 slug、类型和默认值都需要根据当前架构进行验证。写入操作前,请验证账户、项目/dock ID 和已批准的受众。消息和通知需要明确的操作范围;草稿请求必须保持为草稿。授予访问权限、发送邀请和撤销权限都需要精确的目标范围。如果无法确定某次创建操作是否成功,请先核实,再尝试使用其他工具,以避免重复发布消息/任务。
核心工作流
1. 管理待办事项列表和任务
适用场景:用户希望在 Basecamp 项目中创建待办事项列表、添加任务或整理工作
工具调用顺序:
BASECAMP_GET_PROJECTS- 列出项目以查找目标 bucket_id[前置步骤]BASECAMP_GET_BUCKETS_TODOSETS- 获取项目中的待办事项集[前置步骤]BASECAMP_GET_BUCKETS_TODOSETS_TODOLISTS- 列出现有待办事项列表以避免重复[可选]BASECAMP_POST_BUCKETS_TODOSETS_TODOLISTS- 在待办事项集中创建新的待办事项列表[创建列表时必需]BASECAMP_GET_BUCKETS_TODOLISTS- 获取特定待办事项列表的详细信息[可选]BASECAMP_POST_BUCKETS_TODOLISTS_TODOS- 在待办事项列表中创建待办事项[创建任务时必需]BASECAMP_CREATE_TODO- 创建单项待办事项的替代工具[替代方案]BASECAMP_GET_BUCKETS_TODOLISTS_TODOS- 列出待办事项列表中的待办事项[可选]
创建待办事项列表的关键参数:
bucket_id:整数类型的项目/bucket ID(来自 GET_PROJECTS)todoset_id:整数类型的待办事项集 ID(来自 GET_BUCKETS_TODOSETS)name:待办事项列表的标题(必填)description:HTML 格式的描述(支持富文本)
创建待办事项的关键参数:
bucket_id:整数类型的项目/bucket IDtodolist_id:整数类型的待办事项列表 IDcontent:待办事项的内容(必填)description:待办事项的 HTML 详细信息assignee_ids:整数类型的人员 ID 数组due_on:截止日期,格式为YYYY-MM-DDstarts_on:开始日期,格式为YYYY-MM-DDnotify:是否通知受指派人,布尔值(默认为 false)completion_subscriber_ids:完成后会收到通知的人员 ID
注意事项:
- 一个项目(bucket)可以包含多个待办事项集;选择错误的
todoset_id会导致列表创建在错误的分区中 - 创建前务必检查现有待办事项列表,以避免名称近似的重复列表
- 成功载荷包含面向用户的网址(
app_url、app_todos_url);优先返回这些网址,而非原始 ID - 所有 ID(
bucket_id、todoset_id、todolist_id)均为整数,而不是字符串 - 描述仅支持 HTML 格式,不支持 Markdown
2. 发布和管理消息
适用场景:用户想在项目消息板上发布消息,或更新现有消息
工具调用顺序:
BASECAMP_GET_PROJECTS- 查找目标项目和 bucket_id[前置条件]BASECAMP_GET_MESSAGE_BOARD- 获取项目的消息板 ID[前置条件]BASECAMP_CREATE_MESSAGE- 在消息板上创建新消息[必需]BASECAMP_POST_BUCKETS_MESSAGE_BOARDS_MESSAGES- 替代的消息创建工具[备用]BASECAMP_GET_MESSAGE- 按 ID 读取指定消息[可选]BASECAMP_PUT_BUCKETS_MESSAGES- 更新现有消息[可选]
关键参数:
bucket_id:整数类型的项目/bucket IDmessage_board_id:整数类型的消息板 ID(来自 GET_MESSAGE_BOARD)subject:消息标题(必填)content:消息的 HTML 正文status:设为"active"可立即发布category_id:消息类型分类(可选)subscriptions:要通知的人员 ID 数组;省略则通知所有项目成员
注意事项:
- 如果不支持创建草稿,请保留本地草稿并说明此限制;切勿通过改为立即发布来绕过错误
bucket_id和message_board_id必须属于同一项目;不匹配会导致失败或路由错误- 消息内容仅支持 HTML 标签,不支持 Markdown
- 通过
PUT_BUCKETS_MESSAGES更新时会替换整个正文——请提供完整的修正后内容,而不只是差异 - 面向用户提供确认链接时,优先使用响应中的
app_url CREATE_MESSAGE和POST_BUCKETS_MESSAGE_BOARDS_MESSAGES功能相同;选择已发现支持的工具;创建操作超时或结果不确定时,不要改用备用工具重复创建
3. 管理人员和访问权限
适用场景:用户想列出人员、管理项目访问权限或添加新用户
工具调用顺序:
BASECAMP_GET_PEOPLE- 列出当前用户可见的所有人员[必需]BASECAMP_GET_PROJECTS- 查找目标项目[前置条件]BASECAMP_LIST_PROJECT_PEOPLE- 列出特定项目中的人员[必需]BASECAMP_GET_PROJECTS_PEOPLE- 列出项目成员的替代工具[备选]BASECAMP_PUT_PROJECTS_PEOPLE_USERS- 授予或撤销项目访问权限[更改访问权限时必需]
PUT_PROJECTS_PEOPLE_USERS 的关键参数:
project_id:整数类型的项目 IDgrant:要添加到项目中的人员 ID 整数数组revoke:要从项目中移除的人员 ID 整数数组create:对象数组,包含新用户的name、email_address,以及可选的company_name、title- 必须至少提供
grant、revoke或create中的一项
注意事项:
- 人员 ID 为整数;务必先通过 GET_PEOPLE 将姓名解析为 ID
- 人员管理中的
project_id与其他操作中的bucket_id相同 LIST_PROJECT_PEOPLE和GET_PROJECTS_PEOPLE几乎相同;任选其一即可- 通过
create创建用户时,也会一步授予其项目访问权限
4. 使用分组整理待办事项
适用场景:用户想在列表中使用颜色编码的分组来整理待办事项
工具调用顺序:
BASECAMP_GET_PROJECTS- 查找目标项目[前置条件]BASECAMP_GET_BUCKETS_TODOLISTS- 获取待办列表详情[前置条件]BASECAMP_GET_TODOLIST_GROUPS- 列出待办列表中的现有分组[可选]BASECAMP_GET_BUCKETS_TODOLISTS_GROUPS- 替代的分组列表查询方式[替代方案]BASECAMP_POST_BUCKETS_TODOLISTS_GROUPS- 在待办列表中创建新分组[必需]BASECAMP_CREATE_TODOLIST_GROUP- 替代的分组创建工具[替代方案]
关键参数:
bucket_id:项目/bucket 的整数 IDtodolist_id:待办列表的整数 IDname:分组标题(必填)color:颜色标识符,可选值包括:white、red、orange、yellow、green、blue、aqua、purple、gray、pink、brownstatus:列表筛选条件——"archived"或"trashed"(省略时返回活动分组)
注意事项:
POST_BUCKETS_TODOLISTS_GROUPS和CREATE_TODOLIST_GROUP几乎完全相同;任选其一即可- 颜色值必须来自固定调色板;不支持任意十六进制/RGB 值
- 分组是待办列表中的子部分,并非独立实体
5. 浏览和检查项目
适用场景:用户想列出项目、获取项目详情或浏览项目结构
工具调用顺序:
BASECAMP_GET_PROJECTS- 列出所有活动项目[必需]BASECAMP_GET_PROJECT- 获取特定项目的详细信息[可选]BASECAMP_GET_PROJECTS_BY_PROJECT_ID- 替代的项目详情获取方式[替代方案]
关键参数:
status:按"archived"或"trashed"筛选;省略时返回活动项目project_id:用于获取详情的项目整数 ID
注意事项:
- 项目按创建时间从新到旧排序
- 响应中包含一个
dock数组,列出工具(todoset、message_board 等)及其 ID - 使用 dock 中工具的 ID 查找
todoset_id、message_board_id等,以便执行后续操作
常见模式
ID 解析
Basecamp 使用分层 ID 结构。请始终从上到下解析:
- 项目(bucket_id):
BASECAMP_GET_PROJECTS——按名称查找并记录id - 待办事项集(todoset_id):在项目的 dock 中查找,或通过
BASECAMP_GET_BUCKETS_TODOSETS获取 - 消息板(message_board_id):在项目的 dock 中查找,或通过
BASECAMP_GET_MESSAGE_BOARD获取 - 待办列表(todolist_id):
BASECAMP_GET_BUCKETS_TODOSETS_TODOLISTS - 人员(person_id):
BASECAMP_GET_PEOPLE或BASECAMP_LIST_PROJECT_PEOPLE - 注意:
bucket_id和project_id在不同上下文中指向同一实体
分页
Basecamp 的列表端点使用基于页码的分页:
- 响应标头或正文可能会指示是否还有更多页面
GET_PROJECTS、GET_BUCKETS_TODOSETS_TODOLISTS和列表端点会返回分页结果- 持续获取,直到不再返回更多结果
内容格式
- 所有富文本字段都使用 HTML,而非 Markdown
- 使用
<div>标签包裹内容;可使用<strong>、<em>、<ul>、<ol>、<li>、<a>等标签 - 示例:
<div><strong>Important:</strong> Complete by Friday</div>
已知注意事项
ID 格式
- 所有 Basecamp ID 都是整数,而非字符串或 UUID
bucket_id=project_id(指向同一实体,但不同工具使用不同参数名)- 待办事项集 ID、待办列表 ID 和消息板 ID 可在项目的
dock数组中找到 - 人员 ID 是整数;执行操作前,使用
GET_PEOPLE解析姓名
状态字段
- 不要用活动发布替代用户要求的草稿;请检查当前架构
- 项目/待办列表状态筛选条件:
"archived"、"trashed";省略时返回活动项
内容格式
- 仅限 HTML,切勿使用 Markdown
- 更新会替换整个正文,而非应用部分差异
- 无效的 HTML 标签可能会被静默移除
速率限制
- Basecamp API 有速率限制;请分散快速连续的请求
- 包含大量待办事项的大型项目应谨慎分页
URL 处理
- 面向用户的链接优先使用 API 响应中的
app_url - 不要根据 ID 手动重建 Basecamp URL
快速参考
| 任务 | 工具 Slug | 关键参数 |
|---|---|---|
| 列出项目 | BASECAMP_GET_PROJECTS | status |
| 获取项目 | BASECAMP_GET_PROJECT | project_id |
| 获取项目详情 | BASECAMP_GET_PROJECTS_BY_PROJECT_ID | project_id |
| 获取待办集 | BASECAMP_GET_BUCKETS_TODOSETS | bucket_id、todoset_id |
| 列出待办列表 | BASECAMP_GET_BUCKETS_TODOSETS_TODOLISTS | bucket_id、todoset_id |
| 获取待办列表 | BASECAMP_GET_BUCKETS_TODOLISTS | bucket_id、todolist_id |
| 创建待办列表 | BASECAMP_POST_BUCKETS_TODOSETS_TODOLISTS | bucket_id、todoset_id、name |
| 创建待办事项 | BASECAMP_POST_BUCKETS_TODOLISTS_TODOS | bucket_id、todolist_id、content |
| 创建待办事项(备选) | BASECAMP_CREATE_TODO | bucket_id、todolist_id、content |
| 列出待办事项 | BASECAMP_GET_BUCKETS_TODOLISTS_TODOS | bucket_id、todolist_id |
| 列出待办分组 | BASECAMP_GET_TODOLIST_GROUPS | bucket_id、todolist_id |
| 创建待办分组 | BASECAMP_POST_BUCKETS_TODOLISTS_GROUPS | bucket_id、todolist_id、name、color |
| 创建待办分组(备选) | BASECAMP_CREATE_TODOLIST_GROUP | bucket_id、todolist_id、name |
| 获取留言板 | BASECAMP_GET_MESSAGE_BOARD | bucket_id、message_board_id |
| 创建留言 | BASECAMP_CREATE_MESSAGE | bucket_id、message_board_id、subject、status |
| 创建留言(备选) | BASECAMP_POST_BUCKETS_MESSAGE_BOARDS_MESSAGES | bucket_id、message_board_id、subject |
| 获取留言 | BASECAMP_GET_MESSAGE | bucket_id、message_id |
| 更新留言 | BASECAMP_PUT_BUCKETS_MESSAGES | bucket_id、message_id |
| 列出所有人员 | BASECAMP_GET_PEOPLE | (无) |
| 列出项目人员 | BASECAMP_LIST_PROJECT_PEOPLE | project_id |
| 管理访问权限 | BASECAMP_PUT_PROJECTS_PEOPLE_USERS | project_id、grant、revoke、create |
何时使用
本技能适用于执行概述中描述的工作流或操作。
示例
用户请求:
通过 Rube MCP(Composio)自动化 Basecamp 项目管理、待办事项、留言、人员以及待办列表组织。
限制
- 仅当任务明确符合上述范围时才使用本技能。
- 不要将输出视为特定环境验证、测试或专家审查的替代品。
- 如果缺少必需的输入、权限、安全边界或成功标准,请停止并请求澄清。