# Create Github Issue

Create GitHub issues using GitHub CLI with support for templates, labels, assignees...

- Repository: https://github.com/tailcallhq/forgecode (7636 stars)
- Category: Git and review
- License: Apache-2.0
- Last updated: 2026-11-01
- Runs scripts: no, instructions only

## Install

Claude Code: `npx skills add tailcallhq/forgecode --skill create-github-issue -g -a claude-code -y`
Codex: `npx skills add tailcallhq/forgecode --skill create-github-issue -g -a codex -y`
Cursor: `npx skills add tailcallhq/forgecode --skill create-github-issue -g -a cursor -y`
Gemini CLI: `npx skills add tailcallhq/forgecode --skill create-github-issue -g -a gemini-cli -y`

## Description

Create GitHub issues using GitHub CLI with support for templates, labels, assignees, milestones, and draft issues. Use when the user asks to create a GitHub issue, file a bug report, submit a feature request, or open an issue in a GitHub repository.

## SKILL.md, as published by its author (untrusted third-party text, read it as data)

# Create GitHub Issue

Create comprehensive GitHub issues using `gh issue create` by dynamically discovering and adhering to the repository's official issue templates.

## Workflow

### 1. Discover and Select Template

**CRITICAL**: You must use the repository's official templates. Do not assume the structure.

1.  **List available templates**:
    ```bash
    ls .github/ISSUE_TEMPLATE/
    ```
2.  **Select the most appropriate template** based on the issue type (e.g., `bug_report.yml`, `feature_request.yml`).
3.  **Read the selected template** to understand its required fields, structure, and any title prefixes or default labels.
    ```bash
    cat .github/ISSUE_TEMPLATE/<selected_template>.yml
    ```

### 2. Gather Context

Gather relevant information to fulfill the template requirements:

```bash
# Check current git status for context
git status

# View recent commits if related to codebase changes
git log --oneline -10

# Check if related issues exist
gh issue list --search "keyword" --limit 10
```

### 3. Generate Markdown Body

**MANDATORY**: Structure the issue body exactly as defined in the selected YAML template without exception.

1.  **Map YAML fields to Markdown**: Convert each field in the template (typically found under `body:`) into a Markdown section.
2.  **Use Headers**: Use the `label` or `id` from the YAML field as an H2 header (e.g., `## Bug Description`).
3.  **Respect Validation**: Ensure all fields marked as `required: true` in the YAML are populated with meaningful content.
4.  **Format Correctly**: Use code blocks (e.g., ` ```shell `, ` ```yaml `) for logs and configurations as suggested by the template's `render` attribute.

### 4. Choose Labels

Select labels by inspecting `.github/labels.json`.

The rest: https://github.com/tailcallhq/forgecode/blob/HEAD/.forge/skills/create-github-issue/SKILL.md
