firstmatelisted
Install: claude install-skill mifunedev/openharness
# firstmate — the build executor
> **Name disambiguation — read this first.** Two different things in this repo
> share the name, and the overload is **intentional**: the executor runs the
> role's workflow.
>
> | | **`firstmate` — the build executor** | **First Mate — the supervisory role charter** |
> |---|---|---|
> | What | This skill: the third `--executor` arm | An operator-authored role definition |
> | Where | `.oh/scripts/firstmate.sh`, `.oh/scripts/lib/session-runner.sh`, `.oh/skills/firstmate/` | [`.oh/context/rules/first-mate.md`](../../context/rules/first-mate.md) |
> | Reached by | `--executor=firstmate` on `/ship-spec` or `/autopilot` | `.oh/prompts/advisor/*` (`plan.yml`, `implement.yml`, `pr.yml`) reference it |
> | Identity | a *session*: `firstmate-<slug>` | a *role*: adaptive decomposition, routing, supervision, verification, synthesis |
>
> The executor's session prompt is a **derivative of that charter's prompt pack**
> — `.oh/skills/firstmate/templates/session-prompt.md` follows the
> `implement.yml` + `pr.yml` step order. That is why the names match. When a
> reader says "First Mate," they mean the role; when a command says
> `--executor=firstmate`, it means this executor. Never leave which one is meant
> implicit.
## The executor contract
`firstmate` is the third build shape alongside `ralph` and `delegate-advisor`.
It is **opt-in** — reached only via `--executor=firstmate` — and **`ralph` is
still the default and is retained indefinitely** as the