关于 asana-automation
asana-automation 是通过 Rube MCP 上的 Composio Asana 工具包自动处理 Asana 任务、项目和团队工作流的技能,适用于需要通过 MCP 工具管理 Asana 数据的用户。
主要功能
- 01创建、搜索和整理任务
- 02管理项目与分区
- 03查看团队和用户
- 04并行执行 API 请求
适用场景
- 01创建任务和子任务
- 02整理项目分区
- 03查询工作区团队和用户
- 04并行执行多项 Asana 操作
MCP 相关
通过 Rube MCP 使用 Composio 的 Asana 工具包。该技能要求 Asana 连接处于启用状态,并要求使用前获取当前工具模式。
安装
复制下面的命令,在终端中运行。
$
npx skills add https:/ / github.com/ davepoon/ buildwithclaude --skill asana-automation安装后在 Claude Code 中输入/asana-automation确认已加载。
详细介绍
通过 Rube MCP 自动化 Asana
通过 Rube MCP 使用 Composio 的 Asana 工具包自动执行 Asana 操作。
工具包文档:composio.dev/toolkits/asana
前提条件
- 必须已连接 Rube MCP(可使用 RUBE_SEARCH_TOOLS)
- 通过
RUBE_MANAGE_CONNECTIONS建立有效的 Asana 连接,工具包为asana - 始终先调用
RUBE_SEARCH_TOOLS,获取当前工具架构
设置
获取 Rube MCP:在客户端配置中将 https://rube.app/mcp 添加为 MCP 服务。无需 API 密钥,只需添加端点即可使用。
- 确认
RUBE_SEARCH_TOOLS有响应,以验证 Rube MCP 可用 - 使用工具包
asana调用RUBE_MANAGE_CONNECTIONS - 如果连接状态不是 ACTIVE,请访问返回的授权链接,完成 Asana OAuth
- 运行任何工作流前,确认连接状态为 ACTIVE
核心工作流
1. 管理任务
适用场景:用户希望创建、搜索、列出或整理任务
工具调用顺序:
ASANA_GET_MULTIPLE_WORKSPACES- 获取工作区 ID [前提条件]ASANA_SEARCH_TASKS_IN_WORKSPACE- 搜索任务 [可选]ASANA_GET_TASKS_FROM_A_PROJECT- 列出项目任务 [可选]ASANA_CREATE_A_TASK- 创建新任务 [可选]ASANA_GET_A_TASK- 获取任务详情 [可选]ASANA_CREATE_SUBTASK- 创建子任务 [可选]ASANA_GET_TASK_SUBTASKS- 列出子任务 [可选]
关键参数:
workspace:工作区 GID(搜索或创建任务时必填)projects:要将任务添加到的项目 GID 数组name:任务名称notes:任务说明assignee:负责人(用户 GID 或电子邮件)due_on:截止日期(YYYY-MM-DD)
注意事项:
- 大多数操作都需要工作区 GID;请先获取
- 任务 GID 以字符串而非整数形式返回
- 搜索范围是工作区,而非项目
2. 管理项目和分区
适用场景:用户希望创建项目、管理分区或整理任务
工具调用顺序:
ASANA_GET_WORKSPACE_PROJECTS- 列出工作区项目 [可选]ASANA_GET_A_PROJECT- 获取项目详情 [可选]ASANA_CREATE_A_PROJECT- 创建新项目 [可选]ASANA_GET_SECTIONS_IN_PROJECT- 列出分区 [可选]ASANA_CREATE_SECTION_IN_PROJECT- 创建新分区 [可选]ASANA_ADD_TASK_TO_SECTION- 将任务移至分区 [可选]ASANA_GET_TASKS_FROM_A_SECTION- 列出分区中的任务 [可选]
关键参数:
project_gid:项目 GIDname:项目或分区名称workspace:创建时使用的工作区 GIDtask:用于分区分配的任务 GIDsection:分区 GID
注意事项:
- 项目属于工作区;创建项目时需要工作区 GID
- 分区在项目中按顺序排列
- DUPLICATE_PROJECT 会创建副本,并可选择是否包含任务
3. 管理团队和用户
适用场景:用户希望列出团队、团队成员或工作区用户
工具调用顺序:
ASANA_GET_TEAMS_IN_WORKSPACE- 列出工作区团队 [可选]ASANA_GET_USERS_FOR_TEAM- 列出团队成员 [可选]ASANA_GET_USERS_FOR_WORKSPACE- 列出工作区的所有用户 [可选]ASANA_GET_CURRENT_USER- 获取已验证身份的用户 [可选]ASANA_GET_MULTIPLE_USERS- 获取多个用户的详情 [可选]
关键参数:
workspace_gid:工作区 GIDteam_gid:团队 GID
注意事项:
- 用户范围限定于工作区
- 查询团队成员需要团队 GID
4. 并行操作
适用场景:用户需要高效执行批量操作
工具调用顺序:
ASANA_SUBMIT_PARALLEL_REQUESTS- 并行执行多个 API 调用 [必需]
关键参数:
actions:操作对象数组,包含 method、path 和 data
注意事项:
- 每个操作都必须是有效的 Asana API 调用
- 单个请求失败不会回滚已成功的请求
常见模式
ID 解析
工作区名称 -> GID:
1. Call ASANA_GET_MULTIPLE_WORKSPACES
2. Find workspace by name
3. Extract gid field
项目名称 -> GID:
1. Call ASANA_GET_WORKSPACE_PROJECTS with workspace GID
2. Find project by name
3. Extract gid field
分页
- Asana 使用基于游标的分页,采用
offset参数 - 检查响应中的
next_page - 下一次请求需传入
next_page.offset中的offset
已知注意事项
GID 格式:
- 所有 Asana ID 都是字符串(GID),而不是整数
- GID 是全局唯一标识符
工作区范围:
- 大多数操作都需要工作区上下文
- 任务、项目和用户均限定在工作区范围内
快速参考
| 任务 | 工具标识 | 关键参数 |
|---|---|---|
| 列出工作区 | ASANA_GET_MULTIPLE_WORKSPACES | (无) |
| 搜索任务 | ASANA_SEARCH_TASKS_IN_WORKSPACE | workspace, text |
| 创建任务 | ASANA_CREATE_A_TASK | workspace, name, projects |
| 获取任务 | ASANA_GET_A_TASK | task_gid |
| 创建子任务 | ASANA_CREATE_SUBTASK | parent, name |
| 列出子任务 | ASANA_GET_TASK_SUBTASKS | task_gid |
| 项目任务 | ASANA_GET_TASKS_FROM_A_PROJECT | project_gid |
| 列出项目 | ASANA_GET_WORKSPACE_PROJECTS | workspace |
| 创建项目 | ASANA_CREATE_A_PROJECT | workspace, name |
| 获取项目 | ASANA_GET_A_PROJECT | project_gid |
| 复制项目 | ASANA_DUPLICATE_PROJECT | project_gid |
| 列出分区 | ASANA_GET_SECTIONS_IN_PROJECT | project_gid |
| 在项目中创建分区 | ASANA_CREATE_SECTION_IN_PROJECT | project_gid, name |
| 添加到分区 | ASANA_ADD_TASK_TO_SECTION | section, task |
| 分区任务 | ASANA_GET_TASKS_FROM_A_SECTION | section_gid |
| 列出团队 | ASANA_GET_TEAMS_IN_WORKSPACE | workspace_gid |
| 团队成员 | ASANA_GET_USERS_FOR_TEAM | team_gid |
| 工作区用户 | ASANA_GET_USERS_FOR_WORKSPACE | workspace_gid |
| 当前用户 | ASANA_GET_CURRENT_USER | (无) |
| 并行请求 | ASANA_SUBMIT_PARALLEL_REQUESTS | actions |
由 Composio 提供支持
评论
支持 Markdown