Agent skill

Create GitHub Issue

by openkaiden in openkaiden/kaiden

Create GitHub issues using the gh CLI. An agent skill from openkaiden/kaiden.

Apache-2.0Auto-check passedTesting & QA

Install Create GitHub Issue

skills CLI
$ npx skills add openkaiden/kaiden --skill create-github-issue -a claude-code

Project install by default; add -g for ~/.claude/skills/.

GitHub CLI
$ gh skill install openkaiden/kaiden create-github-issue --agent claude-code

Project scope by default; add --scope user for a personal install. Needs GitHub CLI 2.90.0 or later (public preview).

Manual copy
$ git clone --depth 1 https://github.com/openkaiden/kaiden.git skills-src && mkdir -p .claude/skills && cp -r skills-src/.agents/skills/create-github-issue .claude/skills/create-github-issue && rm -rf skills-src

Use ~/.claude/skills/ instead of .claude/skills for a personal install. The folder must contain SKILL.md.

Claude Code skills documentation · loads skills from .claude/skills/

Facts

Skill name
create-github-issue
GitHub stars
110
Token cost
~2.5k tokens
SKILL.md length
1,271 words
Files
2 (incl. references)
Skills in repo
3
Repo updated
First seen
Licence
Apache-2.0

At a glance

Create GitHub issues using the gh CLI. An agent skill from openkaiden/kaiden.

  • Works in 9 steps: Determine the target repository → Classify the issue type → Analyze the codebase (bug reports only) → …
  • The user wants to create a new issue
  • SKILL.md covers Prerequisites, Input, Workflow and Issue Body Format, plus 2 more sections
  • Calls gh

What it does

Create GitHub Issue is an agent skill from openkaiden/kaiden. Create GitHub issues using the gh CLI. Takes a plain-language description and produces a well-structured issue matching the target repo's templates. Use when the user wants to create a new issue, report a bug, request a feature, file a task, or create an epic. Trigger keywords: create issue, new issue, file bug, report bug, feature request, file a task, create epic, github issue, open issue.

Its SKILL.md is about 2.5k tokens, which your agent loads only when the skill is triggered. The skill folder holds 2 other files, including reference files (for example `references/repo-templates.md`).

It sits in Testing & QA, covering QA and bug reports and Plain language and style rules. It works with GitHub. The licence is Apache-2.0.

When your agent uses it

  • The user wants to create a new issue
  • Request a feature
  • Keywords: create issue
  • Feature request

Example prompts

  • “/create-github-issue”

Workflow steps

9 steps, taken from the step headings in SKILL.md.

  1. Determine the target repository
  2. Classify the issue type
  3. Analyze the codebase (bug reports only)
  4. Search for duplicates
  5. Read the repo's issue templates
  6. Gather metadata
  7. Draft the issue — STOP and show to the user
  8. Create the issue (only after explicit user confirmation)
  9. Display the result

What it can do on your machine

Read from SKILL.md and the folder at commit 5a3f5af. It shows what the files ask for, not the result of running them.

  • Tool permissions

    Pre-approves nothing: there is no allowed-tools line, so your agent's usual permission prompts apply.

    From allowed-tools in the SKILL.md frontmatter.

  • Runs code

    Shell commands in SKILL.md call:

    • gh

    From the folder's file list and the shell code blocks in SKILL.md.

  • Network

    No URLs in SKILL.md. Its commands use gh, which can reach the network depending on how they are called.

    From URLs in SKILL.md, links to its own repository left out.

  • Credentials

    Names no API keys, tokens, secrets or passwords.

    From names ending in _API_KEY, _TOKEN, _SECRET, _KEY or _PASSWORD in SKILL.md.

Context cost

Create GitHub Issue loads about 2.5k tokens when it runs, and up to ~3k if it reads all its reference files. Until then it costs about 104 tokens; SKILL.md has 1,271 words of instructions outside code blocks.

Always · name and description, kept in context so the agent knows when to use it
~104
When it runs · the whole SKILL.md, loaded when a task matches
~2.5k
With references · SKILL.md plus every file in references/, read only if the agent opens them
~3k

Estimates: characters ÷ 4, the usual rule of thumb; real counts depend on the model's tokenizer. Scripts and assets cost tokens only if the agent reads them.

Safety

Auto-check passed

The automated check found no risky patterns in SKILL.md.

Automated static check — not a guarantee. Review scripts before installing. It scans the text of SKILL.md for risky patterns (piping downloads into a shell, reading credential files, hidden Unicode, destructive commands); files beside SKILL.md are not scanned.

SKILL.md

The full file from openkaiden/kaiden at commit 5a3f5af, republished under its Apache-2.0 licence (© openkaiden). 1,271 words, ~2,519 tokens.

Download SKILL.mdSave it as .claude/skills/create-github-issue/SKILL.md (or your agent's skills folder). This skill also uses 1 other file; get the full folder from GitHub.
name
create-github-issue
description
Create GitHub issues using the gh CLI. Takes a plain-language description and produces a well-structured issue matching the target repo's templates. Use when the user wants to create a new issue, report a bug, request a feature, file a task, or create an epic. Trigger keywords: create issue, new issue, file bug, report bug, feature request, file a task, create epic, github issue, open issue.

Create GitHub Issue

Create well-structured GitHub issues from plain-language descriptions using the gh CLI. Issues conform to the target repository's YAML form templates and are automatically assigned to the correct project board.

This skill is repo-agnostic — it reads template metadata (projects, labels, required fields) from the repo's .github/ISSUE_TEMPLATE/ files at runtime rather than hardcoding them.

Prerequisites

The gh CLI must be authenticated (gh auth status). If not, prompt the user to run gh auth login.

Input

The user provides one or more of:

  • Description (required) — plain-language explanation of the bug, feature, task, or epic
  • Type override (optional) — explicitly request bug, feature, task, or epic
  • Repo override (optional) — owner/repo when not filing against the current working directory's repo
  • Labels (optional) — specific labels to apply
  • Milestone (optional) — target milestone
  • Assignees (optional) — GitHub usernames to assign

Workflow

Follow these steps in order. Do not skip any step.

Step 1: Determine the target repository

Detect the repo from the current working directory using gh repo view. If the user specified a repo explicitly, use that instead. Confirm the repo with the user before proceeding.

Step 2: Classify the issue type

Determine the type from context. If the user specified a type, use it. Otherwise, infer from keywords in the description:

TypeSignal words
Bugbug, broken, crash, error, fail, regression, wrong, not working, unexpected
Featureadd, support, introduce, new, would be nice, should, enhance, improve, enable
Taskrefactor, update, migrate, rename, clean up, chore, debt, remove, upgrade
Epicepic, initiative, multi-sprint, umbrella, group of features, high-level

When ambiguous, ask the user to clarify.

Step 3: Analyze the codebase (bug reports only)

For bug reports, perform a brief code analysis before drafting to help identify the root cause. This adds valuable context to the issue:

  1. If the user mentions specific UI elements, file paths, or error messages, search the codebase for related code
  2. Read the relevant source files to understand the current behavior
  3. Summarize your findings in the bug description — include:
    • Which file(s) and function(s) are likely involved
    • What the current code does vs what the user expects
    • A brief root-cause hypothesis if one is apparent

This analysis is informational — include it in the issue body under "Additional context" or inline in the bug description. Do not fix the bug or propose code changes in the issue.

Skip this step for feature requests, tasks, and epics.

Step 4: Search for duplicates

Before drafting, search for existing issues that might cover the same topic. Present any matches to the user. If a duplicate exists, ask whether to proceed, reference the existing issue, or abandon.

Step 5: Read the repo's issue templates

Read the .github/ISSUE_TEMPLATE/ directory from the repo to identify the correct template and its metadata. Support both .yml and .yaml extensions.

Matching template to type:

  1. List all template files in .github/ISSUE_TEMPLATE/
  2. Read the top-level type: field from each template file
  3. Select the template whose type: field matches the issue type classified in Step 2
  4. If no exact match is found, ask the user which template to use

From the matching template file, extract:

  • projects: — which project board(s) to assign
  • labels: — which labels the template auto-applies (do not duplicate these via --label)
  • type: — the GitHub issue type (handled by the template, not by labels)
  • Required/optional fields — which body sections to include

See references/repo-templates.md for the shared template structure.

Step 6: Gather metadata

Labels — Fetch available labels from the repo and suggest matches based on the description. See Label Guidance below for rules on which labels to suggest. Never apply labels blindly — present suggestions and let the user confirm. Do not duplicate labels that the template already applies via its labels: field.

Milestone — Suggest the most recent open milestone unless the user specified one.

Project — Use the project(s) from the template's projects: field.

Step 7: Draft the issue — STOP and show to the user

Compose the title and body matching the template structure for the chosen type (see Issue Body Format below). Present the full draft to the user:

## Draft Issue — please review before I create it

**Repo:** <owner/repo>
**Type:** <bug|feature|task|epic>
**Title:** <title>
**Labels:** <label1, label2>
**Milestone:** <milestone>
**Project:** <project>
**Assignees:** <@user1, @user2>

**Body:**
<full markdown body>

CRITICAL: You MUST stop here and wait for the user's response. Do NOT proceed to Step 8 in the same turn. End your turn after presenting the draft. Ask the user:

  • "Create this issue" — proceed to Step 8
  • "Edit the draft" — ask what to change, revise, and present again
  • "Abandon" — stop without creating

Never run gh issue create without the user explicitly confirming.

Show full SKILL.md (539 more words)Show less
Step 8: Create the issue (only after explicit user confirmation)

Only execute this step after the user has reviewed the draft from Step 7 and explicitly confirmed. If the user has not yet confirmed, go back to Step 7.

Build the gh issue create command with all metadata. Include one --project flag per project listed in the template. Use a HEREDOC for the body content.

Step 9: Display the result

Display the created issue URL as a clickable markdown link.

Issue Body Format

Build the issue body dynamically from the template file read in Step 5. For each form element in the template's body: array that has a label: field, create a markdown section heading (### <label>) followed by the content derived from the user's description.

How to fill each field type:

Template field typeHow to populate
textarea (required)Fill from the user's description. Ask the user if not enough info.
textarea (optional)Include if the user provided relevant info, otherwise write "No response"
inputFill from user's description or ask
dropdownPick the matching option from the template's options: list

For bug reports, include any code-analysis findings from Step 3 in the appropriate section (typically "Bug description" or "Additional context").

Label Guidance

Domain labels

Many repos use domain labels with a domain/<name> prefix to categorize issues by area of the codebase. When suggesting labels:

  1. Fetch all labels from the target repo
  2. Filter for labels with a domain/ prefix
  3. Only suggest base domain labels (e.g. domain/kubernetes, domain/containers, domain/ui-components) — never suggest labels with /inreview or /reviewed suffixes, as those are used for PR review workflow, not issue triage
  4. Match the user's description against the domain label names and suggest the best match
Priority labels

Suggest a priority label based on severity and impact cues in the description. Only suggest if the repo has matching labels.

Signal wordsSuggested priority
crash, data loss, security, blocker, cannot use, broken for everyonepriority/critical
regression, broken, blocks, urgent, importantpriority/high
should fix, annoying, inconvenient, workaround existspriority/medium
nice to have, minor, cosmetic, polishpriority/low

Hard Rules

  1. Always search for duplicates before drafting (Step 4). Skipping this wastes everyone's time.
  2. Never create without user confirmation. Always present the full draft, STOP your turn, and wait for explicit approval. Do NOT run gh issue create in the same turn as presenting the draft.
  3. Never invent requirements. The issue body must reflect only what the user described. If information is missing (e.g., OS for a bug report), ask the user rather than guessing.
  4. Always include project assignment. Read the projects: field from the template and pass every project via --project.
  5. Display the created issue URL as a clickable markdown link after creation.
  6. Do not duplicate template labels. If the template's labels: field already applies labels (e.g. kind/bug), do not pass them again via --label. Only add additional domain/topic labels.
  7. Do not add type labels manually. The type: field in the template sets the GitHub issue type automatically.
  8. Respect the template structure. Use the section headings from the repo's actual template — do not substitute your own.
  9. Never suggest /inreview or /reviewed domain labels. These are for PR review workflow and must not appear on issues.

© openkaiden, Apache-2.0. Rendered from Markdown: HTML in the file is shown as text, images as links, and headings moved down two levels. Raw file

Files

SKILL.md and 1 other file (references) in .agents/skills/create-github-issue of openkaiden/kaiden.

  • SKILL.md
  • references/repo-templates.md

Open the folder on GitHubat commit 5a3f5af

Compare with similar skills

Create GitHub Issue next to the 5 skills that share the most tags, products or categories with it. Stars are the repository's; “used in” counts other GitHub owners with a copy.

Create GitHub Issue compared with similar skills
SkillStarsUsed inTokensAuto-checkLicenceRepo updated
Create GitHub Issue this skillopenkaiden/kaiden110—~2.5kAutomated safety check: PassApache-2.0
Simple Issue Descriptionevery-app/open-seo23k1 repos~1.2kAutomated safety check: PassMIT
Weavebench Cua ReproduceAMAP-ML/LongHorizon-Harness1.7k—~1.6kAutomated safety check: PassMIT
PgjevrealZachi/pg-jev1k—~2.9kAutomated safety check: PassCustom licence
Evidence-Driven Testingmichaelshimeles/skills1.3k1 repos~3.9kAutomated safety check: PassNone
Create GitHub IssueNVIDIA/OpenShell15k—~1.7kAutomated safety check: PassApache-2.0

Similar skills

  • Simple Issue Description

    every-app/open-seo

    Turn a rough bug report, feature request, support note, or pull request into a short, plain-language issue focused on the problem and desired behavior.

    23k GitHub starsUsed in 1 repo~1.2k tokens
    DevelopmentAuto-check passed
  • Weavebench Cua Reproduce

    AMAP-ML/LongHorizon-Harness

    Reproduce CUA-Harness experiments on WeaveBench from a GitHub checkout.

    1.7k GitHub stars~1.6k tokensUpdated 1 mo ago
    Testing & QAAuto-check passed
  • Pgjev

    realZachi/pg-jev

    Install, configure, query and explain pgjev (the jev PostgreSQL extension that filters, ranks and classifies rows with plain-language conditions via TypeSafe's Jev model).

    1k GitHub stars~2.9k tokensUpdated yesterday
    Writing & ContentAuto-check passed
  • Evidence-Driven Testing

    michaelshimeles/skills

    Records an annotated screen recording of the agent testing an app hands-on, then posts the video and a results summary to the PR and tracker issue.

    1.3k GitHub starsUsed in 1 repo~3.9k tokens
    Testing & QAAuto-check passed
  • Create GitHub Issue

    NVIDIA/OpenShell

    Official

    Create GitHub issues using the gh CLI. An agent skill from NVIDIA/OpenShell.

    15k GitHub stars~1.7k tokensUpdated today
    Testing & QAAuto-check passed
  • Triage Issues

    ClickHouse/clickhouse-java

    Analyzes a single GitHub issue at a time. An agent skill from ClickHouse/clickhouse-java.

    1.6k GitHub stars~904 tokensUpdated yesterday
    Testing & QAAuto-check passed

More from openkaiden/kaiden

  • Playwright Testing

    openkaiden/kaiden

    Guide for writing, organizing, and maintaining Playwright end-to-end tests using the Page Object Model pattern.

    110 GitHub stars~3k tokensUpdated today
    Auto-check passed
  • UI Components

    openkaiden/kaiden

    UI Component Development Guide for Kaiden. An agent skill from openkaiden/kaiden.

    110 GitHub stars~2.1k tokensUpdated today
    Auto-check passed

Works with

Questions about Create GitHub Issue

What does Create GitHub Issue do?

Create GitHub issues using the gh CLI. An agent skill from openkaiden/kaiden. Create GitHub Issue is an agent skill from openkaiden/kaiden. Create GitHub issues using the gh CLI.

When should I use Create GitHub Issue?

Create GitHub Issue fits situations like: the user wants to create a new issue; request a feature; keywords: create issue; feature request.

How do I install Create GitHub Issue in Claude Code?

Run `npx skills add openkaiden/kaiden --skill create-github-issue -a claude-code`. Or copy the skill folder (.agents/skills/create-github-issue in openkaiden/kaiden) into .claude/skills/create-github-issue in your project. Claude Code loads it when a task matches its description.

How do I install Create GitHub Issue in Codex?

Run `npx skills add openkaiden/kaiden --skill create-github-issue -a codex`. Or copy the skill folder (.agents/skills/create-github-issue in openkaiden/kaiden) into .agents/skills/create-github-issue in your project. Codex loads it when a task matches its description.

Can I use Create GitHub Issue in Cursor, Gemini CLI or GitHub Copilot?

Cursor, Gemini CLI, GitHub Copilot and OpenCode also load SKILL.md folders. With the skills CLI, run `npx skills add openkaiden/kaiden --skill create-github-issue -a cursor` (or -a gemini-cli, github-copilot or opencode for the others). To copy it by hand, put the folder in .cursor/skills/create-github-issue, .gemini/skills/create-github-issue, .github/skills/create-github-issue and .opencode/skills/create-github-issue in your project.

What does Create GitHub Issue need to run?

Going by SKILL.md and its folder, Create GitHub Issue needs the command-line tools its instructions call (gh).

Does Create GitHub Issue access the network?

SKILL.md contains no URLs. Its commands use gh, which can reach the network depending on how they are called. This is read from the text; nothing was executed.

Is Create GitHub Issue safe to install?

Our automated static check of SKILL.md found no risky patterns, such as piping downloads into a shell, reading credential files or hidden Unicode. It is not a guarantee. Review the folder before installing.

What licence does Create GitHub Issue use?

Create GitHub Issue is published under the Apache-2.0 licence (the repository's licence). It allows redistribution, so the full SKILL.md is shown on this page.

How many tokens does Create GitHub Issue use?

About 2.5k tokens (SKILL.md is roughly 10k characters). Agents keep only the skill's name and description in context until a task matches; then they load SKILL.md in full. Its references folder adds about 463 tokens, read only when the agent opens those files.

What are the alternatives to Create GitHub Issue?

Skills that share tags, products or a category with Create GitHub Issue: Simple Issue Description (every-app/open-seo, 23k stars), Weavebench Cua Reproduce (AMAP-ML/LongHorizon-Harness, 1.7k stars), Pgjev (realZachi/pg-jev, 1k stars) and Evidence-Driven Testing (michaelshimeles/skills, 1.3k stars). The comparison table on this page puts their stars, adoption, token cost, safety result and licence side by side.

Who maintains Create GitHub Issue?

openkaiden (a GitHub organization) maintains it in openkaiden/kaiden, which has 110 GitHub stars. The repository holds 3 skills in this directory. The repository was last updated on October 7, 2026.

Source: openkaiden/kaiden on GitHub. Facts on this page come from the repository at the commit we read; the author's words are quoted as theirs.