From aai-pm-jira
Analyzes Jira ticket quality by scoring clarity, completeness, actionability, and context dimensions; identifies issues and suggests prioritized fixes with examples.
npx claudepluginhub bradtaylorsf/alphaagent-teamThis skill uses the workspace's default tool permissions.
This skill provides methodology for analyzing Jira ticket quality and identifying areas for improvement.
Mandates invoking relevant skills via tools before any response in coding sessions. Covers access, priorities, and adaptations for Claude Code, Copilot CLI, Gemini CLI.
Share bugs, ideas, or general feedback.
This skill provides methodology for analyzing Jira ticket quality and identifying areas for improvement.
Questions to assess:
Scoring:
Questions to assess:
Scoring:
Questions to assess:
Scoring:
Questions to assess:
Scoring:
Rate each dimension 1-5 and note specific issues:
| Dimension | Score | Issues |
|-----------|-------|--------|
| Clarity | 3 | Acronyms undefined, vague scope |
| Completeness | 2 | No acceptance criteria |
| Actionability | 2 | Blocked by design |
| Context | 4 | Good background |
| **Overall** | **2.75** | Needs refinement |
For each issue, provide:
Prioritize fixes by impact:
Before: "Fix the thing" After: "Fix payment processing timeout for orders over $1000"
Pattern: [Action] [specific thing] [condition/context]
Before:
Make the page faster
After:
h2. Acceptance Criteria
* Page load time < 2 seconds on 3G connection
* Lighthouse performance score > 80
* No layout shift during load
* Images lazy-loaded below fold
Before:
Add retry logic to API calls
After:
h2. Context
Users are experiencing intermittent failures when the payment service is slow to respond. This causes checkout abandonment and support tickets.
h2. Problem
When the payment API times out (typically 2-3 times per day during peak hours), the user sees an error with no recovery path.
h2. Solution
Add retry logic with exponential backoff to handle transient failures gracefully.
Before:
Change this:
function processOrder(order) {
// 50 lines of code
}
To this:
function processOrder(order) {
// 50 different lines of code
}
After:
h2. Change Required
Modify {{src/services/orderProcessor.ts}} to validate order totals before processing.
h2. Technical Notes
* Add validation in processOrder function
* Throw OrderValidationError for invalid totals
* Log validation failures for monitoring
Before:
Add user notifications. Also we should probably redo the entire notification system and add email preferences and maybe webhooks too.
After:
h2. Scope
Add email notification when order ships.
h2. Out of Scope (Future Tickets)
* Notification preferences UI
* Webhook integrations
* Push notifications
## Ticket Quality Analysis: PROJ-123
### Summary
[Brief description of the ticket]
### Quality Scores
| Dimension | Score | Status |
|-----------|-------|--------|
| Clarity | X/5 | [Good/Needs Work/Poor] |
| Completeness | X/5 | [Good/Needs Work/Poor] |
| Actionability | X/5 | [Good/Needs Work/Poor] |
| Context | X/5 | [Good/Needs Work/Poor] |
| **Overall** | **X/5** | |
### Issues Found
#### Critical Issues
1. [Issue description]
- Impact: [Why this matters]
- Fix: [How to resolve]
#### Important Issues
1. [Issue description]
- Impact: [Why this matters]
- Fix: [How to resolve]
#### Minor Issues
1. [Issue description]
### Recommended Improvements
1. **[Most Important Fix]**
Current: [What it says now]
Improved: [What it should say]
2. **[Second Fix]**
[Details]
### Readiness Assessment
- [ ] Ready for sprint planning
- [x] Needs refinement first
- [ ] Needs product clarification
- [ ] Needs technical discovery
# Missing description
project = PROJ AND description IS EMPTY
# Short descriptions (< 100 chars approximation)
project = PROJ AND description ~ "[a-zA-Z]" AND NOT description ~ "*\\n*"
# No acceptance criteria pattern
project = PROJ AND description !~ "acceptance" AND description !~ "criteria" AND type = Story
# Old unrefined tickets
project = PROJ AND status = "To Do" AND created <= -60d AND labels NOT IN ("refined", "ready")
Track over time: