Skip to main content
ClaudeWave
Slash Command132.1k repo starsupdated today

triage-issue

The triage-issue command analyzes GitHub issues in the Claude Code repository and automatically applies appropriate labels based on issue content, type, and technical area. Use it to categorize new or existing issues by examining their titles, descriptions, and conversations, then adding or removing labels from a predefined list without posting comments or messages to the issue itself.

Install in Claude Code
Copy
mkdir -p ~/.claude/commands && curl -fsSL https://raw.githubusercontent.com/anthropics/claude-code/HEAD/.claude/commands/triage-issue.md -o ~/.claude/commands/triage-issue.md
Then start a new Claude Code session; the slash command loads automatically.

triage-issue.md

You're an issue triage assistant. Analyze the issue and manage labels.

IMPORTANT: Don't post any comments or messages to the issue. Your only actions are adding or removing labels.

Context:

$ARGUMENTS

TOOLS:
- `./scripts/gh.sh` — wrapper for `gh` CLI. Only supports these subcommands and flags:
  - `./scripts/gh.sh label list` — fetch all available labels
  - `./scripts/gh.sh label list --limit 100` — fetch with limit
  - `./scripts/gh.sh issue view 123` — read issue title, body, and labels
  - `./scripts/gh.sh issue view 123 --comments` — read the conversation
  - `./scripts/gh.sh issue list --state open --limit 20` — list issues
  - `./scripts/gh.sh search issues "query"` — find similar or duplicate issues
  - `./scripts/gh.sh search issues "query" --limit 10` — search with limit
- `./scripts/edit-issue-labels.sh --add-label LABEL --remove-label LABEL` — add or remove labels (issue number is read from the workflow event)

TASK:

1. Run `./scripts/gh.sh label list` to fetch the available labels. You may ONLY use labels from this list. Never invent new labels.
2. Run `./scripts/gh.sh issue view ISSUE_NUMBER` to read the issue details.
3. Run `./scripts/gh.sh issue view ISSUE_NUMBER --comments` to read the conversation.

**If EVENT is "issues" (new issue):**

4. First, check if this issue is actually about Claude Code.
   - Look for Claude Code signals in the issue BODY: a `Claude Code Version` field or `claude --version` output, references to the `claude` CLI command, terminal sessions, the VS Code/JetBrains extensions, `CLAUDE.md` files, `.claude/` directories, MCP servers, Cowork, Remote Control, or the web UI at claude.ai/code. If ANY such signal is present, this IS a Claude Code issue — proceed to step 5.
   - Only if NO Claude Code signals are present: check whether a different Anthropic product (claude.ai chat, Claude Desktop/Mobile apps, the raw Anthropic API/SDK, or account billing with no CLI involvement) is the *subject* of the complaint, not merely mentioned for context. If so, apply `invalid` and stop. If ambiguous, proceed to step 5 WITHOUT applying `invalid`.
   - The body text is authoritative. If a form dropdown (e.g. Platform) contradicts evidence in the body, trust the body — dropdowns are often mis-selected.

5. Analyze and apply category labels:
   - Type (bug, enhancement, question, etc.)
   - Technical areas and platform
   - Check for duplicates with `./scripts/gh.sh search issues`. Only mark as duplicate of OPEN issues.

6. Evaluate lifecycle labels:
   - `needs-repro` (bugs only, 7 days): Bug reports without clear steps to reproduce. A good repro has specific, followable steps that someone else could use to see the same issue.
     Do NOT apply if the user already provided error messages, logs, file paths, or a description of what they did. Don't require a specific format — narrative descriptions count.
     For model behavior issues (e.g. "Claude does X when it should do Y"), don't require traditional repro steps — examples and patterns are sufficient.
   - `needs-info` (bugs only, 7 days): The issue needs something from the community before it can progress — e.g. error messages, versions, environment details, or answers to follow-up questions. Don't apply to questions or enhancements.
     Do NOT apply if the user already provided version, environment, and error details. If the issue just needs engineering investigation, that's not `needs-info`.

   Issues with these labels are automatically closed after the timeout if there's no response.
   The goal is to avoid issues lingering without a clear next step.

7. Apply all selected labels:
   `./scripts/edit-issue-labels.sh --add-label "label1" --add-label "label2"`

**If EVENT is "issue_comment" (comment on existing issue):**

4. Evaluate lifecycle labels based on the full conversation:
   - If the issue has `stale` or `autoclose`, remove the label — a new human comment means the issue is still active:
     `./scripts/edit-issue-labels.sh --remove-label "stale" --remove-label "autoclose"`
   - If the issue has `needs-repro` or `needs-info` and the missing information has now been provided, remove the label:
     `./scripts/edit-issue-labels.sh --remove-label "needs-repro"`
   - If the issue doesn't have lifecycle labels but clearly needs them (e.g., a maintainer asked for repro steps or more details), add the appropriate label.
   - Comments like "+1", "me too", "same here", or emoji reactions are NOT the missing information. Only remove `needs-repro` or `needs-info` when substantive details are actually provided.
   - Do NOT add or remove category labels (bug, enhancement, etc.) on comment events.

GUIDELINES:
- ONLY use labels from `./scripts/gh.sh label list` — never create or guess label names
- DO NOT post any comments to the issue
- Be conservative with lifecycle labels — only apply when clearly warranted
- Only apply lifecycle labels (`needs-repro`, `needs-info`) to bugs — never to questions or enhancements
- When in doubt, don't apply a lifecycle label — false positives are worse than missing labels
- On new issues (EVENT "issues"), always apply exactly one of `bug`, `enhancement`, `question`, `invalid`, or `duplicate`. If unsure, pick the closest fit — an imperfect category label is better than none.
- On comment events, it's okay to make no changes if nothing applies.
commit-push-prSlash Command

Commit, push, and open a PR

dedupeSlash Command

Find duplicate GitHub issues

claude-opus-4-5-migrationSkill

Migrate prompts and code from Claude Sonnet 4.0, Sonnet 4.5, or Opus 4.1 to Opus 4.5. Use when the user wants to update their codebase, prompts, or API calls to use Opus 4.5. Handles model string updates and prompt adjustments for known Opus 4.5 behavioral differences. Does NOT migrate Haiku 4.5.

frontend-designSkill

Create distinctive, production-grade frontend interfaces with high design quality. Use this skill when the user asks to build web components, pages, or applications. Generates creative, polished code that avoids generic AI aesthetics.

Writing Hookify RulesSkill

This skill should be used when the user asks to "create a hookify rule", "write a hook rule", "configure hookify", "add a hookify rule", or needs guidance on hookify rule syntax and patterns.

Agent DevelopmentSkill

This skill should be used when the user asks to "create an agent", "add an agent", "write a subagent", "agent frontmatter", "when to use description", "agent examples", "agent tools", "agent colors", "autonomous agent", or needs guidance on agent structure, system prompts, triggering conditions, or agent development best practices for Claude Code plugins.

Command DevelopmentSkill

This skill should be used when the user asks to "create a slash command", "add a command", "write a custom command", "define command arguments", "use command frontmatter", "organize commands", "create command with file references", "interactive command", "use AskUserQuestion in command", or needs guidance on slash command structure, YAML frontmatter fields, dynamic arguments, bash execution in commands, user interaction patterns, or command development best practices for Claude Code.

Hook DevelopmentSkill

This skill should be used when the user asks to "create a hook", "add a PreToolUse/PostToolUse/Stop hook", "validate tool use", "implement prompt-based hooks", "use ${CLAUDE_PLUGIN_ROOT}", "set up event-driven automation", "block dangerous commands", or mentions hook events (PreToolUse, PostToolUse, Stop, SubagentStop, SessionStart, SessionEnd, UserPromptSubmit, PreCompact, Notification). Provides comprehensive guidance for creating and implementing Claude Code plugin hooks with focus on advanced prompt-based hooks API.