Install any skill in seconds. Free to start, no credit card required.
Get Started Free →Use when transitioning from retro to weekly plan, prioritizing backlog, choosing outcomes for the week, or when user says "план на неделю", "планирование", "W13 plan", "outcomes", "приоритизация". Runs after weekly-retro skill.
.claude/skills/serejaris-weekly-planning/SKILL.md| Test case | Without → With | Effect | Δ tokens | Δ turns |
|---|---|---|---|---|
| case-04 | ✗→✓ | ▲ Improved | 29% | 0% |
| case-10 | ✗→✓ | ▲ Improved | 64% | 0% |
| case-11 | ✗→✓ | ▲ Improved | 132% | 0% |
| case-12 | ✗→✓ | ▲ Improved | 39% | 0% |
| case-14 | ✗→✓ | ▲ Improved | 80% | 0% |
Turn retro findings + existing backlog into a prioritized week with clear outcomes, issues in correct repos, and delegation matrix (founder vs agent).
Weekly planning creates a plan. It does not execute the plan.
Allowed during planning:
Not allowed during planning:
If the user asks to "do this now" while planning, finish or pause planning first, then handle that as a separate execution task.
dotdigraph planning { rankdir=TB; node [shape=box]; collect [label="1. Collect all tasks"]; calendar [label="2. Map calendar"]; group [label="3. Group by surface"]; eisenhower [label="4. Eisenhower split"]; outcomes [label="5. Choose outcomes"]; issues [label="6. Create issues\nin correct repos"]; board [label="7. Add to board\nwith W{NN} label"]; page [label="8. Create living\nweekly plan"]; collect -> calendar -> group -> eisenhower -> outcomes -> issues -> board -> page; }
Sources to scan:
retro:W{NN-1})gh search issues --owner $YOUR_OWNER --state openRead known sources before asking the user. Use calendar, existing issues, project boards, and planning files to establish:
Ask only for facts that are not recoverable from sources, one question at a time.
IMPORTANT: Verify dates before writing outcomes. Do not create deadlines in the past. If the deadline is today, include a time boundary such as "by EOD".
Group tasks by where work happens. Use the repos and task routing defined in AGENTS.md / CLAUDE.md config (set up by corp-init).
Example surfaces:
| Surface | Description | |---------|-------------| | Product delivery | Main product/service repos | | Sales/pipeline | CRM, sales tooling | | Content | Blog, videos, social media | | Strategy | Planning, cross-cutting decisions | | Infrastructure | Internal tools, automation |
For each task, classify:
| | Urgent | Not Urgent | |---|--------|-----------| | Important | Founder does TODAY | Founder schedules this week | | Not Important | Agent does async | Parking lot / drop |
Key question per task: "Does this require founder judgment, or can an agent execute it from the issue description?"
Outcomes = results, not tasks. Format: "By Friday, X is true."
Rules:
Example:
Outcome: New feature launched
Check: deployed to production, 0 critical bugs by Friday
Founder: final UX decisions, announcement copy
Agent: implementation, tests, deploy scriptCRITICAL: Issue lives where the work happens. Use the task routing from your CLAUDE.md config.
Issue about backend bug → backend repo
Issue about marketing → marketing repo
Issue about content → content repo
Issue about strategy → main planning repoBefore creating any issue:
Label every issue: W{NN} + optionally retro:W{NN-1} if from retro.
All W{NN} issues → your GitHub Project (from CLAUDE.md config: project_id and owner).
Create or use view "W{NN}" filtered by label.
bash# Add to project (use project_id and owner from your config) gh project item-add $PROJECT_ID --owner $YOUR_OWNER --url $ISSUE_URL # Verify gh search issues --owner $YOUR_OWNER --label "W{NN}" --state open
Resolve the ISO week from the current local date. Never hardcode W34 or copy the previous filename.
bashpython3 skills/weekly-planning/scripts/living_week.py context --workspace . --json python3 skills/weekly-planning/scripts/living_week.py create --workspace .
The generator creates reports/WNN-plan.html. Before presenting it:
data-placeholder="true".data-area.daily:updated, daily:kanban, and hidden daily:day-slice markers. The local daily skill may replace only these marked regions.The HTML page is a mutable view. Issues/task records and WNN-outcomes.md remain sources of truth. Daily updates preserve the full ISO week and mutate only the marked regions.
| Mistake | Fix | |---------|-----| | All issues in one repo | Route to where work happens | | Issue created without verification | Check issues + files + data first | | Outcomes = task list | Rewrite as "by Friday, X is true" | | Ignoring B2B as "bonus" | Active deals with money = outcomes | | Publishing paid content publicly | Paid content stays in paid repos | | Assuming data without checking | Verify with gh issue list + actual files | | Fixed 3 outcomes limit | As many outcomes as realistic | | Executing tasks during planning | Capture as outcomes/issues, execute after planning | | Asking instead of reading | Check source systems first, ask only for missing facts |
This skill runs AFTER weekly-retro. Expected inputs:
retro:W{NN-1})This skill reads config from your project's AGENTS.md / CLAUDE.md. Run corp-doctor first to generate or repair the config block, or add manually:
markdown## Agent Operations Config ### Repos (scanned during retro/planning) repos: - owner/repo-1 # what it does - owner/repo-2 # what it does ### GitHub Project project_id: N owner: your-github-handle ### Task Routing routing: - pattern: "backend, bugs" repo: owner/backend-repo - pattern: "content, marketing" repo: owner/content-repo - pattern: "strategy, cross-cutting" repo: owner/main-repo ### Living plan reports_dir: reports local_timezone: system display_timezones: - Europe/Berlin - Europe/Moscow - America/Argentina/Buenos_Aires areas: - delivery - sales - systems - content - people - strategy - wealth wealth_habits: - sport - reflection
bash# All tasks for current week gh search issues --owner $YOUR_OWNER --label "W{NN}" --state open # By repo gh search issues --owner $YOUR_OWNER --label "W{NN}" --state open --json repository,number,title # Close week (Friday) gh search issues --owner $YOUR_OWNER --label "W{NN}" --state open --json title,repository # Review: done / spillover / drop
| Case | Status | Duration (ms) | Turns | Tokens | Tool calls | ||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| Without | With | Δ | Without | With | Δ | Without | With | Δ | Without | With | Δ | ||
case-05 | fail→fail | 16,238 | 11,641 | -28% | 1 | 1 | 0% | 1,752 | 3,475 | +98% | 0 | 0 | — |
case-06 | pass→pass | 13,702 | 9,945 | -27% | 1 | 1 | 0% | 1,864 | 3,112 | +67% | 0 | 0 | — |
case-01 | fail→fail | 13,095 | 13,096 | +0% | 1 | 1 | 0% | 811 | 2,810 | +246% | 0 | 0 | — |
case-02 | fail→fail | 31,828 | 18,859 | -41% | 1 | 1 | 0% | 5,531 | 2,652 | -52% | 0 | 0 | — |
case-03 | fail→fail | 44,643 | 15,250 | -66% | 1 | 1 | 0% | 8,256 | 2,882 | -65% | 0 | 0 | — |
case-04 | fail→pass | 16,315 | 9,669 | -41% | 1 | 1 | 0% | 2,360 | 3,043 | +29% | 0 | 0 | — |
case-07 | fail→fail | 7,654 | 9,649 | +26% | 1 | 1 | 0% | 1,128 | 3,033 | +169% | 0 | 0 | — |
case-08 | pass→pass | 10,000 | 3,038 | -70% | 1 | 1 | 0% | 1,736 | 2,804 | +62% | 0 | 0 | — |
case-09 | fail→fail | 7,081 | 7,576 | +7% | 1 | 1 | 0% | 964 | 2,762 | +187% | 0 | 0 | — |
case-10 | fail→pass | 10,265 | 7,770 | -24% | 1 | 1 | 0% | 1,673 | 2,740 | +64% | 0 | 0 | — |
case-11 | fail→pass | 7,050 | 7,018 | -0% | 1 | 1 | 0% | 1,082 | 2,512 | +132% | 0 | 0 | — |
case-12 | fail→pass | 14,849 | 9,400 | -37% | 1 | 1 | 0% | 2,171 | 3,018 | +39% | 0 | 0 | — |
case-13 | pass→pass | 8,644 | 5,391 | -38% | 1 | 1 | 0% | 1,796 | 3,045 | +70% | 0 | 0 | — |
case-14 | fail→pass | 11,706 | 8,228 | -30% | 1 | 1 | 0% | 1,918 | 3,460 | +80% | 0 | 0 | — |
case-15 | pass→pass | 15,157 | 3,035 | -80% | 1 | 1 | 0% | 1,502 | 2,710 | +80% | 0 | 0 | — |
case-16 | fail→pass | 13,178 | 3,726 | -72% | 1 | 1 | 0% | 2,117 | 2,981 | +41% | 0 | 0 | — |
case-17 | fail→pass | 11,138 | 3,298 | -70% | 1 | 1 | 0% | 1,499 | 2,860 | +91% | 0 | 0 | — |
case-18 | pass→pass | 9,242 | 4,666 | -50% | 1 | 1 | 0% | 1,485 | 3,022 | +104% | 0 | 0 | — |
case-19 | pass→pass | 17,501 | 6,115 | -65% | 1 | 1 | 0% | 2,714 | 3,211 | +18% | 0 | 0 | — |
case-20 | fail→pass | 15,965 | 4,332 | -73% | 1 | 1 | 0% | 2,267 | 2,820 | +24% | 0 | 0 | — |
case-21 | pass→pass | 9,316 | 4,097 | -56% | 1 | 1 | 0% | 1,411 | 2,860 | +103% | 0 | 0 | — |
case-22 | fail→fail | 18,292 | 21,324 | +17% | 1 | 1 | 0% | 2,375 | 5,630 | +137% | 0 | 0 | — |
case-23 | fail→fail | 31,980 | 21,776 | -32% | 1 | 1 | 0% | 5,127 | 5,577 | +9% | 0 | 0 | — |
case-24 | fail→fail | 9,789 | 8,747 | -11% | 1 | 1 | 0% | 752 | 3,730 | +396% | 0 | 0 | — |
DecimalAI ran this skill against gemini-3.6-flash twice over the same eval suite — once with the skill loaded and once without — and compared the two runs case by case. 24 cases were attempted, and 21 counted toward the lift figure. The other 3 produced results that are not comparable between the two arms, so they are excluded from the headline rather than averaged into it. The headline lift of +33 percentage points is the difference between those two pass rates over the 21 comparable cases. 2 cases got worse with the skill loaded, and they are included in that figure.
Without the skill loaded, the model failed this case. With it loaded, the same prompt on the same model passed. This is one improved case from the latest verified run; every case, including any that regressed, is in the table above.
Other measured skills in the registry, with their headline benchmark lift.