From rvanbaalen
Create a new GitHub issue with guided template, type, and label selection. Gathers repo metadata, suggests labels, writes a well-structured issue body, and asks for confirmation before submitting.
How this skill is triggered — by the user, by Claude, or both
Slash command
/rvanbaalen:make-issueThe summary Claude sees in its skill listing — used to decide when to auto-load this skill
Create a new GitHub issue based on the $ARGUMENTS input from the user.
Create a new GitHub issue based on the $ARGUMENTS input from the user.
If no arguments were provided, use AskUserQuestion to ask what the issue is about before proceeding.
Run these commands in parallel to collect all necessary data upfront:
.github/ISSUE_TEMPLATE/gh repo view --json owner,name,idgh api graphql -f query='
query($owner: String!, $name: String!) {
repository(owner: $owner, name: $name) {
issueTypes(first: 20) {
nodes {
id
name
description
}
}
}
}
' -f owner='{owner}' -f name='{repo}'
gh api graphql -f query='
query($owner: String!, $name: String!) {
repository(owner: $owner, name: $name) {
labels(first: 100) {
nodes {
id
name
description
color
}
}
}
}
' -f owner='{owner}' -f name='{repo}'
If the repository has more than 100 labels, paginate using after cursor.If issue templates are available, use AskUserQuestion to ask which template to use. Use the template to structure the issue body in step 5.
If issue types are available, use AskUserQuestion to let the user select one.
Analyze the issue content and auto-suggest relevant labels. Keep this efficient — at most 3 rounds of questions:
Use AskUserQuestion with multiSelect enabled for each round. If there are fewer than 5 labels total, handle them in a single round.
Draft a title and body. The body should be concise but contain enough context to be actionable. Structure depends on the issue type:
Bug reports — include:
Feature requests — include:
General issues — keep it straightforward: describe the problem or task and any relevant context.
If a template was selected in step 2, follow the template's structure.
Use AskUserQuestion to show the user the draft:
Do not create the issue until the user approves.
Create the issue in a single request with all selected labels.
With issue type (use GraphQL — this is the only way to set issue types):
gh api graphql -f query='
mutation($repositoryId: ID!, $title: String!, $body: String!, $issueTypeId: ID!, $labelIds: [ID!]) {
createIssue(input: {repositoryId: $repositoryId, title: $title, body: $body, issueTypeId: $issueTypeId, labelIds: $labelIds}) {
issue {
number
url
}
}
}
' -f repositoryId='{repoId}' -f title='{title}' -f body='{body}' -f issueTypeId='{selectedIssueTypeId}' -f labelIds='["{labelId1}","{labelId2}"]'
Without issue type (use the simpler CLI):
gh issue create --title '{title}' --body '{body}' --label 'label1,label2'
Provide the URL to the newly created issue.
npx claudepluginhub rvanbaalen/skills --plugin make-issueCreates well-structured GitHub issues using gh CLI with templates for bugs, features, tasks including titles, descriptions, acceptance criteria, and labels. Use for filing bugs or feature requests.
Creates formatted GitHub issues with auto-detected labels (bug, enhancement, performance, security), codebase context via grep searches, recent issues check, and gh CLI.
Creates, lists, and views GitHub issues using gh CLI with guided prompts for actions, titles, bodies, and issue types. For repository issue management workflows.