| name | issue-manage |
| description | Interactive issue management with menu-driven CRUD operations. Use when managing issues, viewing issue status, editing issue fields, performing bulk operations, or viewing issue history. Triggers on "manage issue", "list issues", "edit issue", "delete issue", "bulk update", "issue dashboard", "issue history", "completed issues". |
| allowed-tools | Bash, Read, Write, AskUserQuestion, Agent, Glob |
Issue Management Skill
Interactive menu-driven interface for issue CRUD operations via ccw issue CLI.
Quick Start
Ask me:
- "Show all issues" → List with filters
- "View issue GH-123" → Detailed inspection
- "Edit issue priority" → Modify fields
- "Delete old issues" → Remove with confirmation
- "Bulk update status" → Batch operations
- "Show completed issues" → View issue history
- "Archive old issues" → Move to history
CLI Endpoints
ccw issue list
ccw issue list <id> --json
ccw issue history
ccw issue history --json
ccw issue status <id>
ccw issue init <id> --title "..."
ccw issue task <id> --title "..."
ccw issue bind <id> <solution-id>
ccw issue update <id> --status completed
ccw issue solution <id>
ccw issue solution <id> --brief
ccw issue solutions
ccw issue solutions --status planned --brief
ccw issue queue
ccw issue queue add <id>
ccw issue queue list
ccw issue queue switch <queue-id>
ccw issue queue archive
ccw issue queue delete <queue-id>
ccw issue next
ccw issue done <queue-id>
ccw issue update --from-queue
Operations
1. LIST 📋
Filter and browse issues:
┌─ Filter by Status ─────────────────┐
│ □ All □ Registered │
│ □ Planned □ Queued │
│ □ Executing □ Completed │
└────────────────────────────────────┘
Flow:
- Ask filter preferences →
ccw issue list --json
- Display table: ID | Status | Priority | Title
- Select issue for detail view
2. VIEW 🔍
Detailed issue inspection:
┌─ Issue: GH-123 ─────────────────────┐
│ Title: Fix authentication bug │
│ Status: planned | Priority: P2 │
│ Solutions: 2 (1 bound) │
│ Tasks: 5 pending │
└─────────────────────────────────────┘
Flow:
- Fetch
ccw issue status <id> --json
- Display issue + solutions + tasks
- Offer actions: Edit | Plan | Queue | Delete
3. EDIT ✏️
Modify issue fields:
| Field | Options |
|---|
| Title | Free text |
| Priority | P1-P5 |
| Status | registered → completed |
| Context | Problem description |
| Labels | Comma-separated |
Flow:
- Select field to edit
- Show current value
- Collect new value via AskUserQuestion
- Update
.workflow/issues/issues.jsonl
4. DELETE 🗑️
Remove with confirmation:
⚠️ Delete issue GH-123?
This will also remove:
- Associated solutions
- Queued tasks
[Delete] [Cancel]
Flow:
- Confirm deletion via AskUserQuestion
- Remove from
issues.jsonl
- Clean up
solutions/<id>.jsonl
- Remove from
queue.json
5. HISTORY 📚
View and manage completed issues:
┌─ Issue History ─────────────────────┐
│ ID Completed Title │
│ ISS-001 2025-12-28 12:00 Fix bug │
│ ISS-002 2025-12-27 15:30 Feature │
└──────────────────────────────────────┘
Flow:
- Fetch
ccw issue history --json
- Display table: ID | Completed At | Title
- Optional: Filter by date range
Auto-Archive: When issue status → completed:
- Issue moves from
issues.jsonl → issue-history.jsonl
- Solutions remain in
solutions/<id>.jsonl
- Queue items marked completed
6. BULK 📦
Batch operations:
| Operation | Description |
|---|
| Update Status | Change multiple issues |
| Update Priority | Batch priority change |
| Add Labels | Tag multiple issues |
| Delete Multiple | Bulk removal |
| Queue All Planned | Add all planned to queue |
| Retry All Failed | Reset failed tasks |
| Sync from Queue | Update statuses from active queue |
Workflow
┌────────────────────────────────────────────────┐
│ Main Menu │
│ ┌────┐ ┌────┐ ┌────┐ ┌─────┐ ┌────┐ │
│ │List│ │View│ │Edit│ │Hist.│ │Bulk│ │
│ └──┬─┘ └──┬─┘ └──┬─┘ └──┬──┘ └──┬─┘ │
└─────┼──────┼──────┼──────┼───────┼─────────────┘
│ │ │ │ │
▼ ▼ ▼ ▼ ▼
Filter Detail Fields History Multi
Select Actions Update Browse Select
│ │ │ │ │
└──────┴──────┴──────┴───────┘
│
▼
Back to Menu
Issue Lifecycle:
registered → planned → queued → executing → completed
│
▼
issue-history.jsonl
Implementation Guide
Entry Point
const issueId = input.match(/^([A-Z]+-\d+|ISS-\d+)/i)?.[1];
await showMainMenu(issueId);
Main Menu Pattern
const issues = JSON.parse(Bash('ccw issue list --json') || '[]');
const history = JSON.parse(Bash('ccw issue history --json 2>/dev/null') || '[]');
const queue = JSON.parse(Bash('ccw issue queue --json 2>/dev/null') || '{}');
console.log(`Active: ${issues.length} | Completed: ${history.length} | Queue: ${queue.pending_count || 0} pending`);
const action = AskUserQuestion({
questions: [{
question: 'What would you like to do?',
header: 'Action',
options: [
{ label: 'List Issues', description: 'Browse active issues' },
{ label: 'View Issue', description: 'Detail view (includes history)' },
{ label: 'Edit Issue', description: 'Modify fields' },
{ label: , : }
]
}]
});
Filter Pattern
const filter = AskUserQuestion({
questions: [{
question: 'Filter by status?',
header: 'Filter',
multiSelect: true,
options: [
{ label: 'All', description: 'Show all' },
{ label: 'Registered', description: 'Unplanned' },
{ label: 'Planned', description: 'Has solution' },
{ label: 'Executing', description: 'In progress' }
]
}]
});
Edit Pattern
const field = AskUserQuestion({...});
const issuesPath = '.workflow/issues/issues.jsonl';
Data Files
| File | Purpose |
|---|
.workflow/issues/issues.jsonl | Active issue records |
.workflow/issues/issue-history.jsonl | Completed issues (archived) |
.workflow/issues/solutions/<id>.jsonl | Solutions per issue |
.workflow/issues/queues/index.json | Queue index (multi-queue) |
.workflow/issues/queues/<queue-id>.json | Individual queue files |
Error Handling
| Error | Resolution |
|---|
| No issues found | Suggest /issue:new to create |
| Issue not found | Show available issues, re-prompt |
| Write failure | Check file permissions |
| Queue error | Display ccw error message |
Related Commands
/issue:new - Create structured issue
/issue:plan - Generate solution
/issue:queue - Form execution queue
/issue:execute - Execute tasks