Asana
Use this skill to run repeatable Asana actions through scripts instead of embedding one-off inline Python snippets.
Execution Constraint
- Use only predefined actions via
scripts/execute_action.py. - Do not run ad hoc Asana SDK commands (
python3 -c, heredocs, or direct one-off scripts) for skill operations. - All actions must be executed outside of the sandbox (otherwise the API calls will fail)
Workflow
- Run
scripts/check_prereqs.shbefore any Asana operation. - Run all actions through
scripts/execute_action.py. - Treat read actions as default.
- Require explicit user approval before using
--allow-writefor write actions.
SDK Compatibility
- Use Asana Python SDK v5 (
pip3 install asana). - Follow the script implementation pattern:
asana.ApiClient+asana.<Resource>Api. - Do not use legacy
asana.Clientexamples in this skill.
Action Execution
Run scripts from the skill folder:
cd /Users/michael/.codex/skills/asana
Show all available actions and modes:
scripts/execute_action.py --list-actions
Read operations:
scripts/execute_action.py current_user
scripts/execute_action.py list_workspaces
scripts/execute_action.py list_projects --workspace-gid <workspace_gid>
scripts/execute_action.py list_tasks --project-gid <project_gid>
scripts/execute_action.py list_tasks --project-gid <project_gid> --incomplete-only
scripts/execute_action.py get_task --task-gid <task_gid>
scripts/execute_action.py search_tasks --workspace-gid <workspace_gid> --text "<query>"
scripts/execute_action.py my_tasks --workspace-gid <workspace_gid>
Write operations (only after explicit approval):
scripts/execute_action.py --allow-write create_task --project-gid <project_gid> --name "<task title>" --notes "<optional notes>"
scripts/execute_action.py --allow-write update_task --task-gid <task_gid> --completed true
scripts/execute_action.py --allow-write update_task --task-gid <task_gid> --name "<new title>" --due-on 2026-03-10
scripts/execute_action.py --allow-write add_comment --task-gid <task_gid> --text "<comment>"
Safety Rules
- Keep default mode read-only.
- Do not pass
--allow-writewithout explicit user confirmation. - Do not print or expose
ASANA_ACCESS_TOKEN. - Use minimal output fields and summarize results in clean tables.
References
- Setup and privacy rules:
references/setup-and-privacy.md - Operation mapping and examples:
references/operations.md