CtrlK
BlogDocsLog inGet started
Tessl Logo

github-issue-creator

Use this skill when asked to create a GitHub issue. It handles different issue types (bug, feature, etc.) using repository templates and ensures proper labeling.

60

Quality

68%

Does it follow best practices?

Run evals on this skill

Adds up to 20 points to the overall score

View guide

SecuritybySnyk

Critical

Do not install without reviewing

Fix and improve this skill with Tessl

tessl review fix ./.gemini/skills/github-issue-creator/SKILL.md
SKILL.md
Quality
Evals
Security

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).
Repository
google-gemini/gemini-cli
Last updated
First committed

Is this your skill?

If you maintain this skill, you can claim it as your own. Once claimed, you can manage eval scenarios, bundle related skills, attach documentation or rules, and ensure cross-agent compatibility.