🇺🇸 English | 🇨🇳 中文
better-work-skill is a lightweight operating protocol for coding agents. It does not add new tools or model weights. It changes how an agent uses the tools it already has:
- less guessing
- less premature surrender
- less asking the user too early
- less "done" without proof
- more deliberate investigation
- more verification before completion
- better handoff quality when a task is genuinely blocked
- better continuity for multi-step work
This repo now packages five layers into one practical system:
high-agencyas the behavior corebetter-workas the product and command surface- a lightweight workflow skeleton for multi-step work
wave-based-deliveryas a conditional project-scale orchestration moduleround-based-executionas a conditional local execution control module
Better Work now handles three different complexity levels:
- small or medium work with the default protocol
- project-scale staged work with
wave-based-delivery - locally complex execution with
round-based-execution
That means Better Work can stay light for normal tasks while still supporting:
- project mapping before risky execution
- staged delivery waves
- durable project state across sessions
- bounded round-by-round execution inside a wave
- cleaner integration, migration, hardening, and handoff
Use this when the task can still be handled as one bounded stream.
Use this when the task is project-scale and must be sequenced as staged delivery waves.
Typical signals:
- multiple systems, modules, or environments
- mapping before execution is necessary
- integration or migration must be staged
- the task will likely span sessions
- the next objective should come from a larger delivery plan
Use this when the current execution slice itself needs bounded PDCA loops, local quality gates, and stronger carry-forward control.
Typical signals:
- multiple bounded stages inside the current objective
- high local execution risk
- meaningful unknowns before safe execution
- quality would suffer if verification waits until the end
wave-based-delivery and round-based-execution are related but not interchangeable.
wavedecides what the current delivery unit isrounddecides how the current unit is executed safely
Recommended layering:
- small task ->
better-work - multi-step but still bounded ->
better-workplus workflow files - project-scale task ->
better-workpluswave-based-delivery - project-scale task with complex current wave ->
better-workpluswave-based-deliveryplusround-based-execution
For larger tasks, Better Work can use compact written state instead of relying on chat memory alone.
Base workflow files:
TASK.mdPLAN.mdSTATE.mdHANDOFF.md
Project-scale wave files:
MAP.mdWAVE.mdDECISIONS.mdRISKS.mdwave-state.json
Local round files:
ROUND.mdround-state.json
These files are intentionally short. They are execution aids, not long project docs.
Stay in plain /better-work when:
- the task can likely be completed and verified in one bounded pass
- there is no meaningful project sequencing decision
- extra state would be heavier than the work
Use /better-work waves when:
- the task needs staged delivery waves
- current work should be selected from a larger plan
- mapping, integration, migration, or rollout must shape the path
Use /better-work rounds when:
- the current objective needs bounded PDCA loops
- you want explicit round gates from the start
- the task is locally complex even if it is not project-scale
Depending on the tool, commands may map to $better-work, /prompts:better-work, or a native slash command alias.
Core commands:
/better-work/better-work waves/better-work rounds/better-work verify/better-work unstick/better-work handoff/better-work review/better-work plan/better-work execute
Wave-specific commands:
/better-work wave-plan/better-work wave-map/better-work wave-status/better-work wave-replan/better-work wave-handoff
/better-work Fix this failing API test and verify the result.
/better-work waves Deliver this multi-service migration in staged waves with explicit gates.
/better-work rounds Fix this cross-service bug in bounded rounds.
/better-work wave-replan Re-sequence this project after these new constraints.
Useful default files:
Useful project-scale files:
Useful local execution files:
mkdir -p ~/.claude/skills/better-work
curl -o ~/.claude/skills/better-work/SKILL.md \
https://raw.githubusercontent.com/d-wwei/better-work-skill/main/skills/better-work/SKILL.mdThen in Claude Code, load:
$better-work
mkdir -p ~/.codex/skills/better-work
curl -o ~/.codex/skills/better-work/SKILL.md \
https://raw.githubusercontent.com/d-wwei/better-work-skill/main/codex/better-work/SKILL.md
mkdir -p ~/.codex/prompts
curl -o ~/.codex/prompts/better-work.md \
https://raw.githubusercontent.com/d-wwei/better-work-skill/main/commands/better-work.md
curl -o ~/.codex/prompts/better-work-waves.md \
https://raw.githubusercontent.com/d-wwei/better-work-skill/main/commands/better-work-waves.md
curl -o ~/.codex/prompts/better-work-rounds.md \
https://raw.githubusercontent.com/d-wwei/better-work-skill/main/commands/better-work-rounds.mdThen start a conversation and type:
$better-work
For explicit wave mode:
/better-work waves
For explicit round mode:
/better-work rounds
mkdir -p .cursor/rules
curl -o .cursor/rules/better-work.mdc \
https://raw.githubusercontent.com/d-wwei/better-work-skill/main/cursor/rules/better-work.mdcmkdir -p .github/instructions
cp vscode/instructions/better-work.instructions.md .github/instructions/Once active, the agent should:
- investigate before asking
- verify before claiming completion
- switch approaches after repeated failure
- write compact state only when it adds leverage
- produce a more useful handoff when work is genuinely blocked
When wave-based-delivery is active, the agent should also:
- decide one current wave at a time
- keep project-level state outside the chat
- map dependencies before risky execution
- separate project sequencing from local execution control
- leave a resumable project handoff, not just a local status note
When round-based-execution is active, the agent should also:
- define one primary objective per round
- enforce PDCA and a quality gate before moving on
- track assumptions, evidence, dependencies, and carry-forward
- leave round-level handoff state instead of relying on chat memory
Earlier Better Work was strong on execution discipline but thinner on project-scale orchestration.
This version keeps the original rigor while adding:
- a lightweight workflow skeleton
- project-scale wave orchestration
- bounded local round execution
- cleaner separation between project sequencing and local execution depth
The result is still lightweight by default, but much less likely to lose context or sequencing on real engineering work.
.gitignoreexcludes common local noise like.DS_Storesubskills/contains conditional overlays such aswave-based-deliveryandround-based-executionevals/trigger-prompts/contains minimal trigger sanity checksevals/closeout-cases.mdcaptures expected end-state behavior for future iterations