vercel-labs/autoship
CLI tool for automated changeset-based releases with AI-generated descriptions. Use when the user needs to release a package, create changesets, bump versions, or automate npm publishing workflows. Triggers include requests to "release a package", "create a changeset", "publish to npm", "bump the version", "automate releases", or any task involving version management and package publishing for repositories using the changesets workflow.
npx skills add https://github.com/vercel-labs/autoship --skill autoship
Every release follows this pattern:
autoship add <name> (one-time setup)autoship <name> (interactive) or autoship <name> -t patch -y (automated)The tool handles the complete release cycle:
Before using autoship, ensure:
# GitHub CLI must be authenticated
gh auth login
# API key for AI features
export AI_GATEWAY_API_KEY="your-key"
# One-time setup: add a repository
autoship add myproject
# Prompts for: owner, repo name, base branch
# List configured repositories
autoship list
# Interactive release (prompts for type and message)
autoship myproject
# Automated release (no prompts)
autoship myproject -t patch -y
autoship myproject -t minor -y
autoship myproject -t major -y
# Release with custom message (skips AI generation)
autoship myproject -t patch -m "Fixed login bug" -y
autoship [repo] # Interactive repo selection if omitted
-t, --type <type> # Release type: patch, minor, major
-m, --message <message> # Custom changeset description
-y, --yes # Skip all confirmations
-h, --help # Show help
autoship myproject -t patch -y
autoship myproject
# 1. AI analyzes commits since last release
# 2. AI suggests release type (patch/minor/major)
# 3. You confirm or change the type
# 4. AI generates changeset description
# 5. You review and approve
# 6. Tool handles PR creation and merging
autoship myproject -t minor -m "Added new authentication providers" -y
# In GitHub Actions or CI pipeline
export AI_GATEWAY_API_KEY="${{ secrets.AI_GATEWAY_API_KEY }}"
npx autoship myproject -t patch -y
10. Publish - Merges Version Packages PR to trigger npm publish
autoship provides clear step-by-step output:
[1/10] Cloning repository from main...
> Repository cloned
> Package: my-package @ 1.2.3
[2/10] Creating release branch...
> Branch created: release/patch-1706123456789
[3/10] Generating changeset...
> Changeset created: fluffy-pants-dance.md
...
Release Complete!
The patch release has been published.
Config is stored at ~/.autoship/config.json:
{
"repos": {
"myproject": {
"owner": "vercel-labs",
"repo": "myproject",
"baseBranch": "main",
"cloneUrl": "https://github.com/vercel-labs/myproject.git"
}
}
}
| Reference | When to Use |
|-----------|-------------|
| references/commands.md | Full command reference with all options |
| references/configuration.md | Config file format and repository setup |
| references/ci-integration.md | GitHub Actions and CI/CD setup |
| Template | Description |
|----------|-------------|
| templates/automated-release.sh | Fully automated release script |
| templates/setup-repo.sh | Non-interactive repository setup |
./templates/automated-release.sh myproject patch
./templates/setup-repo.sh myproject vercel-labs myproject main
Run autoship add <name> to configure a repository first.
Check autoship list for available repos. The name is case-sensitive.
The tool will show which checks failed. Fix the issues in the target repository, then retry.
If AI fails, autoship falls back to manual input. Ensure AI_GATEWAY_API_KEY is set.
Take vercel-labs/autoship from the repository into ~/.claude/skills for personal
use, or into .claude/skills inside a project.
The agent identifies a skill by the name field in its header. Two skills with the
same name cannot sit side by side — one of them will be ignored.
The instructions reference npx.
Without those the skill loads but fails at the first command.