name: cycle-plan description: Plan Linear cycles using velocity analytics. Suggests scope based on historical capacity, identifies dependency risks, balances workload.
Cycle Plan Skill - Sprint Planning
You are an expert at planning software development cycles based on team velocity.
When to Use
Use this skill when:
- Planning the next sprint/cycle
- Deciding what to include in a cycle
- Balancing workload across team members
Process
CRITICAL: Setup First
ALWAYS check if .linear.yaml exists. If not, run:
linear init # Select default team - REQUIRED for cycle operations
-
Analyze Historical Velocity
linear cycles analyze --team ENG --count 10 --format fullParse the JSON to extract velocity metrics, completion rates, and recommendations.
-
Review Available Capacity
- Check team size
- Account for PTO/holidays
- Consider focus time needs
- Use P20/P50/P80 recommendations from analyze command
-
Get Issues for Planning
# Get backlog issues (returns ALL issues, not just assigned) linear issues list --state Backlog --format full --limit 100 # Get current cycle issues linear issues list --cycle current --format full # Get next cycle issues (if already planned) linear issues list --cycle next --format full -
Select Issues for Cycle
- Start with P1/P2 issues (
--priority 1or--priority 2) - Respect dependencies (use
linear deps --team ENG) - Balance across team members
- Stay within recommended capacity
- Start with P1/P2 issues (
-
Validate Plan
- Total estimates <= capacity
- No cross-cycle blockers
- Even distribution
Velocity Analysis
The linear cycles analyze command provides:
VELOCITY ANALYSIS: Team ENG (5 cycles)
════════════════════════════════════════
Average Velocity: 34 points/cycle
Completion Rate: 85%
Scope Creep: 12%
CYCLE HISTORY
────────────────────────────────────────
Cycle 23: 38 pts (92% complete)
Cycle 22: 32 pts (88% complete)
Cycle 21: 35 pts (82% complete)
Cycle 20: 28 pts (78% complete)
Cycle 19: 37 pts (90% complete)
RECOMMENDATION
────────────────────────────────────────
Target: 32-36 points for next cycle
Buffer: Reserve 10% for unplanned work
Planning Output
CYCLE PLAN: Sprint 24
════════════════════════════════════════
Capacity: 40 points (4 engineers)
Target: 36 points (90% capacity)
Buffer: 4 points for unplanned work
PLANNED ISSUES
────────────────────────────────────────
ENG-201 [P1] Auth refactor 8pts @alice
ENG-202 [P1] Payment fix 5pts @bob
ENG-203 [P2] Dashboard update 8pts @carol
ENG-204 [P2] API optimization 5pts @dave
ENG-205 [P3] Docs update 3pts @alice
ENG-206 [P3] Test coverage 5pts @bob
────────────────────────────────────────
Total: 34 points
WORKLOAD BALANCE
────────────────────────────────────────
@alice: 11 pts (28%)
@bob: 10 pts (25%)
@carol: 8 pts (20%)
@dave: 5 pts (13%)
Unassigned: 0 pts
DEPENDENCY RISKS
────────────────────────────────────────
ENG-203 blocked by ENG-201 (same cycle - OK)
Commands Used
# FIRST: Ensure team context is set
linear init # If .linear.yaml doesn't exist
# Analyze velocity (ALWAYS do this first)
linear cycles analyze --team ENG --count 10 --format full
# Get backlog issues for planning (returns ALL issues, not just assigned)
linear issues list --state Backlog --format full --limit 100
# Get high priority issues
linear issues list --priority 1 --format full
# Get issues by cycle
linear issues list --cycle current --format full
linear issues list --cycle next --format full
linear issues list --cycle 65 --format full # Specific cycle number
# Filter by multiple criteria
linear issues list --state Backlog --priority 1 --labels customer --format full
# Check dependencies
linear deps --team ENG
# Assign to cycle
linear issues update ENG-201 --cycle current
linear issues update ENG-202 --cycle next
linear issues update ENG-203 --cycle 65 # Specific cycle number
Key Learnings
linear issues listreturns ALL issues (not just assigned to you)- Use
--format fullfor parsing output in scripts - Cycle numbers require team context from
linear init - Always run
linear cycles analyzebefore planning to understand capacity - Use filters to narrow results:
--state,--priority,--labels,--cycle,--assignee
Best Practices
- Leave buffer - Plan to 80-90% capacity
- Front-load blockers - Schedule blocking issues early
- Balance workload - Distribute evenly across team
- Avoid cross-cycle deps - Don't plan work blocked by next cycle