Gh Create Issue logo

Gh Create Issue

OrganizationPopular
CherryHQ
gh-create-issue

Use when user wants to create a GitHub issue for the current repository. Must read and follow the repository's issue template format.

Overview

PublisherCherryHQ
Repositorycherry-studio
Skill namegh-create-issue
Stars
52.5K
Forks
5.1K
Bundled files
1
LicenseAGPL-3.0
Links
  • Markdown instructions

    A SKILL.md file the model loads on demand, so it only costs tokens when a request actually matches.

  • Works with any LLM

    AI skills are plain Markdown, not provider-specific code, so this works with GPT, Claude, Gemini, Grok, or a local model.

  • 1 bundled files

    Scripts, templates, and references the model can read while it works. Files are read-only and never executed.

  • Open source

    Published by CherryHQ on GitHub. Read the source before you install it.

Installation

Install the Gh Create Issue AI skill in TypingMind to use it with any LLM, or drop it into another agent that reads SKILL.md.

1

Install in TypingMind

TypingMind installs a skill straight from its GitHub folder — it reads SKILL.md, bundles the resource files, and stores the result locally.

  1. Open the app and go to Plugins → Skills.
  2. Choose "Install from GitHub".
  3. Paste the skill folder URL below and confirm.
    https://github.com/CherryHQ/cherry-studio/tree/main/.agents/skills/gh-create-issue
  4. Enable the skill in any chat where you want it available.
Plugins → Skills → Add skill → From GitHub URL, then paste the folder URL and press Continue.
2

Install in another agent

Any agent that reads the Agent Skills format can use this skill — copy the folder into that agent's skills directory.

Claude Code — .claude/skills
git clone --depth 1 https://github.com/CherryHQ/cherry-studio.git /tmp/cherry-studio
mkdir -p .claude/skills
cp -r /tmp/cherry-studio/.agents/skills/gh-create-issue .claude/skills/gh-create-issue
Restart Claude Code after copying so it picks up the new skill.

Use it in TypingMind

Enable Gh Create Issue in any TypingMind chat and the model takes it from there. Its name and description sit in the system prompt, and the moment a request matches, the model loads the full instructions itself — you never invoke it by hand, and it costs no tokens until it is actually used.

The model loads Gh Create Issue on its own as soon as a request matches it.

Works with any AI model

AI skills are plain Markdown instructions rather than provider-specific code, so Gh Create Issue is not tied to the model it was written for. Install it once in TypingMind and use it with GPT-5, Claude, Gemini, Grok, DeepSeek, Mistral, Llama, or a local model you run yourself — all on your own API keys.

  • Loaded only when it is needed

    The system prompt carries just the name and description. The instructions are fetched on the first matching request, so an idle skill costs nothing.

  • Switch models mid-chat

    Because the skill is instructions rather than code, changing model does not break it — the next model reads the same SKILL.md.

Skill instructions

This is the SKILL.md content the model loads. Read it before installing — a skill is instructions your model will follow.

GitHub Create Issue

Use this skill when the user requests to create an issue. Must follow the repository's issue template format.

Workflow

Step 1: Determine Template Type

Analyze the user's request to determine the issue type:

  • If the user describes a problem, error, crash, or something not working -> Bug Report
  • If the user requests a new feature, enhancement, or additional support -> Feature Request
  • If the user is asking a question or needs help with something -> Questions & Discussion
  • If the user describes engineering work with no user-facing behavior change (a follow-up deferred from a pull request, technical debt, refactoring, tooling or CI work) -> Engineering Task
  • Otherwise -> Others

Engineering Task is not a GitHub issue form and is not offered to regular users. Only select it when the request clearly describes internal engineering work.

If unclear, ask the user which template to use. Do not default to "Others" on your own.

Eligibility Check (Engineering Task only)

Engineering Task is meant for maintainers and collaborators with write access. This is a request, not an access control — nothing prevents anyone from calling gh issue create directly, and this skill does not try to. The check below is here so that a contributor without write access learns that early and gets pointed somewhere more useful.

Before collecting any information, read the authenticated user's permission level:

bash
repo="$(gh repo view --json nameWithOwner --jq .nameWithOwner)"
user="$(gh api user --jq .login)"
permission="$(gh api "repos/$repo/collaborators/$user/permission" --jq .permission 2>/dev/null)"
case "$permission" in
  admin | write) echo "eligible" ;;
  *) echo "not eligible" ;;
esac

Only admin and write are eligible (maintain reports as write). Always compare the returned value: on a public repository this endpoint answers read for any user, including one who is not a collaborator at all, so a successful call proves nothing on its own. Do not use repos/{owner}/{repo}/collaborators/{user} here — it answers 204 for read- and triage-only collaborators, who are not the intended audience for this template.

If the result is anything else, do not use this template. Explain that it is meant for maintainers with write access, politely ask the contributor to use one of the public templates instead, and offer to help them file it there — their report is welcome, just not under this template. Do not quietly switch templates while keeping the Engineering Task labels or issue type.

Step 2: Read the Selected Template

  1. Read the corresponding template file from .github/ISSUE_TEMPLATE/ directory.
  2. Identify required fields (validations.required: true), title prefix (title), labels (labels, if present), and issue type (type, if present).

For Engineering Task, read references/engineering-task.md instead — it lives outside .github/ISSUE_TEMPLATE/ on purpose and carries its own title prefix, labels, issue type, and body structure.

Step 3: Collect Information

Based on the selected template, ask the user for required information only. Follow the template's required fields and option constraints (for example, Platform and Priority choices).

Step 4: Build and Preview Issue Content

Create a temp file and write the issue content:

  • Use issue_body_file="$(mktemp /tmp/gh-issue-body-XXXXXX).md"
  • Use the exact title prefix from the selected template.
  • Fill content following the template body structure and section order.
  • Apply labels exactly as defined by the template.
  • Keep all labels when there are multiple labels.
  • If template has no labels, do not add custom labels.
  • Apply the issue type exactly as defined by the template's type field.

Preview the temp file content. Show the file path (e.g., /tmp/gh-issue-body-XXXXXX.md) and ask for confirmation before creating. Skip this step if the user explicitly indicates no preview/confirmation is needed (for example, automation workflows).

Step 5: Create Issue

Use gh issue create command to create the issue.

Use a unique temp file for the body:

bash
issue_body_file="$(mktemp /tmp/gh-issue-body-XXXXXX).md"
cat > "$issue_body_file" <<'EOF'
...issue body built from selected template...
EOF

Create the issue using values from the selected template:

bash
gh issue create --title "<title_with_template_prefix>" --body-file "$issue_body_file"

If the selected template includes labels, append one --label per label:

bash
gh issue create --title "<title_with_template_prefix>" --body-file "$issue_body_file" --label "<label_1_from_template>" --label "<label_2_from_template>"

If the selected template has no labels, do not pass --label.

If the selected template declares a type, pass it as well. --body-file does not carry the issue type over on its own, so omitting this leaves the issue untyped:

bash
gh issue create --title "<title_with_template_prefix>" --body-file "$issue_body_file" --type "<type_from_template>"

--template and --web resolve against .github/ISSUE_TEMPLATE/ on the default branch, so neither works for Engineering Task. Build the body locally for it.

For the other templates you may use --template as a starting point (use the exact template name from the repository):

bash
gh issue create --template "<template_name>"

Use the --web flag to open the creation page in browser when complex formatting is needed:

bash
gh issue create --web

Clean up the temp file after creation:

bash
rm -f "$issue_body_file"

Notes

  • Must read template files under .github/ISSUE_TEMPLATE/ (or references/ for Engineering Task) to ensure following the correct format.
  • Treat template files as the only source of truth. Do not hardcode title prefixes, labels, or issue types in this skill.
  • Title must be clear and concise, avoid vague terms like "a suggestion" or "stuck".
  • Provide as much detail as possible to help developers understand and resolve the issue.
  • If user doesn't specify a template type, ask them to choose one first.

Bundled files

The model reads these on demand while the skill is loaded. They are exposed as readable files and are never executed.

Frequently asked questions

What does the Gh Create Issue AI skill do?

Use when user wants to create a GitHub issue for the current repository. Must read and follow the repository's issue template format.

Why use Gh Create Issue on TypingMind?

Because you install it once and use it with any model. Gh Create Issue is plain Markdown rather than provider-specific code, so the same skill runs on GPT-5, Claude, Gemini, Grok, or a local model — and you can switch model mid-chat without it breaking. TypingMind runs on your own API keys, so you pay providers directly instead of a per-seat subscription, and your skills and chats stay in your own storage.

How do I install Gh Create Issue in TypingMind?

Open Plugins → Skills → Install from GitHub in TypingMind and paste https://github.com/CherryHQ/cherry-studio/tree/main/.agents/skills/gh-create-issue. TypingMind reads its SKILL.md and bundles its files and installs it as a skill you can enable per chat.

Which AI models can use Gh Create Issue?

Any model you connect in TypingMind. AI skills are plain Markdown instructions rather than provider-specific code, so GPT, Claude, Gemini, Grok, and local models can all load this skill when a request matches it.

How many AI models can I use with Gh Create Issue?

As many as you like. As long as a model supports skills, you can use Gh Create Issue with it — GPT, Claude, Gemini, Grok, DeepSeek, Mistral, Llama and more — all on TypingMind with your own API keys.

Is the Gh Create Issue AI skill free?

Yes. It is published on GitHub by CherryHQ under the AGPL-3.0 license. You only pay your own AI provider for the tokens you use.

What are AI skills?

An AI skill is a reusable instruction bundle that teaches an AI model how to do one specific task. It follows the open Agent Skills format: a SKILL.md file with a name and description, plus any scripts, templates or reference files the model may need. The model reads the instructions only when your request matches the skill, so an installed skill costs nothing until it is used.

How are AI skills different from plugins or MCP servers?

A plugin or MCP server gives a model new tools to call — code that runs somewhere and returns a result. An AI skill gives the model knowledge and process instead: how to approach a task, which steps to follow, what good output looks like. Skills are plain Markdown, so they need no server, no API key and no runtime, and they work with any model.

View all

Set up your own AI workspace now

Get notified about new features and future giveaways by subscribing to our newsletter 👇