--- name: fortnightly-release-planner description: "Use when asked to plan releases for a side project or small open-source repo, turn a backlog into a release schedule, ship smaller and more often, or write a ROADMAP.md. Turns a backlog into small themed two-week releases and produces ROADMAP.md, a theme and scope for each release with what is deliberately left out, and a changelog template. For a stakeholder roadmap narrative inside a company, use roadmap-narrative." version: 1.0.0 --- # Fortnightly Release Planner Side projects stall when the next release is "when it is done": the scope grows, nothing ships, and users assume the project is abandoned. Small releases every two weeks, each with one theme, keep momentum and give users a reason to come back. This skill turns a backlog into a sequence of themed fortnightly releases that fit the time the maintainer actually has. ## Required Inputs Ask for these if not provided: - **The backlog**: issues, ideas and bugs, in any form - **Hours available per fortnight**, honestly - **Current version** and versioning scheme (semantic versioning or dates) - **Users' top complaints or requests**, if known - **Fixed dates**: a conference talk, a dependency deprecation, a launch post ## Output Structure ### 1. Sized backlog A table of every item with a size in hours and a value score: | Item | Type (bug, feature, docs, chore) | Size (hours) | User value (1 to 3) | Depends on | Items over half the fortnight's hours are split before planning, and the split is shown. ### 2. Release plan For each release, in order: ```markdown ### v[x.y.0]: [Theme in three to six words] (target: [date]) **Why this theme now:** [one sentence linked to a user need or fixed date] **In:** [items, with sizes; total within 80% of the fortnight's hours] **Out (on purpose):** [items that fit the theme but wait, and why] **Done means:** [two or three observable results] ``` Plan four to six releases. Leave 20% of each fortnight unplanned for bugs and review. ### 3. ROADMAP.md A ready-to-commit file with: a two-sentence statement of where the project is heading, the next three releases (theme, target date, three headline items each), a "Later" list without dates, and a "Not planned" list with one-line reasons. ### 4. Changelog template A `CHANGELOG.md` section to copy for each release, following Keep a Changelog headings: ```markdown ## [x.y.0] - YYYY-MM-DD **Theme:** ... ### Added ### Changed ### Fixed ### Removed ``` ### 5. Release-day checklist Six to eight binary steps for shipping a release in under 30 minutes (tag, notes, publish, announce). ## Quality Checks - [ ] Every release has a single theme of three to six words - [ ] Planned hours per release are at most 80% of the hours available - [ ] No item larger than half a fortnight remains unsplit - [ ] Every release lists what was left out on purpose - [ ] Fixed dates from the inputs are honoured in the plan - [ ] ROADMAP.md has a "Not planned" list with reasons - [ ] The changelog template uses the Added, Changed, Fixed and Removed headings ## Anti-Patterns - **The kitchen-sink release.** A release with six unrelated features has no story and slips. - **Planning at 100% of capacity.** Bugs and reviews always arrive; plan to 80%. - **Dates on everything.** "Later" items with dates become broken promises. - **Skipping the changelog.** Users judge a project's health by its recent releases. ## Example Trigger Phrases - "Turn my backlog into a release plan, I have about 6 hours a fortnight." - "Write a ROADMAP.md for my side project." - "Help me ship smaller releases more often." - "Plan the next few releases of my open-source library with themes."