Agent skill

find-next-ticket-number

Determine the next sequential ticket ID

Stars 163
Forks 31

Install this agent skill to your Project

npx add-skill https://github.com/majiayu000/claude-skill-registry/tree/main/skills/data/find-next-ticket-number

SKILL.md

Find Next Ticket Number

Purpose

This skill provides the logic to determine the next sequential ticket ID when creating a new ticket. Ticket IDs follow the format TNNNN (e.g., T0001, T0002, T0042).

Usage

Run the provided bash command to find the highest existing ticket number and calculate the next ID.

Bash Command

bash
# Ensure directory exists (defensive, in case bootstrap didn't run)
mkdir -p .ushabti/tickets

# Find the highest ticket number in .ushabti/tickets/
HIGHEST=$(find .ushabti/tickets -maxdepth 1 -type f -name 'T[0-9][0-9][0-9][0-9]-*.yaml' | \
  sed -E 's/.*\/T([0-9]{4})-.*/\1/' | \
  sort -n | \
  tail -1)

# If no tickets exist, start at 1; otherwise increment
if [ -z "$HIGHEST" ]; then
  NEXT=1
else
  NEXT=$((10#$HIGHEST + 1))
fi

# Format as zero-padded 4-digit number
printf "T%04d\n" $NEXT

How It Works

  1. Ensure directory exists: Creates .ushabti/tickets/ if it doesn't exist (defensive fallback)
  2. Find ticket files: Searches .ushabti/tickets/ for files matching T[0-9][0-9][0-9][0-9]-*.yaml
  3. Extract IDs: Uses sed to extract the 4-digit numeric portion from each filename
  4. Sort: Sorts numerically to find the highest ID
  5. Calculate next: Increments the highest ID by 1, or starts at 1 if no tickets exist
  6. Format: Outputs the next ID as zero-padded 4-digit format (TNNNN)

Example Output

If .ushabti/tickets/ contains:

  • T0001-first-ticket.yaml
  • T0002-second-ticket.yaml
  • T0005-another-ticket.yaml

The command outputs:

T0006

If .ushabti/tickets/ is empty, the command outputs:

T0001

Notes

  • The command ignores archived tickets in .ushabti/tickets/.archived/
  • IDs are sequential but may have gaps (e.g., if T0003 and T0004 were created then archived)
  • Zero-padding ensures alphanumeric sorting matches numeric order

Didn't find tool you were looking for?

Be as detailed as possible for better results