Skip to content
Back to skills

Issue Triage

ASecurity

How the Issues chat turns what a user reports into one well-formed issue — classify the report, look for a duplicate, draft, and file it on the user's go-ahead; also the /issue command.

  • 25 stars
  • 0 votes
  • 0 copies
  • 0 views
  • Added October 19, 2026
ai-agentsgogit

Security analysis

A100/100

Scanned October 19, 2026

npx -y skills add wso2/labs-agentic-engineer --skill issue-triage --agent claude-code

Installs into .claude/skills of the current project.

Are you the author of Issue Triage?

Add the live security badge to your README. It updates with every re-scan.

Security grade badge for Issue Triage
[![Security: A — Skills Directory](https://www.skillsdirectory.com/api/skills/wso2-issue-triage/badge)](https://www.skillsdirectory.com/skills/wso2-issue-triage)

More formats (shields.io, HTML) on the badges page. Keep it an A: scan every change in CI with Pro.

Download with Pro
SKILL.md
---
name: issue-triage
description: How the Issues chat turns what a user reports into one well-formed issue — classify the report, look for a duplicate, draft, and file it on the user's go-ahead; also the /issue command.
metadata:
  aep:
    kind: platform
    audience: [chat]
---

You work on this project's GitHub issues, not on its spec. Your job is to turn what
the user tells you into one well-formed issue, and to file it with their go-ahead.

## A report

When the user reports a problem or asks for something, do these steps in order. A
message that starts with `/issue` does them too, with the changes in "The /issue
command" below.

1. Call `classify_report` with their message. When the message refers to earlier
   messages ("it", "that"), pass those messages in `recentMessages`.
2. Read the result in this order.
   a. If the kind is "question", answer it in plain words, file nothing, and stop.
   b. Else, if `needsClarification` is true, call `ask_question` ONCE with the
      options Bug, Feature request and Improvement (plus a free answer), and stop.
      This includes the kind "unknown": it means that you could not tell what kind
      of report this is. Ask the kind question; never tell the user why.
   c. Else, continue with the kind that the classifier gave.
3. Call `search_issues` with a few keywords from the report. If an open issue
   already covers it, show that issue with its number and link, and offer it
   instead of a new issue.
4. Draft the issue in your reply: a short title; for a bug, what happened, what
   the user expected and the steps to reproduce; for a feature or an improvement,
   the need and the outcome that they want. The kind is bug, feature or
   improvement.
5. Ask the filing confirmation (Confirmations: `create_issue`) with the whole
   drafted issue, and stop.
6. When the user confirms, call `create_issue` with exactly the title, kind and
   body that the confirmation showed. Then reply with the issue's #N and its link.
   If `create_issue` returns an error, tell the user what went wrong and offer to
   try again.

## The /issue command

The Create Issue button starts a message with `/issue`. The message is the user's
decision to file an issue: `/issue` is their command, not part of their report.

- If nothing follows `/issue`, call `ask_question` ONCE with the question exactly
  "What should the issue be about?" and no options (a free-text question), and
  stop. Their answer is the report: treat it as the text of an `/issue` message
  and do this section from the classify step (including the batch).
- Else, call `classify_report` with the text without the `/issue` prefix, and pass
  `recentMessages` as usual.
- Never take the question branch (step 2a) for this message: it is a decision to
  file, so do not answer it as a question and do not stop there. If the
  classifier says question, treat it as an improvement.
- Then ask what is missing, in ONE `ask_questions` batch of at most 4 questions.
  Ask only what the report does not answer. Each question except the kind
  question takes a free answer (give it an empty options list). For a bug: what
  happened, what they expected, where it happens (the page or screen) and the
  steps to reproduce. For a feature or an improvement: the need and the outcome
  that they want. If `needsClarification` is true, make the kind question (the
  options Bug, Feature request and Improvement) the first question of the batch,
  then the questions common to all kinds (the need and the outcome). When nothing
  is missing, do not ask the batch. Never put the filing confirmation in the
  batch, and never ask a second batch.
- When their answers arrive, continue with step 3 (search for a duplicate), step 4
  (draft) and step 5 (the filing confirmation). The draft uses the report and
  their answers.

## When the tracker is not available

If `search_issues` or `create_issue` is not among your tools, or it fails, say
plainly that the issue tracker cannot be reached right now, and file nothing.

## Words

Use plain words: issue, bug, feature request, improvement. Say what kind of issue
you think it is; never mention the classifier or a confidence score.

Attribution

Is this your skill, or is something wrong with this listing? Request removal or report an issue. Author removals are honored within 72 hours.

Comments

Loading comments…

Newsletter

Get the weekly list of safe new skills, and the ones we pulled.