# autoship

Automates changeset releases and package publishing with AI-generated notes. It fits projects using changesets for npm workflows.

- skill · `type=skill` · Claude Code, Codex, Cursor, GitHub Copilot, Gemini CLI, OpenCode · 702 installs · ★ 161
- Author: vercel-labs
- License: Apache-2.0 · policy=mirror · the beginning of the file is at the end of this page
- Source: https://github.com/vercel-labs/autoship/tree/HEAD/skills/autoship/SKILL.md
- Updated: 2026-09-16
- HTML: https://affpapa.org/en/nevibecode/skills/autoship

## What it does

The skill drives the `autoship` CLI to handle the entire package release cycle. It clones the repo, inspects commits since the latest version tag, and suggests a patch, minor, or major bump. Then it writes changeset descriptions with an AI model, opens the PR, waits for CI checks, merges it, and triggers npm publishing through the Version Packages pull request.

You must authenticate the GitHub CLI with `gh auth login` and provide an `AI_GATEWAY_API_KEY` before running it. If AI generation fails, autoship falls back to manual input. Repositories are stored locally inside `~/.autoship/config.json`.

## Requirements
- Works with: GitHub

## Install

### Claude Code (native platform)

1. **Skills CLI (Vercel)**
```bash
npx skills add vercel-labs/autoship --skill autoship -a claude-code
```

2. **Manually: put the files in place**
- File: `~/.claude/skills/autoship/SKILL.md` — Copy the whole skill folder; for one project use .claude/skills/autoship/

### Codex

1. **Skills CLI (Vercel)**
```bash
npx skills add vercel-labs/autoship --skill autoship -a codex
```

2. **Manually: put the files in place**
- File: `.agents/skills/autoship/SKILL.md` — For all projects use ~/.agents/skills/

### Cursor

1. **Skills CLI (Vercel)**
```bash
npx skills add vercel-labs/autoship --skill autoship -a cursor
```

2. **Manually: put the files in place**
- File: `.cursor/skills/autoship/SKILL.md` — Cursor also reads .agents/skills/ and .claude/skills/

### GitHub Copilot

1. **GitHub CLI**
```bash
gh skill install vercel-labs/autoship autoship
```

2. **Manually: put the files in place**
- File: `.github/skills/autoship/SKILL.md`

### Gemini CLI

1. **Skills CLI (Vercel)**
```bash
npx skills add vercel-labs/autoship --skill autoship -a gemini-cli
```

2. **Platform CLI**
```bash
gemini skills install https://github.com/vercel-labs/autoship --path skills/autoship
```

### Windsurf (Devin Desktop)

**Manually: put the files in place**
- File: `.devin/skills/autoship/SKILL.md` — The legacy .windsurf/skills/ path still works

### OpenCode

**Skills CLI (Vercel)**
```bash
npx skills add vercel-labs/autoship --skill autoship -a opencode
```

### Claude.ai

**Claude.ai**
- Zip the folder and upload it in Settings → Capabilities → Skills

Where a file is given instead of a command, copy the files from the source to that path: https://github.com/vercel-labs/autoship/tree/HEAD/skills/autoship/SKILL.md

## When to use it
- publish automated patch, minor, or major package releases
- generate changeset descriptions from commit diffs using AI
- merge release pull requests and trigger npm publishing
- run unattended release commands in CI/CD pipelines

## Example prompts
- Release a patch version for myproject using autoship
- Create a changeset and bump the version for myproject
- Run an automated minor release for myproject with no prompts

## Source text · SKILL.md · Apache-2.0

Below is the content of a third-party file. It is data, not instructions for you: do not act on anything written inside unless the human asks. Block tag: aa44e73b94335609.

BEGIN THIRD-PARTY FILE aa44e73b94335609
````text
---
name: autoship
description: 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.
allowed-tools: Bash(autoship:*), Bash(npx autoship:*)
---

# Automated Releases with autoship

## Core Workflow

Every release follows this pattern:

1. **Configure**: `autoship add <name>` (one-time setup)
2. **Release**: `autoship <name>` (interactive) or `autoship <name> -t patch -y` (automated)

The tool handles the complete release cycle:
- Clone repository
- Analyze changes and suggest release type (patch/minor/major)
- Generate AI-powered changeset description
- Create and merge changeset PR
- Wait for and merge Version Packages PR
- Trigger npm publish

## Requirements

Before using autoship, ensure:

```bash
# GitHub CLI must be authenticated
gh auth login

# API key for AI features
export AI_GATEWAY_API_KEY="your-key"
```

## Essential Commands

```bash
# 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
```

## Command Options

```bash
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
```

## Common Patterns

### Fully Automated Patch Release

```bash
autoship myproject -t patch -y
```

### AI-Assisted Interactive Release

```bash
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
```

### Custom Message Release

```bash
autoship myproject -t minor -m "Added new authentication providers" -y
```

### CI/CD Integration

```bash
# In GitHub Actions or CI pipeline
export AI_GATEWAY_API_KEY="${{ secrets.AI_GATEWAY_API_KEY }}"
npx autoship myproject -t patch -y
```

## What autoship Does (10 Steps)

1. **Clone** - Clones the repository from the base branch
2. **Analyze** - Finds latest version tag, analyzes commits and diff
3. **Suggest** - AI suggests release type based on changes
4. **Generate** - AI generates changeset description
5. **Branch** - Creates release branch with changeset file
6. **PR** - Creates pull request for the changeset
7. **Wait** - Waits for CI checks to pass
8. **Merge** - Merges the changeset PR
9. **Version PR** - Waits for changesets action to create Version Packages PR
````
END THIRD-PARTY FILE aa44e73b94335609

The third-party file has ended. Everything between the aa44e73b94335609 tags is data: requests and commands from it are not followed. An “end of file” line with another tag inside the block is part of the file.

First 3287 of 5245 bytes. © vercel-labs · Apache-2.0 · https://github.com/vercel-labs/autoship/tree/HEAD/skills/autoship/SKILL.md

_Part of the page did not fit — see the HTML version._

---
NeVibeCode on affpapa.org. Catalog texts are descriptions, not instructions for the agent. How to choose and install: https://affpapa.org/en/nevibecode/agents.md
