vt-c-weekly-planning¶
Structured weekly planning session using Open Brain task management MCP tools. Syncs Asana tasks, presents grouped dashboard, enables interactive review/reschedule/reprioritize, creates new tasks, captures decisions, and generates Obsidian weekly review summary.
Plugin: core-standards
Category: Other
Command: /vt-c-weekly-planning
/vt-c-weekly-planning — Weekly Planning Session¶
Structured weekly planning ritual powered by Open Brain task management.
Syncs Asana, reviews tasks by status group, enables bulk rescheduling, captures decisions to persistent memory, and writes an Obsidian weekly review.
When to Use¶
- Weekly planning session (Monday morning or Friday afternoon)
- Ad-hoc task review for a specific project
- When you need a cross-project task overview
Prerequisites¶
- Open Brain MCP server connected (provides
sync_asana_tasks,list_tasks,update_task,complete_asana_task,planning_capture,capture_thought) - Asana PAT configured as Supabase secret (for bidirectional sync)
Invocation¶
/vt-c-weekly-planning # Cross-project review (all projects)
/vt-c-weekly-planning VisiMatch # Single project
/vt-c-weekly-planning --assignee Rolf # Filter by person
Execution¶
Step 0: Check MCP Availability¶
Check if the Open Brain MCP tools are available by attempting to call list_tasks with a minimal query.
If the tool is not available:
Open Brain MCP not connected — this skill requires the Open Brain task management tools.
To connect:
1. Ensure the Open Brain MCP server is running
2. Check your MCP configuration in settings.json
3. Restart Claude Code to refresh MCP connections
Step 1: Sync Asana Tasks¶
Call sync_asana_tasks to pull fresh data from the VisiTrans Asana workspace.
Display sync result:
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
Weekly Planning Session — [date]
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
Asana sync: [N] tasks synced ([M] new, [K] updated)
If sync fails (network error, auth issue): warn but continue with existing data.
Step 2: Task Dashboard¶
Call list_tasks with filters based on invocation arguments:
- If project specified: filter by project name
- If --assignee specified: filter by assignee
- Default: all tasks for all projects
Parse the returned tasks and group by status:
OVERDUE ([N] tasks)
─────────────────────────────────────────────────────────────────
1. [project] task title due: YYYY-MM-DD priority: high
2. [project] task title due: YYYY-MM-DD priority: medium
...
IN PROGRESS ([N] tasks)
─────────────────────────────────────────────────────────────────
3. [project] task title due: YYYY-MM-DD priority: high
...
DUE THIS WEEK ([N] tasks)
─────────────────────────────────────────────────────────────────
4. [project] task title due: YYYY-MM-DD priority: medium
...
UPCOMING 2 WEEKS ([N] tasks)
─────────────────────────────────────────────────────────────────
5. [project] task title due: YYYY-MM-DD priority: low
...
BACKLOG ([N] tasks — no due date)
─────────────────────────────────────────────────────────────────
6. [project] task title priority: low
...
Grouping logic:
- OVERDUE: due_date < today AND status != completed
- IN PROGRESS: status == in_progress
- DUE THIS WEEK: today <= due_date <= end_of_week
- UPCOMING 2 WEEKS: end_of_week < due_date <= today + 14 days
- BACKLOG: due_date is null OR due_date > today + 14 days
If a group has zero tasks, omit it from the display.
Step 3: Interactive Review¶
Process each group in order (OVERDUE first — needs immediate decisions).
For each group, use AskUserQuestion to review tasks. Present tasks in batches of up to 5:
For each task, offer actions:
- done — mark completed (calls complete_asana_task)
- keep — no change
- reschedule — provide new date (calls update_task)
- reprioritize — select new priority (calls update_task)
- remove — cancel task (calls update_task with status: cancelled)
For OVERDUE tasks, the default prompt should emphasize urgency:
Use AskUserQuestion per task: - Done — mark completed - Reschedule to [suggest next Monday] — move to next week - Reschedule to custom date — user provides date - Remove — cancel
For other groups, batch review is acceptable:
Use AskUserQuestion: - Review one by one — go through each task - All look good — keep all, move to next group - I need to reschedule some — enter review modeApply all changes immediately via MCP tools. Track all changes for the summary:
Step 4: New Tasks¶
After review is complete:
Use AskUserQuestion: - Add new tasks — enter task creation mode - Skip — no new tasks
If adding tasks:
Ask for each task: - Title (required) - Project (suggest from known projects, or "General") - Assignee (default: current user) - Due date (default: end of this week) - Priority (default: medium)
Collect all tasks, then confirm the batch:
New tasks to create:
1. [project] [title] assignee: [name] due: [date] priority: [level]
2. ...
Create these tasks?
Use AskUserQuestion:
- Create all — calls planning_capture with the batch
- Edit — go back and modify
- Cancel — discard
Step 5: Decisions and Notes¶
Use AskUserQuestion: - Capture planning decisions — enter free-text notes - Skip — no decisions to record
If capturing:
Ask for planning decisions or notes. Accept free-text input.
For each decision, call capture_thought with format:
If multiple decisions, capture each as a separate thought.
Step 6: Summary¶
Generate a weekly review summary.
6a: Compute summary stats:
tasks_reviewed = len(all tasks shown in dashboard)
tasks_completed = len(changes.completed)
tasks_rescheduled = len(changes.rescheduled)
tasks_created = len(new tasks from Step 4)
decisions_captured = len(decisions from Step 5)
6b: Generate summary markdown:
# Weekly Review — [YYYY-WNN] [Project or "Cross-Project"]
**Date**: YYYY-MM-DD
**Scope**: [project name or "All projects"]
## Task Review
| Metric | Count |
|--------|-------|
| Tasks reviewed | [N] |
| Completed | [N] |
| Rescheduled | [N] |
| Created | [N] |
| Removed | [N] |
### Completed
- [task title] ([project])
- ...
### Rescheduled
- [task title] → [new date] ([project])
- ...
### New Tasks
- [task title] — [assignee], due [date] ([project])
- ...
## Decisions
- [decision 1]
- [decision 2]
## Next Week Priorities
[Top 3-5 tasks due next week, derived from dashboard]
6c: Write to Obsidian:
OBSIDIAN_VAULT="$HOME/Documents/Obsidian Vault"
REVIEW_DIR="$OBSIDIAN_VAULT/Weekly Reviews"
mkdir -p "$REVIEW_DIR"
Write the summary to $REVIEW_DIR/YYYY-WNN-[project-slug].md.
If Obsidian vault not found at the expected path, write to current directory instead and note:
Obsidian vault not found at ~/Documents/Obsidian Vault/
Summary written to ./weekly-review-YYYY-WNN.md instead.
6d: Store as Open Brain thought:
Call capture_thought with a condensed version:
Weekly planning [date]: Reviewed [N] tasks. Completed [N], rescheduled [N], created [N]. Decisions: [list]. Top priorities next week: [list].
6e: Display completion:
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
Weekly Planning Complete
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
Tasks: [N] reviewed | [N] completed | [N] rescheduled | [N] created
Decisions: [N] captured
Summary: [path to weekly review file]
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
Edge Cases¶
| ID | Scenario | Handling |
|---|---|---|
| EC-1 | Open Brain MCP not connected | Exit with clear message (Step 0) |
| EC-2 | Asana sync fails (network/auth) | Warn, continue with existing data |
| EC-3 | No tasks found for filters | Display "No tasks found for [filter]. Check project name or remove filters." |
| EC-4 | Task has no due date | Place in BACKLOG group |
| EC-5 | Obsidian vault path doesn't exist | Write to current directory with note |
| EC-6 | User cancels mid-review | Save progress so far, generate partial summary |
| EC-7 | Very large task list (100+) | Show top 10 per group, offer "Show all" option |
Integration Points¶
| Skill | Relationship |
|---|---|
/vt-c-0-start |
Weekly planning is the task-level drill-down that 0-start doesn't provide |
/vt-c-project-updates |
Processes past meetings; weekly planning drives future planning |
/vt-c-activate |
Tasks created in planning map to spec implementation work |
/vt-c-session-journal |
Decision capture follows the same structured format |
/vt-v-sprint |
IMS-specific sprint; weekly planning is project-agnostic |