ワンクリックで
asana
Show Asana tasks due in the next 7 days across both workspaces and interactively mark tasks complete.
Codex または Claude でインストール この Prompt をコピーして Codex、Claude、または他のアシスタントに貼り付けると、Skill ページを確認してインストールできます。
メニュー
Show Asana tasks due in the next 7 days across both workspaces and interactively mark tasks complete.
Codex または Claude でインストール この Prompt をコピーして Codex、Claude、または他のアシスタントに貼り付けると、Skill ページを確認してインストールできます。
SOC 職業分類に基づく
Produce today's daily briefing across all Google Calendars, Gmail accounts, Slack workspaces, and Asana. Writes to + Atlas/Daily/YYYY-MM-DD.md and surfaces anything that needs the user's attention today. Safe to re-run — refreshes the `## Morning brief` section in place.
Draft a follow-up email or Slack message for a given person or thread, using the correct account. Never sends.
Scan sent messages across configured Google and Slack accounts to derive a personalized writing-style profile (email vs Slack, by audience size), then update GEMINI.md §6 in place. Run after initial bootstrap or anytime you want to refresh.
Triage + Inbox/ together with fresh items in Gmail and Slack across all accounts. Proposes classification per GEMINI.md §4 and surfaces anything needing a reply.
End-of-day (or any-time) reconciliation — compare today's plan against what actually got done, interactively check off Asana tasks, surface outstanding follow-ups, summarize for review, then update OpenBrain and Asana (mark complete, create tasks, adjust due dates). Safe to re-run — refreshes the `## Evening review` section in place.
Turn rough meeting notes or a transcript into an atomic interaction note, update linked people's last_contact + Threads, and propose follow-up tasks.
| name | asana |
| description | Show Asana tasks due in the next 7 days across both workspaces and interactively mark tasks complete. |
Quick view of upcoming Asana tasks with interactive completion. Pure chat skill — no file writes.
$1 (optional): number of days to look ahead. Defaults to 7.Issue both calls in a single tool-use block so they run in parallel. Both workspaces use asana_get_my_tasks — this returns only tasks assigned to the user (not collaborator/follower tasks, which search_tasks incorrectly includes).
mcp_asana_<work_slug>_asana_get_my_tasks, workspace <asana_work_workspace_gid>):
completed_since: now (returns incomplete tasks only)opt_fields: name,due_on,due_at,projects.name,permalink_urldue_on is non-null AND due_on <= today + $1 days. Sort ascending by due_on.mcp_asana_<personal_slug>_asana_get_my_tasks, workspace <asana_personal_workspace_gid>):
completed_since: now (returns incomplete tasks only)opt_fields: name,due_on,due_at,projects.name,permalink_urldue_on is non-null AND due_on <= today + $1 days. Sort ascending by due_on.Why get_my_tasks over search_tasks: search_tasks with assignee_any: me returns tasks where the user is a collaborator or follower — not just the assignee. This floods the list with downstream pipeline and team-watched tasks that aren't actually theirs. get_my_tasks returns only truly assigned tasks. Free-tier workspaces also require get_my_tasks because search_tasks is paid-plan-only (402 Payment Required otherwise).
Overdue tasks (due_on < today, not completed) fall naturally inside the due_on <= today + $1 days window and will appear in both result sets without a separate query.
Format as a single unified table with Personal on the left and Work on the right. Date group headers are rendered as bold-text rows spanning the table (use the Personal column for the label, leave other cells empty). Using one table guarantees consistent column widths throughout.
Numbering: assign numbers by counting through all Personal tasks first (across all date groups), then all Work tasks (across all date groups). This keeps the numbering contiguous within each workspace.
## Asana — next 7 days
| # | Personal | # | Work |
|----|-----------------------------------------|----|-----------------------------------------|
| | 🔴 **Overdue** | | |
| 1 | Task name — was due Apr 3 | 8 | Task name — was due Apr 5 |
| | 📅 **Today (Apr 7)** | | |
| 2 | Task name (Project) | 9 | Task name (Project) |
| 3 | Task name (Project) | | |
| | 📅 **Tomorrow (Apr 8)** | | |
| 4 | Task name | | |
| | 📅 **Fri Apr 10** | | |
| 5 | Task name | 10 | Task name (Project) |
After displaying the numbered list, ask the user to type the numbers of tasks they want to mark complete. Example prompt:
Type the numbers of tasks to check off (e.g.
1, 3, 8, 11), ornoneto skip.
3-5), or none/skip to exit.For all selected tasks:
asana_update_task on the correct workspace's MCP (asana_work or asana_personal) with completed: true.Completed: <task name> or Failed: <task name> — <error>.asana_get_my_tasks (not search_tasks) to ensure only truly assigned tasks appear. search_tasks with assignee_any: me returns collaborator/follower tasks too, flooding the list with pipeline items that the user isn't responsible for. Free-tier workspaces also require get_my_tasks because search_tasks is paid-plan-only (402 on search_tasks).