ship

Installation
SKILL.md

Ship

Run a feature through three interactive phases and four autonomous phases. All human judgment is collected before the approval gate; after it, escalate to multi-model consensus instead of asking the user. This skill contains no phase knowledge of its own — every behavior is a referenced skill.

Model routing

Before phase 0, interpret whether the invocation semantically assigns a pipeline stage to a specific model or harness ("plan with X, implement with Y"). This is meaning, not keyword matching — a model named inside feature content, quoted material, or a filename is not an assignment. Resolve each directive into a per-stage carrier:

  • Scoped ("plan with X", "Y for implementation") binds to the named stage; multiple scoped directives resolve independently.
  • Unscoped ("use X", "with Y") binds to the implementation stage only — never broaden it to planning or every stage — and the binding is disclosed in the opening line ("Routing implementation to X; planning stays on the session model.").
  • Strength is inferred from the instruction's meaning, not a keyword: "use X for implementation" is prefer-strength (fall back with prominent disclosure when unavailable); "only use X" is require-strength (an unavailable route blocks that stage — no prompt, no silent fallback).

With no directive in the invocation, check work_engine_preferences in the local config (shared/references/local-config.md) for standing per-stage defaults; an explicit directive always outranks it, and its mode: off|prefer|require maps onto the same strength rule above. Absent both, every stage runs on the session model.

Sanitize every routing directive out of the feature request before it enters phases 0–2 or any review input — carriers are stage-scoped routing authority, never product content.

Local-only mode

Run git remote once at the start of the run. No remote flips the whole run local-only: make every commit the phases call for, but skip every push, PR create/edit, and CI attempt — zero retries, no hunting for a remote. A missing remote is a terminal state, not an error. In local-only mode do not invoke open-pr; phase 6 ends at the local commits, the committed residual-findings record, and the handoff note.

Installs
43
GitHub Stars
2
First Seen
Jun 11, 2026
ship — robsonrung/rar-skills