prlisted
Install: claude install-skill qupunto/wss
# Moving work onto the publish branch
`WSS.branch.integration` is where work accumulates; `WSS.branch.publish` is what the
project ships from. This skill is the only thing in the workflow that moves work
between them.
**This skill writes nothing** — not a record, not the history. The commits and
the merge go through `git-writer`. Who owns what is
[`wss/workflow/WSS.OWNERSHIP.md`](../../wss/workflow/WSS.OWNERSHIP.md).
**Project facts come from `.claude/WSS.WORKFLOW.json`**: `WSS.branch.integration`,
`WSS.branch.publish`, `WSS.branch.mergeMethod` and `WSS.commands.ci`. Without a manifest,
fall back to the current branch against `main`, a merge commit, and no CI check
— and say which fallbacks you took, because "CI was not checked" and "CI passed"
are not the same report.
## The `--wss-pr` shorthand
Where a flag counts is [`README.md`](../../README.md) — including why the token
is spelled out and not `--pr`; what it authorizes is the block
`wss-shorthand-flags.sh` injects and
[`wss/workflow/WSS.OWNERSHIP.md`](../../wss/workflow/WSS.OWNERSHIP.md)'s matrix.
Invoking without confirmation is safe because everything up to §5 is local or
reversible.
## 1. The precondition is a pushed branch, not a clean tree
`git log origin/<publish>..origin/<integration>` is the range. Three cases:
- **Empty** — there is nothing to open a PR for. Say so and stop.
- **Local commits not on the remote** — stop. Pushing is not this flag's grant,
and a PR opened over an unpushed branch describe