Skip to content

feat(issue): add AI-powered GitHub issue skill#21

Draft
eaebob wants to merge 1 commit into
denisvieiradev:mainfrom
eaebob:feature/issue-skill
Draft

feat(issue): add AI-powered GitHub issue skill#21
eaebob wants to merge 1 commit into
denisvieiradev:mainfrom
eaebob:feature/issue-skill

Conversation

@eaebob

@eaebob eaebob commented Jun 30, 2026

Copy link
Copy Markdown

Summary

Adds a new issue command/skill that mirrors the existing pr pattern: it drafts a structured GitHub issue (title + body) from a free-text description using the LLM — detecting whether the input is a bug report or a feature request — and then creates the issue via gh issue create.

This rounds out the toolbelt alongside commit / review / pr / release, available in both distribution modes (the gw issue CLI command and the Claude Code issue skill).

Changes

  • Core: commands/issue.ts (issue() drafting + applyIssue()), createIssue() gh wrapper in infra/github.ts, issue: "fast" in the model-router, and the matching exports in index.ts.
  • CLI: gw issue "<description>" command (commands/issue.ts + registration in program.ts).
  • Skill: skills/issue/SKILL.md, the scripts/issue.ts runner, and its tsup entry. Rebuilt dist/scripts/* (tracked build artifacts).
  • Docs: docs/.../commands/issue.md (auto-listed in the Commands sidebar) and a README table entry.
  • Flags: --label a,b, --assignee user (repeatable/comma-separated), --prompt "<text>", --apply.

Test Plan

  • npm run lint — clean across all workspaces.
  • npm run build — green; packages/skills/dist/scripts/issue.js generated.
  • New/updated unit tests pass: createIssue subprocess-argument-safety (array, never a shell string) per CONTRIBUTING, model-router issue tier, and run-cli (mock updated for the new exports).
  • Smoke test: the built runner executes end-to-end and surfaces INVALID_INTENT when no description is given.

Note: the security test for createIssue asserts gh is invoked with an args array, satisfying the subprocess-safety requirement in CONTRIBUTING.

@eaebob eaebob requested a review from denisvieiradev as a code owner June 30, 2026 16:03
Adds an `issue` command/skill mirroring the `pr` pattern: drafts a
structured issue title and body from a free-text description with the LLM
(detecting bug report vs. feature request), then creates it via
`gh issue create`.

Wires the full vertical slice: core `issue()`/`applyIssue()`, the
`createIssue` gh infra wrapper, the model-router tier, the `gw issue` CLI
command, the Claude Code SKILL.md + runner, docs, and the
subprocess-argument-safety test required by CONTRIBUTING.
@eaebob eaebob force-pushed the feature/issue-skill branch from 747ccc2 to 9461713 Compare June 30, 2026 16:07
@eaebob eaebob marked this pull request as draft June 30, 2026 16:08
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant