board-shiplisted
Install: claude install-skill heyramzi/ai-agency
# /board-ship
The quality gate between "In Review" and "Done", the "ship it" half of `/board-start`.
ClickUp is the source of truth for status. **Done means merged and verified**: never move a task to Done without a real merge and a passing review. A status flip is not shipping.
## Usage
```
/board-ship <task-id | PR-number> [integration-branch]
```
- The first argument may be a ClickUp task id (`CU-...`) or a GitHub PR number. Resolve whichever is given to the matching PR (step 1).
- `integration-branch` (optional): the branch to merge into. If omitted, resolve as `/board-start` does (explicit → `staging` if it exists → repo default).
If no argument is provided, ask. Alternatively, with no argument you may discover all tasks in **In Review** (`cu tasks --list <list_id> --status "<status_map.in-review>" --json`) and ask which to ship.
## Prerequisites
`cu status` must be authenticated. Read `.tasks/config.json` for `list_id`, `status_map`, and the `github` owner/repo.
## Steps
### 1. Resolve the task ↔ PR pair
- If given a ClickUp task id: find its PR via the branch/PR carrying the `CU-` id, `gh pr list --search "CU-<task-id> in:title" --state all` (also try `in:body` and the branch name `CU-<task-id>`). If the task's GitHub activity is linked, `cu task get <id>` comments may name the PR.
- If given a PR number: read the PR (`gh pr view <n>`) and extract the `CU-` id from its title/body/branch.
If no PR is found, stop. There is nothing to ship. Suggest `/board-sta