mcpField
B
basecamp-automation

basecamp-automation

github.com/sickn33生产力48.8k76 次安装今天更新
代码仓库

关于 basecamp-automation

basecamp-automation 是面向项目协作的 Basecamp 自动化技能,可通过 Composio 工具集管理待办事项、项目消息、成员和项目结构。它覆盖读取与创建、更新及访问管理流程。

主要功能

  1. 01浏览项目及项目结构
  2. 02创建待办清单和任务
  3. 03发布或更新项目消息
  4. 04查看成员并管理项目访问权限
  5. 05在待办清单中创建分组

适用场景

  1. 01为项目建立待办清单并分配任务
  2. 02向项目消息板发布或修订内容
  3. 03核对项目成员并调整访问权限
  4. 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 连接和受支持的主机身份验证流程;仅添加端点不会建立账户访问权限。

  1. 确认 RUBE_SEARCH_TOOLS 有响应,以验证 Rube MCP 是否可用
  2. 使用工具包 basecamp 调用 RUBE_MANAGE_CONNECTIONS
  3. 如果连接状态不是 ACTIVE,请根据返回的身份验证链接完成 Basecamp OAuth
  4. 运行任何工作流前,确认连接状态显示为 ACTIVE

以下历史 slug、类型和默认值都需要根据当前架构进行验证。写入操作前,请验证账户、项目/dock ID 和已批准的受众。消息和通知需要明确的操作范围;草稿请求必须保持为草稿。授予访问权限、发送邀请和撤销权限都需要精确的目标范围。如果无法确定某次创建操作是否成功,请先核实,再尝试使用其他工具,以避免重复发布消息/任务。

核心工作流

1. 管理待办事项列表和任务

适用场景:用户希望在 Basecamp 项目中创建待办事项列表、添加任务或整理工作

工具调用顺序:

  1. BASECAMP_GET_PROJECTS - 列出项目以查找目标 bucket_id[前置步骤]
  2. BASECAMP_GET_BUCKETS_TODOSETS - 获取项目中的待办事项集[前置步骤]
  3. BASECAMP_GET_BUCKETS_TODOSETS_TODOLISTS - 列出现有待办事项列表以避免重复[可选]
  4. BASECAMP_POST_BUCKETS_TODOSETS_TODOLISTS - 在待办事项集中创建新的待办事项列表[创建列表时必需]
  5. BASECAMP_GET_BUCKETS_TODOLISTS - 获取特定待办事项列表的详细信息[可选]
  6. BASECAMP_POST_BUCKETS_TODOLISTS_TODOS - 在待办事项列表中创建待办事项[创建任务时必需]
  7. BASECAMP_CREATE_TODO - 创建单项待办事项的替代工具[替代方案]
  8. BASECAMP_GET_BUCKETS_TODOLISTS_TODOS - 列出待办事项列表中的待办事项[可选]

创建待办事项列表的关键参数:

  • bucket_id:整数类型的项目/bucket ID(来自 GET_PROJECTS)
  • todoset_id:整数类型的待办事项集 ID(来自 GET_BUCKETS_TODOSETS)
  • name:待办事项列表的标题(必填)
  • description:HTML 格式的描述(支持富文本)

创建待办事项的关键参数:

  • bucket_id:整数类型的项目/bucket ID
  • todolist_id:整数类型的待办事项列表 ID
  • content:待办事项的内容(必填)
  • description:待办事项的 HTML 详细信息
  • assignee_ids:整数类型的人员 ID 数组
  • due_on:截止日期,格式为 YYYY-MM-DD
  • starts_on:开始日期,格式为 YYYY-MM-DD
  • notify:是否通知受指派人,布尔值(默认为 false)
  • completion_subscriber_ids:完成后会收到通知的人员 ID

注意事项:

  • 一个项目(bucket)可以包含多个待办事项集;选择错误的 todoset_id 会导致列表创建在错误的分区中
  • 创建前务必检查现有待办事项列表,以避免名称近似的重复列表
  • 成功载荷包含面向用户的网址(app_url、app_todos_url);优先返回这些网址,而非原始 ID
  • 所有 ID(bucket_id、todoset_id、todolist_id)均为整数,而不是字符串
  • 描述仅支持 HTML 格式,不支持 Markdown
2. 发布和管理消息

适用场景:用户想在项目消息板上发布消息,或更新现有消息

工具调用顺序:

  1. BASECAMP_GET_PROJECTS - 查找目标项目和 bucket_id[前置条件]
  2. BASECAMP_GET_MESSAGE_BOARD - 获取项目的消息板 ID[前置条件]
  3. BASECAMP_CREATE_MESSAGE - 在消息板上创建新消息[必需]
  4. BASECAMP_POST_BUCKETS_MESSAGE_BOARDS_MESSAGES - 替代的消息创建工具[备用]
  5. BASECAMP_GET_MESSAGE - 按 ID 读取指定消息[可选]
  6. BASECAMP_PUT_BUCKETS_MESSAGES - 更新现有消息[可选]

关键参数:

  • bucket_id:整数类型的项目/bucket ID
  • message_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. 管理人员和访问权限

适用场景:用户想列出人员、管理项目访问权限或添加新用户

工具调用顺序:

  1. BASECAMP_GET_PEOPLE - 列出当前用户可见的所有人员[必需]
  2. BASECAMP_GET_PROJECTS - 查找目标项目[前置条件]
  3. BASECAMP_LIST_PROJECT_PEOPLE - 列出特定项目中的人员[必需]
  4. BASECAMP_GET_PROJECTS_PEOPLE - 列出项目成员的替代工具[备选]
  5. BASECAMP_PUT_PROJECTS_PEOPLE_USERS - 授予或撤销项目访问权限[更改访问权限时必需]

PUT_PROJECTS_PEOPLE_USERS 的关键参数:

  • project_id:整数类型的项目 ID
  • grant:要添加到项目中的人员 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. 使用分组整理待办事项

适用场景:用户想在列表中使用颜色编码的分组来整理待办事项

工具调用顺序:

  1. BASECAMP_GET_PROJECTS - 查找目标项目[前置条件]
  2. BASECAMP_GET_BUCKETS_TODOLISTS - 获取待办列表详情[前置条件]
  3. BASECAMP_GET_TODOLIST_GROUPS - 列出待办列表中的现有分组[可选]
  4. BASECAMP_GET_BUCKETS_TODOLISTS_GROUPS - 替代的分组列表查询方式[替代方案]
  5. BASECAMP_POST_BUCKETS_TODOLISTS_GROUPS - 在待办列表中创建新分组[必需]
  6. BASECAMP_CREATE_TODOLIST_GROUP - 替代的分组创建工具[替代方案]

关键参数:

  • bucket_id:项目/bucket 的整数 ID
  • todolist_id:待办列表的整数 ID
  • name:分组标题(必填)
  • color:颜色标识符,可选值包括:white、red、orange、yellow、green、blue、aqua、purple、gray、pink、brown
  • status:列表筛选条件——"archived" 或 "trashed"(省略时返回活动分组)

注意事项:

  • POST_BUCKETS_TODOLISTS_GROUPS 和 CREATE_TODOLIST_GROUP 几乎完全相同;任选其一即可
  • 颜色值必须来自固定调色板;不支持任意十六进制/RGB 值
  • 分组是待办列表中的子部分,并非独立实体
5. 浏览和检查项目

适用场景:用户想列出项目、获取项目详情或浏览项目结构

工具调用顺序:

  1. BASECAMP_GET_PROJECTS - 列出所有活动项目[必需]
  2. BASECAMP_GET_PROJECT - 获取特定项目的详细信息[可选]
  3. 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_PROJECTSstatus
获取项目BASECAMP_GET_PROJECTproject_id
获取项目详情BASECAMP_GET_PROJECTS_BY_PROJECT_IDproject_id
获取待办集BASECAMP_GET_BUCKETS_TODOSETSbucket_id、todoset_id
列出待办列表BASECAMP_GET_BUCKETS_TODOSETS_TODOLISTSbucket_id、todoset_id
获取待办列表BASECAMP_GET_BUCKETS_TODOLISTSbucket_id、todolist_id
创建待办列表BASECAMP_POST_BUCKETS_TODOSETS_TODOLISTSbucket_id、todoset_id、name
创建待办事项BASECAMP_POST_BUCKETS_TODOLISTS_TODOSbucket_id、todolist_id、content
创建待办事项(备选)BASECAMP_CREATE_TODObucket_id、todolist_id、content
列出待办事项BASECAMP_GET_BUCKETS_TODOLISTS_TODOSbucket_id、todolist_id
列出待办分组BASECAMP_GET_TODOLIST_GROUPSbucket_id、todolist_id
创建待办分组BASECAMP_POST_BUCKETS_TODOLISTS_GROUPSbucket_id、todolist_id、name、color
创建待办分组(备选)BASECAMP_CREATE_TODOLIST_GROUPbucket_id、todolist_id、name
获取留言板BASECAMP_GET_MESSAGE_BOARDbucket_id、message_board_id
创建留言BASECAMP_CREATE_MESSAGEbucket_id、message_board_id、subject、status
创建留言(备选)BASECAMP_POST_BUCKETS_MESSAGE_BOARDS_MESSAGESbucket_id、message_board_id、subject
获取留言BASECAMP_GET_MESSAGEbucket_id、message_id
更新留言BASECAMP_PUT_BUCKETS_MESSAGESbucket_id、message_id
列出所有人员BASECAMP_GET_PEOPLE(无)
列出项目人员BASECAMP_LIST_PROJECT_PEOPLEproject_id
管理访问权限BASECAMP_PUT_PROJECTS_PEOPLE_USERSproject_id、grant、revoke、create

何时使用

本技能适用于执行概述中描述的工作流或操作。

示例

用户请求:

通过 Rube MCP(Composio)自动化 Basecamp 项目管理、待办事项、留言、人员以及待办列表组织。

限制

  • 仅当任务明确符合上述范围时才使用本技能。
  • 不要将输出视为特定环境验证、测试或专家审查的替代品。
  • 如果缺少必需的输入、权限、安全边界或成功标准,请停止并请求澄清。

评论

支持 Markdown