Back to skills
SkillHub ClubShip Full StackFull StackTesting

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.

Stars
41
Hot score
90
Updated
March 19, 2026
Overall rating
C2.6
Composite score
2.6
Best-practice grade
A92.0

Install command

npx @skill-hub/cli install skilluse-skilluse-issue

Repository

skilluse/skilluse

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 repository

Best 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

Claude CodeCodex CLIGemini CLIOpenCode

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.

```