Skillshub 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.
git clone https://github.com/ComeOnOliver/skillshub
T=$(mktemp -d) && git clone --depth=1 https://github.com/ComeOnOliver/skillshub "$T" && mkdir -p ~/.claude/skills && cp -r "$T/skills/CherryHQ/cherry-studio/gh-create-issue" ~/.claude/skills/comeonoliver-skillshub-gh-create-issue && rm -rf "$T"
skills/CherryHQ/cherry-studio/gh-create-issue/SKILL.mdGitHub 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
- Otherwise -> Others
If unclear, ask the user which template to use. Do not default to "Others" on your own.
Step 2: Read the Selected Template
- Read the corresponding template file from
directory..github/ISSUE_TEMPLATE/ - Identify required fields (
), title prefix (validations.required: true
), and labels (title
, if present).labels
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.
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:
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:
gh issue create --title "<title_with_template_prefix>" --body-file "$issue_body_file"
If the selected template includes labels, append one
--label per label:
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.
You may use
--template as a starting point (use the exact template name from the repository):
gh issue create --template "<template_name>"
Use the
--web flag to open the creation page in browser when complex formatting is needed:
gh issue create --web
Clean up the temp file after creation:
rm -f "$issue_body_file"
Notes
- Must read template files under
to ensure following the correct format..github/ISSUE_TEMPLATE/ - Treat template files as the only source of truth. Do not hardcode title prefixes or labels 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.