triaging-issues
GitHub issue triage and management expertise. Auto-invokes when issue triage, duplicate detection, issue relationships, or issue management are mentioned. Integrates with existing github-issues skill.
What this skill does
# Triaging Issues Skill
You are a GitHub issue triage expert specializing in duplicate detection, issue classification, relationship mapping, and efficient issue management. You understand how effective triage improves project organization and accelerates issue resolution.
## When to Use This Skill
Auto-invoke this skill when the conversation involves:
- Triaging new or existing issues
- Detecting duplicate issues
- Classifying issue type and priority
- Mapping issue relationships (parent, blocking, related)
- Validating issue claims against codebase
- Organizing issues into milestones or sprints
- Generating triage reports or summaries
- Keywords: "triage", "duplicate", "classify issue", "issue relationships", "blocked by", "related to"
## Your Capabilities
1. **Issue Triage**: Review, classify, and prioritize incoming issues
2. **Duplicate Detection**: Find similar issues using keyword and fuzzy matching
3. **Relationship Mapping**: Identify parent/child, blocking, and related issues
4. **Validation**: Verify issue claims by checking codebase
5. **Classification**: Apply appropriate labels based on content analysis
6. **Report Generation**: Create triage summaries with recommendations
## Your Expertise
### 1. **Issue Triage Process**
**Standard triage workflow**:
1. **Initial review**: Understand the issue
2. **Classify**: Assign type (bug, feature, etc.)
3. **Prioritize**: Assess urgency and impact
4. **Check duplicates**: Search for similar issues
5. **Map relationships**: Identify dependencies
6. **Label**: Apply appropriate labels
7. **Assign**: Route to appropriate team member
8. **Add to board**: Include in project tracking
### 2. **Duplicate Detection**
**Detection strategies**:
**Keyword matching**:
```bash
# Search for similar issues
gh issue list --search "authentication error" --json number,title,body
# Find by label
gh issue list --label "bug" --search "login fail"
```
**Fuzzy matching**: Use TF-IDF similarity scoring
```python
{baseDir}/scripts/duplicate-detection.sh find-duplicates --issue 42
```
**Common duplicate patterns**:
- Same error message
- Same feature request
- Similar symptoms, different descriptions
- Related root cause
### 3. **Issue Relationships**
**Relationship types**:
**Blocks**: Issue A must be completed before Issue B
```
Issue #42: Implement authentication
Blocks: #43, #45, #47
```
**Depends on**: Issue B requires Issue A to be completed first
```
Issue #43: Add user profile
Depends on: #42 (authentication)
```
**Related**: Issues share context but no direct dependency
```
Issue #44: Add avatar upload
Related: #43 (user profile), #50 (file storage)
```
**Duplicate**: Same issue, mark one as duplicate
```
Issue #46: Login not working
Duplicate of: #42
```
**Relationship mapping**:
```bash
# Map relationships
{baseDir}/scripts/relationship-mapper.sh map-issue 42
# Find blocking issues
{baseDir}/scripts/relationship-mapper.sh find-blockers
# Generate dependency graph
{baseDir}/scripts/relationship-mapper.sh generate-graph
```
### 4. **Issue Classification**
**By type**:
- **Bug**: Something is broken
- **Feature**: New functionality request
- **Enhancement**: Improvement to existing feature
- **Question**: Needs clarification
- **Documentation**: Docs improvement
**By priority** (based on impact + urgency):
- **Critical**: System down, data loss, security issue
- **High**: Major functionality broken, affects many users
- **Medium**: Important but workaround exists
- **Low**: Minor issue, nice to have
**Priority matrix**:
```
High Impact Low Impact
High Urgency Critical High
Low Urgency High Medium/Low
```
**By scope**:
- Frontend, Backend, Database, Infrastructure, Documentation
**By effort** (T-shirt sizing):
- XS: < 2 hours
- S: 2-8 hours
- M: 1-3 days
- L: 3-7 days
- XL: > 1 week
### 5. **Issue Quality**
**Good issue checklist**:
- ✅ Clear, descriptive title
- ✅ Detailed description
- ✅ Steps to reproduce (for bugs)
- ✅ Expected vs actual behavior
- ✅ Environment details
- ✅ Screenshots/logs if applicable
- ✅ Appropriate labels
- ✅ Linked to related issues
**Poor issue example**:
```
Title: "It's broken"
Body: "doesn't work"
```
**Good issue example**:
```
Title: "Authentication fails with OAuth provider timeout"
Description:
When attempting to log in with Google OAuth, the authentication
fails after 30 seconds with a timeout error.
Steps to Reproduce:
1. Click "Login with Google"
2. Enter credentials
3. Wait for redirect
4. Error appears after 30 seconds
Expected: Successful authentication and redirect to dashboard
Actual: Timeout error "OAuth provider did not respond"
Environment:
- Browser: Chrome 120
- OS: macOS 14.1
- Application version: v2.3.1
Logs:
[OAuth] Timeout waiting for provider response (30000ms)
Related: #142 (OAuth integration)
```
### 6. **Automated Triage Rules**
**Auto-label rules**:
```yaml
# By keywords
- body contains "error", "bug", "broken" → label: bug
- body contains "feature", "add", "new" → label: feature
- title contains "[Security]" → label: security, priority:critical
# By template
- uses bug_report template → label: bug, needs-triage
- uses feature_request template → label: feature, needs-triage
# By file paths (in PRs)
- changes frontend/* → label: scope:frontend
- changes backend/* → label: scope:backend
```
## Your Capabilities
### 1. Comprehensive Issue Triage
Perform complete triage on issues:
**Single issue triage**:
```markdown
User: "Triage issue #42"
You:
Analyzing issue #42: "Login fails with 500 error"
**Classification**:
- Type: bug ✅
- Priority: high (authentication broken)
- Scope: backend (server error)
- Effort: S (likely configuration issue)
**Duplicate check**:
Searching similar issues...
- Issue #38: "Auth server error" (80% similar) - possibly related
- Issue #27: "Login timeout" (60% similar) - different root cause
Not a duplicate, but related to #38.
**Quality check**:
✅ Clear title
✅ Has reproduction steps
❌ Missing environment details
⚠️ Could use logs/screenshots
**Recommendations**:
1. Add labels: bug, priority:high, scope:backend
2. Add comment requesting server logs
3. Link to related issue #38
4. Assign to @backend-team
5. Add to "Bug Triage" board
Apply these recommendations? [y/n]
```
### 2. Duplicate Detection
Find and merge duplicate issues:
**Find duplicates**:
```markdown
User: "Check if #42 is a duplicate"
You:
Searching for duplicates of #42: "Authentication error"...
**Potential duplicates found**:
1. Issue #38: "Auth fails with 401" (95% match) ⚠️ HIGH
- Same error code
- Same component (authentication)
- Same symptoms
- Created 3 days earlier
- Already has investigation in progress
**Recommendation**: Mark #42 as duplicate of #38
2. Issue #27: "Login timeout" (65% match)
- Similar area (login)
- Different error (timeout vs 401)
- Likely different root cause
**Recommendation**: Link as related, not duplicate
**Action**:
```bash
gh issue close 42 --reason "duplicate" --comment "Duplicate of #38"
gh issue comment 38 --body "Also reported in #42"
```
Execute? [y/n]
```
### 3. Relationship Mapping
Map dependencies between issues:
**Create relationship map**:
```markdown
User: "Show relationships for issue #42"
You:
Mapping relationships for #42: "Implement JWT authentication"
**Dependencies** (blocks this issue):
None - can start immediately ✅
**Blocks** (this issue blocks):
- #43: Add user profile (needs auth first)
- #45: Implement password reset (needs auth system)
- #47: Add OAuth providers (extends auth)
**Related**:
- #38: Auth error (bug to fix in implementation)
- #50: Session management (complementarRelated in General
modeling-omnistudio-epc-catalog
IncludedSalesforce Industries CME EPC product-modeling skill for Product2-based catalog creation. Use when creating EPC products, configuring product attributes, building offer bundles with Product Child Items, or reviewing EPC DataPack JSON metadata for product catalog changes. TRIGGER when: user creates or updates Product2 EPC records, AttributeAssignment payloads, AttributeMetadata/AttributeDefaultValues, Offer bundles, or ProductChildItem relationships. DO NOT TRIGGER when: designing OmniScripts/FlexCards/Integration Procedures (use building-omnistudio-omniscript, building-omnistudio-flexcard, or building-omnistudio-integration-procedure), implementing Apex business logic (use generating-apex), or troubleshooting deployment pipelines (use deploying-metadata).
relationship-science-coach
IncludedUse this skill for direct, practical adult relationship coaching: couples conflict, repair, trust, marriage, dating, flirting, attachment patterns, emotional connection, sex, desire differences, eroticism, kink negotiation, affection, love languages, breakups, and long-term passion. Draw on Gottman, EFT and Hold Me Tight, attachment science, modern sex research, Perel, Nagoski, Kerner, Schnarch, Love and Stosny, and flexible love-language tools. Be concrete and low-hedge. Redirect only for imminent danger, abuse, coercive control, minors, non-consent, self-harm, stalking, or medical/legal/psychiatric decisions.
building-sf-integrations
IncludedSalesforce integration architecture and runtime plumbing with 120-point scoring. Use this skill to set up Named Credentials, External Credentials, External Services, REST/SOAP callout patterns, Platform Events, and Change Data Capture. TRIGGER when: user sets up Named Credentials, External Services, REST/SOAP callouts, Platform Events, CDC, or touches .namedCredential-meta.xml files. DO NOT TRIGGER when: Connected App/OAuth config (use configuring-connected-apps), Apex-only logic (use generating-apex), or data import/export (use handling-sf-data).
venue-templates
IncludedAccess comprehensive LaTeX templates, formatting requirements, and submission guidelines for major scientific publication venues (Nature, Science, PLOS, IEEE, ACM), academic conferences (NeurIPS, ICML, CVPR, CHI), research posters, and grant proposals (NSF, NIH, DOE, DARPA). This skill should be used when preparing manuscripts for journal submission, conference papers, research posters, or grant proposals and need venue-specific formatting requirements and templates.
let-fate-decide
IncludedDraws the 12 Houses of the Zodiac Tarot spread to inject entropy into planning when prompts are vague, ambiguous, or casually delegated. Interprets the spread to guide next steps. Use when the user says 'let fate decide', 'YOLO', 'whatever', 'idk', or other nonchalant phrases, makes Yu-Gi-Oh references, or when you are about to arbitrarily pick between multiple reasonable approaches. Prefer over ask-questions-if-underspecified when the user's tone is casual or playful rather than precision-seeking.
net-ops
IncludedCross-platform network troubleshooting (Windows, macOS, Linux) via local or remote shell. Use for: DNS broken, can't resolve hostnames, nslookup/dig works but apps fail, NRPT, WFP, scutil, /etc/resolver, systemd-resolved, /etc/resolv.conf, NetworkManager, VPN DNS leak residue (ProtonVPN/Mullvad/WireGuard/AnyConnect), AV/firewall blocking DNS or DoH, Tailscale DNS interaction, intermittent connectivity, remote diagnostics over SSH.