GitHub Issue Management
HARD-GATE
DO NOT create an issue without explicit user confirmation.
DO NOT assume tracker credentials, project fields, or sprint IDs.
Prerequisites
gh CLI installed and authenticated.
- Working in a git repository with a GitHub remote.
Label Conventions
Type (required, one): bug, new-feature, improvement, refactor, security
Stage: todo, in-progress, in-review, done
Phase (optional): phase-1, etc.
Priority (optional): priority:high, priority:medium, priority:low
All labels use kebab-case. New issues start with todo.
Stage Lifecycle
todo → in-progress → in-review → done (closed)
Any stage can revert to todo if blocked.
Creating an Issue
- Gather context: what's the problem/feature, why, what "done" means, any examples.
- Detect repo setup: owner/repo, issue templates, Projects V2, Classic projects, milestones (see reference for exact command queries).
- Draft the issue using a standard template (Problem, Expected Outcome, Proposed Solution, Examples, Acceptance Criteria). If templates exist, adapt.
- Validate with user before creation.
- Create the issue via
gh issue create, add to project board (V2 or Classic using GraphQL), and associate milestone as appropriate.
- Confirm creation with issue number, labels, and links.
Updating an Issue
- Find the issue by number or search.
- Detect stage change (explicit or inferred).
- Update labels and stage, close when
done.
- Move on project board (V2/Classic) using GraphQL mutations.
- Confirm update.
For exact GraphQL queries and project board integration details, see references/gh-commands.md (loaded on demand).
Integration
| Skill |
When to chain |
plan-tickets |
Draft tickets before creating issues |
plan-sprint |
After issues exist, select a sprint |
1---2name: github-issue3description: Use when creating, updating, or closing GitHub issues, or moving them on a project board. Confirm with the user before creating an issue. Trigger words: github issue, create issue, track issue, project board, milestone.4license: MIT5---67# GitHub Issue Management89## HARD-GATE1011```text12DO NOT create an issue without explicit user confirmation.13DO NOT assume tracker credentials, project fields, or sprint IDs.14```1516## Prerequisites17- `gh` CLI installed and authenticated.18- Working in a git repository with a GitHub remote.1920## Label Conventions21**Type** (required, one): `bug`, `new-feature`, `improvement`, `refactor`, `security`22**Stage**: `todo`, `in-progress`, `in-review`, `done`23**Phase** (optional): `phase-1`, etc.24**Priority** (optional): `priority:high`, `priority:medium`, `priority:low`25All labels use kebab-case. New issues start with `todo`.2627## Stage Lifecycle28```29todo → in-progress → in-review → done (closed)30```31Any stage can revert to `todo` if blocked.3233## Creating an Issue34351. Gather context: what's the problem/feature, why, what "done" means, any examples.362. Detect repo setup: owner/repo, issue templates, Projects V2, Classic projects, milestones (see reference for exact command queries).373. Draft the issue using a standard template (Problem, Expected Outcome, Proposed Solution, Examples, Acceptance Criteria). If templates exist, adapt.384. Validate with user before creation.395. Create the issue via `gh issue create`, add to project board (V2 or Classic using GraphQL), and associate milestone as appropriate.406. Confirm creation with issue number, labels, and links.4142## Updating an Issue43441. Find the issue by number or search.452. Detect stage change (explicit or inferred).463. Update labels and stage, close when `done`.474. Move on project board (V2/Classic) using GraphQL mutations.485. Confirm update.4950For exact GraphQL queries and project board integration details, see [references/gh-commands.md](references/gh-commands.md) (loaded on demand).5152## Integration5354| Skill | When to chain |55|-------|---------------|56| `plan-tickets` | Draft tickets before creating issues |57| `plan-sprint` | After issues exist, select a sprint |58