github-issue

star 254

Create well-structured GitHub issues following the Epic > Feature > Task/Bug hierarchy. Uses GitHub issue types (not labels) and relationships to connect related issues. Invoke with /github-issue.

divinevideo By divinevideo schedule Updated 2/9/2026

name: github-issue description: | Create well-structured GitHub issues following the Epic > Feature > Task/Bug hierarchy. Uses GitHub issue types (not labels) and relationships to connect related issues. Invoke with /github-issue. author: Claude Code version: 1.1.0 date: 2026-02-09 user_invocable: true invocation_hint: /github-issue arguments: | Required: Description of the issue to create Example: /github-issue profile stats text wrapping bug Example: /github-issue add video download feature

If no argument is provided, ask the user what issue they want to create.

GitHub Issue Creation Skill

Purpose

Help create well-structured GitHub issues that follow the project's hierarchy, conventions, and existing templates from .github/ISSUE_TEMPLATE/.

Issue Hierarchy

Epic (large initiative, multiple features)
  └── Feature (user-facing capability, multiple tasks)
        └── Task (single unit of work)
        └── Bug (defect to fix)

When to Use Each Type

Type Title Prefix Use When
Epic epic: Large initiative spanning weeks/months
Feature feat: New user-facing capability
Task task: Single unit of implementation work
Bug fix: Something is broken/not working as expected

Issue Templates

Bug Template (matches .github/ISSUE_TEMPLATE/bug_report.yaml)

Title format: fix: <description>

## Summary
[One sentence about what's broken]

## Environment
- App version: [e.g., 1.2.3]
- Device: [e.g., iPhone 14 Pro, iOS 17.1]
- Network: [WiFi / Cellular]

## Steps to Reproduce
1. Go to '...'
2. Click on '...'
3. See error

## Actual Result
[What actually happened]

## Expected Result
[What you expected to happen]

## Regression?
[Yes / No / Unknown - Did this work in a previous version?]

## Evidence
[Screenshots, screen recordings, logs, crash reports]

Feature Template (matches .github/ISSUE_TEMPLATE/feature_request.yaml)

Title format: feat: <description>

## What would you like?
[Describe the feature or improvement]

## How would this be useful for you?
[What problem does this solve or what does it make easier?]

## When would you use this?
[Describe a situation where you'd need this feature]

## Anything else?
[Screenshots, mockups, examples from other apps]

Task Template

Title format: task: <description>

## Description
[Clear description of what needs to be done]

## Context
[Why this task is needed]

## Implementation Notes
[Technical approach, files to modify, considerations]

## Acceptance Criteria
- [ ] Criterion 1
- [ ] Criterion 2

## Testing
[How to verify this task is complete]

Epic Template

Title format: epic: <description>

## Overview
[High-level description of the initiative]

## Goals
- [ ] Goal 1
- [ ] Goal 2

## Features
- [ ] #XXX Feature name
- [ ] #YYY Feature name

## Success Criteria
[How we know this epic is complete]

## Notes
[Additional context, constraints, or considerations]

Relationships

Use GitHub's sub-issue API (NOT text like "Part of #123" in the body):

Relationship How
Parent/Child addSubIssue GraphQL mutation
Related Related to #789 in body text
Blocks Blocks #101 in body text
Blocked by Blocked by #102 in body text

Workflow

  1. Gather Information: Ask clarifying questions to understand the issue
  2. Determine Type: Based on scope, choose Epic/Feature/Task/Bug
  3. Search for Parent: Search for related Features/Epics and ask user which to link
  4. Draft Issue: Use the appropriate template matching .github/ISSUE_TEMPLATE/
  5. Review with User: Show the draft before creating
  6. Create Issue: 3-step process below

Creating Issues (3-step process)

Step 1: Create the issue

gh issue create \
  --title "fix:|feat:|task:|epic: Description" \
  --body "..." \
  --assignee NotThatKindOfDrLiz

Step 2: Set issue type via GraphQL

Available types and their IDs (repo: divinevideo/divine-mobile):

  • Task: IT_kwDODpf9Q84ByDOD
  • Bug: IT_kwDODpf9Q84ByDOE
  • Feature: IT_kwDODpf9Q84ByDOF
# Get the issue node ID
gh api graphql -f query='{ repository(owner: "divinevideo", name: "divine-mobile") {
  issue(number: ISSUE_NUMBER) { id }
} }'

# Set the type
gh api graphql -f query='mutation { updateIssueIssueType(input: {
  issueId: "ISSUE_NODE_ID",
  issueTypeId: "TYPE_ID"
}) { issue { id } } }'

Step 3: Set parent relationship via GraphQL

# Get parent issue node ID
gh api graphql -f query='{ repository(owner: "divinevideo", name: "divine-mobile") {
  issue(number: PARENT_NUMBER) { id }
} }'

# Add as sub-issue
gh api graphql -f query='mutation { addSubIssue(input: {
  issueId: "PARENT_NODE_ID",
  subIssueId: "CHILD_NODE_ID"
}) { issue { id } subIssue { id } } }'

Search for Parent Issues

Before creating a Task or Bug, search for related Features/Epics:

gh issue list --search "related keywords" --limit 10

Best Practices

  1. Use correct title prefix: fix:, feat:, task:, epic:

  2. One issue, one concern: Don't combine multiple bugs or features

  3. Use sub-issue API for hierarchy: Never use "Part of #XXX" text, use GraphQL addSubIssue

  4. Include context: Explain why, not just what

  5. Be specific: Include file paths, error messages, steps to reproduce

  6. Match existing templates: Follow the structure from .github/ISSUE_TEMPLATE/

Example: Creating a Bug

gh issue create \
  --title "fix: Profile stats labels wrap incorrectly on small screens" \
  --body "$(cat <<'EOF'
## Summary
Profile stats labels ("Followers", "Following") wrap to multiple lines, splitting words mid-word.

## Environment
- App version: Latest
- Device: Small screen devices
- Network: N/A

## Steps to Reproduce
1. Open profile screen on a small device or narrow width
2. Look at the stats row (Videos, Followers, Following)
3. See labels wrapping incorrectly

## Actual Result
Labels wrap mid-word:
- "Followers" becomes "Follower" + "s"
- "Following" becomes "Followin" + "g"

## Expected Result
Labels should remain on a single line, or truncate with ellipsis if needed.

## Regression?
Unknown

## Evidence
<!-- Screenshot to be attached after creation -->
EOF
)"
Install via CLI
npx skills add https://github.com/divinevideo/divine-mobile --skill github-issue
Repository Details
star Stars 254
call_split Forks 50
navigation Branch main
article Path SKILL.md
More from Creator