mdvs: Skill for Claude Code

.claude/skills/ship/SKILL.md

ship is a skill for Claude Code from edochi/mdvs. It costs 99 tokens per session (3,677 once invoked), scanned A, original, MIT.

A coordinator for moving one software change through design, planning, implementation, validation, and saving. It keeps key decisions with the human while separate agents carry out and challenge parts of the work.

In plain words
What is it for?
Use it to guide a single change from initial design through implementation and review, with optional help for explaining the final diff.
Why use it?
It reduces the risk of accepting an agent-written change without understanding its decisions, reviewing its result, or checking it properly.

Skill for Claude Code

Written for Claude Code: installed under .claude/. Also seen: reads .claude/ paths; mentions AGENTS.md.

This is edochi/mdvs's own configuration. It tells Claude Code how to work on mdvs itself, so it is not a mod to install elsewhere. Copy it as a starting point and replace the rules that are about this project. Everything mdvs configures →

Reuse

Borrowing it

Nothing to install: this file belongs to edochi/mdvs. Take a copy, put it at the same path in your own repository, and replace the rules that are about this project with yours.

Copy the file
curl -O https://raw.githubusercontent.com/edochi/mdvs/main/.claude/skills/ship/SKILL.md
Clone the repo
git clone --depth 1 https://github.com/edochi/mdvs

Made for: Claude Code.

Wrote this? Show the measurements

A badge with what this costs and how it scanned, read live from this page, so it follows the numbers instead of freezing them. Markdown for a README, HTML for a documentation site or a project page.

agentmods badge for ship

README.md
[![agentmods](https://agentmods.dev/badge/skills/edochi/mdvs/ship/github.svg)](https://agentmods.dev/skills/edochi/mdvs/ship)
Your own site
<a href="https://agentmods.dev/skills/edochi/mdvs/ship"><img src="https://agentmods.dev/badge/skills/edochi/mdvs/ship/github.svg" alt="Measured on agentmods" height="20"></a>

Or the 80×15 button, for a site that already has a row of RSS and ATOM ones. Only the verdict fits; the numbers stay here.

agentmods 80×15 button for ship

Your own site · 80×15
<a href="https://agentmods.dev/skills/edochi/mdvs/ship"><img src="https://agentmods.dev/badge/skills/edochi/mdvs/ship.svg" alt="Reviewed on agentmods" width="80" height="20"></a>
Per session 99 Skills are progressive disclosure: only the name and description are preloaded; the body loads when the skill is used.
When invoked 3,677 The whole file, excluding the scripts and references it only reads on demand.
Security scan A 0 findings. A grade says what 26 rules found in the file — not that it is safe.
Origin original No closer match found in the catalogue.
Token cost

What 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.

ModelPer sessionOnce invoked
Fable 5.1 $0.00099 $0.03677
Opus 5.5 $0.00040 $0.01471
Sonnet 5.5 $0.00020 $0.00735
Haiku 4.5 $0.00010 $0.00368

Measured 10d ago against content hash 2dd6a595a77f, method: parsed. Prices are Anthropic first-party input rates as of 2026-10-07, from the pricing page.

Security

Grade A, and why

ship 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 10d 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.

.claude/skills/ship/SKILL.md · 239 lines

How it starts

The opening of the file, as written. The whole thing — 239 lines — stays where its author put it; the contents beside it link to each section on GitHub.

ship

Why this exists

Agents write code faster than a human can absorb it, so the bottleneck is no longer writing or even verifying (agents increasingly self-verify) but ownership: you cannot steer the next iteration of a system you do not hold in your head, and you cannot feel responsible for decisions you never saw made.

Left unchecked, the loop collapses to "agent writes → coordinator validates → human rubber-stamps a commit they never read." ship prevents that. It routes every change through explicit gates the human owns.

ship is the orchestrator. It does not itself explain diffs, run reviews, or implement code. It sequences those, and — when the human asks for it — invokes the internalize skill at the ownership gate.

The pipeline

Six stages. The gate owner is who must act before the stage advances.

Stage What happens Gate owner
1. Design Surface every real decision as a decision, with a recommendation. Always run the ship-designer agent before presenting the forks to the human — it grounds the options and hunts for the flaw that sinks the design. Then the coordinator double-checks its every load-bearing claim against the real code (agent output is a hypothesis) before relaying or acting. The agents NEVER decide a fork. Human decides each fork.
2. Plan Draft the implementation agent's prompt with the decisions baked in, STOP triggers enumerated, the anti-patterns forbidden, and the downstream updates the change needs (spec, book, example_kb — see the code-editing skill). Show the scope to the human for anything non-trivial. Coordinator drafts; human sees scope.
3. Implement One ship-implementor agent writes the change and, before returning, runs the full local gate itself (tests + clippy + fmt + ast-grep) and reports the results. Never parallel implementors. (Parallel read-only investigation is fine and encouraged.) Coordinator runs it.
4. Validate & review Coordinator verifies the output against the real code (agent output is a hypothesis — check every non-trivial file:line / API claim) and re-runs the gate, classifying any failure as pre-existing (prove it) vs real. Then ship-reviewer agent(s) attack the change, one lens each; scale their number and lenses to scope: 1 for a small change; 2–3 distinct lenses (correctness, layering/API, test-quality/bug-immunity) for complex or coupled work, and the simplicity/idiom lens on every new module or any diff over a few hundred lines: is this the least code that does the job, what would a senior Rust reviewer delete, is serde / the type system / std doing the work instead of hand-written code. Implementor + reviewer(s) form a persistent wave team that loops fix→re-review until the reviewers are clean (see below). Coordinator routes + verifies.
5. Internalize Opt-in — skipped unless the human explicitly asks for it. When requested: commit locally first (human-approved) so the explainer anchors to a stable SHA, then dispatch ship-internalizer on that commit's diff. The human reads the explainer and takes the judgment quiz. This is where approver becomes participant. Human internalizes (when requested).
6. Save Commit, push, open or update the PR, or move to the next wave — each on the human's explicit word. Human authorizes commit / push / PR.

Read the full file on GitHub · 239 lines

Changes

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.

  1. 10d ago First seen · 239 lines · 99 tokens per session scan A 2dd6a595a77f

Subscribe to this mod's changes

ship is a skill published in the GitHub repository edochi/mdvs (27 stars, last pushed 11d ago), licensed MIT. It adds 99 tokens to every session and 3,677 once invoked, about $0.0004 per session on Opus 5.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-10-05.

Related

Other skills, from other repositories

esm

Comprehensive toolkit for protein language models including ESM3 (generative multimodal protein design across sequence, structure, and function) and ESM C (efficient protein embeddings and representations). Use this skill when working with protein sequences, structures, or function prediction; designing novel…

synthetic-sciences/openscience · 86 tokens

llmwiki

Build and use a persistent, citation-traceable knowledge wiki from documents, research papers, notes, or project documentation. Use for llmwiki projects, retrieving reusable evidence for an agent task, or compiling a corpus for repeated questions. A one-off file read or live web search does not need a wiki.

atomicstrata/llm-wiki-compiler · 66 tokens

crit-story

Author a crit story and continue the interactive review loop only when the user explicitly invokes crit-story or directly asks you to generate a crit story. Do not infer this skill from generic review, PR, or diff-review requests.

tomasz-tomczyk/crit · 47 tokens

processing-markdown

Processes Markdown files using mq, a jq-like query language for Markdown. Use when the user mentions Markdown processing, content extraction, document transformation, or mq queries.

harehare/mq · 36 tokens

web-scraping

Fetches web pages and extracts structured data using mq's toolchain (mq-crawl for fetching/crawling/JS rendering, mq for HTML-to-Markdown selector-based extraction, http() for in-query requests). Use when the user wants to scrape a URL, pull structured data out of a webpage, crawl a site, or turn HTML into…

harehare/mq · 89 tokens

embeddings-search

Use when choosing an embedding model, chunk size, or query form, when semantic search returns irrelevant results, when adding hybrid BM25+vector or a reranker, or when a retrieval change needs a number (recall@k, nDCG, MRR). NOT operating the store — index tuning, quantization (that is vector-db) — nor the…

ericrisco/rsc-harness · 88 tokens