Invocation for vc-ship (launcher ship)
Same three-path shape as the fleet, with this skill's literals — see the
canonical Delegation Matrix:
| Path |
Literal for this skill |
| 1. User-launched worker |
vibecrafted ship <agent> / vc-ship |
| 2. Interactive |
/vc-ship — execute in this session; use native subagents when required; do not externalize merely because a launcher exists |
| 3. Agent-operator |
may dispatch the worker form above via vc-dispatch / operator lines while preserving this skill's identity |
Note: Lifecycle umbrella (scaffold→release). Stages keep their own launchers.
Freer native on some runs ≠ abandon external fleet. vc-dispatch and vc-ship keep their own identities.
vc-ship — the lifecycle umbrella: one mission, eleven stages, one baton
Operator Entry
Living Tree / Worktree Rule
This workflow runs in the operator's current checkout and current branch. Do not
create, switch to, or move execution into a git worktree unless the operator
explicitly asks for one in this prompt. Re-read files before editing, adapt to
concurrent changes, and report substrate failure if the tree is too poisoned to
continue safely. The one sanctioned second mode is a Fleet Worktree dispatch (written plan, pre-committed verifiers, disjoint domains, single-thread integrator — see Living Tree Rule, Mode B); outside that formation, stay in the shared tree.
See Living Tree Rule.
Canonical Orientation Gate
Before this lifecycle umbrella launches its first stage — and before every
WRITE stage it later supervises touches source — it MUST run or consume the
vc-init procedure for the mission's repo. The mission file itself is only
valid when grounded in a real vc-init pass; if fresh vc-init evidence is
absent, perform the init pass first and treat the whole flight as blocked until
repo truth exists. A prompt is a hypothesis, never the ground truth.
Loctree:loctree is the default structural perception skill for that pass. Use
Loctree before grep or docs-driven claims to produce or refresh the
Code-Derived Application Map: repo-view, focus, slice, impact, find, and follow
as relevant. Search for existing symbols and contracts before creating new
ones; run impact before delete or major refactor; run slice before editing. As
supervisor you carry this map as baton cargo, so each stage worker inherits the
same structural truth instead of re-discovering the repo from zero.
The point is to find the hooks before the eleven stages fly: load-bearing hubs,
twins, dead code, drift, runtime entrypoints, and blast-radius traps. If the
mission is explicitly non-repo or no-code, state the no-repo exception in the
report. Otherwise, missing vc-init/Loctree evidence is a process failure and
the flight has not honestly begun.
Repository Work Doctrine
For repository work, start with Loctree as the map: use loct context,
loct occurrences, loct body, and loct find --literal before broad manual
search. Use AICX for intent and session context. Use rg/grep as fallback or
local magnifier, not as a replacement for structural mapping. If Loctree fails
or misses a surface, append feedback to ~/.vibecrafted/loctree/loctree-fail.md.
Standard launcher:
vibecrafted ship <agent> --file /path/to/mission.md # canonical: mission file
vibecrafted ship codex --prompt 'one-cut mission text' # short missions
vc-ship claude --file mission.md # shell shortcut
vibecrafted ship <agent> --start-stage review --file m.md # resume mid-pipeline
Runtime invariant: stage workers fly headless, so the lifecycle survives
vc-frame and User Session loss. Observe through lifecycle state, transcripts,
observe, and await. --runtime terminal is an explicit compatibility
exception for a provider path proven to require a TTY.
Purpose
Run one product mission through the complete Read-Write cadence as a single
supervised lifecycle run, and make the invoking agent the supervisor of
that run: verifying every stage report, steering with the human-controls
verbs, and carrying the baton (with its report cargo) from scaffold all the
way to release. The goal of every flight is the dictated one: big win and
ZERO DoU index — or an honest, traced accept-dou for what remains undone.
The Pipeline (Read-Write Cadence)
| # |
Stage |
Phase |
Discovery / delivery tooling |
| 1 |
scaffold |
READ |
vc-init, vc-loctree, vc-research |
| 2 |
implement |
WRITE |
vc-init, vc-operator, vc-agents |
| 3 |
review |
READ |
vc-init, vc-loctree, vc-review, vc-prview (test-heavy by design) |
| 4 |
workflow |
WRITE |
vc-init, vc-research, vc-justdo |
| 5 |
followup |
READ |
vc-init, vc-intents, vc-loctree, TDD |
| 6 |
marbles |
WRITE |
vc-marbles runtime — entropy UP, flood every crack |
| 7 |
audit |
READ |
vc-init, vc-loctree, vc-aicx, vc-research |
| 8 |
polarize |
WRITE |
marbles runtime — entropy DOWN, one truth, no mercy |
| 9 |
dou |
READ |
Definition of Undone: find the gaps before release |
| 10 |
hydrate |
WRITE |
vc-init, vc-operator, vc-decorate |
| 11 |
release |
— |
deployment/publishing/signing — the operator-plane stage |
READ stages must not write source (a violation is traced as
read_phase_violation); WRITE stages must show commits and green gates.
How To Fly (supervisor protocol)
Mission first. Compose the mission as a durable .md file under
~/.vibecrafted/artifacts/<org>/<repo>/<date>/plans/ — grounded in a real
vc-init pass (Loctree atlas + AICX intents + git/risk truth), with explicit
deliverables, hard constraints, and gates. --file delivers it verbatim to
every stage worker.
Launch with the standard launcher above. Verify the launch receipt:
run_id (life-ship-…), context atlas loaded, stage 1 accepted.
Arm await immediately, supervisor-side (never inside a subagent — see
docs/runtime/AGENT_OPS.md): After dispatch, arm
vibecrafted await <agent> --run-id <id> immediately, supervisor-side.
Control-plane JSON, report files, transcripts, panes, and scheduled wakeups
are diagnostic only, not wake signals. Hedging await with ad-hoc
pollers/watchers is a Class 3 violation; fix control_plane.await_run, do
not normalize the hedge. Stage report checks and ship status --json are
diagnostics subordinate to that canonical await; ship status --json
exposes stage_worker with worker_dead_without_report — the actionable
death signal; the dispatcher also writes worker_exit /
stage_worker_exit into state.json push-side when a worker dies.
3-signal liveness: before declaring done, reconcile await verdict, terminal
run meta, and worker pid dead; if a report is promised, confirm it exists.
Two agreeing signals are enough to act, three to declare done; disagreement
means treat as live and re-arm await. Known skew: rc=0-on-live and meta stuck
active/stalled after real completion.
Verify before every button. Read the report; for WRITE stages confirm
the commits and gates actually exist; for READ stages confirm no
read_phase_violation. Honor worker steering from report frontmatter
(next_stage, next_agent, dou_index) unless it is nonsense — then
override with a verb.
Drive with verbs, never with manual state surgery:
vibecrafted ship runs # list lifecycle runs
vibecrafted ship status <run_id> --json # truth before any button
vibecrafted ship approve <run_id> # baton → next stage (cargo-gated)
vibecrafted ship approve <run_id> --force # traced override of the cargo gate
vibecrafted ship interrupt <run_id> # stop a blind/dead continuation
vibecrafted ship fallback <run_id> --stage <s> # rewind the baton WITH cargo
vibecrafted ship force-audit <run_id> # suspicious WRITE output
vibecrafted ship accept-dou <run_id> --finding "…" # conscious, traced gap
Dead worker recovery is always: interrupt → fallback --stage <stage> →
approve [--force]. No baton cargo is lost.
Report at the end, not along the way (unless the operator asks
otherwise): stages flown, corrections made, commits, gate colours,
dou_index, and what release honestly did NOT verify.
Boundaries (what the human keeps)
- The baton is an agent↔agent relay; the supervising agent is the
operator of the run. The human stays the human: mandates, pushes to the
world, and merges are theirs unless explicitly delegated.
- Never merge your own PR without an explicit one-time mandate.
- "Production ready" is a forbidden verdict. Report evidence,
file:line,
gate colours; the release stage and the human own the verdict — honest
outcomes like repo_contract_green_external_release_blocked beat a
confident lie.
When To Use
- A mission needs the full cadence: discovery, delivery, adversarial review,
entropy-up/entropy-down stabilization, DoU, and a release gate — as one
supervised, auditable run.
- The operator says "ship it", "pełny lot", "parasol" for a scoped product
cut in ANY repo (the runtime is repo-agnostic; the mission file names the
root).
When NOT to use:
- A single cut with known shape →
vc-implement or vc-justdo.
- Only stabilization →
vc-marbles (then vc-polarize).
- Only discovery →
vc-init / vc-research / vc-scaffold directly.
Pipeline Position
- Upstream:
vc-operator (usual invoker), a scaffold-grade mission plan.
- Downstream: nothing — vc-ship IS the pipeline; its release stage emits the
handoff (release report + DoU trail) the human acts on.
Acceptance Criteria
The skill run is done when:
If any acceptance bullet cannot be ticked with evidence, the flight has not
completed — say so explicitly in the final report.
Anti-Patterns
- Launching without a mission file grounded in vc-init truth (the prompt is a
hypothesis, not the ground truth).
- Watching gates or workers from inside a subagent — gate-nap class failure
(
docs/runtime/AGENT_OPS.md, Class 1); watchers live with the supervisor.
- Trusting silence: a missing report is indistinguishable from a dead worker
until you check liveness (Class 2) — use
status/stage_worker, don't
wait out budgets on a corpse.
- Manual edits to
state.json instead of verbs — the trace IS the product.
- Approving a stage without reading its report, or pronouncing "ready"
yourself instead of handing the verdict to the gate.
Examples
See examples/example-prompt.md for a minimal
trigger phrase + expected behavior pair.
𝚅𝚒𝚋𝚎𝚌𝚛𝚊𝚏𝚝𝚎𝚍. with AI Agents by Vetcoders (c)2024-2026 LibraxisAI
1---2name: vc-ship3description: Meta-skill: the full Vibecrafted lifecycle umbrella. Launches the 11-stage Read-Write cadence (scaffold → implement → review → workflow → followup → marbles → audit → polarize → dou → hydrate → release) as ONE supervised lifecycle run, then turns the invoking agent into the supervising operator driving the baton relay with the human-controls verbs. Usually invoked in the vc-operator formula. Trigger phrases: "vc-ship", "/vc-ship", "ship it through the lifecycle", "parasol", "umbrella flight", "pełny lot", "lifecycle run", "od scaffoldu po release".4---56<!-- fleet-imperative: v3 -->78> **Invocation for `vc-ship` (launcher `ship`)**9>10> Same three-path _shape_ as the fleet, with **this** skill's literals — see the11> canonical [Delegation Matrix](../DELEGATION_MATRIX.md):12>13> - [Shared three paths](../DELEGATION_MATRIX.md#shared-three-paths)14> - [Launcher catalogue](../DELEGATION_MATRIX.md#launcher-catalogue-core-runtime)15> - [Per-launcher rule](../DELEGATION_MATRIX.md#per-launcher-rule-the-semantic-delta)16> - [Native vs external](../DELEGATION_MATRIX.md#native-subagents-vs-external-workers)17>18> | Path | Literal for this skill |19> | ----------------------- | ------------------------------------------------------------------------------------------------------------------------------------- |20> | 1. User-launched worker | `vibecrafted ship <agent>` / `vc-ship` |21> | 2. Interactive | `/vc-ship` — execute **in this session**; use native subagents when required; do **not** externalize merely because a launcher exists |22> | 3. Agent-operator | may dispatch the worker form above via `vc-dispatch` / operator lines while preserving this skill's identity |23>24> **Note:** Lifecycle **umbrella** (scaffold→release). Stages keep their own launchers.2526> Freer native on some runs ≠ abandon external fleet. `vc-dispatch` and `vc-ship` keep their own identities.2728<!-- /fleet-imperative -->2930# vc-ship — the lifecycle umbrella: one mission, eleven stages, one baton3132---3334## Operator Entry3536### Living Tree / Worktree Rule3738This workflow runs in the operator's current checkout and current branch. Do not39create, switch to, or move execution into a git worktree unless the operator40explicitly asks for one in this prompt. Re-read files before editing, adapt to41concurrent changes, and report substrate failure if the tree is too poisoned to42continue safely. The one sanctioned second mode is a Fleet Worktree dispatch (written plan, pre-committed verifiers, disjoint domains, single-thread integrator — see Living Tree Rule, Mode B); outside that formation, stay in the shared tree.4344See [Living Tree Rule](../LIVING_TREE_RULE.md).4546## Canonical Orientation Gate4748Before this lifecycle umbrella launches its first stage — and before every49WRITE stage it later supervises touches source — it MUST run or consume the50`vc-init` procedure for the mission's repo. The mission file itself is only51valid when grounded in a real `vc-init` pass; if fresh `vc-init` evidence is52absent, perform the init pass first and treat the whole flight as blocked until53repo truth exists. A prompt is a hypothesis, never the ground truth.5455`Loctree:loctree` is the default structural perception skill for that pass. Use56Loctree before grep or docs-driven claims to produce or refresh the57Code-Derived Application Map: repo-view, focus, slice, impact, find, and follow58as relevant. Search for existing symbols and contracts before creating new59ones; run impact before delete or major refactor; run slice before editing. As60supervisor you carry this map as baton cargo, so each stage worker inherits the61same structural truth instead of re-discovering the repo from zero.6263The point is to find the hooks before the eleven stages fly: load-bearing hubs,64twins, dead code, drift, runtime entrypoints, and blast-radius traps. If the65mission is explicitly non-repo or no-code, state the no-repo exception in the66report. Otherwise, missing `vc-init`/Loctree evidence is a process failure and67the flight has not honestly begun.6869## Repository Work Doctrine7071For repository work, start with Loctree as the map: use `loct context`,72`loct occurrences`, `loct body`, and `loct find --literal` before broad manual73search. Use AICX for intent and session context. Use rg/grep as fallback or74local magnifier, not as a replacement for structural mapping. If Loctree fails75or misses a surface, append feedback to `~/.vibecrafted/loctree/loctree-fail.md`.7677Standard launcher:7879```bash80vibecrafted ship <agent> --file /path/to/mission.md # canonical: mission file81vibecrafted ship codex --prompt 'one-cut mission text' # short missions82vc-ship claude --file mission.md # shell shortcut83vibecrafted ship <agent> --start-stage review --file m.md # resume mid-pipeline84```8586Runtime invariant: stage workers fly **headless**, so the lifecycle survives87vc-frame and User Session loss. Observe through lifecycle state, transcripts,88`observe`, and `await`. `--runtime terminal` is an explicit compatibility89exception for a provider path proven to require a TTY.9091---9293## Purpose9495Run one product mission through the complete Read-Write cadence as a single96supervised lifecycle run, and make the invoking agent the **supervisor** of97that run: verifying every stage report, steering with the human-controls98verbs, and carrying the baton (with its report cargo) from scaffold all the99way to release. The goal of every flight is the dictated one: **big win and100ZERO DoU index** — or an honest, traced `accept-dou` for what remains undone.101102## The Pipeline (Read-Write Cadence)103104| # | Stage | Phase | Discovery / delivery tooling |105| --- | --------- | ----- | ---------------------------------------------------------------- |106| 1 | scaffold | READ | vc-init, vc-loctree, vc-research |107| 2 | implement | WRITE | vc-init, vc-operator, vc-agents |108| 3 | review | READ | vc-init, vc-loctree, vc-review, vc-prview (test-heavy by design) |109| 4 | workflow | WRITE | vc-init, vc-research, vc-justdo |110| 5 | followup | READ | vc-init, vc-intents, vc-loctree, TDD |111| 6 | marbles | WRITE | vc-marbles runtime — entropy UP, flood every crack |112| 7 | audit | READ | vc-init, vc-loctree, vc-aicx, vc-research |113| 8 | polarize | WRITE | marbles runtime — entropy DOWN, one truth, no mercy |114| 9 | dou | READ | Definition of Undone: find the gaps before release |115| 10 | hydrate | WRITE | vc-init, vc-operator, vc-decorate |116| 11 | release | — | deployment/publishing/signing — the operator-plane stage |117118READ stages must not write source (a violation is traced as119`read_phase_violation`); WRITE stages must show commits and green gates.120121## How To Fly (supervisor protocol)1221231. **Mission first.** Compose the mission as a durable `.md` file under124 `~/.vibecrafted/artifacts/<org>/<repo>/<date>/plans/` — grounded in a real125 vc-init pass (Loctree atlas + AICX intents + git/risk truth), with explicit126 deliverables, hard constraints, and gates. `--file` delivers it verbatim to127 every stage worker.1282. **Launch** with the standard launcher above. Verify the launch receipt:129 run_id (`life-ship-…`), context atlas loaded, stage 1 accepted.1303. **Arm await immediately, supervisor-side** (never inside a subagent — see131 `docs/runtime/AGENT_OPS.md`): After dispatch, arm132 `vibecrafted await <agent> --run-id <id>` immediately, supervisor-side.133 Control-plane JSON, report files, transcripts, panes, and scheduled wakeups134 are diagnostic only, not wake signals. Hedging await with ad-hoc135 pollers/watchers is a Class 3 violation; fix `control_plane.await_run`, do136 not normalize the hedge. Stage report checks and `ship status --json` are137 diagnostics subordinate to that canonical await; `ship status --json`138 exposes `stage_worker` with `worker_dead_without_report` — the actionable139 death signal; the dispatcher also writes `worker_exit` /140 `stage_worker_exit` into `state.json` push-side when a worker dies.141 3-signal liveness: before declaring done, reconcile await verdict, terminal142 run meta, and worker pid dead; if a report is promised, confirm it exists.143 Two agreeing signals are enough to act, three to declare done; disagreement144 means treat as live and re-arm await. Known skew: rc=0-on-live and meta stuck145 `active`/`stalled` after real completion.1464. **Verify before every button.** Read the report; for WRITE stages confirm147 the commits and gates actually exist; for READ stages confirm no148 `read_phase_violation`. Honor worker steering from report frontmatter149 (`next_stage`, `next_agent`, `dou_index`) unless it is nonsense — then150 override with a verb.1515. **Drive with verbs, never with manual state surgery:**152153 ```bash154 vibecrafted ship runs # list lifecycle runs155 vibecrafted ship status <run_id> --json # truth before any button156 vibecrafted ship approve <run_id> # baton → next stage (cargo-gated)157 vibecrafted ship approve <run_id> --force # traced override of the cargo gate158 vibecrafted ship interrupt <run_id> # stop a blind/dead continuation159 vibecrafted ship fallback <run_id> --stage <s> # rewind the baton WITH cargo160 vibecrafted ship force-audit <run_id> # suspicious WRITE output161 vibecrafted ship accept-dou <run_id> --finding "…" # conscious, traced gap162 ```163164 Dead worker recovery is always: `interrupt` → `fallback --stage <stage>` →165 `approve [--force]`. No baton cargo is lost.1661676. **Report at the end, not along the way** (unless the operator asks168 otherwise): stages flown, corrections made, commits, gate colours,169 dou_index, and what release honestly did NOT verify.170171## Boundaries (what the human keeps)172173- The baton is an **agent↔agent relay**; the supervising agent is the174 operator of the run. The human stays the human: mandates, pushes to the175 world, and merges are theirs unless explicitly delegated.176- Never merge your own PR without an explicit one-time mandate.177- "Production ready" is a forbidden verdict. Report evidence, `file:line`,178 gate colours; the release stage and the human own the verdict — honest179 outcomes like `repo_contract_green_external_release_blocked` beat a180 confident lie.181182## When To Use183184- A mission needs the full cadence: discovery, delivery, adversarial review,185 entropy-up/entropy-down stabilization, DoU, and a release gate — as one186 supervised, auditable run.187- The operator says "ship it", "pełny lot", "parasol" for a scoped product188 cut in ANY repo (the runtime is repo-agnostic; the mission file names the189 root).190191**When NOT to use:**192193- A single cut with known shape → `vc-implement` or `vc-justdo`.194- Only stabilization → `vc-marbles` (then `vc-polarize`).195- Only discovery → `vc-init` / `vc-research` / `vc-scaffold` directly.196197## Pipeline Position198199- Upstream: `vc-operator` (usual invoker), a scaffold-grade mission plan.200- Downstream: nothing — vc-ship IS the pipeline; its release stage emits the201 handoff (release report + DoU trail) the human acts on.202203## Acceptance Criteria204205The skill run is **done** when:206207- [ ] Lifecycle run reached `release` (or an operator-decided stop), with208 every transition traced in `operator_actions`.209- [ ] Every WRITE stage has verifiable commits + green gates; every READ210 stage is violation-free.211- [ ] `dou_index` is 0 — or every remaining gap is an explicit, traced212 `accept-dou` with its follow-up named.213- [ ] Final report delivered: stages, corrections, commits, gate colours,214 and what was NOT verified.215216If any acceptance bullet cannot be ticked with evidence, the flight has not217completed — say so explicitly in the final report.218219## Anti-Patterns220221- Launching without a mission file grounded in vc-init truth (the prompt is a222 hypothesis, not the ground truth).223- Watching gates or workers from inside a subagent — gate-nap class failure224 (`docs/runtime/AGENT_OPS.md`, Class 1); watchers live with the supervisor.225- Trusting silence: a missing report is indistinguishable from a dead worker226 until you check liveness (Class 2) — use `status`/`stage_worker`, don't227 wait out budgets on a corpse.228- Manual edits to `state.json` instead of verbs — the trace IS the product.229- Approving a stage without reading its report, or pronouncing "ready"230 yourself instead of handing the verdict to the gate.231232## Examples233234See [`examples/example-prompt.md`](examples/example-prompt.md) for a minimal235trigger phrase + expected behavior pair.236237---238239_𝚅𝚒𝚋𝚎𝚌𝚛𝚊𝚏𝚝𝚎𝚍. with AI Agents by Vetcoders (c)2024-2026 LibraxisAI_