en un clic
ticket-worker
// 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.
// 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.
Structured workflow for research → plan → tickets → work. Use when starting or continuing a task with /task, /plan, or /tickets commands.
Create and refine tickets for the tk ticket system. Use when the user says 'create tickets for X', 'refine ticket X', 'break this into tickets', 'seed tickets from plan', or anything about creating or refining tk tickets.
REQUIRED when user says 'pickup', '/pickup', 'handoff', '/handoff' — MUST load this skill BEFORE any other work. Compacts conversations into handoff docs or resumes work from a prior handoff document.
Interact with web pages using Chrome DevTools Protocol. Launches a managed browser instance (Helium / Brave Nightly / Chrome) with an isolated profile and exposes nav, eval, screenshot, pick, and emulation helpers. Run scripts/start.js first.
Delegate tasks to other agents - pi sessions or external agents (claude, opencode, aider). Non-blocking with task tracking and completion notifications.
Display code, diffs, images, and other content in a tmux pane or popup, OR render markdown as a single-page interactive HTML and open in the default chromium-family browser. Auto-detects nvim/megaterm for floating popups.
| name | ticket-worker |
| description | 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. |
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..."