Shrink a backlog the honest way — obsolete work out, duplicates merged, viable items unblocked. Use when the user asks to cut or clean a backlog, critique open or blocked backlog items, autonomously close, cut, merge, or unblock every item that does not need the owner, or when open, blocked, and deferred work keeps accumulating.
Scanned 9/20/2026
Install to Claude Code
npx -y skills add askrubberduck/skills --skill duck-cut --agent claude-codeInstalls into .claude/skills of the current project.
Are you the author of Duck Cut?
Add the live security badge to your README — it updates automatically with every re-scan.
[](https://www.skillsdirectory.com/skills/askrubberduck-duck-cut)More formats (shields.io, HTML) on the badges page.
---
name: duck-cut
description: Shrink a backlog the honest way — obsolete work out, duplicates merged, viable items unblocked. Use when the user asks to cut or clean a backlog, critique open or blocked backlog items, autonomously close, cut, merge, or unblock every item that does not need the owner, or when open, blocked, and deferred work keeps accumulating.
---
# Duck Cut
Adversarial sweep over **every** open, blocked, and deferred item with a cut bias: the goal is a
smaller backlog, not a tidier one. "Cut this" findings are first-class, equal to "do this".
Differs from a disposition flow (which acts on IDs the owner names) — this one hunts.
Follow the user’s language unless they ask otherwise. Keep commands, paths, identifiers,
quoted errors and machine-readable verdicts unchanged; the duck asks for evidence in any language.
## Sweep
1. Enumerate all items from the repo's registries by running `duck-scan` — it owns the locator, and
this skill does not carry a second copy of where registries live. Not installed? Say so and ask
where the backlog is, once; a guessed location is how a sweep reports an empty backlog that is
merely somewhere else. Grep-first; read only surviving items in full.
2. Per item, argue **against its existence** before anything else (the necessity check). Verdict,
one of:
- **CLOSE NOW** — already satisfied, obsolete, or superseded; close with evidence.
- **CUT** — the need was speculative or the product moved past it; delete, don't park — a
parked item is still backlog.
- **MERGE** — duplicate or subset of another item; fold and close.
- **UNBLOCK** — the stated blocker no longer holds (verify, don't assume); make it pickable.
`duck-scan`'s attribution rule decides whether an entry lifting it counts: unattributed stays
blocked.
- **KEEP** — survives the critique; record the one-sentence justification that saved it.
3. Act autonomously on everything that doesn't need the owner: land CLOSE/CUT/MERGE/UNBLOCK edits in
the registries with evidence. Local edits do not authorize a commit or publication. CUT deletes;
a cut item counted in the report but left standing in the registry is the rot this skill exists
to remove. Preserve deleted text in existing history or the local change record until committed.
When a commit is authorized, **a CUT commit carries the deleted item's own text** — the one
exception `duck-dry` names, and it states why.
4. Items needing the owner (sign-offs, policy calls, anything the doer may not close): queue them
and run `duck-decide` — never close an owner-gated item yourself, never drop it silently. Queuing
one is not a reason to stop; the sweep continues past it.
## Report shape
Counts first ("14 items: 4 closed, 2 cut, 1 merged, 2 unblocked, 3 kept, 2 to owner"), then the
per-item verdict list with evidence links.
## Common mistakes
- Closing on assumption — CLOSE NOW requires evidence (the commit, the shipped PR, the doc) that the
need is met, not a recollection.
- Sweeping only the obligations registry — blocked delivery items and stale active-work dirs are the
same disease.
Is this your skill, or is something wrong with this listing? Request removal or report an issue. Author removals are honored within 72 hours.
No comments yet. Be the first to comment!