sprint-planning — independently scanned and version-tracked by SaferSkills.
SaferSkills independently audited sprint-planning (Agent Skill) and scored it 100/100 (green). The audit ran 55 deterministic rules across Security, Supply Chain, Maintenance, Transparency, and Community; it found 0 high-severity and 0 lower-severity findings. The full rule-by-rule trace and per-finding evidence are below. Free, methodology-open.
Findings & checks · 0 flagged
Every scanned point with the score it earned and what moved between them.
First recorded scan — no prior version to compare against.
The primary manifest — the file an agent reads to learn what this artifact does.
引導 Sprint Planning 討論:從 JIRA 拉取候選 tickets,計算 capacity,偵測 carry-over,建議優先排序,來回討論後產出最終 sprint backlog。可選推送 Confluence Release page。
定位:自動化確定性部分(拉 JIRA、算點數、排依賴),討論決策留給使用者。這不是一鍵產出工具,而是互動式的規劃助手。 它可以產 planning / release page artifact,但不得把 planning artifact 當成 author-side release authority;是否 release_eligible / release_completed 仍必須由 shared gates 決定。
讀取 workspace config(參考 references/workspace-config-reader.md)。 本步驟需要的值:jira.instance、jira.projects(取得 project keys 用於 JQL)、confluence.space、scrum.sprint_capacity。 若 config 不存在,使用 references/shared-defaults.md 的 fallback 值。
| 參數 | 預設值 | 說明 |
|---|---|---|
| Sprint capacity | 20 pts (config: scrum.sprint_capacity) | 使用者的個人容量 |
| Sprint duration | 10 working days | 2 weeks |
| Projects | (config: jira.projects[].key) | 從 workspace-config.yaml 讀取 |
| Confluence space | (config: confluence.space) | Release page 所在空間 |
兩種方式取得候選 tickets:
方式 A — 使用者提供 ticket keys: 使用者直接給一組 ticket keys(如 PROJ-500 PROJ-501 TEAM-3300),從 JIRA 拉取每張的資訊。
方式 B — 從 JIRA board 自動拉取: 搜尋使用者可能的候選:
mcp__claude_ai_Atlassian__searchJiraIssuesUsingJql
cloudId: {config: jira.instance} # fallback: your-domain.atlassian.net
jql: assignee = currentUser() AND status not in ("已釋出", "已關閉", "完成", "PENDING") AND project in ({config: jira.projects[].key}) ORDER BY priority DESC, updated DESC
fields: ["summary", "status", "issuetype", "priority", "story_points", "sprint"]
maxResults: 30詢問使用者要用哪種方式,或者兩者結合(自動拉 + 使用者補充)。
對每張候選 ticket 拉取完整資訊:
mcp__claude_ai_Atlassian__getJiraIssue
cloudId: {config: jira.instance} # fallback: your-domain.atlassian.net
issueIdOrKey: <TICKET-KEY>收集:
Carry-over = 上個 sprint 未完成的單。判定條件:
sprint 欄位)已釋出 / 完成 / 已關閉Carry-over 在排序時有更高優先權(已經開始的工作應該先完成)。
標記每張 carry-over ticket 的當前進度:
IN DEVELOPMENT → 開發中,需繼續CODE REVIEW → PR 等待 reviewWAITING FOR QA → 等 QA用以下規則產出建議排序:
以表格呈現,讓使用者快速掌握全局:
## Sprint Planning — Sprint YYYY.MM.DD
**Capacity**: 20 pts | **候選總點數**: XX pts | **差額**: ±Y pts
### Carry-over(上個 sprint 未完成)
| # | Ticket | Title | Type | Status | Points | Priority | Notes |
|---|--------|-------|------|--------|--------|----------|-------|
| 1 | PROJ-100 | feature title A | Story | CODE REVIEW | 3 | Medium | PR 等 review |
| 2 | PROJ-200 | bug title B | Bug | WAITING FOR QA | 2 | High | 等 QA |
小計:5 pts
### 新增候選
| # | Ticket | Title | Type | Points | Priority | Epic | Dependency | Notes |
|---|--------|-------|------|--------|----------|------|------------|-------|
| 3 | PROJ-500 | xxx | Story | 5 | High | PROJ-400 | — | |
| 4 | PROJ-501 | yyy | Task | 3 | Medium | PROJ-400 | blocked by PROJ-500 | |
| 5 | TEAM-3400 | zzz | Bug | ? | High | — | — | 未估點 |
小計:8+ pts
### 總計
| 項目 | 點數 |
|------|------|
| Carry-over | 5 |
| 新增候選 | 8+ |
| **合計** | **13+** |
| Capacity | 20 |
| **剩餘** | **7-** |附加提示:
? 標示,提醒需要先估點blocked by PROJ-500)呈現表格後進入討論模式:
使用者可能的操作:
每次調整後重新計算總點數和差額,更新表格呈現。
Guardrails:
breakdown)使用者確認最終 sprint backlog 後,詢問是否產出 Confluence Release page。
如果使用者同意:
Step 7a — 計算 Release 日期: Sprint 結束日 = Sprint 開始日 + 10 working days。Release page 標題格式:Release YYYYMMDD。 詢問使用者確認日期(可能因假期調整)。
Step 7b — 格式化 Release page:
依照現有 Release page 格式(markdown bullet list,按團隊分組):
* Team A
* [PROJ-100 ticket title](https://{config: jira.instance}/browse/PROJ-100) — Code Review
* [PROJ-101 ticket title](https://{config: jira.instance}/browse/PROJ-101) — 開放
* Team B
* [PROJ-200 ticket title](https://{config: jira.instance}/browse/PROJ-200) — Waiting for QA每張 ticket 附上當前狀態。已關閉的用 ~~刪除線~~。
Release page 是 planning / communication artifact,不是 release gate。頁面出現某張 ticket, 不代表該 ticket 已達 release_eligible,更不代表 release_completed。
Step 7c — 推送 Confluence:
Workspace language policy gate(blocking):完整規則見 references/workspace-language-policy.md。Release page / planning summary 寫入 Confluence 前,先把最終內容落成 temp markdown,執行:
bash scripts/validate-language-policy.sh --blocking --mode artifact <sprint-planning-release-page.md>exit ≠ 0 → 修正頁面主敘述語言後重跑;不可把未通過 gate 的 release page 寫入 Confluence。
依 references/confluence-page-update.md 的簡化模式:搜尋 Release page(CQL title = "Release YYYYMMDD"),已存在則更新,不存在則建立。更新完成後附上 Confluence 頁面連結。
Non-optional. Execute before reporting task completion.
Run the checklist in post-task-reflection-checkpoint.md.
~30 seconds. Free. No account. Every finding cites a rule and a line of evidence.