CR

create-issue

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.zip

Installs 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.
173 chars✓ has a “when” trigger
Beginner

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

You give it
Issue details
You get back
GitHub issue URL

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:

TypeIDUse for
TaskIT_kwDOCPuMJs4BPtRZA specific piece of work
BugIT_kwDOCPuMJs4BPtRcAn unexpected problem or behavior
FeatureIT_kwDOCPuMJs4BPtReA request, idea, or new functionality
DocumentationIT_kwDOCPuMJs4B5OL_Explanations of how or why to do things
InfrastructureIT_kwDOCPuMJs4B5OMnInfrastructure of a project, like GitHub Actions

Issue title

Titles use conventional commit prefixes:

  • feat: my_function() — new exported function or feature
  • fix: short description — bug fix
  • docs: short description — documentation
  • chore: short description — maintenance or task

Issue body structure

Which sections to include depends on the issue type:

SectionFeatureBugDocumentationTask
## Summary
## Detailsoptionaloptionaloptionaloptional
## Proposed signature
## Behavior
## Referencesoptionaloptionaloptionaloptional

## 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

gh CLIAuthenticated GitHub session

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.

SkillInstallsUpdatedSafetyDifficulty
create-issue (this skill)04moReviewBeginner
github-project-management46moReviewAdvanced
conductor-setup34moReviewBeginner
issue-manage25moReviewBeginner

Try saying

Example prompts that trigger this skill in your AI assistant.

Search skills

Search the agent skills registry