create-issue — GitHub issue skill for Claude Code
A skill that walks through issue creation step by step: gathers context, checks the codebase, drafts English text, and assigns labels. Handy when you want a tidy issue without doing it manually.
npx skills add dyoshikawa/rulesync --skill create-issue -a claude-codeWhat create-issue does
The skill follows six steps. First it figures out what needs to be done and why. If details are thin, it asks two questions: what the task is and what the motivation is. Then it reads the codebase to see which files are affected, what patterns exist, and how big the change is.
All issue content — title, body, labels — goes in English, even if the conversation is in another language. The template is fixed: Summary, Motivation / Purpose, Details, Additional Context. After that the skill runs gh label list and picks labels that actually exist in the repository. For a straightforward, well-scoped task it also adds good first issue if that label is present.
GitHub CLI is required. The skill creates the issue with gh issue create --title "<concise title>" --body "<drafted body>" --label "<label1>,<label2>,..." and reports the URL, title, labels, and whether good first issue was applied. No gh, no labels and no issue.
What it helps with
- draft a GitHub issue without manual template work
- pick labels that exist in the repo
- see which files a change touches before filing it
- flag newcomer-friendly tasks with good first issue
Example prompts for the agent
- create an issue for fixing error handling in the API — the server crashes on empty responses
- file an issue for refactoring the payments module and check what it touches
- open an issue about updating dependencies
How to install create-issue
1Skills CLI (Vercel)
npx skills add dyoshikawa/rulesync --skill create-issue -a claude-code2Manually: put the files in place
~/.claude/skills/create-issue/SKILL.mdCopy the whole skill folder; for one project use .claude/skills/create-issue/
1Skills CLI (Vercel)
npx skills add dyoshikawa/rulesync --skill create-issue -a codex2Manually: put the files in place
.agents/skills/create-issue/SKILL.mdFor all projects use ~/.agents/skills/
1Skills CLI (Vercel)
npx skills add dyoshikawa/rulesync --skill create-issue -a cursor2Manually: put the files in place
.cursor/skills/create-issue/SKILL.mdCursor also reads .agents/skills/ and .claude/skills/
1GitHub CLI
gh skill install dyoshikawa/rulesync create-issue2Manually: put the files in place
.github/skills/create-issue/SKILL.md1Skills CLI (Vercel)
npx skills add dyoshikawa/rulesync --skill create-issue -a gemini-cli2Platform CLI
gemini skills install https://github.com/dyoshikawa/rulesync --path .rulesync/skills/create-issueManually: put the files in place
.devin/skills/create-issue/SKILL.mdThe legacy .windsurf/skills/ path still works
Skills CLI (Vercel)
npx skills add dyoshikawa/rulesync --skill create-issue -a opencodeClaude.ai
Zip the folder and upload it in Settings → Capabilities → Skills
Step by step, with commands for each platform: How to install skills in Claude Code: five ways
Questions about create-issue
How do I install create-issue in Claude Code?
Run npx skills add dyoshikawa/rulesync --skill create-issue -a claude-code. The skill lands in ~/.claude/skills/create-issue/SKILL.md.
What does create-issue do?
It creates a GitHub issue with a description, purpose, and appropriate labels. It inspects the codebase, writes the issue in English, and calls gh issue create.
Do I need GitHub CLI?
Yes. The skill lists labels with gh label list and creates the issue with gh issue create. Without gh, those steps fail.
Source text
SKILL.md · MIT
--- name: create-issue description: >- Create a GitHub issue with detailed description, purpose, and appropriate labels targets: - "*" --- # Create GitHub Issue ## Step 1: Gather Information Receive the issue topic from $ARGUMENTS or the user's description. If the information is insufficient, ask the user to clarify the following: - What needs to be done (the task or problem) - Why it needs to be done (the purpose or motivation) ## Step 2: Research Context Before writing the issue, investigate the relevant parts of the codebase to understand: - Which files and modules are affected - Existing related code patterns - Potential impact and scope of the change ## Step 3: Draft the Issue **Important: All issue content (title, body, labels) must be written in English**, regardless of the language used in the conversation with the user. Create a well-structured issue with the following sections: ```markdown ## Summary A concise one-liner describing what this issue is about. ## Motivation / Purpose Why this change is needed. Explain the problem, user impact, or improvement opportunity. ## Details Detailed description of what needs to be done: - Specific changes required - Files or modules likely affected - Acceptance criteria or expected behavior ## Additional Context Any relevant links, screenshots, or references (if applicable). ``` ## Step 4: Assign Labels First, get the available labels from the repository: ```bash gh label list ``` Then choose appropriate labels from the existing repository labels based on the issue content. Also evaluate whether the issue is suitable for newcomers. If the contribution is straightforward (e.g., small scope, well-defined, minimal domain knowledge required), also assign the `good first issue` label if it exists in the repository. ## Step 5: Create the Issue ```bash gh issue create --title "<concise title>" --body "<drafted body>" --label "<label1>,<label2>,..." ``` ## Step 6: Report Result Output the created issue URL and a summary of: - Issue title - Assigned labels - Whether `good first issue` was applied and why (or why not)
© dyoshikawa · MIT · dyoshikawa/rulesync