Investigates and triages raw feedback (UAT, bug reports, QA findings) into well-formed GitHub issues with project board integration. Investigates each item before creating issues.
How this skill is triggered — by the user, by Claude, or both
Slash command
/issue-driven-development:feedback-triageopusThis skill is limited to the following tools:
The summary Claude sees in its skill listing — used to decide when to auto-load this skill
Process raw feedback into actionable, well-documented GitHub issues. Every feedback item is investigated before issue creation.
Process raw feedback into actionable, well-documented GitHub issues. Every feedback item is investigated before issue creation.
Core principle: Investigate first, issue second. Never create an issue without understanding what you're documenting.
Announce at start: "I'm using feedback-triage to investigate and create issues from this feedback."
Use this skill when you receive:
| Trigger | Examples |
|---|---|
| UAT feedback | "We have bugs from UAT testing..." |
| User testing results | "Users reported the following issues..." |
| Bug reports | "Here are the errors we found..." |
| Stakeholder feedback | "The client wants these changes..." |
| QA findings | "QA discovered these problems..." |
| Support escalations | "Support tickets about..." |
| Production incidents | "These errors are occurring in prod..." |
| Feature requests batch | "Users have requested..." |
| UX review findings | "The UX review identified..." |
Key indicators:
Flow: Verify project board → Parse items → For each: Investigate → Classify → Create issue → Add to project board
Before any triage, verify project board infrastructure is ready.
# Verify environment variables
if [ -z "$GITHUB_PROJECT_NUM" ]; then
echo "BLOCKED: GITHUB_PROJECT_NUM not set"
exit 1
fi
if [ -z "$GH_PROJECT_OWNER" ]; then
echo "BLOCKED: GH_PROJECT_OWNER not set"
exit 1
fi
# Verify project is accessible
gh project view "$GITHUB_PROJECT_NUM" --owner "$GH_PROJECT_OWNER" --format json > /dev/null 2>&1
Skill: project-board-enforcement
Read through the feedback and identify each distinct item. Look for:
# Use TodoWrite to track each item
# Example: 3 items from UAT feedback
TodoWrite:
- [ ] Investigate: Family page error (API 500)
- [ ] Investigate: Terminology issue (Children vs Care Recipients)
- [ ] Investigate: Cannot add care recipient (API 500)
Create a summary table for the user:
## Feedback Items Identified
| # | Summary | Type (Preliminary) | Severity |
|---|---------|-------------------|----------|
| 1 | Family page error | Bug | High |
| 2 | Terminology needs review | UX/Research | Medium |
| 3 | Cannot add care recipient | Bug | High |
I will investigate each item before creating issues.
CRITICAL: Never create an issue without investigation. Understanding comes first.
## Investigation: [Item Title]
### 1. Error Analysis
- Error code: [e.g., INTERNAL_ERROR, 500, 404]
- Error message: [exact message]
- Request endpoint: [URL]
- Request method: [GET/POST/etc.]
### 2. Reproduction
- Can reproduce: [Yes/No]
- Reproduction steps:
1. [Step 1]
2. [Step 2]
### 3. Code Investigation
- Relevant files: [paths]
- Likely cause: [hypothesis after code review]
- Related code: [functions/modules involved]
### 4. Impact Assessment
- Users affected: [All/Some/Specific conditions]
- Functionality blocked: [What can't users do?]
- Workaround exists: [Yes/No - describe if yes]
### 5. Classification
- Type: Bug
- Severity: [Critical/High/Medium/Low]
- Priority: [Critical/High/Medium/Low]
## Investigation: [Item Title]
### 1. Current Behavior
- What exists now: [description]
- Where it appears: [URLs/screens]
- Current implementation: [code locations]
### 2. Requested Change
- What's being asked for: [description]
- User impact: [how this affects users]
- Business context: [why this matters]
### 3. Scope Analysis
- Files affected: [list]
- Complexity: [Low/Medium/High]
- Dependencies: [other features/systems]
### 4. Design Considerations
- Options identified:
1. [Option A] - [pros/cons]
2. [Option B] - [pros/cons]
- Recommendation: [if clear]
- Needs: [Design input / Product decision / Research]
### 5. Classification
- Type: Feature / Research / UX Enhancement
- Priority: [Critical/High/Medium/Low]
## Investigation: [Item Title]
### 1. Incident Details
- First reported: [timestamp]
- Frequency: [One-time/Intermittent/Constant]
- Environment: [Production/Staging/etc.]
### 2. Error Analysis
- Error logs: [key log entries]
- Stack trace: [if available]
- Affected service: [component/service name]
### 3. Impact Assessment
- Users affected: [count/percentage]
- Revenue impact: [if applicable]
- SLA implications: [if applicable]
### 4. Root Cause Analysis
- Hypothesis: [likely cause]
- Evidence: [supporting data]
- Related changes: [recent deployments/changes]
### 5. Classification
- Type: Bug
- Severity: Critical / High
- Priority: Critical / High
For each item, verify:
| Type | When to Use | Project Board Type |
|---|---|---|
| Bug | Something broken, not working as designed | Bug |
| Feature | New capability, clear requirements | Feature |
| Research | Needs exploration, design thinking, options analysis | Research |
| Spike | Time-boxed technical investigation | Spike |
| Chore | Maintenance, cleanup, non-user-facing | Chore |
| UX Enhancement | Improving existing user experience | Feature |
| Priority | Criteria | Response |
|---|---|---|
| Critical | Production down, data loss, security breach | Immediate |
| High | Major feature broken, significant user impact, blocking | This sprint |
| Medium | Feature degraded, workaround exists, important but not blocking | Next sprint |
| Low | Minor issue, cosmetic, nice-to-have | Backlog |
A low-severity bug affecting a VIP customer may be high priority. A high-severity bug on a deprecated feature may be low priority.
Bug: [Bug] <description> - Include: Summary, Environment, Steps to Reproduce, Expected/Actual Behavior, Error Details, Investigation Findings (files, cause, impact), Acceptance Criteria, Source.
Feature: [Feature] <description> - Include: Summary, Background, Current/Proposed Behavior, User Story, Scope Analysis (files, complexity), Acceptance Criteria, Out of Scope.
Research: [Research] <topic> - Include: Summary, Background, Questions to Answer, Scope, Time Box, Deliverables, Acceptance Criteria.
Use gh issue create --title "[Type] ..." --body "..." with appropriate sections from above.
Every issue MUST be added to the project board with correct fields.
Use project-board-enforcement skill functions:
add_issue_to_project - Add issue to projectset_project_status - Set Status (Ready/Backlog)set_project_type - Set Type (Bug/Feature/Research)Skill: project-board-enforcement
After all items are triaged, provide a summary:
## Triage Complete
### Issues Created
| # | Issue | Type | Priority | Status |
|---|-------|------|----------|--------|
| 1 | #123 - Family page API error | Bug | High | Ready |
| 2 | #124 - Kin Circle terminology research | Research | Medium | Ready |
| 3 | #125 - Cannot add care recipient | Bug | High | Ready |
### Project Board Status
All issues added to project board with correct fields.
### Recommended Order
1. **#123** - Blocking user access to family page
2. **#125** - Blocking care recipient management
3. **#124** - UX research can proceed in parallel
### Next Steps
- [ ] Assign issues to developers
- [ ] Begin work using `issue-driven-development`
- [ ] Or request immediate resolution
Title formats: [Bug] <what's broken>, [Feature] <what it does>, [Research] <what to investigate>, [Spike] <technical question>
Good acceptance criteria: Specific, verifiable, behavior-focused, testable checkboxes.
If feedback is vague: Ask clarifying questions OR create Research issue. Document what IS known.
| Skill | When |
|---|---|
issue-driven-development | After issues created, to begin resolution |
issue-decomposition | If a feedback item is too large for one issue |
epic-management | If feedback items should be grouped as epic |
| Skill | For |
|---|---|
project-board-enforcement | Adding issues to project board |
pre-work-research | Investigation patterns |
issue-prerequisite | Issue quality standards |
Store triage sessions in knowledge graph:
mcp__memory__create_entities([{
"name": "Triage-[DATE]-[SOURCE]",
"entityType": "FeedbackTriage",
"observations": [
"Source: UAT / User Report / etc.",
"Date: [DATE]",
"Items received: [COUNT]",
"Issues created: #X, #Y, #Z",
"Types: [Bug: N, Feature: N, Research: N]",
"High priority: [COUNT]"
]
}])
Gate: No issue is created without investigation. No issue is left outside the project board.
If the user requests resolution after triage:
Issues have been created and prioritized.
**To resolve these issues:**
1. I will work through them using `issue-driven-development`
2. Starting with highest priority: #[N]
3. Each issue will follow the full development process
Shall I proceed with resolution, or should these be assigned for later work?
If proceeding, invoke issue-driven-development for each issue in priority order.
npx claudepluginhub troykelly/claude-skills --plugin issue-driven-developmentCreates and manages GitHub issues for bugs, features, and tasks with enforced quality standards like reproducibility steps, acceptance criteria, and severity assessment.
Operates Linear or Jira boards via official MCP servers: brainstorm, create/update/finalize issues, refine into PRDs/TechSpecs with child issues, execute children with test evidence, or manage Jira GMUDs. Detects provider, applies template conventions, and confirms writes.
Triage bug reports and error messages by searching Jira for duplicates and creating well-structured tickets with historical context.