[{"data":1,"prerenderedAt":-1},["ShallowReactive",2],{"skill-dd9fabef-a9c5-4155-976a-f09d46caba86":3,"$flBd4GcA26ybhxifkjTxe6e5a2pKpF6ygT6rQ3L8K-WA":43},{"id":4,"title":5,"description":6,"categoryId":7,"moduleId":8,"tags":9,"prompt":10,"icon":11,"source":12,"sourceUrl":13,"authorId":14,"authorName":15,"isPublic":16,"stars":17,"runs":18,"createdAt":19,"updatedAt":19,"module":20,"category":27,"packages":34},"dd9fabef-a9c5-4155-976a-f09d46caba86","asana-automation","通过Rube MCP（Composio）自动化Asana任务：任务、项目、部分、团队、工作空间。始终首先搜索当前架构的工具。","cat_prod_automation","mod_productivity","sickn33,productivity","---\nname: asana-automation\ndescription: \"Automate Asana tasks via Rube MCP (Composio): tasks, projects, sections, teams, workspaces. Always search tools first for current schemas.\"\nrisk: unknown\nsource: community\ndate_added: \"2026-02-27\"\n---\n\n# Asana Automation via Rube MCP\n\nAutomate Asana operations through Composio's Asana toolkit via Rube MCP.\n\n## Prerequisites\n\n- Rube MCP must be connected (RUBE_SEARCH_TOOLS available)\n- Active Asana connection via `RUBE_MANAGE_CONNECTIONS` with toolkit `asana`\n- Always call `RUBE_SEARCH_TOOLS` first to get current tool schemas\n\n## Setup\n\n**Get Rube MCP**: Add `https:\u002F\u002Frube.app\u002Fmcp` as an MCP server in your client configuration. No API keys needed — just add the endpoint and it works.\n\n\n1. Verify Rube MCP is available by confirming `RUBE_SEARCH_TOOLS` responds\n2. Call `RUBE_MANAGE_CONNECTIONS` with toolkit `asana`\n3. If connection is not ACTIVE, follow the returned auth link to complete Asana OAuth\n4. Confirm connection status shows ACTIVE before running any workflows\n\n## Core Workflows\n\n### 1. Manage Tasks\n\n**When to use**: User wants to create, search, list, or organize tasks\n\n**Tool sequence**:\n1. `ASANA_GET_MULTIPLE_WORKSPACES` - Get workspace ID [Prerequisite]\n2. `ASANA_SEARCH_TASKS_IN_WORKSPACE` - Search tasks [Optional]\n3. `ASANA_GET_TASKS_FROM_A_PROJECT` - List project tasks [Optional]\n4. `ASANA_CREATE_A_TASK` - Create a new task [Optional]\n5. `ASANA_GET_A_TASK` - Get task details [Optional]\n6. `ASANA_CREATE_SUBTASK` - Create a subtask [Optional]\n7. `ASANA_GET_TASK_SUBTASKS` - List subtasks [Optional]\n\n**Key parameters**:\n- `workspace`: Workspace GID (required for search\u002Fcreation)\n- `projects`: Array of project GIDs to add task to\n- `name`: Task name\n- `notes`: Task description\n- `assignee`: Assignee (user GID or email)\n- `due_on`: Due date (YYYY-MM-DD)\n\n**Pitfalls**:\n- Workspace GID is required for most operations; get it first\n- Task GIDs are returned as strings, not integers\n- Search is workspace-scoped, not project-scoped\n\n### 2. Manage Projects and Sections\n\n**When to use**: User wants to create projects, manage sections, or organize tasks\n\n**Tool sequence**:\n1. `ASANA_GET_WORKSPACE_PROJECTS` - List workspace projects [Optional]\n2. `ASANA_GET_A_PROJECT` - Get project details [Optional]\n3. `ASANA_CREATE_A_PROJECT` - Create a new project [Optional]\n4. `ASANA_GET_SECTIONS_IN_PROJECT` - List sections [Optional]\n5. `ASANA_CREATE_SECTION_IN_PROJECT` - Create a new section [Optional]\n6. `ASANA_ADD_TASK_TO_SECTION` - Move task to section [Optional]\n7. `ASANA_GET_TASKS_FROM_A_SECTION` - List tasks in section [Optional]\n\n**Key parameters**:\n- `project_gid`: Project GID\n- `name`: Project or section name\n- `workspace`: Workspace GID for creation\n- `task`: Task GID for section assignment\n- `section`: Section GID\n\n**Pitfalls**:\n- Projects belong to workspaces; workspace GID is needed for creation\n- Sections are ordered within a project\n- DUPLICATE_PROJECT creates a copy with optional task inclusion\n\n### 3. Manage Teams and Users\n\n**When to use**: User wants to list teams, team members, or workspace users\n\n**Tool sequence**:\n1. `ASANA_GET_TEAMS_IN_WORKSPACE` - List workspace teams [Optional]\n2. `ASANA_GET_USERS_FOR_TEAM` - List team members [Optional]\n3. `ASANA_GET_USERS_FOR_WORKSPACE` - List all workspace users [Optional]\n4. `ASANA_GET_CURRENT_USER` - Get authenticated user [Optional]\n5. `ASANA_GET_MULTIPLE_USERS` - Get multiple user details [Optional]\n\n**Key parameters**:\n- `workspace_gid`: Workspace GID\n- `team_gid`: Team GID\n\n**Pitfalls**:\n- Users are workspace-scoped\n- Team membership requires the team GID\n\n### 4. Parallel Operations\n\n**When to use**: User needs to perform bulk operations efficiently\n\n**Tool sequence**:\n1. `ASANA_SUBMIT_PARALLEL_REQUESTS` - Execute multiple API calls in parallel [Required]\n\n**Key parameters**:\n- `actions`: Array of action objects with method, path, and data\n\n**Pitfalls**:\n- Each action must be a valid Asana API call\n- Failed individual requests do not roll back successful ones\n\n## Common Patterns\n\n### ID Resolution\n\n**Workspace name -> GID**:\n```\n1. Call ASANA_GET_MULTIPLE_WORKSPACES\n2. Find workspace by name\n3. Extract gid field\n```\n\n**Project name -> GID**:\n```\n1. Call ASANA_GET_WORKSPACE_PROJECTS with workspace GID\n2. Find project by name\n3. Extract gid field\n```\n\n### Pagination\n\n- Asana uses cursor-based pagination with `offset` parameter\n- Check for `next_page` in response\n- Pass `offset` from `next_page.offset` for next request\n\n## Known Pitfalls\n\n**GID Format**:\n- All Asana IDs are strings (GIDs), not integers\n- GIDs are globally unique identifiers\n\n**Workspace Scoping**:\n- Most operations require a workspace context\n- Tasks, projects, and users are workspace-scoped\n\n## Quick Reference\n\n| Task | Tool Slug | Key Params |\n|------|-----------|------------|\n| List workspaces | ASANA_GET_MULTIPLE_WORKSPACES | (none) |\n| Search tasks | ASANA_SEARCH_TASKS_IN_WORKSPACE | workspace, text |\n| Create task | ASANA_CREATE_A_TASK | workspace, name, projects |\n| Get task | ASANA_GET_A_TASK | task_gid |\n| Create subtask | ASANA_CREATE_SUBTASK | parent, name |\n| List subtasks | ASANA_GET_TASK_SUBTASKS | task_gid |\n| Project tasks | ASANA_GET_TASKS_FROM_A_PROJECT | project_gid |\n| List projects | ASANA_GET_WORKSPACE_PROJECTS | workspace |\n| Create project | ASANA_CREATE_A_PROJECT | workspace, name |\n| Get project | ASANA_GET_A_PROJECT | project_gid |\n| Duplicate project | ASANA_DUPLICATE_PROJECT | project_gid |\n| List sections | ASANA_GET_SECTIONS_IN_PROJECT | project_gid |\n| Create section | ASANA_CREATE_SECTION_IN_PROJECT | project_gid, name |\n| Add to section | ASANA_ADD_TASK_TO_SECTION | section, task |\n| Section tasks | ASANA_GET_TASKS_FROM_A_SECTION | section_gid |\n| List teams | ASANA_GET_TEAMS_IN_WORKSPACE | workspace_gid |\n| Team members | ASANA_GET_USERS_FOR_TEAM | team_gid |\n| Workspace users | ASANA_GET_USERS_FOR_WORKSPACE | workspace_gid |\n| Current user | ASANA_GET_CURRENT_USER | (none) |\n| Parallel requests | ASANA_SUBMIT_PARALLEL_REQUESTS | actions |\n\n## When to Use\nThis skill is applicable to execute the workflow or actions described in the overview.\n\n## Limitations\n- Use this skill only when the task clearly matches the scope described above.\n- Do not treat the output as a substitute for environment-specific validation, testing, or expert review.\n- Stop and ask for clarification if required inputs, permissions, safety boundaries, or success criteria are missing.\n","","imported","https:\u002F\u002Fgithub.com\u002Fsickn33\u002Fantigravity-awesome-skills","user_system_seed","SkillOPIC",true,197,112,"2026-05-16 13:04:12",{"id":8,"name":21,"slug":22,"icon":23,"description":24,"sort":25,"createdAt":26},"效率工具","productivity","mdi-lightning-bolt-outline","文档处理、数据分析、自动化工作流",4,"2026-05-16 12:53:40",{"id":7,"name":28,"slug":29,"icon":30,"description":31,"moduleId":8,"sort":32,"skillCount":33,"createdAt":26},"自动化","automation","mdi-robot-outline","工作流自动化、批处理",3,101,[35],{"id":36,"skillId":4,"version":37,"fileName":38,"fileSize":39,"filePath":40,"fileHash":41,"manifest":42,"createdAt":19},"6766a257-b369-4c69-bb46-44b500040af3","1.0.0","asana-automation.zip",2490,"uploads\u002Fskills\u002Fdd9fabef-a9c5-4155-976a-f09d46caba86\u002Fasana-automation.zip","0523634fd461c9bc93e79bc77154e1bab786a0cd4def8717aad941da0de83107","[{\"path\":\"SKILL.md\",\"isDirectory\":false,\"size\":6467}]",{"code":44,"message":45,"data":46},200,"success",{"items":47,"stats":48,"page":51},[],{"averageRating":49,"totalRatings":49,"ratingCounts":50},0,[49,49,49,49,49],{"limit":52,"offset":49,"hasMore":53,"nextOffset":52,"ratedOnly":16},15,false]