Agent skill
cycle-plan
Plan Linear cycles using velocity analytics. Suggests scope based on historical capacity, identifies dependency risks, balances workload.
Stars
163
Forks
31
Install this agent skill to your Project
npx add-skill https://github.com/majiayu000/claude-skill-registry/tree/main/skills/data/cycle-plan
SKILL.md
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:
bash
linear init # Select default team - REQUIRED for cycle operations
-
Analyze Historical Velocity
bashlinear 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
bash# 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
bash
# 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
Didn't find tool you were looking for?