bundles/github/skills/bug/SKILL.md
File a GitHub issue of type Bug from a description — structures a clear bug report (summary, steps to reproduce, expected vs actual, environment), previews it, then on confirmation creates the issue with the Bug issue type (falling back to a bug label when the repo has no issue types). Use when the user asks to file a bug, open a bug report, create a GitHub bug issue, log a bug, or runs /bug.
npx skillsauth add shipshitdev/library bugInstall this skill globally with one command. Works with Claude Code, Cursor, and Windsurf.
3 of 9 scanners reported clean
Some scanners were skipped, did not run, or reported a non-clean status. Review each row below.
Turn a description of something broken into a GitHub issue
of type Bug. It drafts the report from what the user gives (plus repo context),
shows it for approval, and only then files the issue — typed Bug where the repo
supports issue types, otherwise labelled bug.
It never opens an issue without confirmation and never invents reproduction steps or facts the user did not provide; unknowns are marked as such.
Inputs:
Outputs:
Bug or labelled bug (and why)Creates/Modifies:
Bug (or with the bug label) via ghbug label if it is used as a fallback and does not yet existExternal Side Effects:
Confirmation Required:
bug label (fallback path), if one does not already existDelegates To:
gh-fix-ci when the bug is a failing CI check the user wants fixed instead of fileddebug when the user wants to root-cause before filing (it escalates to
systematic-debugging on its own when a fix attempt has already failed)/bugDo not use this skill to fix the bug, to file feature requests or tasks (those are a different issue type), or to triage existing issues.
gh auth status -h github.com
gh repo view --json nameWithOwner,hasIssuesEnabled --jq '{repo:.nameWithOwner, issues:.hasIssuesEnabled}'
Stop if issues are disabled. Detect whether the repo's owner defines issue types
and whether a Bug type exists:
gh issue create --help | grep -q -- '--type' && echo "type-flag: supported"
gh api "repos/{owner}/{repo}" --jq '.owner.type' 2>/dev/null
Decide the path:
Bug type. Use
--type Bug.bug label — fallback when no issue types exist. Check for the label and plan
to create it only if needed:gh label list --search bug --json name --jq '.[].name'
Structure the report from what the user gave. Keep it factual — never fabricate
steps, versions, or behavior. Mark anything unknown as _not provided_.
Title: a short, specific summary of the symptom (not "bug" or "it's broken").
Body (omit sections that genuinely do not apply):
## Summary
<one or two sentences: what is broken>
## Steps to Reproduce
1. …
2. …
## Expected
<what should happen>
## Actual
<what happens instead — include the error/stack trace verbatim if provided>
## Environment
<app/service, version or commit, OS/browser, anything relevant — or _not provided_>
## Notes
<links, related issues, suspected area — only if the user gave them>
If the user pasted a stack trace or error, quote it verbatim in a fenced block under Actual. Ask one concise follow-up only if the report is unusable without it (e.g. no symptom at all); otherwise draft with what you have and mark gaps.
Print the full drafted issue — title, body, the type/label decision, and any labels/assignee/milestone to apply — then stop and wait for an explicit yes. In a read-only or dry-run request, end here and file nothing.
Only after confirmation, write the body under the current repo's .tmp/ (to
preserve formatting) and create the issue.
Preferred — Bug issue type:
REPO_TMP="$(git rev-parse --show-toplevel)/.tmp"
mkdir -p "$REPO_TMP"
gh issue create --title "<title>" --body-file "$REPO_TMP/bug_body.md" --type Bug
Fallback — bug label (create the label first only if it is missing and the user
agreed):
gh label create bug --color d73a4a --description "Something isn't working" 2>/dev/null || true
gh issue create --title "<title>" --body-file "$REPO_TMP/bug_body.md" --label bug
Add --assignee, --label, --milestone, or --project only for values the user
specified. If --type Bug fails because the type does not exist, fall back to the
label path and say so rather than failing the run.
bug / bug <description> — Phases 1-4. Draft, confirm, file the issue. (Default.)bug draft — Phases 1-3. Draft and print the report only; create nothing.If the user names labels, an assignee, a milestone, or a severity, honor them. If they ask for a feature or task instead of a bug, say this skill files bugs and point them to the right issue type.
Report:
Bug or labelled bugdebug, or fix a failing check with
gh-fix-cidevelopment
Coordinates a weekly engineering review of board accuracy, recent code changes, operational health, and scoped cleanup. Use for a recurring repository health review or a review of the last several days.
testing
Audits project board configuration and prepares explicitly requested setup, copy, or normalization changes while preserving the existing workflow and provider boundaries. Use when inspecting a board's fields, columns, scope, or configuration.
testing
Reconciles a project board with current work and delivery evidence, reports incomplete coverage and metadata gaps, and applies only approved provider-supported field changes. Use when auditing board drift, reviewing blocked work, or assessing upcoming delivery.
development
Walk through how a subsystem works. Use for "how does X work", code walkthroughs before changing something, and placement or ownership questions. Explains architecture, runtime flow, and onboarding mental models. Can critique architecture. Use why for motivation.