with one click
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.
// Use when user wants to create a GitHub issue for the current repository. Must read and follow the repository's issue template format.
[HINT] Download the complete skill directory including SKILL.md and all related files
| name | gh-create-issue |
| description | Use when user wants to create a GitHub issue for the current repository. Must read and follow the repository's issue template format. |
Use this skill when the user requests to create an issue. Must follow the repository's issue template format.
Analyze the user's request to determine the issue type:
If unclear, ask the user which template to use. Do not default to "Others" on your own.
.github/ISSUE_TEMPLATE/ directory.validations.required: true), title prefix (title), and labels (labels, if present).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).
Create a temp file and write the issue content:
issue_body_file="$(mktemp /tmp/gh-issue-body-XXXXXX).md"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).
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"
.github/ISSUE_TEMPLATE/ to ensure following the correct format.