ship

A release-readiness review that compares the current project with its planned requirements and user-facing parts.

In plain words
What is it for?
Use it to prepare a ship-now checklist, identify missing work, estimate the effort for each gap, and separate later improvements.
Why use it?
It shows what is complete, what still blocks a release, and what can safely wait, so you do not have to finish every idea before publishing.

Skill for Claude CodeCodex

Install

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.

agentmods
npx agentmods add skills/pyros-projects/limitless/ship
Any agent
npx skills add pyros-projects/limitless --skill ship
Clone the repo
git clone --depth 1 https://github.com/pyros-projects/limitless

Made for: Claude Code, Codex.

Per session 47 Skills are progressive disclosure: only the name and description are preloaded; the body loads when the skill is used.
When invoked 3,605 The whole file, excluding the scripts and references it only reads on demand.
Security scan A 0 findings. Scan, not verified.
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 $0.00047 $0.03605
Opus 5 $0.00023 $0.01802
Sonnet 5 $0.00009 $0.00721
Haiku 4.5 $0.00005 $0.00361

Measured 2d ago against content hash 5f5226c00db1, method: parsed. Prices are Anthropic first-party input rates as of 2026-08-30, 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 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.

plugins/pyro-kit/skills/ship/SKILL.md · 374 lines

How it starts

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

!if [ -f .pyro/state.md ]; then cat .pyro/state.md; else echo "NO_PROJECT_STATE"; fi !if [ -f .pyro/contract.md ]; then head -80 .pyro/contract.md; else echo "NO_CONTRACT_STATE"; fi !if [ -f .pyro/surface.md ]; then head -40 .pyro/surface.md; else echo "NO_SURFACE_STATE"; fi

Persona

Act as a pre-flight checklist co-pilot. You scan everything -- contracts, surface, codebase -- and present a clear picture of what's done, what's missing, and how long the gaps will take. You never judge incomplete work. You never pressure. You split everything into "ship-now" and "ship-later" so the developer always has a release path that doesn't require finishing everything. Your first output is always the complete checklist -- never a question.

Input: $ARGUMENTS

Interface

fn gather_evidence()    // Load contract.md, surface.md, scan codebase for implemented vs planned
fn build_checklist()    // Categorize: done (verified), gap (missing/incomplete), nice-to-have (non-blocking)
fn estimate_effort()    // Per-gap effort estimate in hours
fn propose_split()      // Ship-now scope + ship-later backlog

Constraints

Constraints { require { Load phase-map.md at runtime via @${CLAUDE_PLUGIN_ROOT}/skills/pyro/reference/phase-map.md and extract Gate G5 criteria as checklist backbone. G5 criteria (slice complete, acceptance tests pass, hardening complete) become top-level checklist sections. Overlay contract.md acceptance criteria on top of G5 sections. Each contract item maps to a checklist item with status (done/gap/nice-to-have). Each gap MUST have a concrete step to close it. Not "fix the auth" but "implement token refresh in src/auth.ts per contract Section 3.2." Reference the specific contract section. Effort estimates in HOURS, not days. Developer sees total remaining effort at a glance. Always propose two scopes: Ship-Now (done items + must-close gaps) and Ship-Later (nice-to-haves deferred). Non-negotiable -- always two options. First output is always the complete checklist -- never a question. Handle missing .pyro/state.md gracefully -- warn but continue (soft gate). Handle missing .pyro/contract.md gracefully -- fall back to README scan, TODO/FIXME/HACK grep, and directory structure analysis. Still produce the checklist with inferred criteria. Handle missing .pyro/surface.md gracefully -- skip surface-based checks, note in output. Context budget: Tier 2 < 1500 lines. Codebase scan produces a feature summary (implemented features with file counts), not raw file contents. Use grep for TODO counts and test coverage evidence, not cat on source files. Categorization uses three tiers: done (verified in code), gap (missing or incomplete), nice-to-have (present in contracts but not blocking release). Soft gate: warn on missing state, never block. Provide degraded analysis with whatever data is available. } never { Write or create any files. /ship is a read-only analysis skill. Use Write or Edit tools. Create a persistent state file (no ship.md, no ship-log.md). Block on missing state -- always provide degraded analysis. Give vague gap descriptions ("finish the auth"). Every gap has a concrete step with contract reference. Skip effort estimates on any gap. Present only one scope option -- always Ship-Now and Ship-Later. Ask questions before presenting the checklist. Load full source files for analysis -- summarize, don't concatenate. Judge or pressure about incomplete work. } }

Read the full file on GitHub · 374 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. 2d ago First seen · 374 lines · 47 tokens per session scan A 5f5226c00db1

Subscribe to this mod's changes

ship is a skill published in the GitHub repository pyros-projects/limitless (9 stars, last pushed 20d ago), licensed MIT. It adds 47 tokens to every session and 3,605 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.

Related

Other skills, from other repositories

push-release

Push to GitHub and optionally bump version to trigger PyPI release.

liaohch3/claude-tap · 16 tokens

omh-deploy-and-monitor

This is a Hermes-native deploy-and-monitor workflow skill.

rlaope/oh-my-hermes · 66 tokens

git-wrapup

Land working-tree changes as logical commits — the work grouped by concern, topped by a release commit (version bump, changelog, regenerated artifacts) and an annotated tag. Verify, commit, tag. Stops at "committed and tagged locally" — no push, no publish. The release-and-publish skill picks up from here. Distilled…

cyanheads/obsidian-mcp-server · 82 tokens

release-and-publish

Ship a release end-to-end across every registry the project targets (npm, MCP Registry, GitHub Releases for .mcpb bundles, GHCR). Runs the final verification gate, pushes commits and tags, then publishes to each applicable destination. Assumes git wrapup (version bumps, changelog, commit, annotated tag) is already…

cyanheads/obsidian-mcp-server · 112 tokens

release

Cut a new SlackCLI release end to end — survey commits since the last tag, recommend a SemVer bump, open the release issue, prepare the version bump and CHANGELOG promotion on a branch, open the linked PR, and after merge push the annotated tag that publishes binaries and updates the Homebrew tap. Use when asked to…

shaharia-lab/slackcli · 87 tokens

release-notes

Draft user-facing release notes from a git log range. Trigger when the user asks for "release notes", "changelog entry", or "what shipped this week" with a git ref range. Output is markdown sections grouped by Features / Fixes / Breaking with PR links.

jnMetaCode/ai-coding-guide · 59 tokens