Skip to content
Back to skills

Cycle Plan

ASecurity

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

  • 144 stars
  • 0 votes
  • 0 copies
  • 2 views
  • Added February 7, 2026
businessbashapi

Works with

  • api

Security analysis

A100/100

Scanned February 12, 2026

npx -y skills add joa23/linear-cli --skill cycle-plan --agent claude-code

Installs into .claude/skills of the current project.

Are you the author of Cycle Plan?

Add the live security badge to your README. It updates with every re-scan.

Security grade badge for Cycle Plan
[![Security: A — Skills Directory](https://www.skillsdirectory.com/api/skills/joa23-cycle-plan/badge)](https://www.skillsdirectory.com/skills/joa23-cycle-plan)

More formats (shields.io, HTML) on the badges page. Keep it an A: scan every change in CI with Pro.

Download with Pro
SKILL.md
---
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:**
```bash
linear init  # Select default team - REQUIRED for cycle operations
```

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

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

```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 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

Attribution

Is this your skill, or is something wrong with this listing? Request removal or report an issue. Author removals are honored within 72 hours.

Comments

Loading comments…

Newsletter

Get the weekly list of safe new skills, and the ones we pulled.