S

Smart Pac Update Status

All-in-one command covering update, ticket, status, track. Includes structured workflows, validation checks, and reusable patterns for project management.

CommandClipticsproject managementv1.0.0MIT
0 views0 copies

Smart PAC Update Status

Update ticket status, track progress, and trigger git workflow actions in your Product as Code project with validated state transitions.

When to Use This Command

Run this command when...

  • You need to move a PAC ticket through its lifecycle: backlog, in-progress, review, blocked, done, or cancelled
  • You want status changes to trigger git actions like branch creation for in-progress or PR suggestions for review
  • You need to update the parent epic's progress tracking when individual tickets change state
  • You want validated state transitions that prevent invalid moves like jumping from backlog directly to done
  • You are tracking development progress and need timestamped status change history on tickets

Quick Start

# .claude/commands/smart-pac-update-status.yaml name: Smart PAC Update Status description: Update PAC ticket status with validated transitions and git integration inputs: - name: ticket description: "Ticket ID to update" - name: status description: "New status value"
# Move a ticket to in-progress claude "smart-pac-update-status --ticket TICKET-042 --status in-progress" # Add a comment with the status change claude "smart-pac-update-status --ticket TICKET-042 --status review --comment 'Ready for code review'"
Output:
  [load] Ticket TICKET-042: "Add login endpoint"
  [validate] Transition: backlog -> in-progress (valid)
  [update] Status changed to in-progress
  [git] Created branch: ticket/TICKET-042
  [epic] Updated epic-user-auth progress: 2/5 in-progress
  Done. Ticket TICKET-042 is now in-progress.

Core Concepts

ConceptDescription
State MachineValid transitions enforced: backlog->in-progress->review->done, with blocked/cancelled as intermediate states
Git IntegrationStatus changes trigger git actions: branch creation, PR suggestions, merge prompts
Epic RollupParent epic progress is automatically recalculated when child ticket status changes
Timestamped HistoryEvery status change records a timestamp and optional comment in the ticket YAML
Interactive SelectionWhen no ticket ID is provided, displays a list of active tickets for selection
Valid Status Transitions:
  backlog ──────> in-progress ──────> review ──────> done
     │                │                  │
     │                ā–¼                  │
     │            blocked ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”˜
     │                │
     └────────> cancelled <──── (any state)

Configuration

ParameterTypeDefaultDescription
ticketstringinteractiveTicket ID to update, or omit for interactive selection
statusstringrequiredTarget status: backlog, in-progress, review, blocked, done, cancelled
assigneestringcurrentReassign the ticket to a different team member
commentstring""Progress note appended to the ticket's history log
epicstringallFilter tickets by epic ID when using interactive selection

Best Practices

  1. Transition in order -- Follow the natural flow from backlog through in-progress and review to done. Skipping states loses tracking granularity and makes velocity calculations unreliable.
  2. Add comments on every transition -- A short note like "blocked on API access" or "tests passing, ready for review" creates a searchable history that helps during retrospectives.
  3. Use blocked status instead of leaving in-progress -- When work stalls, explicitly marking a ticket as blocked surfaces impediments to the team rather than hiding them.
  4. Filter by epic for focused updates -- Use --epic to narrow the interactive selection to tickets from a specific epic, especially in projects with dozens of active tickets.
  5. Review epic progress after updates -- The command shows updated epic progress. Use this to decide if the epic is on track or needs additional tickets broken out.

Common Issues

  1. Invalid state transition -- The command rejects transitions that violate the state machine (e.g., backlog to done). Move through intermediate states or use --force if the transition is intentional.
  2. Ticket not found -- Ensure the ticket ID matches exactly, including case. List available tickets with find .pac/tickets/ -name "*.yaml" to verify the correct ID.
  3. Epic progress not updating -- The ticket must reference a parent epic in its YAML metadata. If the epic field is missing or incorrect, the rollup calculation will skip that ticket.
Community

Reviews

Write a review

No reviews yet. Be the first to review this template!

Similar Templates