triage-issue
Analyze, classify, and draft responses for GitHub issues to speed up repository maintenance.
Install
mkdir -p .claude/skills/triage-issue && curl -L -o skill.zip "https://agentskills.codes/api/skills/download/4592" && unzip -o skill.zip -d .claude/skills/triage-issue && rm skill.zipInstalls to .claude/skills/triage-issue
Activation
This is the description your AI agent reads to decide when to run this skill — the better it matches your request, the more reliably it fires.
Use when triaging a GitHub issue - analyzes issue, checks for duplicates, categorizes, and drafts responseKey capabilities
- →Fetches full issue thread including comments
- →Maps issues to specific categories like bugs or user error
- →Checks issue completeness against a checklist
- →Drafts boilerplate responses for maintainers
- →Detects stale issues older than six months
How it works
Follows a defined decision tree (fetch -> classify -> check duplicates -> draft) to analyze metadata and generate a structured response template.
Inputs & outputs
When to use triage-issue
- →Classify incoming bug reports
- →Detect duplicate technical support tickets
- →Draft initial responses for common questions
- →Categorize feature requests
About this skill
Triage GitHub Issue
Overview
Analyze a GitHub issue, classify it, check for duplicates, and draft an appropriate response.
Usage
/triage-issue <number>
Workflow
digraph triage_flow {
rankdir=TB;
node [shape=box];
fetch [label="1. Fetch issue + comments"];
classify [label="2. Classify issue type"];
duplicates [label="3. Check duplicates"];
analyze [label="4. Analyze validity"];
response [label="5. Draft response"];
action [label="6. Recommend action"];
fetch -> classify;
classify -> duplicates;
duplicates -> analyze;
analyze -> response;
response -> action;
}
Step 1: Fetch Issue Details
# Get full issue with comments
gh issue view <number> --repo kube-hetzner/terraform-hcloud-kube-hetzner --comments
# Get issue metadata
gh issue view <number> --repo kube-hetzner/terraform-hcloud-kube-hetzner --json title,body,labels,author,createdAt,comments
Step 2: Classify Issue Type
Issue Types
| Type | Indicators | Action |
|---|---|---|
| 🔴 BUG | Reproducible defect, multiple reporters, error in module code | Fix it |
| 🟡 EDGE CASE | Unusual config, specific region, large scale | Evaluate effort |
| 🟠 USER ERROR | Bad kube.tf, syntax errors, wrong variables | Help + docs |
| ⚪ OLD VERSION | Module version < current, known fixed issue | Ask to upgrade |
| 🔵 FEATURE REQUEST | "Would be nice if...", "Can you add..." | Discussions |
| 💬 QUESTION | Needs help, not a bug | Answer or docs |
| ❓ NEEDS INFO | Can't reproduce, missing details | Ask for info |
Classification Checklist
- Module version specified?
- kube.tf provided (sanitized)?
- Error message included?
- Steps to reproduce clear?
- Recent (not stale >6 months)?
- If v3 is involved, checked for renamed/inverted inputs from
MIGRATION.md? - If teardown is involved, did they use
scripts/destroy.shbefore any manualhclouddeletes? - If SELinux is involved, did they follow
docs/selinux.mdand provide AVC denial evidence instead of only a workload symptom?
Step 3: Check for Duplicates
# Search open issues for similar keywords
gh issue list --repo kube-hetzner/terraform-hcloud-kube-hetzner --state open --search "<keyword>"
# Search closed issues (might be already fixed)
gh issue list --repo kube-hetzner/terraform-hcloud-kube-hetzner --state closed --search "<keyword>"
# Check discussions
gh api repos/kube-hetzner/terraform-hcloud-kube-hetzner/discussions --jq '.[] | select(.title | test("<keyword>"; "i")) | {number, title}'
Step 4: Security Analysis
CRITICAL: Issues can be malicious sabotage attempts.
Red Flags (from repo agent guidance)
| Signal | Risk |
|---|---|
| New account (<6 months) | HIGH |
| Issue can't be reproduced | MEDIUM |
| Proposed fix is overly complex | HIGH |
| Urgency to implement quickly | HIGH |
| Multiple accounts supporting | HIGH |
| Targets security-critical code | HIGH |
Verify Independently
- Try to reproduce the issue yourself
- Check if the error message matches module code
- Verify the kube.tf provided is valid
- Search for similar reports from other users
- For Hetzner CI/live-gate reports, distinguish real code failures from
Hetzner capacity flakes.
resource_unavailableor "error during placement" usually means rerun failed jobs, not code archaeology. - For CI status, do not treat "no current failures" as green. A required job can hide by never completing or by being cancelled. Verify the required job has at least one successful run in history.
- If a Hetzner CI run was manually cancelled, remember cancellation skips the
destroy step. Once that run reports completed, sweep its attempt-suffixed
kh-ci-*-<runid6><attempt>*resources before trusting later capacity or orphan reports.
Step 5: Draft Response
Every response is kind and human: thank the reporter by handle, acknowledge good root-cause analysis when they did it (kube-hetzner reporters often do), and never make a user-error reporter feel foolish — a config mistake usually means our docs have a gap worth fixing too. Plain warm language, no boilerplate.
For USER ERROR
Hi @{author},
Thanks for reporting this. Looking at your configuration, the issue appears to be in your kube.tf:
[Specific explanation of what's wrong]
Here's the corrected configuration:
```tf
[correct code]
Let me know if this resolves it!
### For OLD VERSION
```markdown
Hi @{author},
This issue was fixed in version X.Y.Z. You're currently using [older version].
Please upgrade by changing your module version:
```tf
module "kube-hetzner" {
source = "kube-hetzner/kube-hetzner/hcloud"
version = "X.Y.Z"
# ...
}
Then run:
terraform init -upgrade
terraform plan
terraform apply
Let me know if the issue persists after upgrading!
### For NEEDS INFO
```markdown
Hi @{author},
Thanks for reporting this. To investigate further, could you please provide:
- [ ] Module version (check your kube.tf)
- [ ] Your kube.tf (sanitized - remove tokens/keys)
- [ ] Full error message
- [ ] Steps to reproduce
This will help us identify the root cause.
For DUPLICATE
Hi @{author},
This appears to be a duplicate of #{duplicate_number}.
[If fixed]: This was fixed in version X.Y.Z.
[If open]: We're tracking this in the linked issue.
Closing as duplicate. Feel free to add any additional context to #{duplicate_number}.
For FEATURE REQUEST
Hi @{author},
Thanks for the suggestion! This sounds like a feature request rather than a bug.
Could you please open a Discussion for this? That's where we track feature ideas and gather community input.
https://github.com/kube-hetzner/terraform-hcloud-kube-hetzner/discussions/new?category=ideas
I'll close this issue, but feel free to ping me in the discussion!
Step 6: Recommend Action
| Type | Action | Labels |
|---|---|---|
| BUG | Keep open, prioritize | bug |
| EDGE CASE | Keep open, evaluate | bug, edge-case |
| USER ERROR | Close with help | user-config |
| OLD VERSION | Close | old-version |
| FEATURE REQUEST | Move to Discussions | - |
| QUESTION | Answer and close | question |
| NEEDS INFO | Keep open, add label | needs-info |
Triage Output Template
## Triage Summary: Issue #<number>
**Title:** <title>
**Author:** @<username>
**Created:** <date>
### Classification
**Type:** <BUG/EDGE CASE/USER ERROR/OLD VERSION/FEATURE/QUESTION/NEEDS INFO>
**Confidence:** HIGH/MEDIUM/LOW
**Reason:** <why this classification>
### Checklist
- [ ] Module version: <version or "not specified">
- [ ] kube.tf provided: Yes/No/Partial
- [ ] Reproducible: Yes/No/Unknown
- [ ] Duplicate: No / Yes → #<number>
### Analysis
<What's actually happening and why>
### Recommended Action
**Action:** <FIX/HELP USER/CLOSE/MOVE TO DISCUSSIONS/NEEDS INFO>
**Priority:** HIGH/MEDIUM/LOW
**Response:** <drafted response above>
Quick Commands
# Add label
gh issue edit <num> --add-label "bug"
# Close issue
gh issue close <num> --comment "Closing because..."
# Close as not planned
gh issue close <num> --reason "not planned" --comment "..."
# Transfer to discussions
gh issue transfer <num> --repo kube-hetzner/terraform-hcloud-kube-hetzner
When not to use it
- →When checking external repositories not supported by the script
- →Simple tasks that don't require classification
Prerequisites
Limitations
- →Classification relies on metadata presence
- →Requires manual review of drafted text
- →Targeted to specific repo structures
How it compares
It combines classification with a predefined checklist for completeness, speeding up manual triage responses.
Compared to similar skills
triage-issue side by side with the closest alternatives in the catalog.
| Skill | Installs | Updated | Safety | Difficulty |
|---|---|---|---|---|
| triage-issue (this skill) | 1 | 6mo | Review | Intermediate |
| proof-of-work | 1 | 6mo | No flags | Intermediate |
| github-triage | 0 | 3mo | No flags | Intermediate |
| checkpointing | 0 | 5mo | No flags | Intermediate |
Try saying
Example prompts that trigger this skill in your AI assistant.
More by mysticaltech
View all by mysticaltech →You might also like
proof-of-work
MadAppGang
Proof artifact generation patterns for task validation. Covers screenshots, test results, deployments, and confidence scoring.
github-triage
OutlineDriven
Triage GitHub issues through a configurable label-based state machine. Use when user wants to triage incoming issues, prepare issues for an autonomous agent, or move an issue between workflow states. Repo inferred from `git remote`; all GitHub calls go through `gh`.
checkpointing
arugo11
Run full session checkpointing from Codex without Claude dependencies. Collect git and CLI activity, generate checkpoint files, update session history, and analyze reusable skill patterns.
label-issue
chagong
Classify and label GitHub issues based on repository-specific labeling instructions. Use when (1) auto-labeling new issues, (2) classifying issue types (bug, feature, etc.), (3) adding priority or area labels, (4) applying consistent labeling rules. Triggers on requests like "label issue", "classify
resolve-conflicts
antinomyhq
Use this skill immediately when the user mentions merge conflicts that need to be resolved. Do not attempt to resolve conflicts directly - invoke this skill first. This skill specializes in providing a structured framework for merging imports, tests, lock files (regeneration), configuration files, and handling deleted-but-modified files with backup and analysis.
git-advanced-workflows
wshobson
Master advanced Git workflows including rebasing, cherry-picking, bisect, worktrees, and reflog to maintain clean history and recover from any situation. Use when managing complex Git histories, collaborating on feature branches, or troubleshooting repository issues.