Propose ship
Skill honerlaw/agent-marketplace/plugins/minerva/skills/propose-ship
Runs the full minerva lifecycle end-to-end in one command with the user in the loop — a human decision gate at each phase transition. Orchestrates propose - work - review - promote - ship - cleanup by delegating to each skill in sequence with no logic duplication, folds an optional `minerva:synthesize` overview-refresh offer into the promote-ship gate, refuses to start if in-flight work exists for the same intent, advances out of the work phase only on explicit user signal, and waits for the PR to actually merge before invoking cleanup. Use when the user wants the whole lifecycle while staying in control — "propose and ship", "I want to approve each step" — or when they invoke `minerva:propose-ship`.From its SKILL.md
npx -y skills add honerlaw/agent-marketplace --skill propose-shipAssembled from the repository path, not quoted from the project. Check it against their README if it does not work.
One thing to look at
- 0 stars0 stars. Stars are a popularity signal and not a quality one, but at this level it is likely that nobody has read this closely except its author, and you would be relying on your own review.
SKILL.md
9.0 KB, ~2.1k tokens by cl100k_base, as published. Nobody here has run it
Orchestrate the full minerva lifecycle in one invocation by delegating to each skill in order. This skill contains no logic of its own — it is a thin conductor.
Phase sequence
minerva:propose → minerva:work → minerva:review → minerva:promote → (minerva:synthesize?) → minerva:ship → minerva:cleanup
The (minerva:synthesize?) step is the optional overview-refresh offered inside the promote → ship gate (see Handoff rules); it runs only if the user accepts and self-gates on whether enough new scope accumulated.
Invoke each phase via the Skill tool in this exact order. Let each skill's own instructions handle all interactive parts, completion signals, and internal logic. Do not reproduce or shadow any skill's behavior here.
The minerva:propose phase creates the work unit's branch + worktree at .minerva/worktrees/<NNN-slug>/ and enters it; every downstream phase enters that worktree automatically (or stays in it if already there). minerva:cleanup is the only phase that runs from outside the worktree — it removes it.
(Note: review runs before promote so review-derived scratchpad notes flow through the promote partition. This matches using-minerva and review. Re-cycle review/promote as needed. Cleanup runs only after the PR actually merges — see Phase 7.)
Pre-flight: detect in-flight work
Before invoking minerva:propose, check for in-flight work units that might collide with the user's intent:
-
List
.minerva/work/NNN-*/plus.minerva/worktrees/NNN-*/.minerva/work/NNN-*/. -
If any unit has a
proposal.mdwhose## StatusisDraftor whose scratchpad is not the post-promote marker, treat it as in-flight. -
If the user's inline description (
minerva:propose-ship "add payments") clearly overlaps with an in-flight unit's slug or goal, stop and ask:"Found in-flight work unit
005-add-payments— looks related to what you just asked. Resume that one (minerva:work 005-add-payments) or genuinely start fresh?"Only proceed to
minerva:proposeafter the user confirms a fresh start.
This avoids the foot-cannon where a user mid-flow says "ok run the whole thing" and accidentally spawns a parallel work unit.
Handoff rules
-
propose → work: hand off automatically once
minerva:proposereaches its natural completion point (proposal written, self-reviewed, and user-approved). -
work → review: this is the trickiest handoff.
minerva:workis session-spanning and has no discrete completion event. Advance tominerva:reviewonly when the user explicitly signals work is done. Recognized signals:- The phrase
done,complete,ready to review,ready to ship,wrap it up,promote it, orship itin user input. - The user invoking
minerva:review,minerva:promote, orminerva:shipdirectly. - The
minerva:workskill itself signaling completion (success criteria checked off, surfaced as "ready for promote").
The signal list is illustrative, not closed — any unambiguous completion statement (e.g. "looks good, let's move on") counts as an explicit signal. Absent such a signal, stay in work mode; do not advance silently or prompt the user repeatedly.
- The phrase
-
review → promote: hand off automatically once
minerva:reviewreaches its natural completion point AND triage is clean (zero pending, all FIX items applied). If review surfaced findings the user routed back tominerva:replan, return control to work and re-enter review afterward. -
promote → ship gate: this is the single explicit gate. After
minerva:promotecompletes, briefly summarize what was promoted, what was merged into the proposal, and what was discarded. Then, as part of this same gate, if promote added knowledge entries, offer to refresh the knowledge-wiki overview:minerva:synthesizereports how much un-synthesized scope accumulated and self-gates on whether enough is there to be worth a refresh. If the user accepts the offer, invokeminerva:synthesizevia theSkilltool — including its own write confirmation — before invoking ship, so the refreshed.minerva/knowledge/overview.mdrides the same PR. The offer is optional and non-blocking; the user can decline and ship without it (the overview is advisory). After the synthesis offer resolves, wait for explicit user confirmation (ship it,proceed,yes) before invokingminerva:ship. If review found issues serious enough that the user has unresolved concerns about the implementation, pause here for explicit confirmation regardless. Whenminerva:synthesizewrote a refreshed overview, the ship hand-off must name.minerva/knowledge/overview.mdamong the paths to stage (ship stages specific paths, never-A) and request a PR-body line noting "overview.md refreshed (advisory navigation)". -
ship → cleanup: after
minerva:shipreturns, the PR may beOPEN(auto-merge pending),MERGED, orCLOSED. Cleanup runs only onMERGED. See Phase 7 for the polling rules.
Entry point
Always start at minerva:propose after the pre-flight check passes. Do not attempt to detect or resume mid-lifecycle state beyond the in-flight collision check above. If the user already has a work unit in progress and they actually want to resume it (not start a new one), they should invoke the individual skills directly — the pre-flight will surface this.
Execution
- Run pre-flight in-flight detection. Stop or proceed based on user response.
- Invoke
minerva:proposevia theSkilltool. Wait for it to complete. - Invoke
minerva:workvia theSkilltool. Stay engaged through the work phase per the handoff rule above. - Invoke
minerva:reviewvia theSkilltool. Wait for it to complete. If review routes tominerva:replan, return to step 3 after the replan lands. - Invoke
minerva:promotevia theSkilltool. Wait for it to complete. - Apply the promote → ship gate: summarize the promote result, offer
minerva:synthesizeif entries were added (invoke it via theSkilltool before ship if the user accepts), then wait for explicit user confirmation. - Invoke
minerva:shipvia theSkilltool (namingoverview.mdin the staging set when synthesis refreshed it). - Run the cleanup gate (Phase 7).
Phase 7 — cleanup gate
After minerva:ship returns, check PR merge state and decide what to do with the worktree:
- Read the PR state for the work-unit branch:
gh pr view <branch> --json state,mergedAt 2>/dev/null. MERGED→ invokeminerva:cleanup <NNN-slug> --yesvia theSkilltool. The work unit is fully shipped and the worktree is safe to remove. Report the cleanup result and exit.OPEN, auto-merge enabled → the PR will merge on its own when CI passes. Schedule a wake-up:ScheduleWakeupwithdelaySeconds: 300and apromptofminerva:propose-ship --cleanup-only <NNN-slug> --retry=Nso the next firing re-enters this gate.- Cap the retries at 12 (~1 hour total). Carry the retry count in the wake-up
prompt. - On cap exhaustion, surface "auto-merge still pending after ~1 hour — run
minerva:cleanup <NNN-slug>manually once the PR merges" and exit.
OPEN, auto-merge declined / not enabled → no automatic merge is coming. Surface "merge the PR manually when ready, then runminerva:cleanup <NNN-slug>" and exit. Do not schedule a wake-up — the gate has no signal to wait on.CLOSED(not merged) → the PR was closed without merging. Surface "PR closed without merging — worktree left in place at.minerva/worktrees/<NNN-slug>/for manual review. Runminerva:cleanup <NNN-slug>if you want to discard it." Exit.- No PR found → ship must have bailed before opening one. Skip cleanup and exit.
This phase is also the entry point when propose-ship is re-invoked via the wake-up (--cleanup-only flag) — in that mode, skip phases 1–7 and re-run phase 7 directly.
Out of scope
This skill does not define what "done" means for any phase — each skill defines its own completion signal. It does not add checkpoints, summaries, or status messages between phases beyond the explicit work → review trigger words, the promote → ship gate (which now also carries the optional, in-gate minerva:synthesize overview-refresh offer), and the cleanup gate.
What ships with it
Read from the repository
Just SKILL.md. No reference files, no scripts.
Gives 0 of the 12 instructions most ship operate skills give in ~2.1k tokens
Counted across 779 of the 1,178 authors here whose files we hold, read 2026-08-07
- Document a rollback plan before deploymentin 41 of 779, across 22 files
- Update the changelogin 21 of 779, across 19 files
- Run the test suitein 20 of 779
- Create an annotated git tagin 20 of 779
- Clean up feature flags after full rolloutin 18 of 779, across 10 files
- Verify deployment health after launchin 18 of 779, across 10 files
- Test both feature flag statesin 17 of 779, across 9 files
- Verify the working tree is cleanin 17 of 779
- Make database migrations backward-compatiblein 16 of 779, across 8 files
- Set up error monitoring before launchin 15 of 779, across 7 files
- Monitor metrics at each rollout stagein 14 of 779, across 5 files
- Create a GitHub releasein 14 of 779
Said here and by no other author read
- Delegate to each skill via the Skill tool in order
- Check for in-flight work before starting
- Stop and ask if user intent overlaps in-flight work
- Advance to review only on explicit user signal
- Offer overview refresh inside the promote ship gate
- Name refreshed overview file in ship staging set
Grouped from the skills themselves: near-identical wordings counted once, and counted by distinct author, so one author publishing three of these counts once. Length counted with cl100k_base; the agent that loads this file may tokenize it differently.