issue-creator
Creates well-structured GitHub issues using gh CLI with auto-detected project context (version, platform, module). Supports bug reports, feature requests, and internal tasks following repo templates.
SKILL.md.claude/skills/issue-creator/SKILL.md
GitHubIssue Creator
Creates GitHub issues with proper context using gh issue create and the repository's issue templates.
Instructions
1. Determine Issue Type
Use AskUserQuestion to select:
- Bug report — something broken, unexpected behavior
- Feature request — new capability or enhancement (goes to Discussions, see below)
- Task/chore — internal work, refactoring, documentation
2. Auto-Detect Project Context
Read project metadata before creating the issue:
# Version
grep "^version=" gradle.properties
# Kotlin version
grep "^kotlin " gradle/libs.versions.toml
# Current branch and recent changes
git branch --show-current
git log --oneline -5
3. Create Issue by Type
Bug Report
Title prefix: [Bug]: . Auto-labels: bug, needs-triage.
Template fields (from .github/ISSUE_TEMPLATE/bug_report.yml):
- Fakt Version (auto-detected from
gradle.properties) - Kotlin Version (auto-detected from
libs.versions.toml) - Platform — KMP / JVM only / Android only
- Gradle Version (optional)
- KMP Targets (optional, if KMP)
- Module Setup — Single-module / Multi-module
- Bug Description — structured: what's happening, steps to reproduce, code example, error logs
gh issue create \
--title "[Bug]: {description}" \
--label "bug,needs-triage" \
--body "$(cat <<'EOF'
### Fakt Version
{version}
### Kotlin Version
{kotlinVersion}
### Platform
{platform}
### Bug Description
**What's happening:**
{description}
**Steps to reproduce:**
1. ...
**Code example:**
```kotlin
// minimal reproduction
Error/build logs:
{logs}
EOF )"
#### Feature Request
The repository has no feature-request issue template and blank issues are disabled: `.github/ISSUE_TEMPLATE/config.yml` routes ideas to GitHub Discussions (Ideas category). Point the user there; if they want a tracked issue instead, create it as a Task/chore.
#### Task/Chore
No template required (internal use). Use conventional title format.
```bash
gh issue create \
--title "{type}: {description}" \
--label "{labels}" \
--body "$(cat <<'EOF'
## Context
{context}
## Scope
{scope}
## Checklist
- [ ] {step1}
- [ ] {step2}
EOF
)"
4. Available Labels
Auto-applied by templates:
bug+needs-triage(bug reports)enhancement+needs-triage(feature requests)
Category labels:
compiler,gradle-plugin,documentation,performance,testing,ci/cd
Priority labels:
priority: high,priority: medium,priority: low
Contributor labels:
good first issue,help wanted,needs-investigation,needs-discussion
Lifecycle labels:
idea,approved,breaking-change,dependencies,security
Note: Category and lifecycle labels must exist in the repository before use. Run
gh label listto check available labels, orgh label createto add missing ones. Onlybug,enhancement, andneeds-triageare auto-created by issue templates.
5. Add Context from Codebase
When the issue relates to specific code, gather relevant context:
# Find affected files
# Read error messages from recent builds
# Check if related issues exist
gh issue list --label "{label}" --state open
Include file paths, function names, and module affected in the issue body.
Note: GitHub issue templates use YAML form schema. When creating via
gh issue create --body, the structured fields render as markdown headers in the created issue.
6. Output
After creating the issue, display:
- Issue URL
- Issue number
- Labels applied
- Assigned template
Related Skills
pr— analogous GitHub creation workflowcompilation— provides error context for bug reports