pr-flowlisted
Install: claude install-skill qupunto/workflow-secretary
# Moving work onto the publish branch
`branch.integration` is where work accumulates; `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
[`~/.claude/workflow/ownership.md`](../../workflow/ownership.md).
**Project facts come from `.claude/workflow.json`**: `branch.integration`,
`branch.publish`, `branch.mergeMethod` and `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 `--pullrequest` shorthand
**The token is spelled out and not `--pr`.** No flag may be a prefix of another,
and `doctor.sh` fails on a violation. Where a flag counts, and the authorization
it confers, is in `shorthand-flags.sh` and
[`~/.claude/README.md`](../../README.md), which is also where the reason for this
particular name lives.
Invoking without confirmation is safe because everything up to §5 is local or
reversible — a PR nobody merged can be closed, and nothing downstream has
fetched it.
## 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*