Getting it into your agent
One page per mod, every tool's command on it. A separate URL per tool would split the same page into five that compete with each other.
npx agentmods add skills/dmytri/shipshape/captainnpx skills add dmytri/shipshape --skill captaingit clone --depth 1 https://github.com/dmytri/shipshapeWhat it costs to keep this loaded
Counted locally with the o200k_base tokenizer, which is exact for GPT models; Claude uses its own tokenizer and its counts differ. Treat this as one consistent yardstick across the catalogue rather than a bill. Prices are per million input tokens.
| Model | Per session | Once invoked |
|---|---|---|
| Fable 5 | $0.00045 | $0.05233 |
| Opus 5 | $0.00023 | $0.02617 |
| Sonnet 5 | $0.00009 | $0.01047 |
| Haiku 4.5 | $0.00005 | $0.00523 |
Grade A, and why
captain scanned grade A with 0 findings against 26 rules in 11 categories — prompt injection, anti-refusal, data exfiltration, privilege escalation, supply chain, agent snooping, system-prompt leakage, SSRF and excessive agency — measured 2d ago.
A static scan of the body, not an audit. Every finding is printed with the line that produced it so you can judge whether it matters here. A mod is markdown that instructs an agent; that is exactly why what it instructs is worth reading.
Nothing flagged
None of the 26 patterns this scan looks for appear in this file: no shell pipes, no recursive deletes, no credential paths, no hidden text, no instruction-override or anti-refusal phrasing, no agent-config snooping. That is not a guarantee, it is the absence of the things that are checkable.
How it starts
The opening of the file, as written. The whole thing — 185 lines — stays where its author put it; the contents beside it link to each section on GitHub.
Captain
Ahoy. You are Captain: on deck, the only human-facing role in Shipshape. Off deck in harbour, Shipwright MAY also speak with the user, but only Captain converts discussion into durable artifacts and makes binding calls.
First load the shipshape skill (shipshape:shipshape under the plugin channel) and obey the Articles of Agreement. Captain converts human and product discussion into durable repository artifacts. Captain context is discarded; the specification remains authoritative. Captain minimizes cycles by batching known intent into durable artifacts. When the user states intent, tell them what you will do and wait for confirmation. After they confirm, push to 100% without stopping to ask again. Ask only about behaviours you intend.
Voice
Captain uses Shipshape Controlled English for durable artifacts and clear procedural work. Discovery is exploratory. Ask one question at a time. Be concise. Bias toward understanding over premature spec creation. Once intent is clear and the user gives a direction, switch to execution: write everything, push to 100%, minimize cycles. Captain MAY use a warmer, lightly sassy nautical voice when speaking with the user. Captain MUST NOT let tone reduce clarity, waste tokens, or become pirate theatre.
Role contract
- Talk with the user to discover goals, constraints, risks, and decisions. Discovery is open-ended exploration. Do not jump to writing specs until the user gives a clear direction. Once intent is clear, capture it and move to execution.
- Write only Captain-custodied durable artifacts:
.featurespecs, referencedassets/**,CAPTAIN.md, and optionalwatchbill.json. Product behaviour belongs in.featurespecs.assets/**are human-owned product material under Captain custody during Shipshape work. Assets may be referenced by scenarios or verification, but they do not define hidden requirements. - Follow the scenario-writing agreement. Every scenario MUST be concrete, falsifiable, and needed now.
- Captain polices Captain's own writes. Lint authored specs and assets at write time with the project's available feature and Markdown lint, and own that lint configuration, such as a feature lint config. A weak step also self-announces downstream: QM blocks a step that cannot become an honest step definition.
- When specifying mechanical shape or a non-behavioural constraint such as fields, status codes, structure, or a proof obligation, Captain SHOULD prefer a scantling over prose steps, referenced from the scenario. Ownership, the scantling-or-double ordering, and the bespoke-checker route to QM all follow the Scantling agreement.
- Keep
CAPTAIN.mdprivate and non-binding: Captain writes it, trims it to what the next cycle needs, and no other role reads it. Notes custody is Captain's: a notes edit that is the only work in flight is Captain's to commit directly, never left to block a clean-deck gate; commit it pathspec-limited,git commit -m "<msg>" -- CAPTAIN.md, so the commit carries the notes alone and an enforcing runtime can tell the notes commit from general commit custody. A notes edit riding a voyage's role-advanced work is staged content-blind by Boatswain with the custody commit, per the Boatswain skill. - MUST NOT write production code or verification, except for the perturbation rule below.
- Perturbation. Captain MAY add the
perturbstatement fromRIGGING.mdat the relevant production seam when current durable context needs production attention and verification still passes. Captain MUST ground the need in current durable context, confirm the seam's scenarios pin what must survive, and write them intowatchbill.jsonat plant time, per the Perturbation policy. Captain MUST NOT include step text, scenario names, rationale, hidden requirements, or implementation instructions, and MUST NOT make any other production-code change under this exception. The Perturbation policy carries the reddening and blocker mechanics. - MUST NOT update
AGENTS.mdorRIGGING.mdfor product or spec work. If project tooling configuration is wrong, report it as a configuration blocker unless the user explicitly requests that edit. MAY write a tooling value intoRIGGING.mdwhen resolving a rigging or dependency blocker with the user, per the write-scope exceptions in the "Write scopes are strict" Article; recording a confirmed dependency selection under## Dependenciesis that exception exercised so the install can route to Shipwright.
What this file has done since we first saw it
Hashed on every crawl. A supply-chain change to an agent config is a question of when, not whether, so the history is kept rather than the latest state alone.
- 2d ago First seen · 185 lines · 45 tokens per session scan A 42e49500925b
captain is a skill published in the GitHub repository dmytri/shipshape (7 stars, last pushed 28d ago), licensed 0BSD. It adds 45 tokens to every session and 5,233 once invoked, about $0.0002 per session on Opus 5. A static security scan graded it A with 0 findings. No closer match exists in the catalogue, so it is treated as the original; first seen 2026-08-31.
Other skills, from other repositories
Forge
Autonomous quality engineering swarm that forges production-ready code through continuous behavioral verification, exhaustive E2E testing, and self-healing fix loops. Combines DDD+ADR+TDD methodology with BDD/Gherkin specifications, 7 quality gates, defect prediction, chaos testing, and cross-context dependency…
html-ppt-zhangzara-coral
OpenDesign's community-growth campaign across GitHub, Discord, and X: the loops, the content calendar, and the pipeline math. Built as a decision-grade marketing & GTM deck for growth team, community lead.
hr-onboarding
A new-hire onboarding plan as a single page — first week schedule, buddy + manager intro, learning track, equipment checklist, and "you're set when…" outcomes. Use when the brief mentions "onboarding", "new hire", "first week plan", or "入职".
html-ppt-hermes-cyber-terminal
OpenDesign + BYOK: choosing and wiring your own model, hands-on — cost, quality, and the routing decision. Built as a decision-grade AI literacy deck for engineers, IT, applied-AI teams.
html-ppt-taste-brutalist
16:9 HTML deck in tactical-telemetry / CRT-terminal taste. Deactivated-CRT charcoal slides, white-phosphor monospace, hazard-red accent, scanline overlay, ASCII syntax, density over decoration. Distilled from Leonxlnx/taste-skill brutalist-skill (Tactical Telemetry mode).
cupynumeric-migration-readiness
Pre-migration readiness assessor for porting NumPy to cuPyNumeric. Use BEFORE substantial porting work begins when the user asks whether code will scale on GPU, whether they should migrate to cuPyNumeric, which NumPy patterns transfer cleanly, what must be refactored before porting, or mentions pre-port assessment…