Files
2025-11-29 18:14:39 +08:00

3.7 KiB

description, category, tools, model, version, status
description category tools model version status
Plan work for current or next cycle using Linearis and GitHub project-task-management Bash(linearis *), Bash(gh *), Read, Write, TodoWrite inherit 1.0.0 placeholder

Cycle Planning

Status: Placeholder for v1.0 - Full implementation coming in future release

Planned Functionality

This command will help you plan work for the current or upcoming cycle by:

  1. Fetching current and next cycle information
  2. Listing backlog tickets ready for planning
  3. Interactively assigning tickets to cycles
  4. Setting milestones and priorities
  5. Generating cycle plan summary

Current Workaround

Use Linearis CLI directly:

# Get active cycle
linearis cycles list --team TEAM --active

# List backlog tickets (filter with jq - issues list only supports --limit)
linearis issues list --limit 100 | jq '.[] | select(.state.name == "Backlog")'

# Assign ticket to cycle
linearis issues update TICKET-123 --cycle "Sprint 2025-11"

# Set priority
linearis issues update TICKET-123 --priority 2

Example Workflow

# 1. View active cycle
linearis cycles list --team ENG --active | jq '.[] | {name, startsAt, endsAt, progress}'

# 2. View next cycle
linearis cycles list --team ENG --limit 5 | jq '.[1]'

# 3. List backlog tickets ready for planning (filter with jq)
linearis issues list --limit 100 | \
  jq '.[] | select(.state.name == "Backlog") | {id, title, priority}'

# 4. Review recent PRs to understand current work
# This helps identify work done but not captured in Linear tickets
gh pr list --state merged --limit 20 --json number,title,author,mergedAt,closedAt

# Filter by date range (e.g., last 2 weeks for planning context)
gh pr list --state merged --search "merged:>=$(date -v-14d +%Y-%m-%d)" \
  --json number,title,author,mergedAt --jq '.[] | "\(.author.login): \(.title)"'

# 5. Identify who is working on what
gh pr list --state open --json number,title,author,createdAt | \
  jq 'group_by(.author.login) | map({author: .[0].author.login, prs: map({number, title})})'

# 6. Assign high-priority tickets to next cycle
linearis issues update ENG-123 --cycle "Sprint 2025-11" --priority 2
linearis issues update ENG-124 --cycle "Sprint 2025-11" --priority 2

# 7. Generate summary (manual)
# Count tickets by cycle and priority

Future Implementation

When fully implemented, this command will:

  • Interactive cycle selection - Choose current or next cycle
  • Smart backlog filtering - Show tickets by priority and readiness
  • Batch assignment - Select multiple tickets to assign at once
  • Capacity planning - Estimate points/hours per ticket
  • Milestone tracking - Group tickets by project milestones
  • PR-based work tracking - Auto-detect work from merged/open PRs to identify:
    • Work completed but not tracked in Linear
    • Who is actively working on what
    • Team velocity based on PR activity
  • Team activity report - Show contribution breakdown by team member
  • Summary generation - Create cycle plan document in thoughts/

Track progress at: https://github.com/coalesce-labs/catalyst/issues

Configuration

Uses .claude/config.json:

{
  "linear": {
    "teamKey": "ENG",
    "defaultTeam": "Backend"
  }
}

Tips

  • Plan cycles before they start - gives team time to review
  • Prioritize by user impact and dependencies
  • Leave buffer capacity for bugs and urgent tasks
  • Use milestones to group related work
  • Review cycle plans in team meetings for alignment
  • Check PR activity before planning to understand:
    • What work has been completed recently
    • Who is actively contributing
    • Untracked work that should be captured in Linear
    • Team velocity and capacity trends