원클릭으로
hotsheet
Read the Hot Sheet worklist and work through the current priority items
Codex 또는 Claude로 설치 이 Prompt를 복사해 Codex, Claude 또는 다른 어시스턴트에 붙여 넣으면 Skill 페이지를 검토하고 설치를 진행할 수 있습니다.
메뉴
Read the Hot Sheet worklist and work through the current priority items
Codex 또는 Claude로 설치 이 Prompt를 복사해 Codex, Claude 또는 다른 어시스턴트에 붙여 넣으면 Skill 페이지를 검토하고 설치를 진행할 수 있습니다.
SOC 직업 분류 기준
Run as a distributed worker — continuously claim, work, and release Up Next tickets
Create a new bug ticket in Hot Sheet
Create a new feature ticket in Hot Sheet
Create a new investigation ticket in Hot Sheet
Create a new issue ticket in Hot Sheet
Create a new req change ticket in Hot Sheet
| name | hotsheet |
| description | Read the Hot Sheet worklist and work through the current priority items |
Read .hotsheet/worklist.md and work through the tickets in priority order.
For each ticket:
Work through them in order of priority, where reasonable.
If the worklist says "Auto-Prioritize", follow those instructions to choose and mark tickets as Up Next before working on them.
If API calls fail (connection refused or 403), re-read .hotsheet/settings.json for the current port and secret values — you may be connecting to the wrong Hot Sheet instance.
MCP tools (hotsheet_*) are preferred over curl when the channel is connected — see the worklist for per-operation guidance. The 14-tool surface covers ticket lifecycle (hotsheet_update_ticket, hotsheet_create_ticket, hotsheet_get_ticket, hotsheet_delete_ticket, hotsheet_restore_ticket, hotsheet_toggle_up_next, hotsheet_duplicate_tickets), bulk operations (hotsheet_batch), notes (hotsheet_edit_note, hotsheet_delete_note), attachments (hotsheet_add_attachment), channel signaling (hotsheet_signal_done), feedback sugar (hotsheet_request_feedback), and query (hotsheet_query_tickets). Curl stays supported as the universal fallback for non-Claude AI agents and human terminal callers.
Parallelizing work across the worker pool: hotsheet_get_worker_pool / hotsheet_set_worker_target / hotsheet_dispatch_tickets / hotsheet_drain_workers. When the project has "always preview agent plans" on (the worklist says so), call hotsheet_propose_partition with your whole proposed assignment INSTEAD of hotsheet_dispatch_tickets — it surfaces the plan in the owner's partition editor for review, and the UI dispatches on accept (you do not claim the tickets yourself).
You run on the target branch (usually main) in the main worktree, so you are the single integrator for parallel worktree workers (docs/89). Distributed workers (/hotsheet-worker) commit their work on their own branches and rebase onto the target to stay current, but they never write the target — that's your job:
git fetch then git pull --rebase (or rebase onto the upstream) when the repo has a remote, so you build on the latest. Commit or stash your own in-progress changes first so a merge doesn't tangle with them.GET /api/workers/integratable returns the detected target branch + the ready worker branches (hotsheet/* ahead of the target, with ahead/behind counts); then for each, in ticket-priority order, POST /api/workers/integrate with { "branch": "<name>" } does a guarded merge into the target. It returns a status: merged (success), conflict (it captured the conflicted files + aborted cleanly — resolve them by hand or, if non-trivial, ask the maintainer), dirty-tree (commit/stash your own changes first), not-on-target / nothing-to-integrate. The helper never pushes — pushing still needs explicit permission.integrateBranch call + one gate run covers the whole batch. When you integrate it, clear pending_integration for every ticket whose work it carried (next bullet), not just one.merged result with no gate field, run the project's gates yourself (type-check, lint, the relevant tests). If the project configured the opt-in integrationGate shared setting, the helper ran that command inside the merge and you'll get either: merged with result.gate.ran: true (the gate already passed — you do not need to re-run those gates for this branch); gate-failed (the gate command failed and the merge was already rolled back to the pre-merge target — do NOT re-merge blindly; read result.gate.output to decide whether to quickly fix-and-retry or, if non-trivial, ask the maintainer); or gate-timeout (same rolled-back state, but the gate exceeded its time limit). On gate-failed/gate-timeout the branch is unmerged — leave its ticket's pending_integration marker set (don't clear it).hotsheet_update_ticket with { "id": <id>, "pending_integration": false } (the tickets marked pending_integration are the ones awaiting integration).git push without the maintainer's explicit permission — local integration only.