skills / Productivity / Weekly
week-prep
Generate a briefing with calendar, tasks, and attention flags. Use for "week prep", "briefing", or "what's on this week".
Week Prep
Generate a briefing for the current week with calendar overview, carry-forward items, due tasks, and projects needing attention.
Related Skills
/monday: Combined Monday flow (creates folder + briefing in one pass). Recommended for Mondays./week-prep: This skill. Generates briefing only (read-only, can run any day).
This skill assumes the week folder already exists. If it doesn't, suggest running /monday first.
Steps
Determine current week:
- Calculate ISO week number and date range (Mon-Fri)
- Find current week folder:
YYYY/w##-mm-dd/ - If folder doesn't exist, prompt to run
/mondayfirst
Pull calendar events:
- Use
mcp__gworkspace-mcp__calendar_events - Time range: Monday 00:00 to Friday 23:59 of current week
- Include attendees for context
- Group by day for display
- Use
Find carry-forward items:
- Locate previous week's report
- Read "Carry Forward" section
- Also check current week's report for existing carry-forward
Scan for due tasks:
- Grep for Tasks emoji
📅 YYYY-MM-DDin these locations only:projects/folder- Current week folder (
YYYY/w##-mm-dd/) - Previous week folder
- Filter to dates within current week (Mon-Sun)
- Include file path for context
- Grep for Tasks emoji
Check projects needing attention:
- Read
projects/index.md(contains summary of project health) - Only read individual project files if flagged as overdue or blocked
- Flag projects where
next_reviewis:- Past (overdue)
- This week (due soon)
- Also flag projects with
status: blocked
- Read
Semantic context for calendar (qmd):
- For each meeting with a person, use
qmd_searchMCP tool: query "[person name]", limit 3 - This surfaces recent context to prep for meetings
- Focus on people you're meeting this week
- For each meeting with a person, use
Check Slack activity (optional):
- Use
mcp__playground-slack-mcp__get_messages - Action:
my_messages, last 24-48 hours - Flag items that may need response
- Skip if Slack MCP is unavailable
- Use
Identify deep work windows:
- Analyze calendar for gaps
- Find blocks of 2+ hours without meetings
- Suggest these as focus time
Output the briefing:
- Display all sections in scannable format
- Do not write to files (this is a read-only briefing)
qmd Tools
Use these MCP tools for semantic context (preferred over Bash):
qmd_search: query "[person]", limit 5 (find recent notes about a person)qmd_deep_search: query "blocked waiting on open items", limit 5 (find open items)
Bash fallback (if MCP unavailable):
source ~/.zshrc && qmd search "[person]" -n 5 --md
source ~/.zshrc && qmd query "blocked waiting on open items" -n 5 --md
Output Format
## Week Prep: W## (Mon [date] - Fri [date])
### Calendar at a Glance
| Day | Events |
|-----|--------|
| Mon | [Event 1] (10am), [Event 2] (2pm) |
| Tue | [Event] (11am) |
| Wed | No meetings |
| Thu | [Event 1] (9am), [Event 2] (3pm) |
| Fri | [Event] (10am) |
### Carry Forward
From last week's report:
- [ ] Item 1 📅 [date]
- [ ] Item 2
### Tasks Due This Week
- [ ] Task from [[project]] 📅 [date] (in `file.md`)
- [ ] Task 📅 [date]
### Projects Needing Attention
- **[[project-name]]**: Review overdue by [X] days
- **[[project-name]]**: Status is `blocked`
### Deep Work Windows
Based on your calendar, you have focus time available:
- **Mon**: 8-10am (before first meeting)
- **Wed**: All day (no meetings scheduled)
- **Fri**: 1-5pm (afternoon clear)
### Slack Check
- [X] mentions in last 24h
- Notable: [brief summary if anything urgent]
Notes
- This is a read-only skill: it outputs a briefing but does not modify files
- Calendar uses natural language dates for the MCP tool (not ISO timestamps, which fail silently)
- If calendar or Slack MCPs fail, skip those sections gracefully and note the skip
- Keep the briefing scannable: prioritize structure over prose
- Flag anything that looks urgent or overdue
Session Context Hint
If you just ran /monday in this same conversation, reuse the previous week's report content from that execution rather than re-reading it. The carry-forward items were already extracted.