issue
Create and manage local Issue specs (specs/issues/) - individual work items with testable acceptance criteria. Use for "create issue", "new task", "list issues", "check issues", "pick issue". NOTE - For GitHub issues, use `gh issue` command directly.
Packaged view
This page reorganizes the original catalog entry around fit, installability, and workflow context first. The original raw source lives below.
Install command
npx @skill-hub/cli install skilluse-skilluse-issue
Repository
Skill path: .claude/skills/issue
Create and manage local Issue specs (specs/issues/) - individual work items with testable acceptance criteria. Use for "create issue", "new task", "list issues", "check issues", "pick issue". NOTE - For GitHub issues, use `gh issue` command directly.
Open repositoryBest for
Primary workflow: Ship Full Stack.
Technical facets: Full Stack, Testing.
Target audience: everyone.
License: Unknown.
Original source
Catalog source: SkillHub Club.
Repository owner: skilluse.
This is still a mirrored public skill entry. Review the repository before installing into production workflows.
What it helps with
- Install issue into Claude Code, Codex CLI, Gemini CLI, or OpenCode workflows
- Review https://github.com/skilluse/skilluse before adding issue to shared team environments
- Use issue for development workflows
Works across
Favorites: 0.
Sub-skills: 0.
Aggregator: No.
Original source / Raw SKILL.md
---
name: issue
description: Create and manage local Issue specs (specs/issues/) - individual work items with testable acceptance criteria. Use for "create issue", "new task", "list issues", "check issues", "pick issue". NOTE - For GitHub issues, use `gh issue` command directly.
---
# Issue - Issue Manager
Create and manage Issues with testable acceptance criteria.
## Directory Structure
```
project/
└── specs/
├── epics/
│ └── epic-name/
│ ├── epic.md
│ └── progress.md
└── issues/
├── 20250115-task01-auth-setup/
│ ├── issue.md # Issue requirements
│ └── feature.json # Testable acceptance criteria
└── 20250116-web01-landing-page/
├── issue.md
└── feature.json
```
## What is an Issue?
An Issue is a single work item with testable acceptance criteria.
Components:
- `issue.md` - Requirements and technical details
- `feature.json` - Tracking work progress with pass/fail status
Naming convention: `YYYYMMDD-issueID-short-description/`
- Date prefix: `YYYYMMDD`
- Issue ID: `taskNN`, `webNN`, `cfgNN`, `bugNN`, etc.
- Short description: `auth-setup`, `landing-page`, etc.
## When to Use
- User says "create issue", "new task", "plan feature"
- Breaking down an Epic into work items
- Adding a bug fix or enhancement task
- Updating issue requirements or status
---
## IMPORTANT: Epic Context
**Before creating or updating any Issue, you MUST:**
1. **Read Epic Context First**
```bash
# Read the related Epic's files
cat specs/epics/EPIC_NAME/epic.md # Understand goals and existing issues
cat specs/epics/EPIC_NAME/progress.md # Check current sprint status
ls specs/epics/EPIC_NAME/references/ # Review design docs and specs
```
2. **After Creating/Updating Issue**
- Update `epic.md` - Add new issue to "Related Issues" table
- Update `progress.md` - Log the action taken
- Ensure issue aligns with Epic goals and references
This ensures Issues are consistent with Epic's design and requirements.
---
## Creating an Issue
### Step 1: Read Epic Context
```bash
# Identify the related Epic and read its context
cat specs/epics/EPIC_NAME/epic.md # Goals, existing issues
cat specs/epics/EPIC_NAME/progress.md # Current sprint status
cat specs/epics/EPIC_NAME/references/*.md # Design specs, requirements
```
### Step 2: Create Issue Directory
```bash
mkdir -p specs/issues/YYYYMMDD-issueID-short-description
```
### Step 3: Create issue.md
```markdown
# [Issue Title]
## Overview
Brief description of what this issue accomplishes.
## Requirements
- Requirement 1
- Requirement 2
- Requirement 3
## Technical Details
### API Endpoints
| Method | Path | Description |
|--------|------|-------------|
| POST | /api/xxx | Description |
### Data Models
```
Model {
field1: type
field2: type
}
```
### Dependencies
- Library/package dependencies
- External service dependencies
## Acceptance Criteria
See `feature.json` for testable criteria.
## Issue Dependencies
- [ ] issueNN-xxx (must be completed first)
## Out of Scope
- What this issue does NOT include
```
### Step 4: Create feature.json
```json
{
"issue": "task01-auth-setup",
"title": "Authentication System Setup",
"epic": "cli",
"priority": 1,
"status": "pending",
"created_at": "2025-01-15",
"completed_at": null,
"dependencies": [],
"parallelizable": true,
"features": [
{
"id": "F001",
"category": "functional",
"description": "User can register with email and password",
"steps": [
"Step 1: Navigate to /register",
"Step 2: Fill in email and password",
"Step 3: Submit the form",
"Step 4: Verify success message"
],
"passes": false,
"notes": ""
}
],
"metadata": {
"estimated_sessions": 1,
"actual_sessions": 0,
"blockers": []
}
}
```
### Step 5: Update Epic Context
**This step is mandatory.** Update the Epic to reflect the new issue:
1. Update `epic.md` - Add to "Related Issues" table:
```markdown
| Issue | Title | Status |
|-------|-------|--------|
| task01-auth-setup | Authentication Setup | pending |
```
2. Update `progress.md` - Log the creation:
```markdown
[YYYY-MM-DD HH:MM] Created issue task01-auth-setup: Authentication Setup
```
### Step 6: Git Commit
```bash
git add specs/issues/YYYYMMDD-issueID-*/ specs/epics/EPIC_NAME/
git commit -m "feat: create issue task01-auth-setup"
```
---
## Updating an Issue
### Step 1: Read Epic Context First
```bash
# Always read Epic context before making changes
cat specs/epics/EPIC_NAME/epic.md
cat specs/epics/EPIC_NAME/progress.md
```
### Step 2: Update issue.md
Add an "Updates" section to document changes:
```markdown
## Updates (YYYY-MM-DD)
### Issue: [Brief description]
- **Problem**: What was wrong
- **Solution**: How it was fixed
- **Files**: Which files were modified
```
### Step 3: Update feature.json
Mark completed features:
```json
{
"id": "F001",
"description": "Feature description",
"passes": true,
"notes": "Fixed YYYY-MM-DD: Brief explanation"
}
```
Update issue status:
```json
{
"status": "in-progress",
"completed_at": "2025-01-15"
}
```
### Step 4: Update Epic Context
**This step is mandatory.** Update both Epic files:
1. Update `epic.md` - Change issue status if needed:
```markdown
| task01-auth-setup | Authentication Setup | completed |
```
2. Update `progress.md` - Log the changes:
```markdown
[YYYY-MM-DD HH:MM] Updated issue-name: brief description
```
---
## Issue Sizing Guidelines
| Size | Features | Sessions | Example |
|------|----------|----------|---------|
| Small | 2-4 | 1 | Add logout button |
| Medium | 5-8 | 1-2 | User authentication |
| Large | 8+ | Split it! | - |
If an issue has more than 8 features, split it into smaller issues.
---
## Parallel Execution
The `parallelizable` field indicates if an issue can be worked on by a background AI agent.
### Set `parallelizable: true` when:
- No pending dependencies
- Work is isolated
- Clear requirements
- No frequent human decisions needed
### Set `parallelizable: false` when:
- Has dependencies on incomplete issues
- Core architectural changes
- Requires interactive feedback
- Will conflict with other work
---
## Rules
- Each Issue MUST have both `issue.md` and `feature.json`
- All features start with `"passes": false`
- Priority 1 = highest priority
- Dependencies reference other issue IDs
- Always update the Epic when issue status changes
## References
Template files:
- `references/feature.template.json`
- `references/issue.template.md`
---
## Referenced Files
> The following files are referenced in this skill and included for context.
### references/feature.template.json
```json
{
"issue": "issueNN-short-description",
"title": "Human Readable Title",
"epic": "epic-name",
"priority": 1,
"status": "pending",
"created_at": "YYYY-MM-DD",
"completed_at": null,
"dependencies": [],
"parallelizable": true,
"features": [
{
"id": "F001",
"category": "functional",
"description": "Brief description of what this feature does",
"steps": [
"Step 1: Navigate to...",
"Step 2: Perform action...",
"Step 3: Verify result..."
],
"passes": false,
"notes": ""
},
{
"id": "F002",
"category": "functional",
"description": "Another feature description",
"steps": [
"Step 1",
"Step 2",
"Step 3"
],
"passes": false,
"notes": ""
}
],
"metadata": {
"estimated_sessions": 1,
"actual_sessions": 0,
"blockers": []
}
}
```
### references/issue.template.md
```markdown
# [Issue Title]
## Overview
Brief description of what this issue accomplishes.
## Requirements
- Requirement 1
- Requirement 2
- Requirement 3
## Technical Details
### API Endpoints
| Method | Path | Description |
|--------|------|-------------|
| POST | /api/xxx | Description |
### Data Models
```
Model {
field1: type
field2: type
}
```
### Dependencies
- Library/package dependencies
- External service dependencies
## Acceptance Criteria
See `feature.json` for testable criteria.
## Issue Dependencies
- [ ] issueNN-xxx (must be completed first)
## Out of Scope
- What this issue does NOT include
- Deferred to future issues
## Notes
Additional implementation notes or considerations.
```