Back to Skills

create-github-issues

pjt222
Updated 2 days ago
6 views
17
2
17
View on GitHub
Metadesign

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

Recommended
Primary
npx skills add pjt222/agent-almanac -a claude-code
Plugin CommandAlternative
/plugin add https://github.com/pjt222/agent-almanac
Git CloneAlternative
git clone https://github.com/pjt222/agent-almanac.git ~/.claude/skills/create-github-issues

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

  1. List: gh label list --limit 100
  2. Identify labels from findings (severity, phase, label fields)
  3. Severity map: critical, high-priority, medium-priority, low-priority
  4. Phase/theme: security, architecture, code-quality, accessibility, testing, performance
  5. create_labels = true → gh label create "name" --color "hex" --description "desc"
  6. 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.

  1. theme → phase/category (sec → 1-2 issues, a11y → 1)
  2. severity → level (CRIT → 1, HIGH → 1)
  3. file → primary file
  4. Within group: severity order (CRIT first)
  5. 8 findings → split by sub-theme

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

  1. Title: [Severity] Theme: Brief description[HIGH] Security: Eliminate innerHTML injection in panel.js
  2. 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)
    
  3. Labels: severity + theme + custom
  4. 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.

  1. dry_run = true → print + stop
  2. Create each:
    gh issue create --title "title" --body "$(cat <<'EOF'
    body content
    EOF
    )" --label "label1,label2"
    
  3. Record URLs
  4. Summary table: #number | Title | Labels | Findings count
  5. 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: true first. Easier edit plan vs close 15 bad issues

  • review-codebase — findings source
  • review-pull-request — PR findings → issues
  • manage-backlog — sprints + priorities
  • create-pull-request — PRs close issues
  • commit-changes — fix commits

GitHub Repository

pjt222/agent-almanac
Path: i18n/caveman-ultra/skills/create-github-issues
0
agentsagentskillsai-assisted-developmentclaude-codeskillsteams

Related Skills

content-collections

Meta

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

View skill

polymarket

Meta

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

View skill

creating-opencode-plugins

Meta

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

View skill

sglang

Meta

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

View skill