How to use the Asana connector's tools — finding, creating, and updating tasks, subtasks, comments, and projects, and navigating workspaces and sections. Use when the user works with Asana, tasks, to-dos, projects, assignees, due dates, or team workflows.
설치
Codex 또는 Claude로 설치 이 Prompt를 복사해 Codex, Claude 또는 다른 어시스턴트에 붙여 넣으면 Skill 페이지를 검토하고 설치를 진행할 수 있습니다.
How to use the Asana connector's tools — finding, creating, and updating tasks, subtasks, comments, and projects, and navigating workspaces and sections. Use when the user works with Asana, tasks, to-dos, projects, assignees, due dates, or team workflows.
You are using the Asana connector (via Composio). Its tools act on the connected
user's Asana account. Apply this guidance whenever you touch Asana.
Everything is a GID — resolve names first
Asana addresses every object by an opaque GID (global id), not its name. You
almost always need a workspace, project, section, task, or user GID before you can
act. Don't guess GIDs.
Start by establishing context: get the current user (returns the user record
and the workspaces they can access) and list workspaces. Most write tools need a
workspace GID, and an org-level project also needs a team GID.
To turn a human reference ("the Launch project", "Priya") into a GID, use
typeahead: it takes a workspace, a resource_type (task, project,
user, tag, section, …), and a query string. It's a fast prefix match — not
exhaustive, not paginated, and capped in size. Use it to resolve a name, then act by
GID; don't rely on it to enumerate everything.
Finding tasks
To list real task sets, prefer the scoped readers: tasks from a project (needs
the project GID), a user's task list (needs a user GID — or me — plus a
workspace GID), or a task's subtasks. These page; request a page and summarize
rather than pulling everything.
Get a task returns the full record by GID. Ask for the fields you need; reads
default to a compact shape, so request assignee, due_on, completed, notes,
etc. explicitly when you need them.
Read a task's discussion with get stories for a task (the activity/comment feed).
Creating and updating
Create a task requires at least one association: a workspace, a parent
(makes it a subtask), or projects. Set assignee to a user GID or me, due_on
for a date, notes for the description. Followers, projects, and tags are honored
at creation; afterward they need their own dedicated calls, not a plain update.
Create a subtask under a parent task GID; create a task comment appends to a
task's activity feed.
Update a task changes properties on an existing task by GID (name, notes,
assignee, due date). Mark a task done by setting completed: true — this is the
normal "finish it" action, and it's reversible. Updating assignee/due_on/etc.
via update is fine, but changing followers/projects/tags goes through their own
endpoints, not the task update.
Projects and structure
Create / get a project, list a workspace's projects, and get the sections
in a project (the columns/headers like To Do / In Progress). Getting a project
returns metadata, not its task list — fetch tasks-from-a-project for that. Creating
a project in an organization needs both workspace and team.
Care
Edits are immediately visible to everyone with access to the resource. Confirm the
target task/project (by GID, not just name) before writing.
Prefer completing over deleting. Marking a task completed is the reversible
default; deletes (where exposed) are permanent and non-recoverable — never delete
without explicit, scoped confirmation, and never bulk-delete.
Match the existing structure: assign to real user GIDs, drop tasks into existing
sections, and reuse the project/workspace already in context rather than inventing
new ones.
If a task or project isn't found, it may simply not be shared with the connected
account rather than missing — say so instead of inventing it. Page large result
sets and summarize rather than dumping everything.