Get the FREE Ultimate OpenClaw Setup Guide →

github-issue-creator

Scanned
npx machina-cli add skill google-gemini/gemini-cli/github-issue-creator --openclaw
Files (1)
SKILL.md
2.9 KB

GitHub 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:

  1. Identify Issue Type: Determine if the request is a bug report, feature request, or other category.

  2. Locate Template: Search for issue templates in .github/ISSUE_TEMPLATE/.

    • bug_report.yml
    • feature_request.yml
    • website_issue.yml
    • If no relevant YAML template is found, look for .md templates in the same directory.
  3. Read Template: Read the content of the identified template file to understand the required fields.

  4. Draft Content: Draft the issue title and body/fields.

    • If using a YAML template (form), prepare values for each id defined in the template.
    • If using a Markdown template, follow its structure exactly.
    • Default Label: Always include the 🔒 maintainer only label unless the user explicitly requests otherwise.
  5. Create Issue: Use the gh CLI 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 create supports --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 --body or --body-file if the form has been converted to a standard body, OR to use the --field flags for YAML forms.

    Note: For the gemini-cli repository 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.

  6. 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-file to 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

  1. Step 1: Identify Issue Type and locate templates in .github/ISSUE_TEMPLATE/
  2. Step 2: Read the template, draft the title and body, and apply the default label
  3. 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

Frequently Asked Questions

Add this skill to your agents
Sponsor this space

Reach thousands of developers