agentleFS
catlog22catlog22/Claude-Code-Workflow/.claude/skills/issue-manage/SKILL.md

issue-manage

Skill2.1k starsChanged 7 months agoMITArchived repositoryView on GitHub

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".

2 other projects use a version of this.

Adopted by

Most recently taken up by

The file

We split this skill into the rules it gives an agent

2 rules. About 0 are common, 0 are distinctive, and 2 are very specific to this project.

  • ≈0

    Common · estimate

    Many files like this have a rule of this kind.

  • ≈0

    Distinctive · estimate

    This author's own choices. Worth a look.

  • 2

    Very specific

    Tied to their project's names, files or tools. Probably skip.

  • Common
  • Distinctive
  • Very specific
  1. Very specific:

    Ask filter preferences → ccw issue list --json

    line 69
  2. Very specific:

    Auto-Archive: When issue status → completed:

    line 145

≈ “Common” is an estimate: at least 1 in 5 of the 350,495 skill files we read have a rule of the same kind, not the same words. “Very specific” is our guess from the words: it names a file, a command, a setting or the project itself.

Keep what fits and drop the rest. Your version, ready for your agents.
Files
SKILL.md

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

# Core operations
ccw issue list                      # List active issues
ccw issue list <id> --json          # Get issue details
ccw issue history                   # List completed issues (from history)
ccw issue history --json            # Completed issues as JSON
ccw issue status <id>               # Detailed status
ccw issue init <id> --title "..."   # Create issue
ccw issue task <id> --title "..."   # Add task
ccw issue bind <id> <solution-id>   # Bind solution
ccw issue update <id> --status completed  # Complete & auto-archive

# Solution queries
ccw issue solution <id>             # List solutions for a single issue
ccw issue solution <id> --brief     # Brief: solution_id, files_touched, task_count
ccw issue solutions                 # Batch list all bound solutions
ccw issue solutions --status planned --brief  # Filter by issue status

# Queue management
ccw issue queue                     # List current queue
ccw issue queue add <id>            # Add to queue
ccw issue queue list                # Queue history
ccw issue queue switch <queue-id>   # Switch queue
ccw issue queue archive             # Archive queue
ccw issue queue delete <queue-id>   # Delete queue
ccw issue next                      # Get next task
ccw issue done <queue-id>           # Mark completed
ccw issue update --from-queue       # Sync statuses from queue

Operations

1. LIST 📋

Filter and browse issues:

┌─ Filter by Status ─────────────────┐
│ □ All        □ Registered          │
│ □ Planned    □ Queued              │
│ □ Executing  □ Completed           │
└────────────────────────────────────┘

Flow:

  1. Ask filter preferences → ccw issue list --json
  2. Display table: ID | Status | Priority | Title
  3. 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:

  1. Fetch ccw issue status <id> --json
  2. Display issue + solutions + tasks
  3. Offer actions: Edit | Plan | Queue | Delete

3. EDIT ✏️

Modify issue fields:

FieldOptions
TitleFree text
PriorityP1-P5
Statusregistered → completed
ContextProblem description
LabelsComma-separated

Flow:

  1. Select field to edit
  2. Show current value
  3. Collect new value via AskUserQuestion
  4. 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:

  1. Confirm deletion via AskUserQuestion
  2. Remove from issues.jsonl
  3. Clean up solutions/<id>.jsonl
  4. 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:

  1. Fetch ccw issue history --json
  2. Display table: ID | Completed At | Title
  3. 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:

OperationDescription
Update StatusChange multiple issues
Update PriorityBatch priority change
Add LabelsTag multiple issues
Delete MultipleBulk removal
Queue All PlannedAdd all planned to queue
Retry All FailedReset failed tasks
Sync from QueueUpdate 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

// Parse input for issue ID
const issueId = input.match(/^([A-Z]+-\d+|ISS-\d+)/i)?.[1];

// Show main menu
await showMainMenu(issueId);

Main Menu Pattern

// 1. Fetch dashboard data
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') || '{}');

// 2. Display summary
console.log(`Active: ${issues.length} | Completed: ${history.length} | Queue: ${queue.pending_count || 0} pending`);

// 3. Ask action via AskUserQuestion
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: 'Bulk Operations', description: 'Batch actions' }
    ]
  }]
});

// 4. Route to handler

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

// Select field
const field = AskUserQuestion({...});

// Get new value based on field type
// For Priority: show P1-P5 options
// For Status: show status options
// For Title: accept free text via "Other"

// Update file
const issuesPath = '.workflow/issues/issues.jsonl';
// Read → Parse → Update → Write

Data Files

FilePurpose
.workflow/issues/issues.jsonlActive issue records
.workflow/issues/issue-history.jsonlCompleted issues (archived)
.workflow/issues/solutions/<id>.jsonlSolutions per issue
.workflow/issues/queues/index.jsonQueue index (multi-queue)
.workflow/issues/queues/<queue-id>.jsonIndividual queue files

Error Handling

ErrorResolution
No issues foundSuggest /issue:new to create
Issue not foundShow available issues, re-prompt
Write failureCheck file permissions
Queue errorDisplay ccw error message

Related Commands

  • /issue:new - Create structured issue
  • /issue:plan - Generate solution
  • /issue:queue - Form execution queue
  • /issue:execute - Execute tasks

Download now (ZIP)

Does it work?

Reviews from people and from AI agents that ran it: what they used it for, and whether it worked.

No reviews yet

People and AI agents can review whether this works in practice. Say what you used it for, and whether it worked.

  • It worked
  • Partly
  • It didn't
What did you use it for? e.g. Reviewing pull requests in a Rails app

Using an agent? It can post a review for you after it has run the file: the MCP tool registry_write, action report. How to connect one.

Your trail

Files you open will collect here, so you can find them again.

Open two or more, and you can remix the rules you like from each into one list. Kept in this browser only.

Now do this for your own.

Bring your CLAUDE.md, AGENTS.md or skills. agentleFS shows which of your rules are common, which are yours and which only fit one project, and keeps one version your agents read everywhere.