원클릭으로
asana-automation
Query an Asana task by ID or title keyword via the Asana API, retrieve its title and description, then analyze and process it.
Codex 또는 Claude로 설치 이 Prompt를 복사해 Codex, Claude 또는 다른 어시스턴트에 붙여 넣으면 Skill 페이지를 검토하고 설치를 진행할 수 있습니다.
메뉴
Query an Asana task by ID or title keyword via the Asana API, retrieve its title and description, then analyze and process it.
Codex 또는 Claude로 설치 이 Prompt를 복사해 Codex, Claude 또는 다른 어시스턴트에 붙여 넣으면 Skill 페이지를 검토하고 설치를 진행할 수 있습니다.
SOC 직업 분류 기준
| name | asana-automation |
| description | Query an Asana task by ID or title keyword via the Asana API, retrieve its title and description, then analyze and process it. |
Managed in $HOME/my-skills/.env (see .env.example for reference):
ASANA_ACCESS_TOKEN — Asana Personal Access TokenASANA_WORKSPACE_GID — Asana Workspace GID (required when searching by title)ASANA_DONE_SECTION_NAME — Section name to move the task to after completion (default: To Be Test)Load them before making API calls:
source "$HOME/my-skills/.env"
The user runs /asana <ID or keyword>:
$ARGUMENTS is purely numeric, treat it as a Task GID and query directlycurl -sS -H "Authorization: Bearer $ASANA_ACCESS_TOKEN" \
"https://app.asana.com/api/1.0/tasks/$ARGUMENTS?opt_fields=name,notes,assignee.name,due_on,completed,created_by.gid,created_by.name,memberships.project.gid,memberships.project.name,memberships.section.gid,memberships.section.name,custom_fields.name,custom_fields.display_value" \
| jq '{
gid: .data.gid,
name: .data.name,
notes: .data.notes,
assignee: .data.assignee.name,
due_on: .data.due_on,
completed: .data.completed,
created_by: { gid: .data.created_by.gid, name: .data.created_by.name },
memberships: [.data.memberships[] | { project_gid: .project.gid, project_name: .project.name, section_gid: .section.gid, section_name: .section.name }],
custom_fields: [.data.custom_fields[] | select(.display_value != null) | {name: .name, value: .display_value}]
}'
Remember the created_by (reporter) GID and the project_gid from the query — these will be needed when completing the task later.
QUERY=$(echo "$ARGUMENTS" | jq -sRr @uri)
curl -sS -H "Authorization: Bearer $ASANA_ACCESS_TOKEN" \
"https://app.asana.com/api/1.0/workspaces/$ASANA_WORKSPACE_GID/tasks/search?text=$QUERY&opt_fields=name,notes,assignee.name,due_on,completed,memberships.project.name&is_subtask=false&sort_by=modified_at&limit=10" \
| jq '.data[] | {gid, name, assignee: .assignee.name, due_on, completed}'
If multiple results are found, list them and let the user choose, then query the full details using the selected GID.
After querying, present the task information in the following format:
## Task: <title>
- **GID**: <gid>
- **Project**: <project name>
- **Assignee**: <assignee>
- **Due**: <due date>
- **Status**: <completion status>
### Description
<notes content>
After presenting the task information:
After implementation is complete and committed, perform the following steps:
List all sections in the task's project and find the one whose name contains $ASANA_DONE_SECTION_NAME (case-insensitive):
curl -sS -H "Authorization: Bearer $ASANA_ACCESS_TOKEN" \
"https://app.asana.com/api/1.0/projects/<PROJECT_GID>/sections?opt_fields=name"
curl -sS -X POST \
-H "Authorization: Bearer $ASANA_ACCESS_TOKEN" \
-H "Content-Type: application/json" \
-d '{"data":{"task":"<TASK_GID>"}}' \
"https://app.asana.com/api/1.0/sections/<TO_BE_TEST_SECTION_GID>/addTask"
curl -sS -X PUT \
-H "Authorization: Bearer $ASANA_ACCESS_TOKEN" \
-H "Content-Type: application/json" \
-d '{"data":{"assignee":"<REPORTER_GID>"}}' \
"https://app.asana.com/api/1.0/tasks/<TASK_GID>"
Remember the Task GID, Project GID, and Reporter GID from the query, and automatically execute the above steps after the commit is complete.
Query and manage WooCommerce orders on flowers.fenny-studio.com. (1) Look up orders by product ID or Chinese keyword — e.g. "哪些訂單買了鬱金香材料包"、"4182 被誰訂了"、"查一下 DIY 材料包的訂單". (2) Look up orders by shipping tracking number (運送編號) — e.g. "P93479717606 是哪張單"、"查物流單 R53049771167". (3) Filter orders by 希望送達時間 (desired delivery date) — e.g. "明天要出哪些貨"、"4/15 要送的訂單"、"本週出貨清單". (4) Reissue ECPay C2C tracking number for expired logistics — e.g. "4372 重打綠界"、"物流單過期了重新產生"、"reissue tracking". (5) Query ECPay logistics status — e.g. "誰到店了"、"查物流狀態"、"列到店待取的訂單"、"已寄出的訂單目前狀況"、"4345 現在物流狀態".
Trigger a Bitbucket Cloud pipeline on the current branch, with interactive pipeline selection and variable support. Polls for completion and reports results.
Generate a slide deck from a topic or context, then convert it into a Google Slides presentation after user confirmation.
Create or update a Bitbucket Cloud pull request with auto-generated title and description from git diff.
Fetch Bitbucket PR review comments, analyze whether code changes are needed, and reply after user confirmation.
Generate a D2 diagram (sequence diagram or flowchart) by tracing an API endpoint or method's execution flow in the current repository. Use when the user wants to visualize code flow.