Claude-skill-registry ctx-planning
Generate daily and weekly planning reports from backlog and carryover state, applying WIP limits and priority rules from BaseContext.yaml, with automatic git commit/push.
git clone https://github.com/majiayu000/claude-skill-registry
T=$(mktemp -d) && git clone --depth=1 https://github.com/majiayu000/claude-skill-registry "$T" && mkdir -p ~/.claude/skills && cp -r "$T/skills/data/ctx-planning" ~/.claude/skills/majiayu000-claude-skill-registry-ctx-planning && rm -rf "$T"
skills/data/ctx-planning/SKILL.mdctx-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
first)/ctx.scan - User is querying task status without planning
How It Works
Daily Planning Workflow (/ctx.daily
)
/ctx.dailyGenerate a focused daily plan following these steps:
-
Load configuration from
:BaseContext.yaml
: Maximum tasks per day (default: 5)wip_limits.daily_tasks_max
: Maximum projects per week (default: 3)wip_limits.weekly_projects_max
: Priority sequence (default: P1 → P2 → P3)prioritization.order
: Tie-breaking rules (e.g.,prioritization.tie_breakers
,unblocker_first
)short_first
: Current monthly objectives for alignmentgoals.month
-
Load state files:
: All tasks from projectsstate/backlog.yaml
: Tasks carried over from previous day (if exists)state/carryover.yaml
-
Select tasks respecting constraints:
- Carryover tasks take precedence
- Fill remaining slots from backlog by priority
- Limit to
total tasksdaily_tasks_max - Cover at most
distinct projectsweekly_projects_max - Apply tie-breakers when multiple tasks have same priority:
: Prioritize tasks that unblock othersunblocker_first
: Favor smaller, quick-win tasksshort_first
-
Generate report at
usingreports/daily/YYYY-MM-DD.md
:templates/daily.md# 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.shbash scripts/commit_and_push.sh "chore(context): daily plan YYYY-MM-DD"
End-of-Day Workflow (/ctx.eod
)
/ctx.eodClose 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.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
)
/ctx.weeklyGenerate 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
usingreports/weekly/YYYY-WW.md
:templates/weekly.md# 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
)
/ctx.monthlyGenerate 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
(manual editing expected)reports/monthly/YYYY-MM.md
Configuration Update Workflow (/ctx.update
)
/ctx.updateModify planning parameters without regenerating plans:
-
Edit
for requested changes:BaseContext.yaml- 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:
: Tasks that unblock other work (look for keywords like "unblock", "prerequisite")unblocker_first
: Smaller tasks that can be completed quickly (estimate based on title/scope)short_first
: Rotate focus across projects to maintain progressleast_recent_project
: Tasks created/opened earliest (when timestamp available)oldest_first
WIP Limits
Enforce limits to maintain focus:
(default: 5): Prevents overcommitmentdaily_tasks_max
(default: 3): Maintains project focus, reduces context switchingweekly_projects_max
Template Variables
Templates support Handlebars-style placeholders:
Daily Template Variables
: Date in YYYY-MM-DD format{{date}}
: Day of week{{weekday}}
: Max tasks from config{{daily_tasks_max}}
: Array of carryover task objects{{carryover}}
: Array of selected task objects{{focus_tasks}}
Weekly Template Variables
: ISO week number (YYYY-WW){{iso_week}}
,{{date_start}}
: Week start/end dates{{date_end}}
: Map of project → achievement summary{{achieved}}
: Array of {goal, progress} objects{{month_goals}}
: Array of next week's priority items{{priorities}}
Constraints
- Local files only: No network access except git push
- Single repository: Only modifies files within
repocontext/ - Idempotent operations: Running multiple times produces consistent results
- Template-driven: Output format controlled by
templates/*.md
Related Skills
: Generatesctx-collector
consumed by this skillstate/backlog.yaml- Use
to configure behavior without modifying skillBaseContext.yaml
Troubleshooting
If planning produces unexpected results:
- Verify
exists and is current (runstate/backlog.yaml
)/ctx.scan - Check
for correct WIP limits and priority orderBaseContext.yaml - Ensure
files are valid and have required placeholderstemplates/*.md - Verify git repository is configured for push access
- Check
format matches expected structurestate/carryover.yaml