From product-management
Plan a sprint — scope work, estimate capacity, set goals, and draft a sprint plan. Use when kicking off a new sprint, sizing a backlog against team availability (accounting for PTO and meetings), deciding what's P0 vs. stretch, or handling carryover from the last sprint.
How this skill is triggered — by the user, by Claude, or both
Slash command
/product-management:sprint-planning [sprint name or date range][sprint name or date range]The summary Claude sees in its skill listing — used to decide when to auto-load this skill
> If you see unfamiliar placeholders or need to check which tools are connected, see [CONNECTORS.md](../../CONNECTORS.md).
If you see unfamiliar placeholders or need to check which tools are connected, see CONNECTORS.md.
Plan a sprint by scoping work, estimating capacity, and setting clear goals.
Lark-native execution (depth core: LARK-PATTERNS, LARK-RECIPES, LARK-FUSION). The backlog/sprint board is a Lark Base (P5): read with
lark_base_search(REQUIRESsearch_fields, nojq— narrow withselect_fields/limit), write sprint assignments + priority withlark_base_record_upsert(dry_runfirst, P2). Estimate real capacity from the calendar —lark_calendar_freebusy/lark_calendar_agendaper engineer to subtract PTO/meeting load. Resolve every owner toopen_idvialark_contact_search(P1). Sprint backlog items become assigned tasks vialark_task_create. Share the final plan as an interactive card (lark_im_card_send, P4) and land it in Wiki (lark_wiki_node_create, P8). For the sprint retro, delegate to thesprint-retroskill.
/sprint-planning $ARGUMENTS
┌─────────────────────────────────────────────────────────────────┐
│ SPRINT PLANNING │
├─────────────────────────────────────────────────────────────────┤
│ STANDALONE (always works) │
│ ✓ Define sprint goals and success criteria │
│ ✓ Estimate team capacity (accounting for PTO, meetings) │
│ ✓ Scope and prioritize backlog items │
│ ✓ Identify dependencies and risks │
│ ✓ Generate sprint plan document │
├─────────────────────────────────────────────────────────────────┤
│ SUPERCHARGED (Lark-native) │
│ + Base (P5): pull backlog (lark_base_search), write sprint │
│ + priority (lark_base_record_upsert, dry_run first) │
│ + Calendar: real capacity via lark_calendar_freebusy/agenda │
│ per engineer (subtract PTO + meeting load) │
│ + Task: assign committed items (lark_task_create) │
│ + IM: share plan as an interactive card (lark_im_card_send) │
│ + Wiki: land the sprint plan (lark_wiki_node_create) │
└─────────────────────────────────────────────────────────────────┘
open_id via lark_contact_search and check lark_calendar_freebusy for real PTO/meeting load.)lark_base_search —
it REQUIRES search_fields; I'll discover field names via
lark_api GET /open-apis/bitable/v1/apps/{base}/tables/{table}/fields if needed, narrow with
select_fields/limit, no jq — or you can paste/describe.)lark_task_my for open items.)## Sprint Plan: [Sprint Name]
**Dates:** [Start] — [End] | **Team:** [X] engineers
**Sprint Goal:** [One clear sentence about what success looks like]
### Capacity
| Person | Available Days | Allocation | Notes |
|--------|---------------|------------|-------|
| [Name] | [X] of [Y] | [X] points/hours | [PTO, on-call, etc.] |
| **Total** | **[X]** | **[X] points** | |
### Sprint Backlog
| Priority | Item | Estimate | Owner | Dependencies |
|----------|------|----------|-------|--------------|
| P0 | [Must ship] | [X] pts | [Person] | [None / Blocked by X] |
| P1 | [Should ship] | [X] pts | [Person] | [None] |
| P2 | [Stretch] | [X] pts | [Person] | [None] |
### Planned Capacity: [X] points | Sprint Load: [X] points ([X]% of capacity)
### Risks
| Risk | Impact | Mitigation |
|------|--------|------------|
| [Risk] | [What happens] | [What to do] |
### Definition of Done
- [ ] Code reviewed and merged
- [ ] Tests passing
- [ ] Documentation updated (if applicable)
- [ ] Product sign-off
### Key Dates
| Date | Event |
|------|-------|
| [Date] | Sprint start |
| [Date] | Mid-sprint check-in |
| [Date] | Sprint end / Demo |
| [Date] | Retro |
Once the plan is agreed:
lark_base_record_upsert
(base_token, table_id, fields) — dry_run: true first, show the planned writes, then commit (P2).lark_task_create with the owner's open_id
(from lark_contact_search) and a due matching the sprint end.lark_im_card_send
(header = sprint goal; item rows per P0/P1; actions footer). Validate with
print_json: true, then dry_run: true, then send (P4).lark_wiki_node_create (P8).lark_calendar_freebusy, not assumed full availability.npx claudepluginhub larkcowork/lark-cowork-plugins --plugin product-managementCreates, edits, and optimizes skills for Claude Code, including drafting, evaluating with test prompts, iterating on performance, and improving skill descriptions for better triggering accuracy.