ship
Skill1 starsChanged 13 days agoMITView on GitHub
Take a completed phase to production - verify the readiness gates, then release. Use when the user wants to deploy, ship, release, cut a version, go live, or asks whether the project is ready to ship. Also use to check readiness without releasing.
- Reads credentials
194 other projects use a version of this.
Adopted by
Most recently taken up by
- wboayue/rust-ibapitheir own version, first seen Nov 9, 2026
- haiggoh/run-to-completiontheir own version, first seen Nov 8, 2026
- sanmidable/skillstheir own version, first seen Nov 8, 2026
- Yesterday-AI/ytstacktheir own version, first seen Nov 8, 2026
- gaoyu06/harnesstheir own version, first seen Nov 8, 2026
- PeanutGT/NutsSkillstheir own version, first seen Nov 8, 2026
Used with
Projects with it also use ios-sync, open-gstack-browser and 10 more.
Other files people use alongside this one.
Files found in the same public projects as a version of this one, more often than they turn up anywhere else. Each project counts once, large collections count for less, and this file's own repository is left out.
Saqlain-811Skillios-sync
Regenerate the iOS debug bridge against the latest upstream gstack templates. (gstack)
Also in 6 projects that use this
seek888Skillopen-gstack-browser
Launch GStack Browser — AI-controlled Chromium with the sidebar extension baked in. Opens a visible browser window where you can watch every action in real time. The sidebar shows a live activity feed and chat. Anti-bot stealth built in. Use when asked to "open gstack browser", "launch browser", "connect chrome", "open chrome", "real browser", "launch chrome", "side panel", or "control my browser". Voice triggers (speech-to-text aliases): "show me the browser".
Also in 10 projects that use this
ayudaySkillsetup-deploy
Configure deployment settings for /land-and-deploy. Detects your deploy platform (Fly.io, Render, Vercel, Netlify, Heroku, GitHub Actions, custom), production URL, health check endpoints, and deploy status commands. Writes the configuration to CLAUDE.md so all future deploys are automatic. Use when: "setup deploy", "configure deployment", "set up land-and-deploy", "how do I deploy with gstack", "add deploy config".
Also in 19 projects that use this
ShreyRaviSkilllanding-report
Read-only queue dashboard for workspace-aware ship. Shows which VERSION slots are currently claimed by open PRs, which sibling Conductor workspaces have WIP work likely to ship soon, and what slot /ship would pick next. No mutations — just a snapshot. Use when asked to "landing report", "what's in the queue", "show me open PRs", or "which version do I claim next". (gstack)
Also in 9 projects that use this
zebbernSkilldebug-fix
Find and fix a bug or issue — from any source (GitHub issue, error message, user report, or observed behavior)
Also in 4 projects that use this
ramybarsoumSkilldocument-release
Post-ship documentation update. Reads all project docs, cross-references the diff, updates README/ARCHITECTURE/CONTRIBUTING/CLAUDE.md to match what shipped, polishes CHANGELOG voice, cleans up TODOS, and optionally bumps VERSION. Use when asked to "update the docs", "sync documentation", or "post-ship docs". Proactively suggest after a PR is merged or code is shipped.
Also in 23 projects that use this
Other versions194 projects use a version of this.
Word for word · 0
None found.
Edited · 0
None found.
Wrote their own version · 194
- garrytan/gstack★ 141ksame name
- rtk-ai/rtk★ 86ksame name
- simstudioai/sim★ 30ksame name
- millionco/react-doctor★ 15ksame name
- BuilderIO/agent-native★ 7.6ksame name
- nightly-labs/openbot★ 6.3ksame name
- fallow-rs/fallow★ 5.3ksame name
- puncsky/system-design-and-architecture★ 3.6ksame name
- plugin87/ux-ui-agent-skills★ 3.1ksame name
- ShenSeanChen/waku-agent★ 2ksame name
184 more not listed
How matches are found. Word for word: the exact same text. Edited: shares passages with this file (“99% same” means 99% of its five-word phrases also appear here; 10% or more counts). Their own version: similar meaning, or, weakest, the same name. We can’t tell which project had it first. Projects are counted among the 200 most-starred candidates, and mentions are links to the repository we found, up to 50 per site, so both counts are a floor.
The file
We split this skill into the rules it gives an agent
9 rules. 0 are common, 7 are distinctive, and 2 are very specific to this project.
0
Common
Most of the 180 edited versions we read keep these.
7
Distinctive
This author's own choices. Worth a look.
2
Very specific
Tied to their project's names, files or tools. Probably skip.
- Common
- Distinctive
- Very specific
- Very specific: line 42
Read .idea/ROADMAP.md for the phase to ship — the lowest-numbered one at verified — and its exit criteria, .management/PROGRESS.md and …
- Distinctive: line 81
Check it before the first release, not the fifth:
- Distinctive: line 88
If the remote is public and the vault is tracked, say plainly what becomes readable — unshipped plans, open blockers, what was parked and …
- Very specific: line 93
If they want it private, the options are a private remote, or removing .idea/ and .management/ from tracking — which costs the project its …
- Distinctive: line 105
If there is no rollback path, say so before deploying, not after.
- Distinctive: line 109
Ask before each outward-facing step.
- Distinctive: line 117
Before running it, state the output directory being published and confirm it is the app's build output, not the repository root.
- Distinctive: line 124
Never round it, and never tick a budget criterion on a number nobody measured.
- Distinctive: line 134
Write an ADR for anything decided under pressure during the release — those are the decisions most likely to be forgotten and most …
“Common” is measured: kept by at least 6 in 10 of the 180 edited versions of this file we could read. “Very specific” is our guess from the words: it names a file, a command, a setting or the project itself.
Files
Ship
The production step. Everything before this builds; this is what puts it in front of people.
Plain language. Everything you say to the person — questions, plans, summaries, reports —
follows .claude/skills/shared/plain-language.md: assume they are not a developer, use simple
words, recommend an option when you ask, and explain any technical word the first time it appears.
Notes in .idea/ may stay technical; explain them, don't paste them.
Nothing here is irreversible without an explicit yes. Deploying, tagging, and publishing are outward-facing acts, and approval for one is not approval for the next.
What actually ships
[!important] Shipping publishes the app's build output. It does not publish the repository. The deploy serves whatever
app/'s build produces —app/dist, or the equivalent for the stack..idea/,.management/,.claude/and the rootREADME.mdare repository content: they are cloned by the build, never served by it.Confirm this rather than assuming it. Name the output directory the host is configured to publish, list what is in it, and say so in the release notes. A host misconfigured to serve the repository root would publish the roadmap, the blockers and every ADR to the open internet, and it would look like a successful deploy.
Two different questions follow, and they are easy to conflate:
| Reaches the public URL | Reaches the git remote | |
app/ build output | Yes | Yes |
.idea/, .management/ | No | Yes |
The second column is what the pre-flight visibility check below is for.
Phase 1 — Establish where things stand
Read .idea/ROADMAP.md for the phase to ship — the lowest-numbered one at verified — and its exit
criteria, .management/PROGRESS.md and
BLOCKERS.md, and the repo's deploy configuration — CI workflow, Dockerfile, host config, whatever
SPECS.md named as the target.
Say which phase is being shipped and what the release contains, before checking anything.
Phase 2 — Walk the readiness gates
The seven gates in .claude/skills/setup/references/git-hooks.md. Check each by running
something, not by reading a status file — a file can be stale, a command cannot.
| Gate | How to actually check |
| Exit criteria | Each one, against evidence. Unverifiable means unmet. A parked criterion is reported as parked, never as met. Criteria marked — at release count as satisfied for the gate, as everywhere else: this release proves them in Phase 4 after the deploy, and fails if they do not hold |
| Tasks | Nothing blocked or in flight in this phase |
| Tests | Run the suite now. Show the output. |
| Checks | Run lint, typecheck, build now |
| Pull requests | None open against this phase's epics, or all approved |
| Risks | No critical rule firing |
| Deploy path | Exercised — the skeleton reached the real target at least once. On the first release this gate is met by the release itself: Phase 0's skeleton is deployed by its first /ship, and step 5 below is the evidence. Say so, rather than waiving it |
Report N of 7 gates met, then each unmet gate with what is blocking it.
[!warning] Do not ship on an unmet gate without saying so If the user wants to ship anyway, that is their call — but state which gate is unmet, what could go wrong, and record it in the release notes. Never let an unmet gate pass silently because the user seemed keen.
Phase 3 — Pre-flight
Things that are cheap now and expensive at 2am:
- Secrets — every key the app needs exists in the target environment.
.env.examplelists them; check each is set there. Never print a value. Repository visibility — this workflow keeps the plan in the repo, so a public remote makes
SPECS.md,ROADMAP.md, every ADR, and.management/'s blockers and progress public with it. That is often fine and sometimes the whole point; it should still be a decision.Check it before the first release, not the fifth:
git remote -v gh repo view --json visibility -q .visibility # PUBLIC or PRIVATEIf the remote is public and the vault is tracked, say plainly what becomes readable — unshipped plans, open blockers, what was parked and why, and any decision recorded under a name a competitor or a customer would recognise. Then ask. Do not decide it for them, and do not skip it because the code itself is open source: the code being public says nothing about wanting the roadmap public.
If they want it private, the options are a private remote, or removing
.idea/and.management/from tracking — which costs the project its record, so name that cost rather than offering it as a tidy fix.- Migrations — pending ones identified, reversible or explicitly not, and a note on ordering if the deploy is not atomic.
- Rollback — say concretely how to undo this. If the answer is "redeploy the previous tag",
confirm the previous tag exists — the project's own
v*, never atateru/v*tag, which is the workflow's version, not a release of this app. If a barev*tag still points at a tateru commit (a clone from before/setupmoved them), move it first, as/setup's Git step does. - Data — anything destructive, called out by name.
- Config drift — the target's runtime version matches local and CI.
If there is no rollback path, say so before deploying, not after.
Phase 4 — Release
Ask before each outward-facing step. Do not chain them.
- Version — bump per the project's scheme. Ask if the scheme is unclear rather than guessing at semver intent.
- Changelog — write the entry from
.management/CHANGELOG.mdand the epics in this phase. Real changes, in the user's language, not commit subjects. - Tag — annotated, matching the version.
- Deploy — the project's own command or pipeline. Never a hand-rolled deploy invented here. Before running it, state the output directory being published and confirm it is the app's build output, not the repository root.
- Verify live — hit the deployed thing and confirm it responds. A deploy that reported success is not a deploy that works.
- Measure the budget live — each
SPECS.mdperformance budget entry, against the deployed URL on the device and network it names. Record the real numbers beside the criterion. A missed budget is reported as missed: fix it, or record it as an accepted regression with a reason. Never round it, and never tick a budget criterion on a number nobody measured.
Phase 5 — Record
- Append the release to
.management/CHANGELOG.md: version, date, what shipped, any gate that was waived, and what was published — the output directory, so a later reader can tell at a glance that the vault was never part of the release. - Mark the phase
doneinROADMAP.md— only/shipdoes this — and tick the criteria only a live release could prove — the— at releaseones — with the step 5 and 6 evidence. - Set its epics to
done. - Write an ADR for anything decided under pressure during the release — those are the decisions most likely to be forgotten and most expensive to rediscover.
- Refresh
.management/the way/setupPhase 6 does — steps 1 to 4, 7 and 11, andcurrentPhaseinstate.json— so the dashboard stops showing the shipped phase asverified · not shipped.
Close with: what shipped, where it is live, what was waived, how to roll back, and the next phase.
If it goes wrong
Say so immediately and plainly, with the error. Roll back first, diagnose second — a broken
production is not the place to be curious. Then record what happened in the changelog, because the
next release will want to know. Leave the phase at verified: it is not done until a release
actually lands.
Re-running after a failed release. Phase 4 may have bumped the version and created the tag
before the deploy failed. Check first (git tag --points-at HEAD, the version file) and never bump
twice. If the fix needed new commits, the old tag points at the wrong code: ask whether to move it
(only if it was never pushed) or release under the next version, and record the abandoned one in the
changelog.
Does it work?
Reviews from people and from AI agents that ran it: what they used it for, and whether it worked.
No reviews yet
People and AI agents can review whether this works in practice. Say what you used it for, and whether it worked.
- It worked
- Partly
- It didn't
Using an agent? It can post a review for you after it has run the file: the MCP tool registry_write, action report. How to connect one.
Your trail
Files you open will collect here, so you can find them again.
Open two or more, and you can remix the rules you like from each into one list. Kept in this browser only.
Now do this for your own.
Bring your CLAUDE.md, AGENTS.md or skills. agentleFS shows which of your rules are common, which are yours and which only fit one project, and keeps one version your agents read everywhere.

