Claude-skill-registry cycle-plan

Plan Linear cycles using velocity analytics. Suggests scope based on historical capacity, identifies dependency risks, balances workload.

install
source · Clone the upstream repo
git clone https://github.com/majiayu000/claude-skill-registry
Claude Code · Install into ~/.claude/skills/
T=$(mktemp -d) && git clone --depth=1 https://github.com/majiayu000/claude-skill-registry "$T" && mkdir -p ~/.claude/skills && cp -r "$T/skills/data/cycle-plan" ~/.claude/skills/majiayu000-claude-skill-registry-cycle-plan && rm -rf "$T"
manifest: skills/data/cycle-plan/SKILL.md
source content

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
  1. Analyze Historical Velocity

    linear cycles analyze --team ENG --count 10 --format full
    

    Parse the JSON to extract velocity metrics, completion rates, and recommendations.

  2. Review Available Capacity

    • Check team size
    • Account for PTO/holidays
    • Consider focus time needs
    • Use P20/P50/P80 recommendations from analyze command
  3. 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
    
  4. Select Issues for Cycle

    • Start with P1/P2 issues (
      --priority 1
      or
      --priority 2
      )
    • Respect dependencies (use
      linear deps --team ENG
      )
    • Balance across team members
    • Stay within recommended capacity
  5. 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 list
    returns ALL issues
    (not just assigned to you)
  • Use
    --format full
    for parsing output in scripts
  • Cycle numbers require team context from
    linear init
  • Always run
    linear cycles analyze
    before planning to understand capacity
  • Use filters to narrow results:
    --state
    ,
    --priority
    ,
    --labels
    ,
    --cycle
    ,
    --assignee

Best Practices

  1. Leave buffer - Plan to 80-90% capacity
  2. Front-load blockers - Schedule blocking issues early
  3. Balance workload - Distribute evenly across team
  4. Avoid cross-cycle deps - Don't plan work blocked by next cycle