Issue skill

SkillDev tools

Open a GitHub issue with its sidebar filled in, so the labels, the type, and the Priority and Effort fields are set rather than left empty. Use when filing an issue, turning a report into one, or triaging an issue whose fields are empty.

Available today. Use it from your connected AI after setup.

Connect ahel once, and every AI you use reads what you have installed.

Then ask your AI: use the Issue skill skill

What this skill tells your AI

The instructions your AI receives, as published by stijnvanhulle/template in .agents/skills/issue/SKILL.md and read by ahel’s review.

An issue with an empty sidebar sits in the backlog unsorted. Set the type, the labels, and the fields in the same pass as the title and body.

1. Check it is not already open

gh issue list --search "<keywords>" --state all --limit 10

Comment on the match instead of opening a second issue.

2. Write it

Pick the form in .github/ISSUE_TEMPLATE/: bug.yml for a defect, docs.yml for documentation, blank for the rest. Answer every required field.

Title in the imperative, under 72 characters, no period, so fix the resolver cache miss on nested plugins rather than Resolver bug. A bug body carries the version, the steps, the expected result, and what happened instead. A feature body leads with the problem and links the code it is about.

3. Read the valid values

Never invent a label, a type, or an option name. gh label list covers labels. Types and fields come from the organization, so read those with the GitHub MCP server's list_issue_types and list_issue_fields.

4. Fill the sidebar

Set the type first: Bug for something that broke or contradicts its documentation, Feature for new behavior somebody asked for, Task for work with no user-visible change, such as CI, releases, or agent files.

FieldOptionsPick
PriorityUrgent, High, Medium, LowUrgent blocks a release or breaks the published package for everyone. High hits users today with no workaround. Medium is the default. Low is a nice-to-have
EffortHigh, Medium, LowLow is one file a reviewer reads in one sitting. Medium spans a few files or needs a test. High needs a design decision or touches a public API

Stuck on one: Priority Medium, Effort Medium, and say which values you guessed.

5. Create it

gh issue create --title "<title>" --body-file <body>.md --label bug --assignee @me writes the issue as whoever runs it. The fields go through the GitHub MCP server's issue_write, which validates each option name before the call:

{
  "method": "create", "owner": "<owner>", "repo": "<repo>",
  "title": "<title>", "body": "<body>", "type": "Bug", "labels": ["bug"],
  "issue_fields": [
    { "field_name": "Priority", "field_option_name": "High" },
    { "field_name": "Effort", "field_option_name": "Medium" }
  ]
}

method: "update" with an issue number fills in an issue that already exists. Report the URL and the values you set.

Guardrails

  • One issue does one thing. Split a report carrying two problems.
  • No tokens, .env lines, or internal hostnames in a body. Say where the value lives.
  • Do not raise Priority to jump a queue.
  • Run the humanizer skill over the title and body.

Related skills

SkillUse for
prThe pull request that closes the issue
humanizerAI tells in the title and body

Signals

GitHub stars
34
Last commit
Sep 2026
Hacker News mentions
20
Advanced
Catalog kind
skill
Gateway key
issue-stijnvanhulle
Source
github.com/stijnvanhulle/template