create-github-issues
About
This skill automatically creates structured GitHub issues from code review findings or task breakdowns. It groups related items into logical issues, applies labels, and formats them with standard templates including acceptance criteria. It's designed to process output from review skills like `review-codebase` to streamline issue tracking.
Quick Install
Claude Code
Recommendednpx skills add pjt222/agent-almanac -a claude-code/plugin add https://github.com/pjt222/agent-almanacgit clone https://github.com/pjt222/agent-almanac.git ~/.claude/skills/create-github-issuesCopy and paste this command in Claude Code to install this skill
Documentation
Create GitHub Issues
Findings → grouped GitHub issues w/ labels + acceptance criteria + cross-refs.
Use When
- Codebase review → findings table → track
- Planning session → work items → issues
- TODO / backlog → trackable issues
- Batch-create related issues, consistent fmt
In
- Required:
findings— items w/ title + desc. Ideally: severity, files, labels - Optional:
group_by— batch:severity,file,theme(def:theme)label_prefix— auto-label prefix (def: none)create_labels— create missing (def:true)dry_run— preview no create (def:false)
Do
Step 1: Prep Labels
Needed labels exist in repo.
- List:
gh label list --limit 100 - Identify labels from findings (severity, phase, label fields)
- Severity map:
critical,high-priority,medium-priority,low-priority - Phase/theme:
security,architecture,code-quality,accessibility,testing,performance create_labels= true →gh label create "name" --color "hex" --description "desc"- Colors: red=crit/sec, orange=high, yellow=med, blue=arch, green=test
Got: All label refs exist. No dup.
If err: gh not auth → gh auth login. Create denied → skip, note missing.
Step 2: Group
Batch → logical issues, no sprawl.
theme→ phase/category (sec → 1-2 issues, a11y → 1)severity→ level (CRIT → 1, HIGH → 1)file→ primary file- Within group: severity order (CRIT first)
-
8 findings → split by sub-theme
- Each group → 1 issue
Got: Groups w/ 1-8 findings each. Total: 5-15 for full review.
If err: No grouping metadata → 1 issue per finding (OK for <10, bad for larger).
Step 3: Compose
Std template.
- Title:
[Severity] Theme: Brief description—[HIGH] Security: Eliminate innerHTML injection in panel.js - Body:
## Summary One-paragraph overview of what this issue addresses and why it matters. ## Findings 1. **[SEVERITY]** Finding description (`file.js:line`) — brief explanation 2. **[SEVERITY]** Finding description (`file.js:line`) — brief explanation ## Acceptance Criteria - [ ] Criterion derived from finding 1 - [ ] Criterion derived from finding 2 - [ ] All changes pass existing tests ## Context Generated from codebase review on YYYY-MM-DD. Related: #issue_numbers (if applicable) - Labels: severity + theme + custom
- File refs → body mention (not assignee)
Got: Title + numbered findings + checkbox criteria + labels.
If err: Body > 65536 chars → split + cross-ref.
Step 4: Create
Use gh CLI.
dry_run= true → print + stop- Create each:
gh issue create --title "title" --body "$(cat <<'EOF' body content EOF )" --label "label1,label2" - Record URLs
- Summary table:
#number | Title | Labels | Findings count - Sequence → edit first issue: "Blocked by #X" / "See also #Y"
Got: All created. Summary table w/ URLs.
If err: Individual fail → log + continue. Report end. Common: auth expired, label not found (create_labels=false), network timeout.
Check
- All findings in ≥1 issue
- Each issue ≥1 label
- Each issue has checkbox criteria
- No dup (check titles vs open)
- Issue count reasonable (not 1:1 for large)
- Summary table printed w/ URLs
Traps
- Sprawl: 1-per-finding → 20+ issues. Group aggressive → 5-10 ideal
- Missing criteria: No checkboxes → no verify. Every finding → ≥1 checkbox
- Label chaos: Too many → filter useless. Stick severity + theme
- Stale refs: Old review → verify findings still apply
- No dry run: Large sets → always
dry_run: truefirst. Easier edit plan vs close 15 bad issues
→
review-codebase— findings sourcereview-pull-request— PR findings → issuesmanage-backlog— sprints + prioritiescreate-pull-request— PRs close issuescommit-changes— fix commits
GitHub Repository
Related Skills
content-collections
MetaThis skill provides a production-tested setup for Content Collections, a TypeScript-first tool that transforms Markdown/MDX files into type-safe data collections with Zod validation. Use it when building blogs, documentation sites, or content-heavy Vite + React applications to ensure type safety and automatic content validation. It covers everything from Vite plugin configuration and MDX compilation to deployment optimization and schema validation.
polymarket
MetaThis skill enables developers to build applications with the Polymarket prediction markets platform, including API integration for trading and market data. It also provides real-time data streaming via WebSocket to monitor live trades and market activity. Use it for implementing trading strategies or creating tools that process live market updates.
creating-opencode-plugins
MetaThis skill helps developers create OpenCode plugins that hook into 25+ event types like commands, files, and LSP operations. It provides the plugin structure, event API specifications, and implementation patterns for JavaScript/TypeScript modules. Use it when you need to intercept, monitor, or extend the OpenCode AI assistant's lifecycle with custom event-driven logic.
sglang
MetaSGLang is a high-performance LLM serving framework that specializes in fast, structured generation for JSON, regex, and agentic workflows using its RadixAttention prefix caching. It delivers significantly faster inference, especially for tasks with repeated prefixes, making it ideal for complex, structured outputs and multi-turn conversations. Choose SGLang over alternatives like vLLM when you need constrained decoding or are building applications with extensive prefix sharing.
