home/common/programs/ai/pi-coding-agent/skills/ticket-worker/SKILL.md
Work on a single tk ticket end-to-end. Use when the user says 'work on ticket X' or when spawned by work-tickets.sh.
npx skillsauth add megalithic/dotfiles ticket-workerInstall this skill globally with one command. Works with Claude Code, Cursor, and Windsurf.
3 of 9 scanners reported clean
Some scanners were skipped, did not run, or reported a non-clean status. Review each row below.
Work on a single ticket from start to finish. Follow each step in order. Do not skip verification.
tk show <id>
Check that the ticket has the ready-for-development tag. If it doesn't, stop — the ticket is not refined enough for automated work. Add a note and exit:
tk add-note <id> "Skipped: ticket not tagged ready-for-development. Needs refinement before work can start."
If the tag is present, mark the ticket as in progress:
tk start <id>
Understand the title, description, acceptance criteria, and any file hints.
lat.md/ exists at project root: run lat search with keywords from the ticket title and description. Read relevant sections with lat section to understand the architecture before exploring code files.Check these files in order to find how to build, test, and lint:
devenv.nix — look for scripts, tasks, processes, git-hooks, test commandspackage.json — look for scripts.test, scripts.lint, scripts.buildMakefile — look for test, lint, check, build targetsflake.nix — look for checksRemember what you find. You will need these after every change.
Go through the acceptance criteria one by one. For each criterion:
If lat.md/ exists at project root: run lat check. If it fails, update lat.md/ to reflect your changes and re-run until it passes. The ticket is not complete with a failing lat check.
Do not declare victory until every criterion is verified.
If all acceptance criteria pass:
git-commit skill (git commit -S -m "type(scope): description"). If lat.md/ was updated, include those changes in the same commit.tk close <id> (not done — done is not a valid status)tk add-note <id> "Summary of what was done"If you cannot complete the ticket:
tk add-note <id> "Blocked because..."testing
Apply Strunk's timeless writing rules to ANY prose humans will read - documentation, commit messages, error messages, explanations, reports, or UI text. Makes your writing clearer, stronger, and more professional.
tools
Web search using DuckDuckGo (free, unlimited). Falls back to pi-web-access extension for content extraction.
tools
Interact with web pages using agent-browser CLI. MUST run 'browser connect 9222' FIRST to use existing browser with authenticated sessions.
tools
Remote control tmux sessions for interactive CLIs (python, gdb, etc.) by sending keystrokes and scraping pane output.