Generates structured GitHub issues using the gh CLI and GraphQL, ensuring consistent metadata and tracking.
Install
mkdir -p .claude/skills/create-issue-api2r && curl -L -o skill.zip "https://agentskills.codes/api/skills/download/10454" && unzip -o skill.zip -d .claude/skills/create-issue-api2r && rm skill.zipInstalls to .claude/skills/create-issue-api2r
Activation
This is the description your AI agent reads to decide when to run this skill — the better it matches your request, the more reliably it fires.
Creates GitHub issues for the package repository. Use when asked to create, file, or open a GitHub issue, or when planning new features or functions that need to be tracked.Key capabilities
- →Create GitHub issues
- →Assign issue types
- →Format issue bodies
- →Link to project metadata
How it works
It uses the GitHub GraphQL API to create issues with specific types, enforcing conventional commit titles and structured bodies.
Inputs & outputs
When to use create-issue
- →File a new bug report
- →Create a feature request issue
- →Track infrastructure tasks in GitHub
About this skill
Create a GitHub issue
Use gh api graphql with the createIssue mutation to create issues. This sets the issue type in a single step. Write the body to a temp file first, then pass it via $(cat ...).
If gh is not authenticated, stop and ask the user to authenticate before continuing.
Looking up IDs
The hardcoded IDs below are correct for this repo as of 2026-04-04 11:29:32 UTC. If they ever change, or if you're working in a fork, re-run these queries to get fresh values:
# Repository node ID
gh api graphql -f query='{ repository(owner: "api2r", name: "nectar") { id } }'
# Available issue type IDs
gh api graphql -f query='{ repository(owner: "api2r", name: "nectar") { issueTypes(first: 20) { nodes { id name description } } } }'
Issue type
Choose the type that best fits the issue:
| Type | ID | Use for |
|---|---|---|
| Task | IT_kwDOCPuMJs4BPtRZ | A specific piece of work |
| Bug | IT_kwDOCPuMJs4BPtRc | An unexpected problem or behavior |
| Feature | IT_kwDOCPuMJs4BPtRe | A request, idea, or new functionality |
| Documentation | IT_kwDOCPuMJs4B5OL_ | Explanations of how or why to do things |
| Infrastructure | IT_kwDOCPuMJs4B5OMn | Infrastructure of a project, like GitHub Actions |
Issue title
Titles use conventional commit prefixes:
feat: my_function()— new exported function or featurefix: short description— bug fixdocs: short description— documentationchore: short description— maintenance or task
Issue body structure
Which sections to include depends on the issue type:
| Section | Feature | Bug | Documentation | Task |
|---|---|---|---|---|
## Summary | ✓ | ✓ | ✓ | ✓ |
## Details | optional | optional | optional | optional |
## Proposed signature | ✓ | — | — | — |
## Behavior | ✓ | ✓ | — | — |
## References | optional | optional | optional | optional |
## Summary (all types)
A single user story sentence (no other content in this section):
> As a [role], in order to [goal], I would like to [feature].
Example:
## Summary
> As a package developer, in order to set up agent skills quickly, I would like to generate a skill template from a single function call.
## Details (optional, all types)
For information that's important to capture but doesn't fit naturally into any other section, including implementation details such as packages to add to Imports in DESCRIPTION or files to add to inst. Use sparingly — if the content belongs in ## Behavior, ## Proposed signature, or ## References, put it there instead.
## Proposed signature (Feature only)
The proposed R function signature, arguments table, and return value description:
## Proposed signature
```r
function_name(arg1, arg2)
```
**Arguments**
- `arg1` (`TYPE`) — Description.
- `arg2` (`TYPE`) — Description.
**Returns** a `TYPE` with description.
## Behavior (Feature and Bug)
- Feature: bullet points describing expected behavior, edge cases, and any internal helpers to implement as part of this issue.
- Bug: describe the current (broken) behavior, the expected behavior, and steps to reproduce if known.
## References (optional, all types)
Only include when there are specific reference implementations, external URLs, or related code to link to. Omit it entirely when there are none.
Creating the issue
Use the repoId and the typeId for the chosen issue type from the table above.
gh api graphql \
-f query='mutation($repoId:ID!, $title:String!, $body:String!, $typeId:ID!) {
createIssue(input:{repositoryId:$repoId, title:$title, body:$body, issueTypeId:$typeId}) {
issue { url }
}
}' \
-f repoId="R_kgDOJc_vLw" \
-f title="feat: my_function()" \
-f body="$(cat /tmp/issue_body.md)" \
-f typeId="{typeId}"
When not to use it
- →General communication
- →Code reviews
Prerequisites
Limitations
- →Hardcoded IDs may change
How it compares
It ensures issues are created with correct metadata and formatting, reducing manual overhead and inconsistency.
Compared to similar skills
create-issue side by side with the closest alternatives in the catalog.
| Skill | Installs | Updated | Safety | Difficulty |
|---|---|---|---|---|
| create-issue (this skill) | 0 | 4mo | Review | Beginner |
| github-project-management | 4 | 6mo | Review | Advanced |
| conductor-setup | 3 | 4mo | Review | Beginner |
| issue-manage | 2 | 5mo | Review | Beginner |
Try saying
Example prompts that trigger this skill in your AI assistant.
You might also like
github-project-management
ruvnet
Comprehensive GitHub project management with swarm-coordinated issue tracking, project board automation, and sprint planning
conductor-setup
sickn33
Initialize project with Conductor artifacts (product definition, tech stack, workflow, style guides)
issue-manage
catlog22
Interactive issue management with menu-driven CRUD operations. Use when managing issues, viewing issue status, editing issue fields, performing bulk operations, or viewing issue history. Triggers on "manage issue", "list issues", "edit issue", "delete issue", "bulk update", "issue dashboard", "issue history", "completed issues".
gsd-executor
toonight
Executes GSD plans with atomic commits, deviation handling, checkpoint protocols, and state management
init-harness
mylukin
Creates AI agent task management structure with feature backlog (ai/tasks/), TDD enforcement, and progress tracking. Use when setting up agent-foreman, initializing feature-driven development, creating task backlog, or enabling TDD mode. Triggers on 'init harness', 'setup feature tracking', 'create feature backlog', 'enable strict TDD', 'initialize agent-foreman'.
team-coordination
alinaqi
Multi-person projects - shared state, todo claiming, handoffs