Weekly Plan
Generates the weekly plan draft. Run once at start of week (Sunday or Monday). Never rerun mid-week. Mid-week changes happen in ClickUp by moving start_dates. If something big shifts, capture it as a devlog entry.
Core Principle
Read the score, surface decisions, get out of the way.
The roadmap (kairos/roadmaps/) is the top-level score. ClickUp has the dated tickets. The weekly plan doesn't restate either -- it surfaces only what needs a decision, flags risks, and confirms the week's shape.
Three-system model:
- Vault = the score + narrative (kairos/roadmaps/, weekly plans, daily notes)
- ClickUp = task execution (source of truth for tickets, day-level assignment)
- Apple Reminders = personal life (routines, errands, personal admin)
Keep it short. The plan is the conductor's notes, not a printout of the sheet music.
Fully autonomous. No questions, no interaction. Write the draft and tell the user it's ready.
Pre-Flight (all agent-gathered, no user input)
- Read the score --
kairos/roadmaps/ (domains, milestones, objectives)
- Read project records --
projects/*.md (status, which roadmap domain each belongs to)
- Read recent devlog --
kairos/devlog/
- Last week's plan + summary
- Trailing daily notes (5-7 days) for load calculation
- ClickUp tickets dated for the week (via
~/workspace/primary-pm/_tools/clickup-today.sh for Sun-Sat, matching the calendar window)
- Personal ClickUp list (read list ID from environment or config) for life project tickets -- check for due/overdue items (these become the frog). Only flag undated tickets in decisions -- tickets with start_dates are already planned.
- Apple Calendar -- run
~/workspace/primary-pm/_tools/calendar-week.sh [YYYY-MM-DD] with any date in the week (Sun-Sat window)
- Cross-reference: map each ClickUp ticket to its project, then to its roadmap domain. This builds the Roadmap Pulse.
Workflow
Pre-flight -- gather everything above silently. No output until the draft is ready.
Write the draft -- create kairos/logs/weekly/YYYY/YYYY-WNN.md with:
- Load calculation (automated)
- Calendar events (from Apple Calendar, automated)
- Flags (from ClickUp + score analysis)
- Open decisions as markdown checkboxes with ClickUp task IDs as clickable links (format:
[86xxxxxx](https://app.clickup.com/t/86xxxxxx))
- Week shape filled in from data (frog found from Personal list, not asked for)
Tell the user -- "Draft ready at kairos/logs/weekly/YYYY/YYYY-WNN.md. Review the file, then run /kairos-weekly-finalize."
That's it. No follow-up, no "say finalize." The user runs /weekly-finalize in a separate session.
Output Format
Write to kairos/logs/weekly/YYYY/YYYY-WNN.md:
---
tags: [weekly, planner]
week: YYYY-WNN
---
# W[NN] -- [theme]
## Roadmap Pulse
| Domain | This Week | Projects | Notes |
|--------|-----------|----------|-------|
| Personal | [tickets/events] | [active projects in domain] | [flags if any] |
| Art | [tickets/events] | | |
| Music | [tickets/events] | | |
| Professional | [tickets/events] | | |
| Travel | [tickets/events] | | |
[Walk each domain from kairos/roadmaps/. For each, show what ClickUp tickets are scheduled this week, which projects are active, and flag domains with zero attention. Episodic domains (Travel, Art) with no activity are normal — only flag if there's an approaching deadline or unbooked commitment.]
## Load
Trailing [N] days: avg intensity X.X, avg pomodoros X.X
-> [recovery/steady/full] -- [one line prescription]
## Calendar
[Events from Apple Calendar (Sun-Sat), grouped by day. Include daily routines.]
## Flags
[Only items that need attention. If nothing, "Clean week."]
## Decisions
- [ ] **[Decision question]** -- context, ClickUp task ID if relevant
- [ ] **[Decision question]** -- context
## Week Shape
- **Frog (Mon):** [found from Personal list -- due/overdue life task, linked to ClickUp]
- **Heaviest day:** [day] -- [why]
- **Lightest day:** [day]
- **Roadmap coverage:** [which domains have tickets this week, which are dark]
- **Theme:** [one sentence]
---
# Weekly Summary
<!-- Generated by /weekly-summary at end of week -->
Flag Rules
- Overdue -- only flag if due_date has passed. Due dates are for hard external deadlines only. Start_date in the past = "in progress," not overdue.
- In-progress carry-overs -- HIGH tickets started in a prior week still open. In flight, not overdue.
- Overstacked days (too many HIGH tickets + calendar events on one day)
- Dark domains -- any roadmap domain getting zero ClickUp attention this week? Only flag if it has active projects with upcoming deadlines.
- Approaching deadlines (within 3 weeks)
- Active projects with no dated tickets -- needs a task or intentional pause?
Notes
- Run once per week. Never rerun mid-week.
- Mon-Fri working week. Calendar and ClickUp both read Sun-Sat for the full week view. Daily notes are Mon-Fri only.
- ClickUp Personal list (configure list ID in environment or config) covers yoga, music, art, connections, travel
- Don't list every ticket by day -- ClickUp already does that
- See
reference.md for load thresholds, status questions, and evaluation criteria
1---2name: kairos-weekly-plan3description: Draft the start-of-week plan — project triage, load calculation, and priority setting. Use when beginning a new work week.4---56# Weekly Plan78Generates the weekly plan draft. Run once at start of week (Sunday or Monday). **Never rerun mid-week.** Mid-week changes happen in ClickUp by moving start_dates. If something big shifts, capture it as a devlog entry.910## Core Principle1112**Read the score, surface decisions, get out of the way.**1314The roadmap (`kairos/roadmaps/`) is the top-level score. ClickUp has the dated tickets. The weekly plan doesn't restate either -- it surfaces only what needs a decision, flags risks, and confirms the week's shape.1516**Three-system model:**17- **Vault** = the score + narrative (kairos/roadmaps/, weekly plans, daily notes)18- **ClickUp** = task execution (source of truth for tickets, day-level assignment)19- **Apple Reminders** = personal life (routines, errands, personal admin)2021**Keep it short.** The plan is the conductor's notes, not a printout of the sheet music.2223**Fully autonomous.** No questions, no interaction. Write the draft and tell the user it's ready.2425## Pre-Flight (all agent-gathered, no user input)26271. Read the score -- `kairos/roadmaps/` (domains, milestones, objectives)282. Read project records -- `projects/*.md` (status, which roadmap domain each belongs to)293. Read recent devlog -- `kairos/devlog/`304. Last week's plan + summary315. Trailing daily notes (5-7 days) for load calculation326. ClickUp tickets dated for the week (via `~/workspace/primary-pm/_tools/clickup-today.sh` for Sun-Sat, matching the calendar window)337. Personal ClickUp list (read list ID from environment or config) for life project tickets -- check for due/overdue items (these become the frog). Only flag **undated** tickets in decisions -- tickets with start_dates are already planned.348. Apple Calendar -- run `~/workspace/primary-pm/_tools/calendar-week.sh [YYYY-MM-DD]` with any date in the week (Sun-Sat window)359. Cross-reference: map each ClickUp ticket to its project, then to its roadmap domain. This builds the Roadmap Pulse.3637## Workflow38391. **Pre-flight** -- gather everything above silently. No output until the draft is ready.40412. **Write the draft** -- create `kairos/logs/weekly/YYYY/YYYY-WNN.md` with:42 - Load calculation (automated)43 - Calendar events (from Apple Calendar, automated)44 - Flags (from ClickUp + score analysis)45 - Open decisions as **markdown checkboxes** with ClickUp task IDs as clickable links (format: `[86xxxxxx](https://app.clickup.com/t/86xxxxxx)`)46 - Week shape filled in from data (frog found from Personal list, not asked for)47483. **Tell the user** -- "Draft ready at `kairos/logs/weekly/YYYY/YYYY-WNN.md`. Review the file, then run `/kairos-weekly-finalize`."4950That's it. No follow-up, no "say finalize." The user runs `/weekly-finalize` in a separate session.5152## Output Format5354Write to `kairos/logs/weekly/YYYY/YYYY-WNN.md`:5556```markdown57---58tags: [weekly, planner]59week: YYYY-WNN60---6162# W[NN] -- [theme]6364## Roadmap Pulse6566| Domain | This Week | Projects | Notes |67|--------|-----------|----------|-------|68| Personal | [tickets/events] | [active projects in domain] | [flags if any] |69| Art | [tickets/events] | | |70| Music | [tickets/events] | | |71| Professional | [tickets/events] | | |72| Travel | [tickets/events] | | |7374[Walk each domain from kairos/roadmaps/. For each, show what ClickUp tickets are scheduled this week, which projects are active, and flag domains with zero attention. Episodic domains (Travel, Art) with no activity are normal — only flag if there's an approaching deadline or unbooked commitment.]7576## Load7778Trailing [N] days: avg intensity X.X, avg pomodoros X.X79-> [recovery/steady/full] -- [one line prescription]8081## Calendar8283[Events from Apple Calendar (Sun-Sat), grouped by day. Include daily routines.]8485## Flags8687[Only items that need attention. If nothing, "Clean week."]8889## Decisions9091- [ ] **[Decision question]** -- context, ClickUp task ID if relevant92- [ ] **[Decision question]** -- context9394## Week Shape9596- **Frog (Mon):** [found from Personal list -- due/overdue life task, linked to ClickUp]97- **Heaviest day:** [day] -- [why]98- **Lightest day:** [day]99- **Roadmap coverage:** [which domains have tickets this week, which are dark]100- **Theme:** [one sentence]101102---103104# Weekly Summary105106<!-- Generated by /weekly-summary at end of week -->107```108109## Flag Rules110111- **Overdue** -- only flag if due_date has passed. Due dates are for hard external deadlines only. Start_date in the past = "in progress," not overdue.112- **In-progress carry-overs** -- HIGH tickets started in a prior week still open. In flight, not overdue.113- **Overstacked days** (too many HIGH tickets + calendar events on one day)114- **Dark domains** -- any roadmap domain getting zero ClickUp attention this week? Only flag if it has active projects with upcoming deadlines.115- **Approaching deadlines** (within 3 weeks)116- **Active projects with no dated tickets** -- needs a task or intentional pause?117118## Notes119120- Run once per week. Never rerun mid-week.121- Mon-Fri working week. Calendar and ClickUp both read Sun-Sat for the full week view. Daily notes are Mon-Fri only.122- ClickUp Personal list (configure list ID in environment or config) covers yoga, music, art, connections, travel123- Don't list every ticket by day -- ClickUp already does that124- See `reference.md` for load thresholds, status questions, and evaluation criteria