Skip to main content

Manage agent skills.

Project description

skilly

Manage Agent Skills from the command line or Python.

skilly creates specification-compliant skills, installs skills from GitHub or Python dependencies, and keeps managed skills up to date.

Installation

Run the CLI without installing it:

uvx skilly --help
npx @xelandernt/skilly --help

Or install the CLI and Python package:

pip install skilly

The npm package ships the same native Rust CLI behind the executable name skilly. The current npm support matrix is macOS arm64/x64, Linux x64 (glibc), and Windows x64.

Quick Start

Scan the current Python project for skills shipped by its dependencies:

uvx skilly scan

Download a skill from GitHub:

uvx skilly download https://github.com/example/project/tree/main/skills/code-review

Inspect installed skills:

uvx skilly list

CLI Commands

Command Purpose
uvx skilly scan Find skills provided by the project's Python dependencies.
uvx skilly download <github-url> Install one or more skills from GitHub.
uvx skilly list Browse, update, or remove installed skills.
uvx skilly update Preview available updates; add --yes to apply all updates.
uvx skilly remove <name> Remove an installed skill by directory name.
uvx skilly skillsmp search <query> Search SkillsMP and install a selected result.
uvx skilly create Create a valid skill through a terminal wizard or explicit options.

Use uvx skilly <command> --help for all options.

Create Skills

Interactive terminals open a full-screen editor for the required and optional Agent Skills fields. Ctrl+S creates the skill, Ctrl+X cancels, and Enter in the multi-line editors inserts real line breaks.

For scripts and automation, provide the required name and description:

uvx skilly create deployment-checks \
  --description "Validate deployment readiness before a production release." \
  --instructions "# Instructions

Run the deployment checklist and report blockers." \
  --metadata owner=platform \
  --with-scripts \
  --yes

Existing skills are rejected by default. Use --overwrite to replace one atomically. See uvx skilly create --help for the complete contract.

Install Dependency Skills

uvx skilly scan reads pyproject.toml and the project's .venv, then offers skills shipped by direct, development, and optional dependencies:

uvx skilly scan

Exclude dependency categories when needed:

uvx skilly scan --no-dependency-groups --no-optional-dependencies

Install GitHub Skills

uvx skilly download https://github.com/example/project

When a repository contains multiple skills, select one or install all:

uvx skilly download https://github.com/example/project --skill-name code-review
uvx skilly download https://github.com/example/project --all

Destinations

Management commands accept the same destination options:

Option Destination
--local Project-local skills directory.
--global User-global skills directory.
--claude Claude skills directory.
--codex Codex skills directory.
--copilot GitHub Copilot skills directory.
--directory <path> Explicit directory; overrides all other destination options.

Without destination options, skilly uses .agents/skills.

uvx skilly download https://github.com/example/project --global --codex
uvx skilly list --local --claude

GitHub Authentication

Authenticated requests have higher GitHub API rate limits. Use the first available token:

export SKILLY_GITHUB_TOKEN=ghp_your_token
# or GITHUB_TOKEN / GH_TOKEN

GitHub-fetching commands also accept --github-token.

Python API

SkillRepository is the stateful management interface. Bind a destination, project settings, or custom filesystem once and reuse it:

from pathlib import Path

from skilly import ProjectSettings, Skill, SkillRepository

repository = SkillRepository(
    directory=Path(".agents/skills"),
    project=ProjectSettings(include_dependency_groups=True),
)

created = repository.install(
    Skill(
        name="code-review",
        description="Review code for correctness and maintainability.",
        content="# Instructions\n\nReview the proposed change.",
    )
)

for match in repository.scan_project():
    print(match.available.name, match.status)

Use focused discovery functions when no repository state is needed:

from skilly import discover_installed_skills, discover_venv_skills

installed = discover_installed_skills()
dependency_skills = discover_venv_skills()

The SkillsMP client returns typed results directly. Async methods expose the same result types without blocking the event loop:

from skilly.skillsmp import ClientSettings, SkillsMp, SkillsMpSearchQuery

client = SkillsMp(settings=ClientSettings(base_url="https://skillsmp.com/api/v1"))
result = client.search(SkillsMpSearchQuery(text="python", limit=5))
print(result.data.skills[0].github_url)

Development

Install development dependencies and the editable extension:

just install

Run the required quality gates:

just lint
just test
just typecheck

The TypeScript launcher package also has dedicated helpers:

just ts::build
just ts::test
just ts::typecheck
just ts::smoke
just ts::publish-dry-run

License

MIT

Project details


Download files

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

Source Distribution

skilly-0.0.24.tar.gz (117.7 kB view details)

Uploaded Source

Built Distributions

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

skilly-0.0.24-cp310-abi3-win_amd64.whl (2.8 MB view details)

Uploaded CPython 3.10+Windows x86-64

skilly-0.0.24-cp310-abi3-win32.whl (2.4 MB view details)

Uploaded CPython 3.10+Windows x86

skilly-0.0.24-cp310-abi3-musllinux_1_2_x86_64.whl (3.5 MB view details)

Uploaded CPython 3.10+musllinux: musl 1.2+ x86-64

skilly-0.0.24-cp310-abi3-musllinux_1_2_aarch64.whl (3.4 MB view details)

Uploaded CPython 3.10+musllinux: musl 1.2+ ARM64

skilly-0.0.24-cp310-abi3-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (3.3 MB view details)

Uploaded CPython 3.10+manylinux: glibc 2.17+ x86-64

skilly-0.0.24-cp310-abi3-manylinux_2_17_aarch64.manylinux2014_aarch64.whl (3.3 MB view details)

Uploaded CPython 3.10+manylinux: glibc 2.17+ ARM64

skilly-0.0.24-cp310-abi3-macosx_11_0_arm64.whl (3.0 MB view details)

Uploaded CPython 3.10+macOS 11.0+ ARM64

skilly-0.0.24-cp310-abi3-macosx_10_12_x86_64.whl (3.1 MB view details)

Uploaded CPython 3.10+macOS 10.12+ x86-64

File details

Details for the file skilly-0.0.24.tar.gz.

File metadata

  • Download URL: skilly-0.0.24.tar.gz
  • Upload date:
  • Size: 117.7 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: uv/0.11.20 {"installer":{"name":"uv","version":"0.11.20","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"Ubuntu","version":"22.04","id":"jammy","libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":true}

File hashes

Hashes for skilly-0.0.24.tar.gz
Algorithm Hash digest
SHA256 4ceb51bc5a9ef5dd96a1ec7f4c5c73230fdb5174cfdb2ccf006db6fab78cc4fc
MD5 ff5620d6984f31f747984816d87fe646
BLAKE2b-256 cf247e13f3d28beac8d72852d57a82b8a77f1e5bf5d06b4ec7f730c0ed6cc8b2

See more details on using hashes here.

File details

Details for the file skilly-0.0.24-cp310-abi3-win_amd64.whl.

File metadata

  • Download URL: skilly-0.0.24-cp310-abi3-win_amd64.whl
  • Upload date:
  • Size: 2.8 MB
  • Tags: CPython 3.10+, Windows x86-64
  • Uploaded using Trusted Publishing? No
  • Uploaded via: uv/0.11.20 {"installer":{"name":"uv","version":"0.11.20","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"Ubuntu","version":"22.04","id":"jammy","libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":true}

File hashes

Hashes for skilly-0.0.24-cp310-abi3-win_amd64.whl
Algorithm Hash digest
SHA256 b313d16069196a8d6a73492f75a2909e9f84f8b72b77c3999f226d559b688b89
MD5 9efc1f4721cd60be09d5b09385d7518f
BLAKE2b-256 e8a35f69590c565ef6dba250dafd32893742a30315238ac854629e30ebca7c19

See more details on using hashes here.

File details

Details for the file skilly-0.0.24-cp310-abi3-win32.whl.

File metadata

  • Download URL: skilly-0.0.24-cp310-abi3-win32.whl
  • Upload date:
  • Size: 2.4 MB
  • Tags: CPython 3.10+, Windows x86
  • Uploaded using Trusted Publishing? No
  • Uploaded via: uv/0.11.20 {"installer":{"name":"uv","version":"0.11.20","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"Ubuntu","version":"22.04","id":"jammy","libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":true}

File hashes

Hashes for skilly-0.0.24-cp310-abi3-win32.whl
Algorithm Hash digest
SHA256 8e2b972ac51bdc9ea838646686a879a8977043be39ff7d68f5a7a5cfb9b44d57
MD5 6992c1552302d01d6bf2ac1dd3b3443f
BLAKE2b-256 f0514cc5f85c6010013fce9764feaa6e34631bb23c9a91b5e911833613f0ce1a

See more details on using hashes here.

File details

Details for the file skilly-0.0.24-cp310-abi3-musllinux_1_2_x86_64.whl.

File metadata

  • Download URL: skilly-0.0.24-cp310-abi3-musllinux_1_2_x86_64.whl
  • Upload date:
  • Size: 3.5 MB
  • Tags: CPython 3.10+, musllinux: musl 1.2+ x86-64
  • Uploaded using Trusted Publishing? No
  • Uploaded via: uv/0.11.20 {"installer":{"name":"uv","version":"0.11.20","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"Ubuntu","version":"22.04","id":"jammy","libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":true}

File hashes

Hashes for skilly-0.0.24-cp310-abi3-musllinux_1_2_x86_64.whl
Algorithm Hash digest
SHA256 b60e0b9e5dac54db2e3fabb5fa8b0001a21c73a2e4be1f40dd7adb8ed9ab7b77
MD5 050129aad7bede1436b42ec046ed286b
BLAKE2b-256 8ff9ade17076988a094c7aca8e22a2f354532960138b1ae2ecd58c32a4cc2a41

See more details on using hashes here.

File details

Details for the file skilly-0.0.24-cp310-abi3-musllinux_1_2_aarch64.whl.

File metadata

  • Download URL: skilly-0.0.24-cp310-abi3-musllinux_1_2_aarch64.whl
  • Upload date:
  • Size: 3.4 MB
  • Tags: CPython 3.10+, musllinux: musl 1.2+ ARM64
  • Uploaded using Trusted Publishing? No
  • Uploaded via: uv/0.11.20 {"installer":{"name":"uv","version":"0.11.20","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"Ubuntu","version":"22.04","id":"jammy","libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":true}

File hashes

Hashes for skilly-0.0.24-cp310-abi3-musllinux_1_2_aarch64.whl
Algorithm Hash digest
SHA256 35dcf363c6c5001c40be5925f107b97188fc9ce8f4ba563fb6523db74a331b66
MD5 844d247c6fb0c827702ae6a99521f638
BLAKE2b-256 60e07da343125f942ffcae83d974e228fe0d082298de486dd31e76583e18689d

See more details on using hashes here.

File details

Details for the file skilly-0.0.24-cp310-abi3-manylinux_2_17_x86_64.manylinux2014_x86_64.whl.

File metadata

  • Download URL: skilly-0.0.24-cp310-abi3-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
  • Upload date:
  • Size: 3.3 MB
  • Tags: CPython 3.10+, manylinux: glibc 2.17+ x86-64
  • Uploaded using Trusted Publishing? No
  • Uploaded via: uv/0.11.20 {"installer":{"name":"uv","version":"0.11.20","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"Ubuntu","version":"22.04","id":"jammy","libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":true}

File hashes

Hashes for skilly-0.0.24-cp310-abi3-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 550241b68c42062aa9b48baabe2f61b7be3afae49479c38e8b5824571dc0423f
MD5 a56652e2410551d1d77ae60f79960b3a
BLAKE2b-256 82abcceef8963af2b03cab687d8b6cf64f246574226665f86408e52869718348

See more details on using hashes here.

File details

Details for the file skilly-0.0.24-cp310-abi3-manylinux_2_17_aarch64.manylinux2014_aarch64.whl.

File metadata

  • Download URL: skilly-0.0.24-cp310-abi3-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
  • Upload date:
  • Size: 3.3 MB
  • Tags: CPython 3.10+, manylinux: glibc 2.17+ ARM64
  • Uploaded using Trusted Publishing? No
  • Uploaded via: uv/0.11.20 {"installer":{"name":"uv","version":"0.11.20","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"Ubuntu","version":"22.04","id":"jammy","libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":true}

File hashes

Hashes for skilly-0.0.24-cp310-abi3-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
Algorithm Hash digest
SHA256 826d5d73d64f1ffa83a27b31019c35126598f0b94a5095a4ceba990f67a8957c
MD5 ce1bbdae83774b1c037451ae2ee2828c
BLAKE2b-256 7fbfa5de39da928188ebfb2382782e76c8d49dc72809373131d87eece4c5607c

See more details on using hashes here.

File details

Details for the file skilly-0.0.24-cp310-abi3-macosx_11_0_arm64.whl.

File metadata

  • Download URL: skilly-0.0.24-cp310-abi3-macosx_11_0_arm64.whl
  • Upload date:
  • Size: 3.0 MB
  • Tags: CPython 3.10+, macOS 11.0+ ARM64
  • Uploaded using Trusted Publishing? No
  • Uploaded via: uv/0.11.20 {"installer":{"name":"uv","version":"0.11.20","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"Ubuntu","version":"22.04","id":"jammy","libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":true}

File hashes

Hashes for skilly-0.0.24-cp310-abi3-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 6a270abec9d0e80fc974635e85624b576e20442b4724f61735f565ec243d2c8c
MD5 836f14e9c88c00f3802f39ab0826f46a
BLAKE2b-256 ee2d5122c8362aeebebc3512230ce11e042f8f9afd9cdae8d95be3f62a7562e6

See more details on using hashes here.

File details

Details for the file skilly-0.0.24-cp310-abi3-macosx_10_12_x86_64.whl.

File metadata

  • Download URL: skilly-0.0.24-cp310-abi3-macosx_10_12_x86_64.whl
  • Upload date:
  • Size: 3.1 MB
  • Tags: CPython 3.10+, macOS 10.12+ x86-64
  • Uploaded using Trusted Publishing? No
  • Uploaded via: uv/0.11.20 {"installer":{"name":"uv","version":"0.11.20","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"Ubuntu","version":"22.04","id":"jammy","libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":true}

File hashes

Hashes for skilly-0.0.24-cp310-abi3-macosx_10_12_x86_64.whl
Algorithm Hash digest
SHA256 bdd95d09f41da8d79d092f78ab3edefc19bd3738e504bfabc383b5a8fd876390
MD5 8b1b3d3d2bd2c7a81bcb93195c5600e1
BLAKE2b-256 d4e5c30f9d34a939db95a5ea61bfd88d3c68a0234ff123d3a942f0a2387158ed

See more details on using hashes here.

Supported by

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