2.4 KiB
2.4 KiB
name, description
| name | description |
|---|---|
| sprint-report | Generate sprint status report from Jira data. |
Skill: sprint-report
Generate sprint status report from Jira data.
Invoked by
🎫 JiraOps mode (or 🪃 Orchestrator)
Required Inputs
| Input | Source | Example |
|---|---|---|
PROJECT_KEY |
Jira project key | PROJECT |
SPRINT_ID |
Sprint ID (optional — auto-detected) | 1234 |
Output
Markdown report: docs/sprint-reports/sprint-<sprint_name>-<date>.md
Steps
1. Get active sprint
boards = get_agile_boards(project_key=PROJECT_KEY)
sprints = get_sprints_from_board(board_id=boards[0]["id"], states="active")
sprint = sprints[0]
2. Get sprint tickets
tickets = get_tickets_from_sprint(sprint_id=sprint["id"])
3. Categorize by status
| Category | Statuses |
|---|---|
| To Do | Open, Backlog, To Do |
| In Progress | In Progress, In Development |
| In Review | In Review, Code Review |
| Done | Done, Accepted, Closed |
4. Calculate metrics
total = len(tickets)
done = len([t for t in tickets if t["status"] in DONE_STATUSES])
completion_pct = round(done / total * 100) if total > 0 else 0
5. Generate report
# Sprint Report: <sprint_name>
**Date:** <today>
**Sprint:** <sprint_name>
**Period:** <start> — <end>
**Project:** <PROJECT_KEY>
---
## Overview
| Metric | Value |
|--------|-------|
| Total tickets | <total> |
| Done | <done> (<pct>%) |
| In Progress | <wip> |
| Open | <todo> |
## Progress
[████████████░░░░░░░░] 60% (/)
## By Status
### ✅ Done (<done>)
| Ticket | Type | Summary | Assignee |
|--------|------|---------|----------|
| <key> | Story | <summary> | <name> |
### 🔄 In Progress (<wip>)
| Ticket | Type | Summary | Assignee |
|--------|------|---------|----------|
### ⏳ Open (<todo>)
| Ticket | Type | Summary | Assignee |
|--------|------|---------|----------|
## By Assignee
| Assignee | Total | Done | In Progress | Open |
|----------|-------|------|-------------|------|
## Blockers / Risks
| Ticket | Description | Since | Impact |
|--------|-------------|-------|--------|
6. Store in BigMind
memory_store_fact(
category="codebase",
fact=f"Sprint report for {sprint_name}: {done}/{total} done ({pct}%)"
)