Agent skill

Ship

by QuisApp in QuisApp/flutter_contacts

Ship the current branch — push, squash-merge to main via PR, tag, and clean up.

MITAuto-check passedMobile

Install Ship

skills CLI
$ npx skills add QuisApp/flutter_contacts --skill ship -a claude-code

Project install by default; add -g for ~/.claude/skills/.

GitHub CLI
$ gh skill install QuisApp/flutter_contacts ship --agent claude-code

Project scope by default; add --scope user for a personal install. Needs GitHub CLI 2.90.0 or later (public preview).

Manual copy
$ git clone --depth 1 https://github.com/QuisApp/flutter_contacts.git skills-src && mkdir -p .claude/skills && cp -r skills-src/.claude/skills/ship .claude/skills/ship && rm -rf skills-src

Use ~/.claude/skills/ instead of .claude/skills for a personal install. The folder must contain SKILL.md.

Claude Code skills documentation · loads skills from .claude/skills/

Facts

Skill name
ship
GitHub stars
111
Token cost
~272 tokens
SKILL.md length
155 words
Files
1
Skills in repo
7
Repo updated
First seen
Licence
MIT

At a glance

Ship the current branch — push, squash-merge to main via PR, tag, and clean up.

  • Works in 8 steps: Get the current branch name. → Push the branch to origin: git push -u… → Create a PR targeting main using gh pr… → …
  • Ready to merge and release
  • SKILL.md covers Prerequisites and Steps
  • Calls git and gh

What it does

Ship is an agent skill from QuisApp/flutter_contacts. Ship the current branch — push, squash-merge to main via PR, tag, and clean up. Use when ready to merge and release.

Its SKILL.md is about 270 tokens, which your agent loads only when the skill is triggered. It is a single SKILL.md file with no bundled scripts.

It sits in Mobile. It works with Git. The repository describes itself as: The fastest, most complete Flutter plugin for native contacts 🚀. The licence is MIT.

When your agent uses it

  • Ready to merge and release

Example prompts

  • “/ship”

Workflow steps

8 steps, taken from the first numbered list in SKILL.md.

  1. Get the current branch name.
  2. Push the branch to origin: git push -u origin .
  3. Create a PR targeting main using gh pr create. Use the squashed commit subjects as the PR body.
  4. Squash-merge the PR: gh pr merge --squash --delete-branch.
  5. Checkout main and pull: git checkout main && git pull.
  6. Delete the local branch if it still exists: git branch -d .
  7. Tag (auto-detect)
  8. Confirm completion with a summary (mention whether a tag was created or skipped).

What it can do on your machine

Read from SKILL.md and the folder at commit 64b5052. It shows what the files ask for, not the result of running them.

  • Tool permissions

    Pre-approves nothing: there is no allowed-tools line, so your agent's usual permission prompts apply.

    From allowed-tools in the SKILL.md frontmatter.

  • Runs code

    Shell commands in SKILL.md call:

    • git
    • gh

    From the folder's file list and the shell code blocks in SKILL.md.

  • Network

    No URLs in SKILL.md. Its commands use git and gh, which can reach the network depending on how they are called.

    From URLs in SKILL.md, links to its own repository left out.

  • Credentials

    Names no API keys, tokens, secrets or passwords.

    From names ending in _API_KEY, _TOKEN, _SECRET, _KEY or _PASSWORD in SKILL.md.

Context cost

Ship loads about 272 tokens when it runs. Until then it costs about 30 tokens; SKILL.md has 155 words of instructions outside code blocks.

Always · name and description, kept in context so the agent knows when to use it
~30
When it runs · the whole SKILL.md, loaded when a task matches
~272

Estimates: characters ÷ 4, the usual rule of thumb; real counts depend on the model's tokenizer. Scripts and assets cost tokens only if the agent reads them.

Safety

Auto-check passed

The automated check found no risky patterns in SKILL.md.

Automated static check — not a guarantee. Review scripts before installing. It scans the text of SKILL.md for risky patterns (piping downloads into a shell, reading credential files, hidden Unicode, destructive commands); files beside SKILL.md are not scanned.

SKILL.md

The full file from QuisApp/flutter_contacts at commit 64b5052, republished under its MIT licence (© QuisApp). 155 words, ~272 tokens.

Download SKILL.mdSave it as .claude/skills/ship/SKILL.md (or your agent's skills folder).
name
ship
description
Ship the current branch — push, squash-merge to main via PR, tag, and clean up. Use when ready to merge and release.

Ship the current branch to main.

Prerequisites

  • Must NOT be on main branch already. If on main, abort with a message.
  • Working tree should be clean. If not, warn the user.

Steps

  1. Get the current branch name.
  2. Push the branch to origin: git push -u origin <branch>.
  3. Create a PR targeting main using gh pr create. Use the squashed commit subjects as the PR body.
  4. Squash-merge the PR: gh pr merge --squash --delete-branch.
  5. Checkout main and pull: git checkout main && git pull.
  6. Delete the local branch if it still exists: git branch -d <branch>.
  7. Tag (auto-detect):
    • Read the version from pubspec.yaml and prefix with v (e.g. v2.0.1).
    • If that tag already exists (git tag -l <tag>), skip tagging.
    • Otherwise, create and push the tag: git tag -a <tag> -m "<tag>" && git push origin <tag>.
  8. Confirm completion with a summary (mention whether a tag was created or skipped).

© QuisApp, MIT. Rendered from Markdown: HTML in the file is shown as text, images as links, and headings moved down two levels. Raw file

Files

Just SKILL.md in .claude/skills/ship of QuisApp/flutter_contacts.

Open the folder on GitHubat commit 64b5052

Compare with similar skills

Ship next to the 5 skills that share the most tags, products or categories with it. Stars are the repository's; “used in” counts other GitHub owners with a copy.

Ship compared with similar skills
SkillStarsUsed inTokensAuto-checkLicenceRepo updated
Ship this skillQuisApp/flutter_contacts111—~272Automated safety check: PassMIT
macOS App Designvaayne/mori303—~789Automated safety check: PassMIT
Maestro BundleReinaMacCredy/maestro233—~1.3kAutomated safety check: PassMIT
Maestro Mergecatlog22/maestro-flow564—~1.3kAutomated safety check: NotesNone
Maestro Forkcatlog22/maestro-flow564—~1.3kAutomated safety check: NotesNone
Swiftui Patternsrobinebers/openusage4.3k—~3.4kAutomated safety check: PassMIT

Similar skills

  • macOS App Design

    vaayne/mori

    A skill your agent uses when designing or building native macOS applications with SwiftUI or AppKit.

    303 GitHub stars~789 tokensUpdated 2 mo ago
    MobileAuto-check passed
  • Maestro Bundle

    ReinaMacCredy/maestro

    Route work into the right maestro tier and drive the SPEC/NOTES/VERIFY bundle lifecycle - open, resume, close, recall.

    233 GitHub stars~1.3k tokensUpdated 12 days ago
    MobileAuto-check passed
  • Maestro Merge

    catlog22/maestro-flow

    Merge session worktree branch back to main. An agent skill from catlog22/maestro-flow.

    564 GitHub stars~1.3k tokensUpdated 2 days ago
    MobileAuto-check: notes
  • Maestro Fork

    catlog22/maestro-flow

    Create or sync session worktree for parallel dev. An agent skill from catlog22/maestro-flow.

    564 GitHub stars~1.3k tokensUpdated 2 days ago
    MobileAuto-check: notes
  • Swiftui Patterns

    robinebers/openusage

    Best practices and example-driven guidance for building native macOS SwiftUI scenes and components, including windows, commands, toolbars, settings, split views, inspectors, menu bar extras, and…

    4.3k GitHub stars~3.4k tokensUpdated today
    MobileAuto-check passed
  • Add Writerside Doc Module

    JetBrains/kotlin-web-site

    Official

    Add a new external Writerside documentation source to kotlin-web-site via the TeamCity Kotlin DSL (as a sub-documentation source under KotlinWithCoroutines).

    1.6k GitHub stars~1.9k tokensUpdated today
    MobileAuto-check passed

More from QuisApp/flutter_contacts

  • Commit

    QuisApp/flutter_contacts

    Stage and commit changes with an auto-generated message. An agent skill from QuisApp/flutter_contacts.

    111 GitHub stars~151 tokensUpdated 7 days ago
    Auto-check: notes
  • Run

    QuisApp/flutter_contacts

    Run the example app on physical devices. An agent skill from QuisApp/flutter_contacts.

    111 GitHub stars~252 tokensUpdated 7 days ago
    Auto-check: notes
  • Branch

    QuisApp/flutter_contacts

    Create a temporary working branch from main. An agent skill from QuisApp/flutter_contacts.

    111 GitHub stars~152 tokensUpdated 7 days ago
    Auto-check passed
  • Bump

    QuisApp/flutter_contacts

    Bump the package version in pubspec.yaml and add a CHANGELOG entry.

    111 GitHub stars~252 tokensUpdated 7 days ago
    Auto-check passed
  • Check

    QuisApp/flutter_contacts

    Run code quality checks — format, test, and analyze. An agent skill from QuisApp/flutter_contacts.

    111 GitHub stars~141 tokensUpdated 7 days ago
    Auto-check passed
  • Publish

    QuisApp/flutter_contacts

    Publish the package to pub.dev. An agent skill from QuisApp/flutter_contacts.

    111 GitHub stars~122 tokensUpdated 7 days ago
    Auto-check passed

Works with

Categories

Questions about Ship

What does Ship do?

Ship the current branch — push, squash-merge to main via PR, tag, and clean up. Ship is an agent skill from QuisApp/flutter_contacts. Ship the current branch — push, squash-merge to main via PR, tag, and clean up.

When should I use Ship?

Ship fits situations like: ready to merge and release.

How do I install Ship in Claude Code?

Run `npx skills add QuisApp/flutter_contacts --skill ship -a claude-code`. Or copy the skill folder (.claude/skills/ship in QuisApp/flutter_contacts) into .claude/skills/ship in your project. Claude Code loads it when a task matches its description.

How do I install Ship in Codex?

Run `npx skills add QuisApp/flutter_contacts --skill ship -a codex`. Or copy the skill folder (.claude/skills/ship in QuisApp/flutter_contacts) into .agents/skills/ship in your project. Codex loads it when a task matches its description.

Can I use Ship in Cursor, Gemini CLI or GitHub Copilot?

Cursor, Gemini CLI, GitHub Copilot and OpenCode also load SKILL.md folders. With the skills CLI, run `npx skills add QuisApp/flutter_contacts --skill ship -a cursor` (or -a gemini-cli, github-copilot or opencode for the others). To copy it by hand, put the folder in .cursor/skills/ship, .gemini/skills/ship, .github/skills/ship and .opencode/skills/ship in your project.

What does Ship need to run?

Going by SKILL.md and its folder, Ship needs the command-line tools its instructions call (git and gh).

Does Ship access the network?

SKILL.md contains no URLs. Its commands use git and gh, which can reach the network depending on how they are called. This is read from the text; nothing was executed.

Is Ship safe to install?

Our automated static check of SKILL.md found no risky patterns, such as piping downloads into a shell, reading credential files or hidden Unicode. It is not a guarantee. Review the folder before installing.

What licence does Ship use?

Ship is published under the MIT licence (the repository's licence). It allows redistribution, so the full SKILL.md is shown on this page.

How many tokens does Ship use?

About 272 tokens (SKILL.md is roughly 1.1k characters). Agents keep only the skill's name and description in context until a task matches; then they load SKILL.md in full.

What are the alternatives to Ship?

Skills that share tags, products or a category with Ship: macOS App Design (vaayne/mori, 303 stars), Maestro Bundle (ReinaMacCredy/maestro, 233 stars), Maestro Merge (catlog22/maestro-flow, 564 stars) and Maestro Fork (catlog22/maestro-flow, 564 stars). The comparison table on this page puts their stars, adoption, token cost, safety result and licence side by side.

Who maintains Ship?

QuisApp (a GitHub organization) maintains it in QuisApp/flutter_contacts, which has 111 GitHub stars. The repository holds 7 skills in this directory. The repository was last updated on October 3, 2026.

Source: QuisApp/flutter_contacts on GitHub. Facts on this page come from the repository at the commit we read; the author's words are quoted as theirs.