AgentSkillsCN

sprint-planning-facilitator

在准备或开展冲刺计划时使用。建议在待办事项列表精炼完成后使用。该技能可生成产能分析、故事推荐、依赖关系映射、风险警示,以及会议议程。

SKILL.md
--- frontmatter
name: sprint-planning-facilitator
description: Use when preparing for or running sprint planning. Use after backlog refined. Produces capacity analysis, story recommendations, dependency mapping, risk flags, and meeting agenda.

Sprint Planning Facilitator

Overview

Prepare for and facilitate effective sprint planning sessions. Produces capacity analysis, recommends stories based on priority and capacity, identifies dependencies and risks, and provides structured meeting agendas.

Core principle: Sprint planning should result in a realistic commitment with clear goals—not an overloaded wishlist.

When to Use

  • Preparing for upcoming sprint planning
  • Calculating team capacity after absences factored
  • Selecting stories from refined backlog
  • Identifying cross-team dependencies

Output Format

yaml
sprint_planning:
  sprint_number: "[N]"
  sprint_dates:
    start: "[YYYY-MM-DD]"
    end: "[YYYY-MM-DD]"
    working_days: "[N]"
  
  capacity_analysis:
    team_members:
      - name: "[Name]"
        role: "[Role]"
        availability: "[%]"  # 100% = full sprint, 80% = 1 day off, etc.
        notes: "[PTO, training, etc.]"
    
    total_capacity:
      available_person_days: "[N]"
      historical_velocity: "[Points from last 3 sprints]"
      recommended_commitment: "[Points range]"
      capacity_confidence: "[High | Medium | Low]"
  
  sprint_goal:
    primary: "[One sentence goal]"
    success_criteria:
      - "[Measurable outcome 1]"
      - "[Measurable outcome 2]"
  
  recommended_stories:
    committed:
      - id: "[Story ID]"
        title: "[Title]"
        points: "[N]"
        priority: "[P1 | P2 | P3]"
        assignee_suggestion: "[Name or skill needed]"
        dependencies: ["[Dependency if any]"]
        risk_flag: "[None | Low | Medium | High]"
    
    stretch:
      - id: "[Story ID]"
        title: "[Title]"
        points: "[N]"
        condition: "[When to pull in]"
  
  dependencies:
    internal:
      - story: "[Story ID]"
        depends_on: "[Story ID]"
        type: "[Blocks | Informs | Shares-data]"
    
    external:
      - story: "[Story ID]"
        depends_on: "[External team/system]"
        status: "[Confirmed | Pending | At-risk]"
        mitigation: "[If at-risk]"
  
  risks:
    - risk: "[Description]"
      likelihood: "[High | Medium | Low]"
      impact: "[High | Medium | Low]"
      mitigation: "[Plan]"
  
  carryover:
    from_previous_sprint:
      - id: "[Story ID]"
        title: "[Title]"
        remaining_points: "[N]"
        reason: "[Why not completed]"
  
  meeting_agenda:
    pre_planning:
      - "[Preparation item]"
    planning_part_1:  # What to build
      duration: "[Minutes]"
      activities:
        - "[Activity]"
    planning_part_2:  # How to build
      duration: "[Minutes]"
      activities:
        - "[Activity]"

Capacity Calculation

Step 1: Calculate Available Days

yaml
sprint_days: 10  # 2-week sprint
team_size: 5

availability:
  - name: "Alice"
    days_off: 0
    available: 10
  - name: "Bob"
    days_off: 2  # PTO
    available: 8
  - name: "Carol"
    days_off: 1  # Training
    available: 9
  - name: "David"
    days_off: 0
    available: 10
  - name: "Eve"
    days_off: 3  # Conference
    available: 7

total_person_days: 44  # vs 50 theoretical max

Step 2: Apply Focus Factor

yaml
focus_factor: 0.7  # Account for meetings, support, etc.
effective_capacity: 31  # 44 × 0.7

Step 3: Convert to Points

yaml
historical_velocity:
  sprint_n_minus_1: 34
  sprint_n_minus_2: 28
  sprint_n_minus_3: 31
  average: 31

# Adjust for capacity difference
normal_capacity: 35  # person-days in those sprints
this_sprint_capacity: 31
capacity_ratio: 0.89  # 31/35

recommended_commitment: 28  # 31 × 0.89, rounded
commitment_range: "25-30"  # ±10% for uncertainty

Sprint Goal Framework

A good sprint goal is:

AttributeDescriptionExample
Outcome-focusedWhat value delivered, not tasks done"Users can complete checkout" not "Build checkout page"
MeasurableCan verify achievement"90% of test users complete flow"
AchievableRealistic given capacityBased on story selection
SingularOne primary objectiveNot "A and B and C"

Sprint Goal Template

code
By the end of this sprint, [user segment] will be able to [capability]
as measured by [success metric].

Example:

By the end of this sprint, beta users will be able to complete the full onboarding flow as measured by 80% completion rate in testing.

Story Selection Algorithm

Priority Order

  1. Carryover - Finish incomplete work first
  2. Committed dependencies - Unblock other teams
  3. Sprint goal stories - Primary objective
  4. High-value backlog items - Based on priority
  5. Tech debt - Allocate 10-20% capacity
  6. Stretch - If capacity remains

Selection Criteria

yaml
include_if:
  - Story is refined (acceptance criteria defined)
  - Story is estimated
  - Dependencies are resolved or scheduled
  - Required skills available this sprint

flag_if:
  - Story larger than 1/3 sprint capacity
  - Story has external dependency
  - Story is first of its type
  - Story touches unfamiliar code

Dependency Mapping

Dependency Types

TypeDescriptionRisk Level
BlocksCannot start until other completesHigh
InformsNeeds information from otherMedium
Shares-dataUses same data structuresLow

Dependency Visualization

code
Story A ──blocks──> Story B ──blocks──> Story C
                         │
                         └──informs──> Story D

External: API Team delivery ──blocks──> Story E
          Status: Confirmed for Day 3

Risk Assessment

Common Sprint Risks

RiskIndicatorsMitigation
OvercommitmentPoints > 110% velocityReduce scope, add stretch
Single point of failureOnly one person can do storyPair programming, knowledge share
External dependencyWaiting on other teamConfirm timing, have backup work
Unknown complexityNew technology/domainSpike first, time-box
Carryover debtMultiple sprints of carryoverAddress root cause

Meeting Agenda Template

Pre-Planning (Before Meeting)

  • Backlog prioritized and refined
  • Capacity calculated
  • Dependencies identified
  • Carryover assessed
  • Sprint goal drafted

Planning Part 1: What (60 min)

  1. Review capacity (5 min) - Present availability, velocity
  2. Propose sprint goal (10 min) - Discuss and refine
  3. Review carryover (10 min) - Remaining work from last sprint
  4. Select stories (25 min) - Walk through recommendations
  5. Confirm commitment (10 min) - Team agreement

Planning Part 2: How (60 min)

  1. Task breakdown (40 min) - Stories → tasks
  2. Identify risks (10 min) - Surface concerns
  3. Assign initial owners (5 min) - Who starts what
  4. Confirm understanding (5 min) - Questions, clarifications

Common Mistakes

MistakeProblemPrevention
Planning to 100% capacityNo buffer for unknownsTarget 70-80%
Ignoring carryoverCompounds sprint-over-sprintAddress first
Vague sprint goalNo focus, no success measureUse template
Skipping Part 2Poor task understandingAllocate full time
Not confirming dependenciesBlocked mid-sprintVerify before planning

Output Checklist

Before sprint planning is complete:

  • Capacity calculated with availability factored
  • Sprint goal defined and agreed
  • Stories selected within capacity
  • Dependencies mapped and confirmed
  • Risks identified with mitigations
  • Carryover addressed
  • Team has committed (not been committed to)