create-issues
skillCreate GitHub issues with TDD principles and proper labels
apm::install
apm install @majiayu000/create-issuesapm::allowed-tools
TaskBash(gh:*)Bash(git:*)
apm::skill.md
---
name: create-issues
allowed-tools: Task, Bash(gh:*), Bash(git:*)
description: Create GitHub issues with TDD principles and proper labels
argument-hint: [description]
user-invocable: true
---
## Context
- Current git status: !`git status`
- Current branch: !`git branch --show-current`
- Open issues: !`gh issue list --state open --limit 10`
- GitHub authentication: !`gh auth status`
## Requirements
- Follow TDD principles and Conventional Commits.
- Use proper labels, scope, and auto-closing keywords.
- Protected branches require PR + review + CI; no direct pushes to main/develop.
- **Use atomic commits for logical units of work**: Each commit should represent one complete, cohesive change.
- Title: entirely lowercase, <50 chars, imperative mood (e.g., "add", "fix", "update"), conventional commits format (feat:, fix:, docs:, refactor:, test:, chore:)
- Scope (optional): lowercase noun, 1-2 words. Must match existing scopes in git history.
- Body: blank line after title, ≤72 chars per line, must start with uppercase letter, standard capitalization and punctuation. Describe what changed and why, not how.
- Footer (optional): Must start with uppercase letter, standard capitalization. Reference issues/PRs (Closes #123, Fixes #456, Linked to PR #789). Use BREAKING CHANGE: prefix for breaking changes.
### Examples
```
feat(auth): add google oauth login flow
- Introduce Google OAuth 2.0 for user sign-in
- Add backend callback endpoint `/auth/google/callback`
- Update login UI with Google button and loading state
Add a new authentication option improving cross-platform
sign-in.
Closes #42. Linked to #38 and PR #45
```
```
fix(api): handle null payload in session refresh
- Validate payload before accessing `user.id`
- Return proper 400 response instead of 500
- Add regression test for null input
Prevents session refresh crash when token expires.
Fixes #105
```
```
feat(auth): migrate to oauth 2.0
- Replace basic auth with OAuth 2.0 flow
- Update authentication middleware
- Add token refresh endpoint
BREAKING CHANGE: Authentication API now requires OAuth 2.0 tokens. Basic auth is no longer supported.
Closes #120. Linked to #115 and PR #122
```
## Your Task
**IMPORTANT: You MUST use the Task tool to complete ALL tasks.**
1. Assess the repository context and select an issue scope that fits `$ARGUMENTS`.
2. Create or update labels as needed, then draft the issue with the required structure and links.
3. Document decisions (including branch strategy) and share follow-up actions with the team.
### Decision Logic
**Branch-based decision tree**:
- **On main/develop**: Create issue directly.
- **On PR branch**: Ask "Must this be fixed before merge?"
- **Yes**: Comment in PR with detailed context and reasoning, don't create issue.
- **No**: Create new issue for later with clear justification for scope separation.
### Issue Types
1. **Epic issues**: Multi-PR initiatives (no auto-close keywords).
2. **PR-scoped issues**: Single PR resolution (use auto-close keywords).
3. **Review issues**: Non-blocking feedback from PR reviews.
### Issue Creation Process
1. **Analyze context** from current repository state and existing issues.
2. **Determine issue type** based on scope and complexity.
3. **Create proper labels** if they don't exist:
```bash
gh label create "priority:high" --description "High priority - this sprint" --color "d73a4a" || true
gh label create "priority:medium" --description "Medium priority - next sprint" --color "fbca04" || true
gh label create "priority:low" --description "Low priority - backlog" --color "0075ca" || true
```
4. **Create issue** with proper structure and labels.
5. **Link related items** if applicable.
### Issue Structure Requirements
- **Title**: ≤70 chars, imperative, no emojis.
- **Labels**: Include priority and type labels.
- **Body**: Problem description, acceptance criteria, context.
- **Auto-closing**: Use keywords (`fixes`, `closes`, `resolves`) for PR-scoped issues.
### Key Principles
- Follow TDD: issue → test → code → PR → merge.
- Epic issues: manual linking, no auto-close keywords.
- PR-scoped issues: designed for auto-close keywords.
- Clear, actionable descriptions with proper context.