worktree-recyclelisted
Install: claude install-skill yunsii/wezdeck
# Worktree recycle (platform skill — single source)
**Who runs:** the coding agent, **not** the human.
**Never** tell the user to copy-paste `worktree-task recycle` as the primary path — load this skill and run the co-located runner.
Hard git ops stay in **`worktree-task recycle`** (delivered gate including squash content-absorption, allowlisted clean, `reset --hard origin/HEAD`, sync `origin/<branch>` to the same tip).
This skill owns what the script cannot: **richer preflight**, **human-readable blockers**, and telling the agent what “ready for the next round” still needs after git is clean.
## When to load / run
| User intent (examples) | You do |
| --- | --- |
| 重置开发分支 / 重置工作站 / recycle / 收尾换下一轮 | `preflight` → if only soft warnings or squash false-positive risk is gone, `recycle -y` → `init` |
| 重置并开始做 X / recycle with task X | same, pass `--task "X"` |
| 只要看看能不能重置 | `preflight` or `recycle --dry-run` only |
| **wezdeck standing close-out:** worktree round delivered onto `origin/HEAD` / 「合入主分支后收尾」 | same recycle path — **default**, not optional. Then ensure primary `master` / `WEZTERM_REPO` is the machine SoT (ff/rebase primary if it lagged). |
**Skip / redirect:**
- Short-lived `task-*` / `hotfix-*` end-of-life → **`worktree-task reclaim`** / `Ctrl+k g r` (not this skill)
- Primary worktree / mainline-only checkout with no linked `dev-*` → refuse; do not invent a slug
- Pure `git reset` without delivery checks → do not bypass this skill
**wezdeck policy:** wo