Skip to main content

ckills

License: MIT Python 3.11+ uv Ruff ty

A thin Typer wrapper over npx skills that installs skills into Claude Code plugin directories.

The problem

npx skills installs Claude Code skills to ./.claude/skills/<name>/ at the current working directory. It has no flag to redirect the target.

A Claude Code marketplace repo holds many plugins, each with its own skills/ directory at <plugin>/skills/<name>/. Running npx skills at the repo root drops the skill in the wrong place; running it inside a plugin creates <plugin>/.claude/skills/… which the plugin manifest doesn't see.

The idea

ckills runs npx skills add in a temporary directory, then moves each produced skill into <plugin>/skills/. Plugin directories are auto-discovered (presence of .claude-plugin/plugin.json or an existing skills/ dir). skills-lock.json is discarded — plugin dirs track skills as plain files.

Quick start

Requires Python >=3.11, uv, and npx (Node.js).

uv sync
uv run ckills list-plugins
uv run ckills list-available vercel-labs/agent-skills
uv run ckills install marimo-plugin marimo-team/marimo-pair --skill marimo-pair

Commands

Command Purpose
ckills list-plugins Print plugin dirs in the current marketplace repo.
ckills list-available <source> Pass-through of npx skills add <source> -l.
ckills install <plugin> <source> [--skill NAME ...] [--all] [--force] Install one or more skills into <plugin>/skills/.

All commands accept --root PATH to point at a marketplace repo other than the enclosing git repo.

Example

my-marketplace/
├── marimo-plugin/
│   ├── .claude-plugin/plugin.json
│   └── skills/
├── notebook-plugin/
│   └── skills/
└── (etc.)
$ cd my-marketplace
$ ckills list-plugins
marimo-plugin
notebook-plugin

$ ckills install marimo-plugin marimo-team/marimo-pair --skill marimo-pair
✓ marimo-pair  marimo-plugin/skills/marimo-pair

Development

make install   # uv sync + pre-commit install
make test      # pytest
make check     # lint + test
make format    # ruff --fix + ruff format

License

MIT

Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

ckills-0.1.0.tar.gz (23.2 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

ckills-0.1.0-py3-none-any.whl (7.3 kB view details)

Uploaded Python 3

File details

Details for the file ckills-0.1.0.tar.gz.

File metadata

  • Download URL: ckills-0.1.0.tar.gz
  • Upload date:
  • Size: 23.2 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: uv/0.11.7 {"installer":{"name":"uv","version":"0.11.7","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"Ubuntu","version":"24.04","id":"noble","libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":true}

File hashes

Hashes for ckills-0.1.0.tar.gz
Algorithm Hash digest
SHA256 76157b11478991ba3e55f9e607553713d20d11a6f80487e72331ff118d218e17
MD5 ceff4705564418fec21754bb85b14b0b
BLAKE2b-256 d95adf6bc20651cec334ae95dac2060cb484ea02ccddf9c4a4e55b0636f8a94f

See more details on using hashes here.

File details

Details for the file ckills-0.1.0-py3-none-any.whl.

File metadata

  • Download URL: ckills-0.1.0-py3-none-any.whl
  • Upload date:
  • Size: 7.3 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: uv/0.11.7 {"installer":{"name":"uv","version":"0.11.7","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"Ubuntu","version":"24.04","id":"noble","libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":true}

File hashes

Hashes for ckills-0.1.0-py3-none-any.whl
Algorithm Hash digest
SHA256 01ce4c1920527f99849af3e69d3593a92d26c19ba388e16ce1b6600ed8b5b6b1
MD5 94efdd863c88efaebf1444c8998f3ace
BLAKE2b-256 6fabfff9d6200a7af1101e79473eab6f00965b259e336ba290bf0fa25870c918

See more details on using hashes here.

Release history Release notifications | RSS feed

This release

0.1.0 This release

2 files

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page