Claude Code Plugins

Community-maintained marketplace

Feedback

Frontmatter-based Ticket tracking system. Provides two core capabilities: (1) READ operations for querying ticket info without loading full files - use query/list/summary commands, (2) UPDATE operations for agents to track progress without reporting back - use claim/complete/release commands. Eliminates need for agents to report progress to main thread.

Install Skill

1Download skill
2Enable skills in Claude

Open claude.ai/settings/capabilities and find the "Skills" section

3Upload to Claude

Click "Upload skill" and select the downloaded ZIP file

Note: Please verify skill by going through its instructions before using it.

SKILL.md

name ticket-track
description Frontmatter-based Ticket tracking system. Provides two core capabilities: (1) READ operations for querying ticket info without loading full files - use query/list/summary commands, (2) UPDATE operations for agents to track progress without reporting back - use claim/complete/release commands. Eliminates need for agents to report progress to main thread.

Ticket Track

Frontmatter-based Ticket status tracking - eliminates the need to read full files or ask agents for progress.

Core Design

Main Thread              Ticket Frontmatter           Agent
    |                           |                        |
    |  READ (query/list)        |                        |
    |-------------------------->|                        |
    |<--------------------------|                        |
    |  (direct read)            |                        |
    |                           |                        |
    |                           |  UPDATE (claim/complete)
    |                           |<-----------------------|
    |                           |  (direct write)        |

Key Benefits:

  • No need to read full ticket files for status
  • No need to ask agents for progress
  • Minimal context consumption
  • Single file architecture (status in frontmatter)

Frontmatter Status Fields

Status is tracked directly in each Ticket's YAML frontmatter:

---
# ... other fields ...

# === Status Tracking ===
status: "pending"        # pending | in_progress | completed
assigned: false          # true if someone claimed
started_at: null         # ISO 8601 timestamp
completed_at: null       # ISO 8601 timestamp
---
Field Type Description
status string "pending", "in_progress", "completed"
assigned boolean Whether someone has claimed the ticket
started_at datetime When work started (ISO 8601, e.g., 2025-12-27T10:30:00)
completed_at datetime When work completed (ISO 8601)

READ Operations (Main Thread / Any Role)

Query ticket info without loading full files.

Query Single Ticket

uv run .claude/hooks/ticket-tracker.py query 0.16.0-W1-001 --version v0.16.0

Output: Status, agent, action+target, 5W1H from frontmatter.

List Tickets by Status

# All tickets
uv run .claude/hooks/ticket-tracker.py list --version v0.16.0

# Filter by status
uv run .claude/hooks/ticket-tracker.py list --in-progress --version v0.16.0
uv run .claude/hooks/ticket-tracker.py list --pending --version v0.16.0
uv run .claude/hooks/ticket-tracker.py list --completed --version v0.16.0

Quick Summary

# Auto-detect version
uv run .claude/hooks/ticket-tracker.py summary

# Specify version
uv run .claude/hooks/ticket-tracker.py summary --version v0.16.0

Output Example:

πŸ“Š Ticket Summary v0.16.0 (2/34 completed) [markdown]
----------------------------------------------------------------------------------------------------
0.16.0-W1-001 | βœ… | parsley         | Fix ISBNValidator.validate() format validation
0.16.0-W1-002 | πŸ”„ | parsley         | Implement ISBNScannerService.startScan() (1h30m)
0.16.0-W1-003 | ⏸️ | parsley         | Implement ISBNScannerService result handling

UPDATE Operations (Agent Use)

Update status without reporting back to main thread.

Claim Ticket (Before Starting)

uv run .claude/hooks/ticket-tracker.py claim 0.16.0-W1-001 --version v0.16.0

Updates frontmatter:

  • assigned: true
  • started_at: [current ISO timestamp]
  • status: "in_progress"

Output:

βœ… Claimed 0.16.0-W1-001
   Start Time: 2025-12-27T10:30:00

Complete Ticket (After Finishing)

uv run .claude/hooks/ticket-tracker.py complete 0.16.0-W1-001 --version v0.16.0

Updates frontmatter:

  • status: "completed"
  • completed_at: [current ISO timestamp]

Output:

βœ… Completed 0.16.0-W1-001 (1h30m)

Release Ticket (If Unable to Continue)

uv run .claude/hooks/ticket-tracker.py release 0.16.0-W1-001 --version v0.16.0

Updates frontmatter:

  • assigned: false
  • started_at: null
  • status: "pending"

Output:

βœ… Released 0.16.0-W1-001

Status Icons

Icon Status Condition
⏸️ Pending status: "pending"
πŸ”„ In Progress status: "in_progress"
βœ… Completed status: "completed"

Backward Compatibility (v0.15.x CSV Format)

The tracker supports read-only access to old CSV-format tickets for historical reference.

How It Works

When querying older versions (v0.15.x), the system:

  1. Auto-detects format: Checks for tickets/ directory (Markdown) or tickets.csv (CSV)
  2. Falls back to CSV: If Markdown tickets not found, reads from CSV
  3. Display warning: Shows read-only notice for CSV format

Example

uv run .claude/hooks/ticket-tracker.py summary --version v0.15.16

Output:

⚠️  v0.15.16 uses old CSV format (read-only mode)
   Status update commands (claim/complete/release) not supported in v0.15.x
   Please upgrade to v0.16.0+ for new Markdown Ticket system

πŸ“Š Ticket Summary v0.15.16 (15/34 completed) [csv]
----------------------------------------------------------------------------------------------------
...

Limitations

Operation v0.16.0+ (Markdown) v0.15.x (CSV)
summary βœ… Full support βœ… Read-only
list βœ… Full support βœ… Read-only
query βœ… Full support ⚠️ Limited
claim βœ… Full support ❌ Not supported
complete βœ… Full support ❌ Not supported
release βœ… Full support ❌ Not supported

Best Practices

Main Thread

  • DON'T ask agents for progress β†’ Use summary command
  • DON'T read ticket files for status β†’ Use query command
  • DO run summary regularly for overview

Agents

  • DON'T report progress to main thread β†’ Use complete command
  • DO run claim before starting
  • DO run complete after finishing

File Structure

docs/work-logs/
β”œβ”€β”€ v0.16.0/                     # New version (Markdown format)
β”‚   └── tickets/
β”‚       β”œβ”€β”€ 0.16.0-W1-001.md     # Ticket with frontmatter
β”‚       β”œβ”€β”€ 0.16.0-W1-002.md
β”‚       └── ...
β”œβ”€β”€ v0.15.16/                    # Old version (CSV format, read-only)
β”‚   β”œβ”€β”€ tickets.csv              # Legacy CSV tracking
β”‚   └── ...

Related Skills

  • /ticket-create - Create Atomic Tickets interactively

Resources

Scripts

  • .claude/hooks/ticket-tracker.py - Main tracking script
  • .claude/hooks/frontmatter_parser.py - Frontmatter parsing module

References

  • .claude/methodologies/frontmatter-ticket-tracking-methodology.md - Full methodology
  • .claude/methodologies/csv-ticket-tracking-methodology.md - Legacy CSV methodology (deprecated)