スプリント計画を実行
Plans sprints by selecting backlog issues and assigning them to iterations based on priority and capacity.
npx claudepluginhub b16b1rd/cc-zen-workflowsprint/Execute sprint planning (select Issues from the backlog and assign them to a sprint)
When this command is executed, run the following phases in order.
Run the preflight guard before execution. Resolve {plugin_root} per Plugin Path Resolution.
bash {plugin_root}/hooks/preflight-check.sh --command-id "/zen:sprint:plan" --cwd "$(pwd)"
If exit code is 1 (blocked), stop execution and display the preflight output. Do NOT proceed.
zen-config.yml iteration.enabled must be trueIf Iteration is disabled: Display the same message as /zen:sprint:list and exit
| Argument | Description |
|---|---|
| None | Target the current or next sprint |
current | Target the current sprint |
next | Target the next sprint |
"Sprint 4" | Target the specified sprint |
If no argument is provided, confirm with AskUserQuestion:
{i18n:sprint_plan_ask_target}
オプション:
- {i18n:sprint_plan_option_current}: Sprint 3 (2025-01-06 - 2025-01-19)
- {i18n:sprint_plan_option_next}: Sprint 4 (2025-01-20 - 2025-02-02)
- {i18n:sprint_plan_option_specify}
gh api graphql -f query='
query($projectId: ID!, $iterationId: String!, $fieldId: ID!) {
node(id: $projectId) {
... on ProjectV2 {
items(first: 100, filter: {
field: { fieldId: $fieldId, iterationId: $iterationId }
}) {
totalCount
nodes {
content {
... on Issue {
number
title
}
}
fieldValues(first: 10) {
nodes {
... on ProjectV2ItemFieldSingleSelectValue {
name
field { ... on ProjectV2SingleSelectField { name } }
}
}
}
}
}
}
}
}' -f projectId="{project_id}" -f iterationId="{target_iteration_id}" -f fieldId="{iteration_field_id}"
{i18n:sprint_plan_target_title} (variables: name=Sprint 4)
{i18n:sprint_plan_current_state}:
- {i18n:sprint_plan_assigned_issues}: 3{i18n:sprint_plan_count_unit}
- {i18n:sprint_plan_estimated_points}: 8 / 20
{i18n:sprint_plan_remaining_capacity}: 12{i18n:sprint_plan_points_unit}
Retrieve Issues that have no Iteration assigned:
gh api graphql -f query='
query($projectId: ID!) {
node(id: $projectId) {
... on ProjectV2 {
items(first: 100) {
nodes {
id
content {
... on Issue {
number
title
state
labels(first: 5) { nodes { name } }
}
}
fieldValues(first: 10) {
nodes {
... on ProjectV2ItemFieldIterationValue {
iterationId
}
... on ProjectV2ItemFieldSingleSelectValue {
name
field { ... on ProjectV2SingleSelectField { name } }
}
}
}
}
}
}
}
}' -f projectId="{project_id}"
Sort by Priority and Complexity and display:
{i18n:sprint_plan_backlog_title} (variables: count=10)
# | Priority | Complexity | Title
----|----------|------------|-------------------------------
50 | High | M (3pt) | ユーザー認証機能の追加
51 | High | S (2pt) | ログ出力の改善
52 | Medium | L (5pt) | ダッシュボード画面の実装
53 | Medium | M (3pt) | API レスポンスのキャッシュ
54 | Low | XS (1pt) | README の更新
...
{i18n:sprint_plan_backlog_total}: 10{i18n:sprint_plan_count_unit}({i18n:sprint_plan_backlog_estimated} 25{i18n:sprint_plan_points_unit})
Confirm the selection method with AskUserQuestion:
{i18n:sprint_plan_ask_selection_method}:
オプション:
- {i18n:sprint_plan_option_select_individual}: Issue を1件ずつ選択
- {i18n:sprint_plan_option_select_priority}: High Priority のものをすべて選択
- {i18n:sprint_plan_option_select_auto}: Priority 順に自動で選択({i18n:sprint_plan_recommended})
{i18n:sprint_plan_select_from_backlog}:
[ ] #50 ユーザー認証機能の追加 (High, M: 3pt)
[ ] #51 ログ出力の改善 (High, S: 2pt)
[ ] #52 ダッシュボード画面の実装 (Medium, L: 5pt)
[ ] #53 API レスポンスのキャッシュ (Medium, M: 3pt)
...
{i18n:sprint_plan_selected_issues}: ({i18n:sprint_plan_none})
{i18n:sprint_plan_current_total}: 8pt / 20pt
{i18n:sprint_plan_auto_selected}:
{i18n:sprint_plan_selected_issues}:
- #50 ユーザー認証機能の追加 (High, M: 3pt)
- #51 ログ出力の改善 (High, S: 2pt)
- #53 API レスポンスのキャッシュ (Medium, M: 3pt)
{i18n:sprint_plan_total_points}: 8pt({i18n:sprint_plan_fits_capacity} 12pt {i18n:sprint_plan_fits_capacity_suffix})
{i18n:sprint_plan_ask_proceed}?
- {i18n:sprint_plan_option_assign}
- {i18n:sprint_plan_option_change_selection}
- {i18n:sprint_plan_option_cancel}
Set the Iteration for each selected Issue:
gh api graphql -f query='
mutation($projectId: ID!, $itemId: ID!, $fieldId: ID!, $iterationId: String!) {
updateProjectV2ItemFieldValue(
input: {
projectId: $projectId
itemId: $itemId
fieldId: $fieldId
value: { iterationId: $iterationId }
}
) {
projectV2Item { id }
}
}' -f projectId="{project_id}" -f itemId="{item_id}" -f fieldId="{iteration_field_id}" -f iterationId="{target_iteration_id}"
{i18n:sprint_plan_complete}
Sprint 4 (2025-01-20 - 2025-02-02)
{i18n:sprint_plan_added_issues}:
- #50 ユーザー認証機能の追加
- #51 ログ出力の改善
- #53 API レスポンスのキャッシュ
{i18n:sprint_plan_sprint_state}:
- {i18n:sprint_plan_total_issues}: 6{i18n:sprint_plan_count_unit}
- {i18n:sprint_plan_total_points}: 16 / 20
- {i18n:sprint_plan_remaining_capacity}: 4pt
{i18n:sprint_plan_next_actions}:
- `/zen:sprint:current` {i18n:sprint_plan_action_check_details}
- `/zen:issue:start <番号>` {i18n:sprint_plan_action_start_issue}
Default mapping (customizable in zen-config.yml):
| Complexity | Points |
|---|---|
| XS | 1 |
| S | 2 |
| M | 3 |
| L | 5 |
| XL | 8 |
{i18n:sprint_plan_error_no_backlog}
{i18n:sprint_plan_next_actions}:
- `/zen:issue:create` {i18n:sprint_plan_action_create_issue}
- `/zen:issue:list all` {i18n:sprint_plan_action_list_issues}
{i18n:sprint_plan_warning_overcommit} (variables: selected=25pt, capacity=20pt)
オプション:
- {i18n:sprint_plan_option_assign_anyway}({i18n:sprint_plan_overcommit})
- {i18n:sprint_plan_option_change_selection}
- {i18n:sprint_plan_option_change_capacity}
When a GraphQL API call fails:
See GraphQL Helpers for details.
gh commands/planStart Manus-style file-based planning. Creates task_plan.md, findings.md, progress.md for complex tasks.