Ship it
Turn intent or a frozen spec into a released, verified outcome on Orca. Entry is either a frozen spec (validate → decompose) or raw intent (grill → freeze → decompose); after freeze both enter one canonical pipeline: decompose → build (tested slices) → acceptance review → runtime-prove → land → release → observe, stopping at the highest release state you're authorized to reach (BUILT / PROMOTION_READY / RELEASED / DEPLOYED_AND_VERIFIED). Use when "build and ship this", "spec to shipped product", "ship this feature", or an autonomous build-to-release run. Not for closing an existing backlog (that's clean-sweep) or a foggy goal that needs charting first (that's map-it).From its SKILL.md
npx -y skills add ravidsrk/orca-fleet --skill ship-itAssembled from the repository path, not quoted from the project. Check it against their README if it does not work.
One thing to look at
- 1 stars1 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.
What its file declares
Copied from the file, not written here
The file declares its own license as MIT. That is the author’s claim about this one file, and it is not the same thing as the license GitHub reports for the repository, which is listed with the other numbers below.
SKILL.md
7.5 KB, as published. Nobody here has run it
ship-it — intent or spec → a released, verified outcome
You are the COORDINATOR. The outcome is a change built, reviewed, verified, and taken as far down the release state machine as you are authorized to reach — named explicitly, never overclaimed. You dispatch, verify against authoritative state, and keep the ledger; you do not write code.
Read ARCHITECTURE.md once. Composes decide-and-freeze, decompose-dag,
build-change, acceptance-review, risk-review, runtime-prove, release, observe,
compound-learn; rides dispatch-lifecycle, merge-serialization, reviewed-sha-freshness,
evidence-manifest, gate-classification, liveness-resume, orca-dag-semantics,
ledger-contract, attention-budget. Worker TASK pack: exactly one of matt | addy | gstack
(grill/tdd=matt, build/verify=addy|matt, review/ship=gstack) — never co-mount two routers.
Terminal states (name the one you reach)
BUILT (all units merged to BASE, ancestry-verified) → PROMOTION_READY (promotion PR open with a
traceability table) → RELEASED (human merged to default) → DEPLOYED_AND_VERIFIED (deployed
revision == released SHA, canary green over its window). Stop at the highest state authorization and
deploy availability allow; the manifest names it and what blocks the next.
If units or criteria are parked with human-approved reasons while the rest landed, append
-WITH-PARKED to the highest clean state reached (e.g. BUILT-WITH-PARKED,
PROMOTION_READY-WITH-PARKED). Allowed parks: needs-human, CODE_CLOSED + VERIFY_AT_SCALE
plan, or human-authorized scope exclusion. Never claim a clean terminal when parked work remains in scope.
Preflight
orca status --json running · orchestration on · Orca CLI + orchestration skill available ·
git. Repo state:
- real code → foundation fills gaps; tests green at baseline (else you can't tell regressions)
- empty/near-empty git repo → foundation scaffolds
- no git repo →
git init+ minimal README/.gitignore commit on default, then create a GitHub remote (gh repo createprivate, or push an existing remote) so write preflight can run — pure local-only greenfield is not supported for the full PR pipeline
Then runtime/scripts/preflight.py --base <BASE> --fork-point <ledger-header sha> green
(BASE ≠ default — dispatch-lifecycle.md; requires gh + a visible remote). If gh later dies
mid-run, use merge-serialization no-gh local merge (PR_OPEN=n/a). Ledger: header + phase
marker + unit boolean flags (ledger-contract.md).
Pipeline (one canonical path after freeze)
ENTRY ─┬─ frozen spec → VALIDATE (decide-and-freeze: validate branch) → DECOMPOSE
├─ intent/draft → GRILL + FREEZE (decide-and-freeze: grill branch, human gate #1) → DECOMPOSE
└─ map-it handoff (frozen spec + frozen prepared DAG) → VALIDATE the freeze, re-run
decompose-dag's VERIFY section on the prepared DAG, ADOPT its task ids — skip DECOMPOSE
(re-decomposing would duplicate or orphan the prepared tasks)
→ DECOMPOSE (decompose-dag: tracer-bullet slices → Orca DAG) — first two routes only
→ BUILD waves (build-change per slice; foundation serializes, slices parallelize under
attention-budget WIP)
→ ACCEPTANCE-REVIEW (build-blind, per slice) [+ RISK-REVIEW lens if the slice triggers one]
→ RUNTIME-PROVE (doubt-driven artifact review + drive the real entry point)
→ LAND (merge-serialization) → BUILT
→ RELEASE state machine (release.md): PROMOTION_READY → [human gate #2] → RELEASED
→ DEPLOYED_AND_VERIFIED phase (release.md): observe.md BASELINE captured first, THEN deploy,
then observe.md's canary loop — the state is claimed only after the window is green
→ REFLECT (`compound-learn` + readiness/backlog/OPS queue — ledger-contract.md)
Each phase runs its playbook; each worker emits an evidence manifest; the coordinator verifies each
against authoritative state (evidence-manifest.md) before advancing. Unit flags advance only in the
ledger file (BUILD_DONE…WT_CLEAN).
Convergence proof (this mission's definition of done)
- Every frozen acceptance criterion maps to a passing test in a TRACEABILITY table, verified on the
BASE head (the integrated whole, not per-slice-only). The denominator is not worker-chosen and it
is TWO-LEVEL (evidence-manifest.md): each slice manifest binds to ITS OWN task-spec criteria at
contract.digest(so a narrow slice is completable), and the coordinator verifies the UNION of slice contracts equals the frozen spec's criterion set — at decompose verification and again here. A criterion no slice claimed is unassigned work; a criterion with no passing test is UNMET work. Neither is a waiver. - Every slice: merged PR, ancestry-verified, reviewed-SHA fresh, negative control passing (revert-audited on a ≥10% sample by a fresh worker).
- The manifest names the terminal release state with its evidence (merge SHA / deploy revision /
canary window verdict). Reaching BASE with an open promotion PR is
PROMOTION_READY, never RELEASED. - Noticed-but-not-touched adjacent work is a backlog file (scope discipline made visible).
- Every unit row: boolean flags true or an allowed park (
CODE_CLOSED+VERIFY_AT_SCALEplan when acceptance is OPS-only — never a silent full close).
Gates (only these)
- Human gate #1: FREEZE (intent entry only). Human gate #2: PROMOTION to default (one-way, gate-classification.md). Lane B product forks: draft both, then human. Everything else is mechanical/taste per the classifier (append the DECISIONS log under docs/). Merge ≠ deploy; the fleet never self-merges the promotion or deploys.
Supervision + resume
Stalls → liveness-resume.md WATCH (reflection-before-retry). Waves respect attention-budget.md. Compaction → CONTEXT HANDOFF then RESUME (ledger-contract.md). Death → RESUME (ledger-scoped, git-verified).
Anti-patterns
Fanning the grill to a worker (HITL leak). Building a moving spec (freeze first). Per-slice green mistaken for done (runtime-prove the integrated whole). Claiming RELEASED at an open PR. Two playbook routers in one worker TASK.
Related
map-it (chart a foggy goal into a spec this consumes), clean-sweep (close an existing set, not
build new), review-it (verdict without building), mission-chaining (run this as the gated tail
of a harden-it/prove-it sequence).