Initial commit

This commit is contained in:
Zhongwei Li
2025-11-30 08:46:30 +08:00
commit 569ae39e1b
11 changed files with 1433 additions and 0 deletions

125
commands/hygiene-check.md Normal file
View File

@@ -0,0 +1,125 @@
---
description: Audit sprint tickets for missing required fields and quality issues
allowed-tools: Bash
argument-hint: [scope: sprint|backlog|all]
---
# Hygiene Check
Audit JIRA tickets for missing required fields and quality issues.
## Arguments
- `$1` (optional): Scope of check
- `sprint` (default): Current sprint tickets only
- `backlog`: Backlog items
- `all`: All recent tickets
## Instructions
1. **Get tickets to audit (current sprint by default):**
```bash
jira sprint list --current -p HYPERFLEET --json 2>/dev/null
```
2. **Find tickets without story points:**
```bash
jira issue list -q"project = HYPERFLEET AND 'Story Points' is EMPTY AND sprint in openSprints() AND issuetype in (Story, Task, Bug)" --plain 2>/dev/null
```
3. **Find tickets with minimal description:**
```bash
jira issue list -q"project = HYPERFLEET AND sprint in openSprints() AND description is EMPTY" --plain 2>/dev/null
```
4. **Find unassigned tickets in sprint:**
```bash
jira issue list -q"project = HYPERFLEET AND assignee is EMPTY AND sprint in openSprints()" --plain 2>/dev/null
```
5. **Find tickets without components:**
```bash
jira issue list -q"project = HYPERFLEET AND component is EMPTY AND sprint in openSprints()" --plain 2>/dev/null
```
6. **Find stale tickets (no updates in 7+ days):**
```bash
jira issue list -q"project = HYPERFLEET AND sprint in openSprints() AND status != Done AND updated < -7d" --plain 2>/dev/null
```
7. **Find tickets without labels:**
```bash
jira issue list -q"project = HYPERFLEET AND labels is EMPTY AND sprint in openSprints()" --plain 2>/dev/null
```
8. **For detailed ticket inspection, view individual tickets:**
```bash
jira issue view TICKET-KEY --plain 2>/dev/null
```
## Output Format
### Hygiene Report
#### Missing Story Points
| Ticket | Summary | Type | Assignee |
|--------|---------|------|----------|
| TICKET-1 | [Summary] | Story | [Name] |
**Action Required:** These tickets need estimation before sprint planning.
---
#### Missing/Inadequate Description
| Ticket | Summary | Description Length |
|--------|---------|-------------------|
| TICKET-1 | [Summary] | Empty |
| TICKET-2 | [Summary] | < 50 chars |
**Action Required:** Add detailed description with context and acceptance criteria.
---
#### Unassigned Tickets
| Ticket | Summary | Priority | Days in Sprint |
|--------|---------|----------|----------------|
**Action Required:** Assign owner or move to backlog.
---
#### Missing Components
| Ticket | Summary |
|--------|---------|
**Action Required:** Assign appropriate component for tracking.
---
#### Stale Tickets (No Update 7+ Days)
| Ticket | Summary | Status | Last Updated |
|--------|---------|--------|--------------|
**Action Required:** Update status or add comment on progress.
---
### Summary Score
| Check | Pass | Fail | Score |
|-------|------|------|-------|
| Story Points | X | X | X% |
| Description | X | X | X% |
| Assignee | X | X | X% |
| Component | X | X | X% |
| Freshness | X | X | X% |
| **Overall** | | | **X%** |
### Sprint Readiness
- **Ready for Sprint:** X tickets
- **Needs Work:** X tickets
- **Critical Issues:** X tickets
### Top Priority Fixes
1. [Most critical hygiene issue]
2. [Second priority]
3. [Third priority]

50
commands/my-sprint.md Normal file
View File

@@ -0,0 +1,50 @@
---
description: Show current sprint and your assigned tasks
allowed-tools: Bash
---
# My Sprint
Show the current sprint information and the user's assigned tickets.
## Instructions
1. **Get current sprint overview:**
```bash
jira sprint list --current -p HYPERFLEET --plain 2>/dev/null || echo "Error: Could not fetch sprint. Is jira-cli configured?"
```
2. **Get user's assigned tickets in current sprint:**
```bash
jira sprint list --current -p HYPERFLEET -a$(jira me) --plain 2>/dev/null
```
3. **Get ticket status breakdown:**
```bash
jira issue list -q"project = HYPERFLEET AND assignee = currentUser()" --created-after "-30d" --plain 2>/dev/null
```
## Output Format
Summarize the results in a clear format:
### Sprint Overview
- Sprint name and goal (if available)
- Days remaining in sprint
- Sprint progress indicator
### Your Tickets
Group by status:
- **To Do**: List tickets not yet started
- **In Progress**: List tickets being worked on
- **In Review/QA**: List tickets awaiting review
- **Done**: List completed tickets
### Summary
- Total tickets assigned: X
- Story points assigned: X (if visible)
- Any blockers or high-priority items to highlight
If jira-cli is not installed or configured, inform the user they need to:
1. Install jira-cli: `brew install ankitpokhrel/jira-cli/jira-cli`
2. Configure it: `jira init`

50
commands/my-tasks.md Normal file
View File

@@ -0,0 +1,50 @@
---
description: List all your assigned JIRA tasks across projects
allowed-tools: Bash
---
# My Tasks
Show all JIRA tickets currently assigned to the user.
## Instructions
1. **Get all assigned tickets (recent, sorted by updated):**
```bash
jira issue list -q"project = HYPERFLEET AND assignee = currentUser()" --order-by updated --reverse --plain 2>/dev/null
```
2. **For more detail with JSON output:**
```bash
jira issue list -q"project = HYPERFLEET AND assignee = currentUser()" --order-by updated --reverse --json 2>/dev/null | head -100
```
## Output Format
Present tickets grouped by status:
### In Progress
| Key | Summary | Priority | Updated |
|-----|---------|----------|---------|
### To Do
| Key | Summary | Priority | Created |
|-----|---------|----------|---------|
### Blocked / On Hold
| Key | Summary | Blocker Reason |
|-----|---------|----------------|
### Recently Completed (last 7 days)
| Key | Summary | Completed |
|-----|---------|-----------|
## Summary Stats
- Total active tickets: X
- Oldest ticket age: X days
- Tickets updated today: X
## Tips
- Highlight any tickets not updated in 7+ days
- Flag high-priority tickets that need attention
- Note any tickets missing story points

48
commands/new-comments.md Normal file
View File

@@ -0,0 +1,48 @@
---
description: Find tickets with new comments you may have missed
allowed-tools: Bash
---
# New Comments
Find JIRA tickets with recent comments that the user should be aware of.
## Instructions
1. **Find tickets you're involved with that have recent comments:**
```bash
jira issue list -q"project = HYPERFLEET AND (assignee = currentUser() OR reporter = currentUser() OR watcher = currentUser()) AND updated >= -1d" --order-by updated --reverse --plain 2>/dev/null
```
2. **Alternative - find recently updated tickets you're assigned to:**
```bash
jira issue list -q"project = HYPERFLEET AND assignee = currentUser()" --updated-after "-1d" --order-by updated --reverse --plain 2>/dev/null
```
3. **View specific ticket to see comments (for each relevant ticket):**
```bash
jira issue view TICKET-KEY --comments 5 --plain 2>/dev/null
```
## Output Format
### Tickets with Recent Activity
For each ticket with new comments:
**TICKET-KEY: Summary**
- Last updated: [timestamp]
- Latest comment by: [author]
- Comment preview: [first 100 chars of comment]
---
### Summary
- Tickets with new comments: X
- Comments requiring your response: X (where you were @mentioned)
## Notes
- Focus on tickets updated in the last 24 hours by default
- If user specifies a different timeframe (e.g., "last week"), adjust the JQL accordingly
- Highlight any comments that directly mention the user
- Flag urgent/blocking discussions

94
commands/sprint-status.md Normal file
View File

@@ -0,0 +1,94 @@
---
description: Sprint health overview for team leads - progress, blockers, and risks
allowed-tools: Bash
argument-hint: [project-key]
---
# Sprint Status (Team Lead View)
Comprehensive sprint health report for team leads and scrum masters.
## Arguments
- `$1` (optional): Project key (e.g., HYPERFLEET). If not provided, uses HYPERFLEET as default.
## Instructions
1. **Get current sprint info:**
```bash
jira sprint list --current -p HYPERFLEET --plain 2>/dev/null
```
2. **Get all tickets in current sprint:**
```bash
jira sprint list --current -p HYPERFLEET --plain 2>/dev/null
```
3. **Get tickets by status - To Do:**
```bash
jira issue list -q"project = HYPERFLEET AND status = 'To Do'" --created-after "-30d" --plain 2>/dev/null
```
4. **Get tickets by status - In Progress:**
```bash
jira issue list -q"project = HYPERFLEET AND status = 'In Progress'" --plain 2>/dev/null
```
5. **Get tickets by status - Done (this sprint):**
```bash
jira issue list -q"project = HYPERFLEET AND status = Done" --updated-after "-14d" --plain 2>/dev/null
```
6. **Find blockers (high priority not done):**
```bash
jira issue list -q"project = HYPERFLEET AND priority = Highest AND status != Done" --plain 2>/dev/null
jira issue list -q"project = HYPERFLEET AND priority = High AND status != Done" --plain 2>/dev/null
```
7. **Find unassigned tickets:**
```bash
jira issue list -q"project = HYPERFLEET AND assignee is EMPTY AND sprint in openSprints()" --plain 2>/dev/null
```
## Output Format
### Sprint Overview
```
Sprint: [Sprint Name]
Duration: [Start Date] - [End Date]
Days Remaining: X days
```
### Progress Summary
| Status | Count | Story Points |
|--------|-------|--------------|
| To Do | X | X pts |
| In Progress | X | X pts |
| Done | X | X pts |
| **Total** | **X** | **X pts** |
Progress: [=========> ] 65% complete
### Risk Assessment
#### Blockers & High Priority
- TICKET-1: [Summary] - Assigned to [Name] - [X days in status]
- TICKET-2: [Summary] - **UNASSIGNED**
#### At-Risk Items
- Tickets in progress > 5 days without update
- Tickets without story points
- Unassigned tickets
#### Carry-Over Risk
- Tickets likely to spill: X
- Story points at risk: X
### Team Workload
| Team Member | To Do | In Progress | Done |
|-------------|-------|-------------|------|
| [Name] | X | X | X |
### Recommendations
- List actionable items for the team lead
- Highlight tickets needing attention
- Suggest re-assignments if workload is unbalanced