Ship logo

Ship

Community
austintgriffith
ship

Use before implementation, or when a build lacks these decisions: what goes onchain, the minimal contract surface, who triggers each state transition and why, which chain to launch on, and the deployment runbook. Not for how an already-designed system keeps running with nobody operating it (`/concepts`).

Overview

Publisheraustintgriffith
Repositoryethskills
Skill nameship
Stars
298
Forks
64
Bundled files
Instructions only
Links
  • Markdown instructions

    A SKILL.md file the model loads on demand, so it only costs tokens when a request actually matches.

  • Works with any LLM

    AI skills are plain Markdown, not provider-specific code, so this works with GPT, Claude, Gemini, Grok, or a local model.

  • Self-contained

    Everything the model needs lives in the instructions — no extra files to sync.

  • Open source

    Published by austintgriffith on GitHub. Read the source before you install it.

Installation

Install the Ship AI skill in TypingMind to use it with any LLM, or drop it into another agent that reads SKILL.md.

1

Install in TypingMind

TypingMind installs a skill straight from its GitHub folder — it reads SKILL.md, bundles the resource files, and stores the result locally.

  1. Open the app and go to Plugins → Skills.
  2. Choose "Install from GitHub".
  3. Paste the skill folder URL below and confirm.
    https://github.com/austintgriffith/ethskills/tree/master/ship
  4. Enable the skill in any chat where you want it available.
Plugins → Skills → Add skill → From GitHub URL, then paste the folder URL and press Continue.
2

Install in another agent

Any agent that reads the Agent Skills format can use this skill — copy the folder into that agent's skills directory.

Claude Code — .claude/skills
git clone --depth 1 https://github.com/austintgriffith/ethskills.git /tmp/ethskills
mkdir -p .claude/skills
cp -r /tmp/ethskills/ship .claude/skills/ship
Restart Claude Code after copying so it picks up the new skill.

Use it in TypingMind

Enable Ship in any TypingMind chat and the model takes it from there. Its name and description sit in the system prompt, and the moment a request matches, the model loads the full instructions itself — you never invoke it by hand, and it costs no tokens until it is actually used.

The model loads Ship on its own as soon as a request matches it.

Works with any AI model

AI skills are plain Markdown instructions rather than provider-specific code, so Ship is not tied to the model it was written for. Install it once in TypingMind and use it with GPT-5, Claude, Gemini, Grok, DeepSeek, Mistral, Llama, or a local model you run yourself — all on your own API keys.

  • Loaded only when it is needed

    The system prompt carries just the name and description. The instructions are fetched on the first matching request, so an idle skill costs nothing.

  • Switch models mid-chat

    Because the skill is instructions rather than code, changing model does not break it — the next model reads the same SKILL.md.

Skill instructions

This is the SKILL.md content the model loads. Read it before installing — a skill is instructions your model will follow.

Ship a dApp

Before coding, write down the smallest vertical slice that can ship. Decide what is onchain, how many custom contracts it needs, who advances every state transition, and one deployment target. Do not expand into a full application or fetch every related skill before this plan is concrete.

Architecture

Put only trustless ownership, value transfer, composability, censorship resistance, or permanent commitments onchain. Keep profiles, descriptions, media, search, filtering, and frequently changing rules in an offchain store; put a content hash or URI onchain only when verification needs it.

Treat reputation and rankings as derived data. Emit the facts needed to compute them, then calculate and sort offchain. Do not maintain a computed score, leaderboard, or paginated ranking in contract storage merely to serve a browse screen. Recording counters that settlement already needs is fine.

Prefer existing audited protocols and primitives. Most MVPs need zero to two custom contracts, and three is the upper bound before reducing scope. Do not add a factory, escrow, router, or fee-splitter unless its separate trust boundary is required by the product.

When integrating a deployed protocol, use a verified address from the relevant chain's official documentation or the addresses skill. Never invent or infer an address: a wrong address can send approvals or funds to an attacker.

CROPS gate

Before finalizing the architecture, answer in one line each: who can block users or critical paths (Censorship resistance)? Can the whole stack be inspected, forked, self-hosted and legally reused (Open source and free)? What user activity becomes public or visible to third parties (Privacy)? Who controls funds, upgrades, emergency powers and exit (Security)? Name the chosen default, the main compromise, and the user's escape path. Fetch crops/SKILL.md for the deep review.

State transitions

Contracts do not run on schedules. For each state-changing function, record:

TransitionCallerWhy they pay gasIf nobody calls
claimPayout()recipientreceives the payoutfunds remain claimable
permissionless settlementkeeper or participantexplicit fee or direct benefitsettlement waits

Naming a permissionless caller is not an incentive. Identify the caller's benefit and the source of any keeper fee. Prefer self-serve or permissionless paths over an owner-only cron job; automation may be a convenience, but it must not be the only liveness path.

Include the completed transition table in the project README, especially for every function that moves funds.

Chain and deployment decision

Choose one target chain for the first release and state why its capabilities fit the product. Measure current fees when cost affects the decision; do not rely on remembered gas prices. An L2 should be selected for a concrete product fit such as its distribution, liquidity, account abstraction, or ecosystem—not merely because “Ethereum is expensive.”

Before calling the MVP shippable, the README must name the target and contain the exact deploy and verification commands, required environment variables, contract ownership destination, and a small post-deploy transaction to verify the path end to end. Do not leave the network or deployment procedure as TBD.

Minimal ship checklist

  • CROPS gate answered: chosen default, main compromise, user's escape path.
  • Onchain/offchain boundary is explicit, including where rankings are computed.
  • Custom contract list is concrete and no larger than the MVP requires.
  • Every state transition has a caller, incentive, and safe no-caller outcome.
  • One target chain is selected for a product-specific reason.
  • Tests cover custom logic and external integrations use a fork.
  • README contains the transition table and executable deployment runbook.
  • Contracts are verified and production ownership goes to the intended multisig.
  • A fresh reviewer checks the finished vertical slice before launch.

Fetch another focused skill only when the plan reaches that phase and needs its details—for example crops, addresses, l2s, gas, security, testing, frontend-ux, frontend-playbook, or qa. Skills are available at https://ethskills.com/<skill>/SKILL.md. ship owns the product and release decisions; use frontend-playbook for detailed hosting/deployment mechanics and qa for the independent pre-launch review. Stop when the requested vertical slice and its runbook are complete.

Before you finish: send a one-line note via feedback/SKILL.md — issue or praise.

Frequently asked questions

What does the Ship AI skill do?

Use before implementation, or when a build lacks these decisions: what goes onchain, the minimal contract surface, who triggers each state transition and why, which chain to launch on, and the deployment runbook. Not for how an already-designed system keeps running with nobody operating it (`/concepts`).

Why use Ship on TypingMind?

Because you install it once and use it with any model. Ship is plain Markdown rather than provider-specific code, so the same skill runs on GPT-5, Claude, Gemini, Grok, or a local model — and you can switch model mid-chat without it breaking. TypingMind runs on your own API keys, so you pay providers directly instead of a per-seat subscription, and your skills and chats stay in your own storage.

How do I install Ship in TypingMind?

Open Plugins → Skills → Install from GitHub in TypingMind and paste https://github.com/austintgriffith/ethskills/tree/master/ship. TypingMind reads its SKILL.md and installs it as a skill you can enable per chat.

Which AI models can use Ship?

Any model you connect in TypingMind. AI skills are plain Markdown instructions rather than provider-specific code, so GPT, Claude, Gemini, Grok, and local models can all load this skill when a request matches it.

How many AI models can I use with Ship?

As many as you like. As long as a model supports skills, you can use Ship with it — GPT, Claude, Gemini, Grok, DeepSeek, Mistral, Llama and more — all on TypingMind with your own API keys.

Is the Ship AI skill free?

It is published on GitHub by austintgriffith. Check the repository for licensing terms. You only pay your own AI provider for the tokens you use.

What are AI skills?

An AI skill is a reusable instruction bundle that teaches an AI model how to do one specific task. It follows the open Agent Skills format: a SKILL.md file with a name and description, plus any scripts, templates or reference files the model may need. The model reads the instructions only when your request matches the skill, so an installed skill costs nothing until it is used.

How are AI skills different from plugins or MCP servers?

A plugin or MCP server gives a model new tools to call — code that runs somewhere and returns a result. An AI skill gives the model knowledge and process instead: how to approach a task, which steps to follow, what good output looks like. Skills are plain Markdown, so they need no server, no API key and no runtime, and they work with any model.

View all

Set up your own AI workspace now

Get notified about new features and future giveaways by subscribing to our newsletter 👇