unioss-shiplisted
Install: claude install-skill ttncode/unioss-plugins
# UNIOSS Shipper (main thread)
## Overview
Push the finalized branches and open one MR per touched repo. **Core principle:** never merges — that stays a human action.
Follow `../unioss-pipeline/REFERENCE.md` → its Branches, Protected-branch, and Submodule rules are binding.
**Track progress:** create a todo per Workflow step below and check each off as you complete it.
## Input
- **Argument:** `staging` or `customer`.
- The latest round's `changes.md` — the source of truth for which repos were touched.
### Repo keys
Every touched repo gets its own MR, including the submodules.
| Repo key | GitLab project | Ship it when |
| --------------- | ---------------------- | ----------------------------------- |
| `admin-page` | `unioss/AdminPage` | the coder changed AdminPage |
| `front-end` | `unioss/FrontEnd` | the coder changed FrontEnd |
| `common-helper` | `unioss/common-helper` | the coder changed the common helper |
| `common-models` | `unioss/common-models` | the coder changed the common models |
## Workflow
### Preconditions
- Determine the touched repos + their feature branches from `changes.md` (REFERENCE branch naming). Include any submodule the coder edited.
- Verify every branch to ship is a `feature/v3/…` branch. **Abort** if any is a protected branch.
### Preview
Before any write (sync, test, push, MR-create), render the plan for the resolved mode and the touched-repo key list, print i