From git
Create a GitHub issue from a PR, Slack message, or ad-hoc description. Use when the user wants to file an issue, track a bug, request a feature, or turn a conversation into a trackable work item. Triggers on phrases like "create an issue", "file a bug", "open an issue for this", "track this", "make a ticket", "turn this into an issue", or any request to create a GitHub issue. Also triggers when the user pastes a Slack message, PR URL, or describes a problem and wants it tracked.
How this skill is triggered — by the user, by Claude, or both
Slash command
/git:git-issueThe summary Claude sees in its skill listing — used to decide when to auto-load this skill
Create a well-titled GitHub issue from a pull request, a Slack message, or a plain description — with duplicate detection and structured output.
Create a well-titled GitHub issue from a pull request, a Slack message, or a plain description — with duplicate detection and structured output.
An issue is a promise to do something. The title should be scannable in a list of 50 other issues. The body should give someone enough context to start working without asking follow-up questions. If the work is already tracked somewhere, don't create noise — link to what exists.
Determine where the issue content is coming from:
From a PR:
gh pr view <number> --json title,body,labels,url,closingIssuesReferences
Check closingIssuesReferences — if the PR already links to an issue, surface it:
"This PR already references #34. Do you want to create a new issue anyway, or is #34 the one you're looking for?"
Wait for confirmation before proceeding. Don't create duplicate tracking.
Also read the PR diff to understand the scope of changes:
gh pr diff <number> --stat
From a Slack message:
The user will paste the message content. Extract:
From ad-hoc input:
Take what the user gives you. Ask clarifying questions only if the description is genuinely too vague to write a useful issue — a single sentence is often enough.
Before drafting, search for existing issues that might cover the same ground:
gh issue list --state open --limit 20 --search "<key terms>"
If something looks like a match, surface it:
"Found #12 which looks related: 'Session tokens not invalidated on logout'. Is this the same issue, or something different?"
Only proceed to creation after the user confirms it's new.
Compose the issue title and body.
Title follows conventional commit style — type and concise description:
type(scope): concise description
| Type | When to use |
|---|---|
bug | Something is broken |
feat | New functionality requested |
docs | Documentation gap or error |
task | Maintenance, refactor, or chore |
Body uses this template:
[One to two sentence description of the issue]
Source: [PR #N / Slack / reported by user]
## Context
[2-3 sentences of relevant background. What's happening now, what should happen instead, or what's missing. Include error messages, file paths, or URLs if available.]
## Acceptance Criteria
- [ ] [Concrete, verifiable outcome]
- [ ] [Another outcome if needed]
Rules for the body:
Suggest labels based on the issue type and content. Check what labels exist in the repo first:
gh label list --limit 50
Map to existing labels where possible rather than inventing new ones. Present the suggested labels with the draft for the user to confirm.
Present the draft title, body, and suggested labels to the user. Wait for confirmation before creating.
gh issue create --title "type(scope): description" --label "label1,label2" --body "$(cat <<'EOF'
[the body from step 4]
EOF
)"
Return the issue URL to the user.
From a PR:
User: "create an issue from PR #47" → Read the PR, check for linked issues, draft an issue capturing the problem the PR solves (or a follow-up task discovered during the PR).
From Slack:
User pastes: "hey has anyone noticed the dashboard is super slow when you filter by date range? it takes like 10 seconds to load" → Title: bug(dashboard): date range filter causes slow load times → Body captures the symptom, asks about reproduction steps if needed.
Ad-hoc:
User: "we need to add rate limiting to the public API" → Title: feat(api): add rate limiting to public endpoints → Body describes the need, suggests acceptance criteria like "returns 429 after threshold".
npx claudepluginhub kellymears/agents --plugin gitCreates 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.
Analyzes codebase impact for a given request and creates structured GitHub issues with AI-verified and human-judgment-needed sections.
Open-source issue creation: bug reports, feature requests, and structured contribution communication. Invoke whenever task involves any interaction with issues in external repositories — filing bugs, proposing features, reporting problems, or preparing issue content for open-source projects.