Skip to main content

agentpack

English | 简体中文 | 日本語

Write your agent skills once. Ship them everywhere.

Every AI coding agent invented its own plugin layout: Cursor reads .cursor/skills/, Claude Code reads .claude-plugin/ + skills/, Codex reads .codex/skills/, GitHub Copilot reads .github/skills/, and the vendor-neutral standard uses .agents/skills/. If you maintain a skill pack or plugin, you end up hand-maintaining five slightly different copies of the same content.

agentpack is a Babel for agent plugins: you keep one source of truth — a folder of SKILL.md files plus a single agentpack.yaml — and one command generates correct, ready-to-publish bundles for every platform, including the Claude Code plugin.json manifest and marketplace.json.

  • Zero dependencies. Pure Python standard library. pip install and go.
  • Validates before it builds. Catches missing descriptions, name/folder mismatches, non-kebab-case names, broken JSON — the things that silently make a skill invisible to an agent.
  • Knows each platform's dialect. Frontmatter fields a host doesn't support are dropped (and reported), globs is mapped to paths for Cursor, slash commands are converted to manual-invocation skills on platforms without a commands directory.
  • Windows-first. Developed and tested on Windows, Linux and macOS.

Install

pip install shipskills   # installs the `agentpack` command
# or from source:
git clone https://github.com/superman2003/agentpack && cd agentpack && pip install .

Quick start

# scaffold a project
agentpack init my-toolkit --name my-toolkit
cd my-toolkit

# edit agentpack.yaml and skills/example-skill/SKILL.md, then:
agentpack validate
agentpack build

agentpack build produces:

dist/
├── claude/                          # Claude Code plugin + marketplace
│   ├── .claude-plugin/marketplace.json
│   └── my-toolkit/
│       ├── .claude-plugin/plugin.json
│       ├── skills/<name>/SKILL.md
│       └── commands/<name>.md
├── cursor/.cursor/skills/<name>/SKILL.md
├── codex/.codex/skills/<name>/SKILL.md
├── copilot/.github/skills/<name>/SKILL.md
└── agents/.agents/skills/<name>/SKILL.md   # vendor-neutral standard

Copy the tree for your platform into your repo (or point Claude Code at the plugin with --plugin-dir), and you're published.

Source layout

You write this once:

my-toolkit/
├── agentpack.yaml           # name, version, description, author, targets
├── skills/
│   └── review-pr/
│       ├── SKILL.md         # YAML frontmatter + Markdown instructions
│       └── references/…     # optional extra files, copied verbatim
├── commands/                # optional flat slash-commands (.md)
├── agents/                  # optional Claude Code subagents (.md)
├── hooks/hooks.json         # optional Claude Code hooks (passed through)
└── .mcp.json                # optional MCP server config (passed through)

agentpack.yaml

name: my-toolkit            # kebab-case, required
version: 1.0.0              # semver
description: What this plugin does and when agents should use it.
author:
  name: Your Name
  url: https://github.com/your-name
license: MIT
keywords: [code-review, git]
targets: [claude, cursor, codex, copilot, agents]

SKILL.md

---
name: review-pr            # must match the folder name
description: Use when asked to review a pull request or diff.
paths: "**/*.py"           # optional; Cursor-style file scoping
---

# Instructions for the agent…

Commands

Command What it does
agentpack init [dir] Scaffold a new project
agentpack validate [dir] Lint config and skills; exit 1 on errors
agentpack build [dir] Generate dist/<target>/ bundles
agentpack build -t cursor,claude Build only selected targets
agentpack targets List supported platforms

How platform differences are handled

Concept claude cursor codex copilot agents
Skills skills/ in plugin .cursor/skills/ .codex/skills/ .github/skills/ .agents/skills/
Slash commands commands/*.md converted to manual skill converted converted converted
paths / globs scoping dropped (unsupported) kept (globs→paths) dropped dropped kept
Subagents (agents/) shipped skipped skipped skipped skipped
Hooks / MCP config shipped skipped skipped skipped skipped
Manifest plugin.json + marketplace.json — — — —

Everything dropped or converted is printed as a note: during the build, so there are no silent surprises.

Example

A complete working example lives in examples/code-review-toolkit/. Build it with:

agentpack build examples/code-review-toolkit

Development

python -m unittest discover tests -v

No dependencies needed, for tests either.

License

MIT

Metadata

Release files for shipskills 0.1.0

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for shipskills 0.1.0
File Size Uploaded Provenance Actions
shipskills-0.1.0.tar.gz 19.4 kB With provenance Details for shipskills-0.1.0.tar.gz

Built distribution (wheel)

Table of built distributions (wheels) for shipskills 0.1.0
File Interpreter ABI Platform Actions
shipskills-0.1.0-py3-none-any.whl Python 3 none any Details for shipskills-0.1.0-py3-none-any.whl

Total release size: 37.3 kB

Release files / shipskills-0.1.0.tar.gz

Download URL shipskills-0.1.0.tar.gz
Size 19.4 kB
Tags Source
SHA-256 checksum
How to use checksums
d853cc2344c12003b4de67a2a873971238c2a432fe8ddb52f676180e713f83ba
BLAKE2b-256 checksum
How to use checksums
94c13273faeee6c87349c918eb930e632b87ec86b2c7427599f505eb6c5bf8ac
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/6.1.0 CPython/3.13.12

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Jul 8, 2026.

Transparency log

Release files / shipskills-0.1.0-py3-none-any.whl

Download URL shipskills-0.1.0-py3-none-any.whl
Size 17.8 kB
Tags Python 3
SHA-256 checksum
How to use checksums
1592303dd6203d7b4868c5d1164768f8f9042645ae03bbfb584a6f167d892239
BLAKE2b-256 checksum
How to use checksums
a2b9abe68ad2e15e121c256e71ab0225692c7f286ff3b4491d1da511885dc01b
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/6.1.0 CPython/3.13.12

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Jul 8, 2026.

Transparency log

Security for shipskills 0.1.0

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

Full provenance

All 2 files in this release have been uploaded with provenance metadata.

Select from 2 files

Attestation for shipskills-0.1.0.tar.gz

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Jul 8, 2026.

Transparency log

A note on package security

PyPI is a repository for distributing packages, not a service for auditing them. While third-party security researchers and our staff do their best to detect and remove malicious packages, PyPI cannot guarantee the quality, security or suitability of any given package.

To learn more about protecting yourself from malicious actors, visit our package security documentation.

Release history Release notifications | RSS feed

This release

0.1.0 This release

2 release files Full provenance

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page