agentsclimarketplace

Sprint planner

Skill frobinson47/solo-dev-suite/skills/sprint-planner

Converts a backlog into realistic solo-dev sprints accounting for day job + family + surprise maintenance -- with velocity tracking, launch countdown, and honest capacity math.From its SKILL.md

Install
npx -y skills add frobinson47/solo-dev-suite --skill sprint-planner

Assembled from the repository path, not quoted from the project. Check it against their README if it does not work.

One thing to look at

  • 4 stars4 stars. Stars are a popularity signal and not a quality one, but at this level it is likely that nobody has read this closely except its author, and you would be relying on your own review.

SKILL.md

4.4 KB, as published. Nobody here has run it

sprint-planner

When to use

  • Starting the build phase and need to break work into manageable chunks.
  • After locking scope (mvp-scope-guardian) to plan the execution order.
  • Weekly sprint check-ins to update progress and plan the next sprint.
  • Checking if you're on track for a launch date.

When NOT to use

  • For generating actual task code (this plans the work, doesn't do it).
  • For project-level planning beyond sprints (use mvp-scope-guardian for scope).
  • If the project has no defined work items yet.

Prerequisites

  • Project must be onboarded in solo-dev-suite.
  • available_hours_per_week should be set honestly in the profile.
  • Ideally, scope is locked first so you know what needs building.

Methodology

Honest capacity, not aspirational capacity

The buffer_percent (default 20%) accounts for real life: day job emergencies, family commitments, infra fires, meetings that should have been emails. If you set it to 0%, you're lying to yourself.

Effective hours = hours_per_week x sprint_length_weeks x (1 - buffer_percent/100)

Velocity is earned, not estimated

Until you complete a sprint, you have zero velocity data. The tool tracks actual hours completed per sprint and averages them. Your first sprint estimate will be wrong -- that's the point. By sprint 3, you'll have honest numbers.

Launch countdown: red/yellow/green

If launch_target_date is set in the profile, the tool compares remaining backlog hours against remaining sprint capacity:

  • Green: remaining work <= 80% of available capacity (comfortable buffer)
  • Yellow: remaining work <= 100% of available capacity (tight but possible)
  • Red: remaining work > available capacity (something has to give)

Incomplete items return to backlog

When you complete a sprint, any todo/in-progress items automatically return to the backlog with priority bumped to "high" (you committed to them once -- they matter). Dropped items stay in the sprint record for the retro.

Operations

init

Set up capacity and optional initial backlog.

echo '{"hours_per_week": 10, "sprint_length_weeks": 2, "buffer_percent": 20, "backlog": [{"title": "User auth", "estimate_hours": 12, "priority": "critical", "category": "feature"}, {"title": "API endpoints", "estimate_hours": 8, "priority": "high"}]}' | python scripts/sprint_tool.py init <slug> --from-stdin

hours_per_week defaults to profile's available_hours_per_week if omitted.

add

Add items to the backlog.

echo '{"items": [{"title": "Payment webhook handler", "estimate_hours": 6, "priority": "high", "category": "feature"}]}' | python scripts/sprint_tool.py add <slug> --from-stdin

Single item shorthand (no items wrapper) also works.

plan

Plan the next sprint by pulling items from the backlog.

echo '{"goal": "Core auth + API scaffold", "backlog_ids": ["BL01", "BL02"]}' | python scripts/sprint_tool.py plan <slug> --from-stdin

Warns if planned hours exceed 120% of sprint capacity. Won't plan if there's an active sprint.

start

Activate the next planned sprint.

python scripts/sprint_tool.py start <slug>

update

Update item statuses and actual hours in the active sprint.

echo '{"items": [{"id": "SI01", "status": "done", "actual_hours": 10}, {"id": "SI02", "status": "in-progress"}]}' | python scripts/sprint_tool.py update <slug> --from-stdin

complete

Complete the active sprint. Computes velocity, returns incomplete items to backlog.

python scripts/sprint_tool.py complete <slug> --retro "Auth took longer than expected, need to buffer more for OAuth flows"

show

Display current state: capacity, velocity, launch countdown, active sprint, backlog.

python scripts/sprint_tool.py show <slug>
python scripts/sprint_tool.py show <slug> --json

render

Generate SPRINT_PLAN.md.

python scripts/sprint_tool.py render <slug>

delete

Remove sidecar.

python scripts/sprint_tool.py delete <slug> --yes

Files

FilePurpose
scripts/sprint_tool.pyCLI with all subcommands
templates/sprint.schema.jsonSidecar JSON Schema
templates/SPRINT_PLAN.md.tmplRendered doc template

Keep looking

Skills are one crate of 627,801. Ordering is by how many stacks a row turns up in, so the top of any crate is what has actually been picked rather than what has the most stars.