Find why your productivity system keeps failing, then apply the smallest fix — capacity math, bottleneck routing, durable local notes.
Coding
wip
Try itTrack multi-step session work as a checklist with two dispatch modes: registration or resume.
What it does
WIP records in-progress work as a checklist via TodoWrite/TaskCreate, checklist.md/fix_plan.md, or a WIP-tagged commit. On /wip invocation, it runs Step 0 classification first, dispatching to Registration mode (new tasks) or Resume mode (existing tasks). Resume mode cleans stale entries, then asks per-item direction — proceed, split, merge, hold, defer-to-checklist, or delete — before executing. After a context compact, it surfaces a prior-work summary, prompts a multiSelect restore, and re-registers selected items via TodoWrite.
When to use it
- Starting a multi-step task with 3+ steps
- Cleaning up and continuing pending tasks under /wip
- Restoring checklist state after a context compact
- Preserving incomplete work via a WIP commit or markdown checklist
The skill document
WIP (Work In Progress)
Track current session work as a checklist.
Topics
| Topic | Description | Guide |
|---|---|---|
| antigravity | task.md artifact-based checklist for Antigravity sessions | antigravity.md |
| claude | TodoWrite/TaskCreate API for Claude Code sessions | claude.md |
| resume | Environment-agnostic task cleanup + remaining-work workflow | resume.md |
Topic Dependencies
wip (entry — /wip or "task cleanup + remaining work")
└─→ resume (environment-agnostic workflow)
├─→ claude (Claude Code: TaskList/TaskCreate/TaskUpdate/AskUserQuestion)
└─→ antigravity (Antigravity: task.md artifact + ask.md emulation)
- resume: workflow procedure (cleanup → per-item direction ask → execute). Environment-agnostic.
- claude / antigravity: per-environment tooling. Defines how resume Step 1–3 is implemented in each environment.
Purpose
Record in-progress work via at least one of:
- TodoWrite / TaskCreate — in-session tracking
checklist.md,fix_plan.mdand similar markdown files — persists across sessions- Commit — preserve incomplete code with a
WIP:tag for later amend/squash
Emitting only a text summary without persistent recording does not satisfy /wip.
When to Use
- Starting a multi-step task (3+ steps)
- User gives a large task instruction
- Need to show progress to the user
- When you want to record/preserve the current state mid-session
- "task cleanup + remaining work", "task cleanup", "remaining work", "resume" invocations
/wip Entry Procedure (CRITICAL)
Step 0 — args classification (HARD STOP, MANDATORY before Step 1)
Before dispatching to any topic, classify the args intent. The /wip skill has two mutually-exclusive dispatch paths — resume workflow vs new-task registration — and the wrong choice wastes user time and misapplies the resume gate.
Read args + call TaskList (Claude Code) or read task.md (Antigravity). Then classify:
| Signal | Mode | Dispatch |
|---|---|---|
| args contains new-work instructions (verbs like write / create / add / record / draft, referring to concrete deliverables), AND (existing tasks are 0 OR the new work is clearly independent) | Registration mode | Register new tasks via TaskCreate (Claude) / append lines to task.md (Antigravity). Skip resume workflow |
| args empty, or contains cleanup/resume keywords only (cleanup / remaining / resume / continue), AND existing tasks ≥1 | Resume mode | Follow 3 steps in resume.md |
| args contains new-work instructions AND existing tasks ≥1 with unclear direction | Mixed mode | (a) TaskCreate new work first, (b) then resume workflow on the combined list |
| args contains new-work instructions AND 0 existing tasks | Registration mode (0-task early exit) | TaskCreate only. Do NOT enter resume Step 1 (nothing to clean) |
Self-check (before proceeding) — answer all 5:
- Did I read the args verbatim and identify verbs? (new-work verbs = registration; cleanup verbs = resume)
- Did I call
TaskList/ readtask.mdto count existing tasks? - If 0 tasks and args has new-work verbs → am I about to call
TaskCreatedirectly, not resume Step 1? - If mixed → am I calling
TaskCreatefirst, then resume? - If I cannot classify with confidence → am I calling
AskUserQuestionbefore dispatching?
Step 1 — Resume workflow (only in Resume mode or Mixed mode's second phase)
Follow the 3 steps in resume.md in order:
- Cleanup: immediately delete stale completed/in_progress entries (no user confirmation required)
- Checklist state recovery (Step 1.5): for tasks whose state cannot be verified from the in-context conversation (post-compact / inherited items), Grep/Read
fix_plan.md/checklist.mdto recover their state before asking - Per-item direction ask: for each remaining item, decide proceed / split / merge / hold / defer-to-checklist / delete
- Start priority + execute: among items decided as "proceed", choose start priority, mark in_progress, and execute
Step 1 (alt) — Registration path (Registration mode)
Register BEFORE execute (HARD STOP): TaskCreate must run before any deliverable work — no Read / Edit / Write / Bash on the target artifact until the task exists. "The edit is small / one file / ≤2 steps" is not an exception: an explicit /wip means the user asked for the work to be tracked first. Registering after the edit (or not at all) is the exact violation this path prevents. Reading a file solely to compose the task's registration is fine; editing/producing the deliverable before the task exists is not.
- Parse args into discrete work items (one per deliverable)
TaskCreate(Claude) or append lines totask.md(Antigravity) — one entry per item — as the first execution tool call, before touching the deliverable- If ≥2 items,
AskUserQuestionfor start priority; else mark the sole itemin_progressand execute
Don't / Do
| # | Don't | Do |
|---|---|---|
| 1 | Enter resume Step 1 (Cleanup) blindly on every /wip invocation | Run Step 0 classification first. 0-task + new-work args = skip resume, go to Registration path |
| 2 | Interpret "3 steps in resume.md must follow" as unconditional | The 3-step chain applies only when Resume mode is selected (Step 0). Registration mode has its own 3-step path (parse → register → execute) |
| 3 | Force resume workflow onto args that request new deliverables | New-work verbs → Registration mode. Resume workflow does not apply to work that does not exist yet |
| 4 | Skip TaskList before deciding mode | TaskList is the primary source for existing-task count. Guessing from context memory is unreliable |
| 5 | Mixed mode: register new tasks + immediately mark in_progress without resume Step 2 direction ask on existing | Mixed mode: (a) register new, (b) then run resume on the combined list — old tasks may still need per-item direction |
| 6 | Treat an explicit /wip as a Skip-Condition case and go straight to Read/Edit of the deliverable | Explicit /wip = registration requested. Run Step 0 → Registration/Resume path → TaskCreate first, then execute. Skip Conditions gate self-invocation, not explicit calls |
| 7 | Interrupt-stacked instructions arrive right after a registration-mode /wip (a newer directive: reword, investigate, etc.) → pivot to the newest instruction and never register the original /wip args | The original /wip args still require TaskCreate first. Register them before pivoting to any interrupt-stacked instruction — including Bash investigation for the newer directive. The register-before-execute guard hook only covers the case where /wip is the last user turn; the interrupt-stacked case (a newer non-/wip turn follows) is caught only by this discipline |
Environment implementations:
- Claude Code → claude.md (TaskList/TaskCreate/AskUserQuestion)
- Antigravity → antigravity.md (task.md + ask.md)
Prior violations: see ~/.claude/skills/cleanup/data/failed-attempts.md under keywords "wip resume dispatch", "wip cleanup skip", "wip registration vs resume".
Quick Reference
Resume (environment-agnostic)
/wip or "task cleanup + remaining work" → Step 1 cleanup → Step 1.5 checklist state recovery (context-opaque tasks) → Step 2 per-item direction ask → Step 3 execute. Per-environment tooling lives in claude / antigravity.
See detailed guide.
Claude
Use TodoWrite for sequential steps, TaskCreate for parallel tasks with dependencies.
After compact, restore prior work: show summary → multiSelect → re-register via TodoWrite.
See detailed guide.
Antigravity
Use task.md artifact with standard markdown checkboxes (- [ ], - [/], - [x]).
Do NOT wrap checkboxes in backticks.
See detailed guide.
Skip Conditions
Scope (HARD STOP) — these gate the auto-decision of whether to reach for /wip unprompted. They do NOT override an explicit /wip invocation. When the user explicitly types /wip (or "task cleanup / remaining work / register task"), registration is already requested → run Step 0 classification and the Registration/Resume path; do NOT skip TaskCreate because the work "looks trivial / is one file / is ≤2 steps". "Tasks with 2 or fewer steps" is a reason not to self-invoke /wip, never a reason to skip registration once /wip was invoked.
WIP tracking is unnecessary (do not self-invoke /wip) for:
- Single command execution (kubectl get, ls, etc.)
- Tasks with 2 or fewer steps
- Read-only queries
- User explicitly says "keep it simple"
Rules (Sequential Flow)
- One in_progress at a time — applies to ordered/sequential tracking (TodoWrite/checklist mode)
- Update immediately on completion — mark completed as soon as done
- No skipping — proceed in order, don't start next step before completing current
Related skills
Stores durable facts in a categorized, plain-markdown vault on disk, alongside your agent's built-in memory.
Generate and edit Draw.io, Mermaid, and Excalidraw diagrams from natural language using a structured JSON spec.
Join a video meeting as an AI bot with voice, avatar, and screenshare across four operating modes.
Run Git operations — commits, branches, merges, rebases, conflict resolution, and recovery — with safety rules enforced.
Write, debug, and tune Playwright specs with locator strategy, trace diagnosis, and CI-aware timeouts.
More from drumrobot
Browse all skillsRun a 4-stage research → plan → review → TDD-implement workflow for code changes with optional PR capture.
Manage Claude Code sessions: lookup, search, repair, migration, compression, and cleanup in one command surface.
Manage Git worktrees, ghq clones, SourceGit registration, and multi-account credentials with safety checks.
Diagnose agent mistakes, harden the prompt that caused them, and finish the original task.
Convert plans and code changes into GitHub issues and PRs, with auth handling, dependency tracking, and pre-publish scans.
Convert functionality into Claude Code automations (Agent, Skill, Rule, Hook, Command)