ctx-planning
Purpose
Generate structured daily and weekly planning reports based on prioritized backlog and carryover tasks. This skill applies work-in-progress (WIP) limits, priority ordering, and tie-breaker rules from BaseContext.yaml to create focused, actionable plans stored as Markdown reports.
When to Use This Skill
Use this skill when:
- •User requests daily plan generation (e.g.,
/ctx.daily) - •Closing out the day and updating progress (e.g.,
/ctx.eod) - •Generating weekly review summaries (e.g.,
/ctx.weekly) - •Monthly retrospective planning (e.g.,
/ctx.monthly) - •Updating planning configuration (e.g.,
/ctx.update)
Do not use this skill when:
- •User wants to modify individual tasks (use task files directly)
- •Backlog hasn't been scanned yet (run
/ctx.scanfirst) - •User is querying task status without planning
How It Works
Daily Planning Workflow (/ctx.daily)
Generate a focused daily plan following these steps:
- •
Load configuration from
BaseContext.yaml:- •
wip_limits.daily_tasks_max: Maximum tasks per day (default: 5) - •
wip_limits.weekly_projects_max: Maximum projects per week (default: 3) - •
prioritization.order: Priority sequence (default: P1 → P2 → P3) - •
prioritization.tie_breakers: Tie-breaking rules (e.g.,unblocker_first,short_first) - •
goals.month: Current monthly objectives for alignment
- •
- •
Load state files:
- •
state/backlog.yaml: All tasks from projects - •
state/carryover.yaml: Tasks carried over from previous day (if exists)
- •
- •
Select tasks respecting constraints:
- •Carryover tasks take precedence
- •Fill remaining slots from backlog by priority
- •Limit to
daily_tasks_maxtotal tasks - •Cover at most
weekly_projects_maxdistinct projects - •Apply tie-breakers when multiple tasks have same priority:
- •
unblocker_first: Prioritize tasks that unblock others - •
short_first: Favor smaller, quick-win tasks
- •
- •
Generate report at
reports/daily/YYYY-MM-DD.mdusingtemplates/daily.md:markdown# Daily — 2025-10-22 (Tuesday) ## Carryover from Yesterday - [ ] Task from yesterday (project/repo • T101) ## Today's Focus (≤5 tasks) - [ ] High priority task (project/repo • T250 • P1) - [ ] Second task (project/repo • T251 • P1) ## Blockers/Risks - ... ## EoD — Summary **Completed:** - ... **Decisions/Insights:** - ... **Carry to Tomorrow:** - ...
- •
Commit and push changes using
scripts/commit_and_push.sh:bashbash scripts/commit_and_push.sh "chore(context): daily plan YYYY-MM-DD"
End-of-Day Workflow (/ctx.eod)
Close out the day and prepare for tomorrow:
- •
Open current daily report at
reports/daily/YYYY-MM-DD.md - •
Update EoD section with:
- •Completed: Check off done tasks
- •Decisions/Insights: Document key learnings or decisions
- •Carry to Tomorrow: List incomplete tasks for carryover
- •
Generate carryover file at
state/carryover.yaml:yamldate: "YYYY-MM-DD" items: - uid: "org/repo#T101" title: "Incomplete task" project: "org/repo" priority: "P1" reason: "blocked_by_external" # or "needs_more_time", "deprioritized" - •
Commit and push updated daily report and carryover state
Weekly Review Workflow (/ctx.weekly)
Generate weekly summary and align with monthly goals:
- •
Collect daily reports from last 7 days (
reports/daily/) - •
Extract achievements per project:
- •Count completed tasks by project
- •Identify completed milestones or features
- •Calculate completion rate vs. planned
- •
Align with monthly goals from
BaseContext.yaml:- •For each goal, assess progress based on completed tasks
- •Identify tasks contributing to each goal
- •Flag goals at risk or ahead of schedule
- •
Generate weekly report at
reports/weekly/YYYY-WW.mdusingtemplates/weekly.md:markdown# Weekly — 2025-W43 (Oct 22–28) ## Achievements by Project - org/repo-1: 8 tasks completed, feature X shipped - org/repo-2: 3 tasks completed, blocked on external dependency ## Monthly Goals Progress - Goal 1: 60% complete (on track) - Goal 2: 30% complete (at risk, needs acceleration) ## Top 5 Priorities Next Week 1. Unblock dependency for repo-2 2. Complete feature Y for repo-1 ## Risks and Mitigation - Risk: External dependency delayed Action: Implement workaround by Tuesday
- •
Commit and push weekly report
Monthly Review Workflow (/ctx.monthly)
Generate monthly retrospective (draft format):
- •Aggregate weekly reports for the month
- •Assess monthly goals completion status
- •Identify patterns: productivity trends, common blockers, wins
- •Draft next month's goals based on learnings
- •Create
reports/monthly/YYYY-MM.md(manual editing expected)
Configuration Update Workflow (/ctx.update)
Modify planning parameters without regenerating plans:
- •
Edit
BaseContext.yamlfor requested changes:- •Adjust WIP limits
- •Update monthly goals
- •Modify priority rules or tie-breakers
- •
Validate changes: Ensure YAML syntax is correct
- •
Optionally regenerate current plans if user requests immediate effect
Task Selection Logic
Priority Ordering
Tasks are selected in this order:
- •P1 (High priority): Critical tasks, blockers, urgent items
- •P2 (Medium priority): Normal development tasks
- •P3 (Low priority): Nice-to-have, refactoring, tech debt
Tie-Breaking Rules
When multiple tasks have the same priority, apply tie-breakers in order:
- •
unblocker_first: Tasks that unblock other work (look for keywords like "unblock", "prerequisite") - •
short_first: Smaller tasks that can be completed quickly (estimate based on title/scope) - •
least_recent_project: Rotate focus across projects to maintain progress - •
oldest_first: Tasks created/opened earliest (when timestamp available)
WIP Limits
Enforce limits to maintain focus:
- •
daily_tasks_max(default: 5): Prevents overcommitment - •
weekly_projects_max(default: 3): Maintains project focus, reduces context switching
Template Variables
Templates support Handlebars-style placeholders:
Daily Template Variables
- •
{{date}}: Date in YYYY-MM-DD format - •
{{weekday}}: Day of week - •
{{daily_tasks_max}}: Max tasks from config - •
{{carryover}}: Array of carryover task objects - •
{{focus_tasks}}: Array of selected task objects
Weekly Template Variables
- •
{{iso_week}}: ISO week number (YYYY-WW) - •
{{date_start}},{{date_end}}: Week start/end dates - •
{{achieved}}: Map of project → achievement summary - •
{{month_goals}}: Array of {goal, progress} objects - •
{{priorities}}: Array of next week's priority items
Constraints
- •Local files only: No network access except git push
- •Single repository: Only modifies files within
context/repo - •Idempotent operations: Running multiple times produces consistent results
- •Template-driven: Output format controlled by
templates/*.md
Related Skills
- •
ctx-collector: Generatesstate/backlog.yamlconsumed by this skill - •Use
BaseContext.yamlto configure behavior without modifying skill
Troubleshooting
If planning produces unexpected results:
- •Verify
state/backlog.yamlexists and is current (run/ctx.scan) - •Check
BaseContext.yamlfor correct WIP limits and priority order - •Ensure
templates/*.mdfiles are valid and have required placeholders - •Verify git repository is configured for push access
- •Check
state/carryover.yamlformat matches expected structure