DevOps i chmura · Automatyzacja
ops-ship
/ops-ship
Prawdopodobnie wypuszcza wtyczkę ops: scala wszystkie otwarte pull requesty i publikuje wersję.
Dla kogo
- Repozytorium
- claude-ops ↗
- Licencja
- MIT
- Ostatnia zmiana repozytorium
- 27.10.2026
Ocena i bezpieczeństwo
100/ 100Klasa: dobry
Format25 / 25
Frontmatter z nazwą i opisem, poprawna nazwa, opis do 1024 znaków, nazwa zgodna z folderem.
Odkrywalność25 / 25
Opis mówi, kiedy użyć skilla, ma sensowną długość i jest w 3. osobie.
Treść35 / 35
Co najmniej 150 słów i do 500 linii, nagłówki, listy kroków, przykłady albo kod.
Higiena15 / 15
Bez zaślepek typu TODO, bez ścieżek Windows, z licencją.
Ryzykobrak sygnałów w skanie
- Pliki w paczce
- 1
- Skrypty
- 0
- Komentarze HTML
- 0
- Adresy URL w SKILL.md
- 0
Przestarzałość
Brak sygnałów. Repozytorium zmienione 27.10.2026, bez odwołań do wycofanych modeli i API.
Licencja
MIT, otwarta: można używać i zmieniać, z zachowaniem informacji o autorze.
Co robi i kiedy
Prawdopodobnie wypuszcza wtyczkę ops: scala wszystkie otwarte pull requesty i publikuje wersję.
Wyzwalacze z opisu
ship ops plugin\
Argumenty
/ops-ship [--type patch|minor|major] [--version X.Y.Z] [--notes "changelog body"] [--base BRANCH] [--no-update] [--dry-run]
Oryginalny opis (EN)
OPS on-demand: This skill should be used when the user asks to \"ship ops plugin\", \"merge all PRs and…
Jak działa
- ⚠️ It admin-merges EVERY open non-draft PR — review the sweep first
- ⚠️ Run it from the REPO CHECKOUT, not the cache
- How to run it
- Flags
- Notes
Sekcje z nagłówków SKILL.md, w oryginale · 101 linii, 658 słów
Podgląd SKILL.md
---
name: ops-ship
description: "OPS on-demand: This skill should be used when the user asks to \"ship ops plugin\", \"merge all PRs and…"
argument-hint: '[--type patch|minor|major] [--version X.Y.Z] [--notes "changelog body"] [--base BRANCH] [--no-update] [--dry-run]'
allowed-tools:
- Bash
- Read
- AskUserQuestion
disable-model-invocation: true
---
# OPS ► SHIP — merge-all-PRs → release → update, in one command
Load `ops-rules` before acting. Public repo (no personal data). Outbound: one draft → one approval → one send. If `AskUserQuestion` / `Workflow` are missing, follow Rule 10 in `ops-rules` (Hermes: numbered options / two-turn Telegram card; `delegate_task`).
The whole release chain in a single shot:
1. **Sweep** — admin squash-merge **every open, non-draft PR** targeting the base
branch (default `main`), **overriding required checks/reviews** (`gh pr merge
--admin`). A failed merge aborts before the release — no partial ship.
2. **Release** — delegates to `bin/ops-release`: bump `plugin.json` +
`marketplace.json` registry + `package.json` + `CHANGELOG`, open the release PR,
admin-merge to `main`, tag `vX.Y.Z`.
3. **Update** — runs the installed `ops-update` to pull the new version onto this
box (skip with `--no-update`).
> `ops-ship` = sweep + `/ops:ops-release` + `/ops:ops-update` in one. For just the
> publish step use `/ops:ops-release`; for just the pull step use `/ops:ops-update`.
## ⚠️ It admin-merges EVERY open non-draft PR — review the sweep first
By design the sweep is aggressive: it admin-merges **all** open non-draft PRs on the
base branch, bypassing required checks (red CI, missing reviews) — exactly what you
want for a trusted solo/own-org repo, dangerous if an unrelated or half-baked PR is
open. So **always dry-run first and show which PRs it will merge** before applying
(Rule 5 — bulk merge + outward-facing release + tag is high-impact and hard to
reverse). It only skips drafts.
## ⚠️ Run it from the REPO CHECKOUT, not the cache
Like `ops-release`, `ops-ship` resolves its targets relative to its own path and
needs `REPO_ROOT/.claude-plugin/marketplace.json`, which the plugin **cache** lacks.
Run the copy inside a git checkout of the repo:
```bash
SHIP=""
for d in ~/Developer/repos/claude-ops ~/Projects/claude-ops-workspace/claude-ops ~/Projects/claude-ops/claude-ops "$HOME"/Projects/*/claude-ops; do
if [ -f "$d/.claude-plugin/marketplace.json" ] && [ -x "$d/claude-ops/bin/ops-ship" ]; then
SHIP="$d/claude-ops/bin/ops-ship"; break
fi
done
[ -n "$SHIP" ] || { echo "no claude-ops checkout with marketplace.json found"; exit 1; }
```
## How to run it
### 1. Dry-run — show the sweep + the version bump
```bash
"$SHIP" --type patch --dry-run
```
Present: the list of open PRs it will admin-merge, the version bump (current → new),
the manifests touched, and the CHANGELOG block. (`--notes` defaults to a bullet list
of the merged PR titles; pass `--notes "…"` to override.)
### 2. Confirm
Use **AskUserQuestion** before applying (this merges PRs AND publishes):
```
Ship: admin-merge N open PR(s) on main, then release <CUR> → <NEW> + tag?
[Ship it]
[Dry-run only]
[Cancel]
```
### 3. Apply
```bash
"$SHIP" --type patch # or --version X.Y.Z, --notes "…", --no-update
```
Stream the step output (sweep → release → update). On success it ends with the new
tag and the reload reminder. Surface the final line verbatim:
> **Restart Claude Code (or run `/reload-plugins`) to load v<NEW>.**
## Flags
| Flag | Effect |
| ---------------------------- | --------------------------------------------------------------------------------------------- |
| `--type patch\|minor\|major` | Semver bump for the release (default `patch`). |
| `--version X.Y.Z` | Exact target version instead of bumping. |
| `--notes "…"` | CHANGELOG body. Defaults to a bullet list of the merged PR titles. |
| `--base BRANCH` | Base branch for the PR sweep only (must be `main`; `ops-release` always publishes to `main`). |
| `--no-update` | Don't run `ops-update` afterwards (publish only). |
| `--dry-run` | Report only — list PRs + the bump, change nothing. Always run this first. |
## Notes
- **PRs target `main`** and are squash-merged with `--admin` (own-org PRs can't be
self-approved; admin bypasses the review/required-check gates).
- **REST quota:** the sweep and `ops-release` use `gh` (GitHub REST). If REST is
exhausted (HTTP 403 rate-limit), wait for the reset window — `ops-ship` aborts
before releasing if any merge fails rather than partial-shipping.
- **Publish ≠ loaded.** The running session won't see the new version until
`ops-update` (pull, run automatically unless `--no-update`) **and**
`/reload-plugins` (load).
- Siblings: `/ops:ops-release` (publish only), `/ops:ops-update` (pull only).
Wersje
W bazie nie ma innych skilli o nazwie ops-ship.
Migawka bazy z 28.10.2026 · wersja paczki 1bc7e9eb7faf (skrót SHA-256 całej paczki)
Pobrania w ostatnich 30 dniach: 0 · ranking
Zgłoś problem z tym skillem: szkodliwa treść, błędny opis albo prośba autora o usunięcie.
Podobne skille
- 100ops-release
Prawdopodobnie publikuje nową wersję wtyczki ops po zebraniu zmian do wydania. - 100ops-update
Prawdopodobnie aktualizuje wtyczkę ops do najnowszej dostępnej wersji. - 96merge-open-prs
Scala wszystkie otwarte pull requesty albo wskazany zestaw PR-ów razem, w jednym przebiegu.