Skilllibrary ticket-execution
Execute ticket-based work using a deterministic stage order, proof requirements, and handoff discipline. Trigger on "pick up ticket", "execute task", "implement issue", "resume ticket work", or when working from issues/epics with a plan-first workflow. Do not use for ticket-pack-builder (creating tickets), review-audit-bridge (reviewing completed work), or workflow-observability (multi-ticket status).
git clone https://github.com/merceralex397-collab/skilllibrary
T=$(mktemp -d) && git clone --depth=1 https://github.com/merceralex397-collab/skilllibrary "$T" && mkdir -p ~/.claude/skills && cp -r "$T/02-generated-repo-core/ticket-execution" ~/.claude/skills/merceralex397-collab-skilllibrary-ticket-execution-44ed68 && rm -rf "$T"
02-generated-repo-core/ticket-execution/SKILL.mdPurpose
Executes a single ticket through defined stages with verification gates between each phase. Implements the Shape Up "hill chart" model: work moves from unknown (uphill/figuring out) to known (downhill/executing) to done. Each transition requires artifact proof—no stage advances on status alone.
When to use this skill
Use when:
- Picking up a ticket from the backlog to implement
- Resuming work on an in-progress ticket after context switch
- Verifying a ticket is genuinely complete before marking done
Do NOT use when:
- Creating tickets (use ticket-pack-builder)
- Reviewing/auditing completed work (use review-audit-bridge)
- Multiple tickets need parallel coordination (use workflow-observability first)
Operating procedure
Stage 1: Claim & Orient (→ in_progress)
- Check preconditions:
# Verify no blocking dependencies grep "depends_on:" tickets/TKT-XXX.md # For each dependency, confirm status: done - Update ticket status:
status: in_progress started: [ISO timestamp] assignee: [agent-id or human] - Create working branch:
git checkout -b tkt-XXX-[short-description] - Read ticket fully: acceptance criteria, constraints, linked context.
Stage 2: Uphill (figuring out what to do)
This phase ends when you can enumerate all remaining tasks. Work is "uphill" when unknowns remain.
- Identify unknowns: List what you don't yet know how to do.
- Investigate: Read relevant code, run experiments, ask clarifying questions.
- Update ticket with findings:
## Investigation Notes - [Finding 1] - [Finding 2] ## Approach [Describe chosen implementation approach] ## Task Breakdown - [ ] Task 1 - [ ] Task 2 - Gate: Cannot proceed to Stage 3 until task breakdown exists.
Stage 3: Downhill (executing known work)
All unknowns resolved. Pure execution.
- Work through task breakdown: Check off items as completed.
- Commit incrementally: Each logical change gets a commit.
git commit -m "tkt-XXX: [what changed]" - Run verification continuously:
npm test # or equivalent npm run lint - Update progress in ticket: Note completed tasks.
Stage 4: Verification (→ review)
- Self-check against acceptance criteria: Each criterion must have evidence.
## Acceptance Evidence - [x] Criterion 1: [how verified, e.g., "test in tests/auth.test.ts"] - [x] Criterion 2: [screenshot, log output, etc.] - Run full test suite: Must pass.
- Update ticket status:
status: review completed: [ISO timestamp] - Open PR if applicable:
gh pr create --title "TKT-XXX: [title]" --body "Closes TKT-XXX"
Stage 5: Done (→ done)
Only after review approval or self-verification for solo work:
- Merge branch:
git checkout main && git merge --no-ff tkt-XXX-* - Update ticket:
status: done merged: [ISO timestamp] - Update BOARD.md: Move ticket to Done column.
Parallelization Rules
- Safe to parallelize: Independent tickets touching different files/modules (
,parallel_safe: true
)overlap_risk: low - Must serialize: Tickets with shared dependencies, tickets modifying same files (
)overlap_risk: high - Never parallelize: Tickets where one's output is another's input
Parallel safety fields (per-ticket metadata)
When tickets declare parallel metadata, respect these fields:
parallel_safe: true # Can run concurrently with other parallel_safe tickets overlap_risk: low # low | medium | high — file/module overlap likelihood dependencies: [] # List of ticket IDs that must complete first
Process verification
When a ticket's implementation changes a process, workflow, or convention (not just code):
pending_process_verification: true # Set when ticket changes a process
A ticket with
pending_process_verification: true is NOT done until the process change has been exercised at least once in a subsequent ticket execution. The verifying ticket should confirm the new process works and clear the flag.
Output defaults
Ticket file updated with:
- Status transitions with timestamps
- Investigation notes (if applicable)
- Task breakdown with checkboxes
- Acceptance evidence
- Link to PR/commit
References
- Shape Up Hill Chart concept: https://basecamp.com/shapeup/3.4-chapter-13
- "Work is like a hill": uphill = figuring out, downhill = executing
Failure handling
- Blocked by dependency: Set
, addstatus: blocked
, notify or waitblocked_by: TKT-YYY - Acceptance criteria unclear: Do not guess. Add clarification request to ticket, set
status: blocked - Tests fail after implementation: Do not mark done. Debug, fix, re-verify
- Scope creep during execution: If new requirements emerge, create new ticket. Do not expand current ticket scope mid-execution
- Stuck uphill >2 hours: Flag in ticket, request help or pair. Do not thrash in circles