skpkg

Documentation

Install

Terminal
$ npm i -g @modelkit/skpkg

Prerequisites

  • Node.js >= 18
  • GitHub CLI installed and authenticated (gh auth login)

Quick Start

Terminal
$ npm i -g @modelkit/skpkg
Terminal
$ skpkg push --name skills
Terminal
$ skpkg pull @user/skills

push

Terminal
skpkg push [--name skills|commands|agents] [--select] [--public]

Scans ~/.claude/ for items and publishes them as a GitHub Gist.

  • --name — Limit to a specific type (skills, commands, or agents)
  • --select — Cherry-pick individual items to include
  • --public — Create a public gist (default: secret)

pull

Terminal
skpkg pull <@user/type | gist-id>

Installs shared items into your ~/.claude/ directory. Accepts an @user/type identifier or a raw gist ID.

status

Terminal
skpkg status

Checks installed items against their remote gists and reports which have updates available.

update

Terminal
skpkg update [identifier] [--all]

Re-pulls the latest version of installed items.

  • Pass a specific @user/type to update one source
  • Use --all to update everything

list

Terminal
skpkg list

Shows all published and installed items with their gist IDs and timestamps.

delete

Terminal
skpkg delete [gist-id] [--name skills|commands|agents]

Deletes a shared gist. Use --name to delete your published gist by type, or pass a gist ID directly.

Identifiers

Items are referenced using the @user/type format, for example @tviles/skills. You can also use a raw gist ID as a fallback if the identifier format is not available.

Terminal
$ skpkg pull @tviles/skills

Supported Item Types

TypeLocation
Skills~/.claude/skills/<name>/SKILL.md
Commands~/.claude/commands/<name>.md
Agents~/.claude/agents/<name>.md

Items must have valid YAML frontmatter with name and/or description fields to be detected.