github-issue-creator
Scannednpx machina-cli add skill google-gemini/gemini-cli/github-issue-creator --openclawGitHub Issue Creator
This skill guides the creation of high-quality GitHub issues that adhere to the repository's standards and use the appropriate templates.
Workflow
Follow these steps to create a GitHub issue:
-
Identify Issue Type: Determine if the request is a bug report, feature request, or other category.
-
Locate Template: Search for issue templates in
.github/ISSUE_TEMPLATE/.bug_report.ymlfeature_request.ymlwebsite_issue.yml- If no relevant YAML template is found, look for
.mdtemplates in the same directory.
-
Read Template: Read the content of the identified template file to understand the required fields.
-
Draft Content: Draft the issue title and body/fields.
- If using a YAML template (form), prepare values for each
iddefined in the template. - If using a Markdown template, follow its structure exactly.
- Default Label: Always include the
🔒 maintainer onlylabel unless the user explicitly requests otherwise.
- If using a YAML template (form), prepare values for each
-
Create Issue: Use the
ghCLI to create the issue.- CRITICAL: To avoid shell escaping and formatting issues with multi-line Markdown or complex text, ALWAYS write the description/body to a temporary file first.
For Markdown Templates or Simple Body:
# 1. Write the drafted content to a temporary file # 2. Create the issue using the --body-file flag gh issue create --title "Succinct title" --body-file <temp_file_path> --label "🔒 maintainer only" # 3. Remove the temporary file rm <temp_file_path>For YAML Templates (Forms): While
gh issue createsupports--body-file, YAML forms usually expect key-value pairs via flags if you want to bypass the interactive prompt. However, the most reliable non-interactive way to ensure formatting is preserved for long text fields is to use the--bodyor--body-fileif the form has been converted to a standard body, OR to use the--fieldflags for YAML forms.Note: For the
gemini-clirepository which uses YAML forms, you can often submit the content as a single body if a specific field-based submission is not required by the automation. -
Verify: Confirm the issue was created successfully and provide the link to the user.
Principles
- Clarity: Titles should be descriptive and follow project conventions.
- Defensive Formatting: Always use temporary files with
--body-fileto prevent newline and special character issues. - Maintainer Priority: Default to internal/maintainer labels to keep the backlog organized.
- Completeness: Provide all requested information (e.g., version info, reproduction steps).
Source
git clone https://github.com/google-gemini/gemini-cli/blob/main/.gemini/skills/github-issue-creator/SKILL.mdView on GitHub Overview
This skill guides creating high quality GitHub issues that follow repository standards and templates. It automates drafting and labeling to ensure issues are actionable and easy to triage.
How This Skill Works
Identify the issue type and the relevant template in .github/ISSUE_TEMPLATE. Read the template to understand required fields, draft a descriptive title and body, and apply the default maintainer label. Use the gh CLI to create the issue, writing the body to a temporary file to avoid shell escaping issues; for YAML templates, use field flags or a converted body when needed.
When to Use It
- When a user asks for a bug report, feature, or other issue type and a corresponding template exists
- When templates are located in .github/ISSUE_TEMPLATE and should be followed
- When you need to preserve formatting for long text by writing the body to a temporary file
- When non-interactive creation is required or automation is used
- When you want to consistently apply the default maintainer label unless the user requests otherwise
Quick Start
- Step 1: Identify Issue Type and locate templates in .github/ISSUE_TEMPLATE/
- Step 2: Read the template, draft the title and body, and apply the default label
- Step 3: Write the body to a temporary file and create the issue with gh issue create using the --body-file option and the maintainer label
Best Practices
- Map the request to the correct template (bug_report.yml, feature_request.yml, website_issue.yml) if available
- Draft clear, descriptive titles that follow project conventions
- Include version info, reproduction steps, and expected vs actual behavior where applicable
- Always use a temporary file for the issue body to prevent newline and escaping issues
- Default to the maintainer-only label and adjust only if the user asks otherwise
Example Use Cases
- Bug: app crashes on startup on Linux
- Feature: add dark mode toggle for the web UI
- Website issue: docs page 404 on /getting-started
- Documentation: request example for contributing guidelines
- Bug: slow API response under load in v2.2.0