Scan your Asana tasks for overdue and stale items across all customers. Use when the user wants to check their backlog, asks 'what am I behind on', 'what's overdue', 'nag me', or wants a task hygiene check.
Your personal task hygiene scanner. Finds overdue and stale tasks across all your customer Asana projects. "You have 4 overdue items across 3 customers." This watches YOUR tasks, not the customer's silence (that's /ghosted).
ASANA_TOKEN in ~/.fe-skills/.env (run /asana-setup if not configured)templates/customers.yaml with action_tracker_id set/nag (no args): scan all customers in templates/customers.yaml where action_tracker_id is not PLACEHOLDER/nag GResearch: scan only that customer (fuzzy-match against customers.yaml names)For each customer in scope, fetch tasks:
uv run --project .claude/skills/asana python .claude/skills/asana/scripts/query.py tasks \
--project-gid <action_tracker_id> --limit 100 --pretty
Also scan the SE Team project for internal/cross-cutting work:
uv run --project .claude/skills/asana python .claude/skills/asana/scripts/query.py tasks \
--project-gid 1213787150415828 --limit 100 --pretty
Only consider tasks where completed = false.
Apply staleness rules from .claude/rules/asana.md:
due_on is in the past and task is not completed. Red flag.modified_at is older than 7 days. Amber flag.Note: a task can be both overdue AND stale. In that case, classify it as overdue (the more urgent signal).
Sort results in this priority order:
Within each group, sort by days overdue/stale (worst first).
Nag Report -- [date]
OVERDUE (4 items):
[P1] Chase SDK fix status (WB-1234) -- GResearch
Due: 2026-03-15 (9 days overdue) | Section: In Progress
[P2] Prepare QBR deck -- GResearch
Due: 2026-03-20 (4 days overdue) | Section: To Do
[P1] Update deployment docs -- SE Team
Due: 2026-03-18 (6 days overdue) | Section: In Progress
[P3] Follow up on licensing question -- Acme Corp
Due: 2026-03-22 (2 days overdue) | Section: To Do
STALE (2 items, 7+ days no update):
[P2] Review customer's architecture diagram -- GResearch
Last updated: 2026-03-10 (14 days ago) | Section: In Progress
[P3] Draft migration guide -- SE Team
Last updated: 2026-03-12 (12 days ago) | Section: To Do
Summary: 4 overdue + 2 stale across 3 projects
Suggested: Address overdue P0/P1 items first
If nothing is overdue or stale: "Clean slate! No overdue or stale tasks. You're on top of things."
Priority is read from the task's custom fields. If the Priority custom field is configured, use it directly. Otherwise, check for [P0]-[P3] prefix in the task name as a fallback.
Tasks without any priority signal are treated as P3 (lowest urgency) for sorting purposes.
asana.md rules (Waiting/Scheduled sections exempt).| Problem | Fix |
|---|---|
| No tasks found | Check action_tracker_id in templates/customers.yaml is not PLACEHOLDER |
| Tasks without due dates | These can't be overdue, only stale. Consider adding due dates. |
| False stale flags | Task may have been updated in Asana UI but not via the skill. Check modified_at. |
/ghosted -- complementary: /nag watches your tasks, /ghosted watches customer silence/asana -- base skill for task queries/raid -- overdue items may indicate a Risk worth tracking