Agent skill

Ship

by TyrealQ in TyrealQ/q-skills

Update docs (CHANGELOG, CLAUDE.md, READMEs), commit, and push.

MITAuto-check passedDevelopment

Install Ship

skills CLI
$ npx skills add TyrealQ/q-skills --skill ship -a claude-code

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

GitHub CLI
$ gh skill install TyrealQ/q-skills 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/TyrealQ/q-skills.git skills-src && mkdir -p .claude/skills && cp -r skills-src/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
108
Token cost
~2.2k tokens
SKILL.md length
1,039 words
Files
1
Skills in repo
16
Repo updated
First seen
Licence
MIT

At a glance

Update docs (CHANGELOG, CLAUDE.md, READMEs), commit, and push.

  • Works in 9 steps: Review changes → Analyze what changed → Update documentation → …
  • Shipping changes
  • Calls git and claude
  • Deploying updates

What it does

Ship is an agent skill from TyrealQ/q-skills. Update docs (CHANGELOG, CLAUDE.md, READMEs), commit, and push. Use for shipping changes, deploying updates, or publishing to remote.

Its SKILL.md is about 2.2k 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 Development, covering Technical documentation, Changelog and release notes and Agent instruction files. The repository describes itself as: End-to-end skills for academic writing, data analysis, teaching, and research communication. The licence is MIT.

When your agent uses it

  • Shipping changes
  • Deploying updates
  • Publishing to remote

Example prompts

  • “/ship”

Workflow steps

9 steps, taken from the step headings in SKILL.md.

  1. Review changes
  2. Analyze what changed
  3. Update documentation
  4. Decide commit strategy
  5. Generate commit messages
  6. Stage and commit
  7. Push
  8. Cleanup temp files
  9. Confirm

What it can do on your machine

Read from SKILL.md and the folder at commit d8aaee7. 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
    • claude

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

  • Network

    Links to these hosts (documentation or services it may open):

    • keepachangelog.com

    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 2.2k tokens when it runs. Until then it costs about 34 tokens; SKILL.md has 1,039 words of instructions outside code blocks.

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

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 TyrealQ/q-skills at commit d8aaee7, republished under its MIT licence (© TyrealQ). 1,039 words, ~2,235 tokens.

Download SKILL.mdSave it as .claude/skills/ship/SKILL.md (or your agent's skills folder).
name
ship
description
Update docs (CHANGELOG, CLAUDE.md, READMEs), commit, and push. Use for shipping changes, deploying updates, or publishing to remote.

Ship Skill

Automates the full cycle: update documentation, stage, commit, push, and sweep temp files. Groups related changes into one commit per topic and handles the doc catch-up path when the working tree is clean but commits are unpushed.

Workflow

Step 1: Review changes

Run all three commands to get the full picture:

git status --short
git diff --cached --name-status
git log @{upstream}..HEAD --oneline 2>/dev/null

Also identify the current branch and remote tracking status:

git branch --show-current
git rev-parse --abbrev-ref @{upstream} 2>/dev/null

Classify uncommitted changes from git status:

  • M — modified, ?? — untracked, D — deleted, R — renamed

If the working tree is clean but unpushed commits exist, this is the doc catch-up path:

  1. Run git diff @{upstream}..HEAD --name-status to list all files changed in unpushed commits
  2. Analyze those files in Step 2 as if they were uncommitted changes
  3. Proceed to Step 3 to check for missing documentation updates (CHANGELOG, README, CLAUDE.md, marketplace.json)
  4. If documentation updates are needed, make them, commit, and push
  5. If no documentation updates are needed, just push

If both the working tree is clean AND no unpushed commits exist, report "nothing to ship" and stop.

Step 2: Analyze what changed

Read every modified/untracked file (or every file from unpushed commits in the doc catch-up path) to understand the nature of the changes.

Path patternType
posts/, articles/, content/content/writing
.claude/skills/skill config
src/, *.go, *.py, *.ts, *.R, *.rcode/scripts
*.mddocumentation
*.json, *.yaml, *.toml, *.csvconfig/data
Resources/, resources/resource list
*.ipynbnotebook
.r2-upload-map/resource mapping (commit with related content)
Step 3: Update documentation

For each applicable documentation file, read the current contents first, then update.

CHANGELOG.md
  • When: Always, if the file exists in the repo root
  • Format: Follow Keep a Changelog
  • Add a new ## [YYYY-MM-DD] section (today's date) at the top of the log
  • If today's date section already exists, append to it instead of creating a duplicate
  • Subsections: Added, Changed, Removed, Fixed — only include relevant ones
  • Each entry: one concise line describing the change from a user/reader perspective
CLAUDE.md (always run)
  • When: Always. Read CLAUDE.md and compare against the current project state — not just the changes being shipped, but also decisions made during the session, new or renamed files on disk, and structural changes
  • Skip when: Changes are limited to content additions (e.g., adding a link to Resources) AND no session-level decisions or structural changes occurred
  • Update only the affected sections — do not rewrite the entire file
  • Check for temporal markers (e.g., "Current position," dates, deadlines, status tables) that may be stale given the changes being shipped
README files (root or section-level)
  • When: Changes affect content described by that README
  • Examples: adding a notebook -> update the directory's README; renaming a section -> update root README
  • Skip when: The change is self-evident from the file itself (e.g., adding a row to a resource table — the table IS the README)
Cascade check (skip if no scripts or data files changed)

If any modified files are scripts or data files:

  • Identify downstream files: Find all markdown reports, appendices, and documentation that reference outputs or data from the modified files — search for filename references, table headers, variable names, and output patterns
  • Verify consistency: Check that numbers, table data, file paths, and cross-references in downstream files match the current state of the modified scripts and their outputs
  • Fix discrepancies: Update any stale numbers, outdated references, or mismatched data in downstream files. Include these fixes in the commit
Stale and missing reference check

After identifying all changed, added, and deleted files, check documentation files for stale or missing references:

  • Deleted files: Search README.md, CLAUDE.md, and any doc that might reference them (folder trees, file lists, dependency mentions)
  • Renamed/moved files: Update all path references
  • Removed features or dependencies: Remove or update mentions in all docs
  • New directories or files: If CLAUDE.md or README.md contain folder trees, check whether newly added directories or files should appear in those trees
  • Run: git diff --name-status to get the full list of added (A/??), deleted (D), and renamed (R) files, then search docs for entries that need adding or removing
Show full SKILL.md (384 more words)Show less
Step 4: Decide commit strategy

Examine the changes identified in Step 2 and choose a strategy:

  • Single topic -> one commit for all files
  • Multiple topics -> group by directory/topic, one commit per group

Grouping priority (highest first):

  1. Content directories — one commit per article/document unit (e.g., each notebook directory, each post)
  2. Skill directories — one commit per skill (.claude/skills/<name>/)
  3. Code changes — merge all code changes into one commit
  4. Config / documentation files — merge into one commit

Rules:

  • .r2-upload-map/*.json files belong with their related content group, not standalone
  • Documentation updates from Step 3 (CHANGELOG, README, etc.) go into the commit of the group that triggered them
  • If all changes fall under one group, use a single commit regardless of file count
Step 5: Generate commit messages

Generate one message per commit group from Step 4.

Follow conventional commits:

<type>: <description>

Types: feat, fix, refactor, docs, test, chore, perf, ci

Rules:

  • Under 70 characters
  • Describe the user-facing change, not the documentation update
  • If the only changes are documentation, use docs: type
  • If code + docs changed together, use the type that matches the code change

Examples by group type:

  • Content: docs: add exploratory analysis notebook
  • Skills: chore: update commit skill workflow
  • Code: feat: add batch processing to pipeline
  • Config: chore: update project config
Step 6: Stage and commit

For each commit group (from Step 4), in grouping-priority order:

git add <group-file1> <group-file2> ...
git commit -m "<group-message>"

Repeat for each group until all changes are committed.

Rules:

  • Stage files explicitly — never use git add . or git add -A
  • Include the documentation files updated in Step 3 with the commit group that triggered them
  • Exclude temp files (*.bak-*, .DS_Store, node_modules/, .claude/)
  • .r2-upload-map/*.json files go with their related content commit, not standalone
Step 7: Push
git push

If no upstream is set:

git push -u origin <current-branch>
Step 8: Cleanup temp files

After the push succeeds, remove these patterns from the working tree (skip .git/):

  • Files: *.bak-*, *.pyc, *.pyo, *.swp, *.swo, *~, .DS_Store, Thumbs.db
  • Directories: __pycache__/, .pytest_cache/, .mypy_cache/, .ruff_cache/

List matches first, then delete. If nothing matches, note "no temp files to clean" and proceed.

find . -not -path '*/.git/*' -type f \( -name '*.bak-*' -o -name '*.pyc' -o -name '*.pyo' -o -name '*.swp' -o -name '*.swo' -o -name '*~' -o -name '.DS_Store' -o -name 'Thumbs.db' \) -print -exec rm -f {} +
find . -not -path '*/.git/*' -type d \( -name '__pycache__' -o -name '.pytest_cache' -o -name '.mypy_cache' -o -name '.ruff_cache' \) -print -exec rm -rf {} +
Step 9: Confirm

Run: git log --oneline -3

Display the commit hash and message to confirm success.

If the repository is a Claude Code plugin marketplace (it has .claude-plugin/marketplace.json), tell the user that the installed copy updates only after claude plugin marketplace update <marketplace> and claude plugin update <plugin>@<marketplace>, followed by a restart.

© TyrealQ, 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 skills/ship of TyrealQ/q-skills.

Open the folder on GitHubat commit d8aaee7

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 skillTyrealQ/q-skills108—~2.2kAutomated safety check: PassMIT
CommitLennartHennigs/Button2565—~562Automated safety check: PassMIT
CommitLennartHennigs/ESPRotary188—~590Automated safety check: PassMIT
Documentdcodesdev/LetterSpace100—~461Automated safety check: PassMIT
Sync Docsayutaz/piper-plus230—~1.4kAutomated safety check: PassMIT
Simple Englishmoeru-ai/airi50k2 repos~4.6kAutomated safety check: PassMIT

Similar skills

  • Commit

    LennartHennigs/Button2

    Stage and commit current changes for Button2 — checks for needed CHANGELOG/README/CLAUDE.md updates, creates a branch if on master, writes a commit message, and commits

    565 GitHub stars~562 tokensUpdated 4 mo ago
    DevelopmentAuto-check passed
  • Commit

    LennartHennigs/ESPRotary

    Stage and commit current changes for ESPRotary — checks for needed CHANGELOG/README/CLAUDE.md updates, creates a branch if on master, writes a commit message, and commits

    188 GitHub stars~590 tokensUpdated 2 mo ago
    DevelopmentAuto-check passed
  • Document

    dcodesdev/LetterSpace

    Use this when writing or updating documentation — a README, docs/ page, CLAUDE.md, changelog entry, or doc comments — or when the user says 'document this'.

    100 GitHub stars~461 tokensUpdated 6 days ago
    DevelopmentAuto-check passed
  • Sync Docs

    ayutaz/piper-plus

    コミット前にエージェントチームで全ドキュメント (CLAUDE.md / README / CHANGELOG / docs/) を監査し、コード変更に応じて自動更新します。大規模変更時の documentation drift を予防。

    230 GitHub stars~1.4k tokensUpdated today
    DevelopmentAuto-check passed
  • Simple English

    moeru-ai/airi

    Write or rewrite technical text with the rules of ASD-STE100 Simplified Technical English so it is clear, unambiguous, and free of AI slop.

    50k GitHub starsUsed in 2 repos~4.6k tokens
    DevelopmentAuto-check passed
  • Ccb GitHub

    SeemSeam/claude_codex_bridge

    Maintain this CCB project's GitHub-facing release and npm publication surface.

    3.6k GitHub stars~4.9k tokensUpdated yesterday
    DevelopmentAuto-check passed

More from TyrealQ/q-skills

All 16 skills in this repo
  • Q-Infographics

    TyrealQ/q-skills

    Converts a report or other document into a business story and then an infographic image, pausing for your review after each step.

    108 GitHub stars~814 tokensUpdated 15 days ago
    Auto-check: notes
  • Runs exploratory data analysis on tabular data after you confirm each column's measurement level, then writes CSV tables and a narrative summary.

    108 GitHub stars~1.1k tokensUpdated 15 days ago
    Auto-check passed
  • Extracts pixel, video-frame, speech, music and visual-semantic features from image, video and audio files for research datasets, using local tools or the Gemini API.

    108 GitHub stars~2k tokensUpdated 15 days ago
    Auto-check: notes
  • Consolidates BERTopic, LDA or NMF topic output into a theory-driven classification framework and writes the final labels back to an Excel file.

    108 GitHub stars~1k tokensUpdated 15 days ago
    Auto-check passed
  • Generates branded slide deck images from written content, with a content analysis step, a layout catalog and scripts that merge the slides into PowerPoint or PDF.

    108 GitHub stars~1.1k tokensUpdated 15 days ago
    Auto-check passed
  • Audits a repository's file layout and project documentation against a written convention file, then proposes moves, deletions and doc fixes as an approved plan before touching anything.

    108 GitHub stars~4.4k tokensUpdated 15 days ago
    Auto-check: notes

Categories

Questions about Ship

What does Ship do?

Update docs (CHANGELOG, CLAUDE.md, READMEs), commit, and push. Ship is an agent skill from TyrealQ/q-skills.md, READMEs), commit, and push.

When should I use Ship?

Ship fits situations like: shipping changes; deploying updates; publishing to remote.

How do I install Ship in Claude Code?

Run `npx skills add TyrealQ/q-skills --skill ship -a claude-code`. Or copy the skill folder (skills/ship in TyrealQ/q-skills) 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 TyrealQ/q-skills --skill ship -a codex`. Or copy the skill folder (skills/ship in TyrealQ/q-skills) 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 TyrealQ/q-skills --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 claude).

Does Ship access the network?

SKILL.md names 1 domain. As links in the text: keepachangelog.com. 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 2.2k tokens (SKILL.md is roughly 8.9k 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: Commit (LennartHennigs/Button2, 565 stars), Commit (LennartHennigs/ESPRotary, 188 stars), Document (dcodesdev/LetterSpace, 100 stars) and Sync Docs (ayutaz/piper-plus, 230 stars). The comparison table on this page puts their stars, adoption, token cost, safety result and licence side by side.

Who maintains Ship?

TyrealQ (a GitHub user) maintains it in TyrealQ/q-skills, which has 108 GitHub stars. The repository holds 16 skills in this directory. The repository was last updated on September 23, 2026.

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