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

Or install the CLI and Python package:

pip install skilly

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

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.21.tar.gz (108.2 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.21-cp310-abi3-win_amd64.whl (2.7 MB view details)

Uploaded CPython 3.10+Windows x86-64

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

Uploaded CPython 3.10+Windows x86

skilly-0.0.21-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.21-cp310-abi3-musllinux_1_2_aarch64.whl (3.4 MB view details)

Uploaded CPython 3.10+musllinux: musl 1.2+ ARM64

skilly-0.0.21-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.21-cp310-abi3-manylinux_2_17_aarch64.manylinux2014_aarch64.whl (3.2 MB view details)

Uploaded CPython 3.10+manylinux: glibc 2.17+ ARM64

skilly-0.0.21-cp310-abi3-macosx_11_0_arm64.whl (2.9 MB view details)

Uploaded CPython 3.10+macOS 11.0+ ARM64

skilly-0.0.21-cp310-abi3-macosx_10_12_x86_64.whl (3.0 MB view details)

Uploaded CPython 3.10+macOS 10.12+ x86-64

File details

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

File metadata

  • Download URL: skilly-0.0.21.tar.gz
  • Upload date:
  • Size: 108.2 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: uv/0.11.19 {"installer":{"name":"uv","version":"0.11.19","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.21.tar.gz
Algorithm Hash digest
SHA256 62d86da6d9e77726281d67a1e272e5b6af7b6f5f287f9554d94a6b2581156b24
MD5 0cced36af571b7e963c00a40b093c357
BLAKE2b-256 c8e8b1468a7aa3dac831e18d66aca3d0f5cc04fe4692432587e06b326747bd43

See more details on using hashes here.

File details

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

File metadata

  • Download URL: skilly-0.0.21-cp310-abi3-win_amd64.whl
  • Upload date:
  • Size: 2.7 MB
  • Tags: CPython 3.10+, Windows x86-64
  • Uploaded using Trusted Publishing? No
  • Uploaded via: uv/0.11.19 {"installer":{"name":"uv","version":"0.11.19","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.21-cp310-abi3-win_amd64.whl
Algorithm Hash digest
SHA256 a17389cfea9fbe539ea3660916bc9490b2e0a09ad27884afea796a126cd1f48f
MD5 b34b2dadb5045d73f20cdf12c48821fa
BLAKE2b-256 73ae4da0b61151859b7e5056ea632f4fa0978722e9c15085566393dbbd2435c7

See more details on using hashes here.

File details

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

File metadata

  • Download URL: skilly-0.0.21-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.19 {"installer":{"name":"uv","version":"0.11.19","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.21-cp310-abi3-win32.whl
Algorithm Hash digest
SHA256 8925606a8dc27f1579e391f2c3ecb9f433dec0c8089bdb0ec132c2b97040eebf
MD5 56a966d3bc773ba2de6b4171fd4da7a4
BLAKE2b-256 edfbc941db27141e8f1ef7f460b0905cc5c72473f66c628bb902e991f8dfcc41

See more details on using hashes here.

File details

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

File metadata

  • Download URL: skilly-0.0.21-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.19 {"installer":{"name":"uv","version":"0.11.19","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.21-cp310-abi3-musllinux_1_2_x86_64.whl
Algorithm Hash digest
SHA256 2eabe05f966a00f223568be510b00c546e5ccfdf0c48bd0650af9ff254523905
MD5 a142e1392333e1390d869e9effd2407f
BLAKE2b-256 cc44c6bcc6c225f5c0fd43f8ed52f3f02b9534036a6f9d3e1eb5050931f2ae89

See more details on using hashes here.

File details

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

File metadata

  • Download URL: skilly-0.0.21-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.19 {"installer":{"name":"uv","version":"0.11.19","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.21-cp310-abi3-musllinux_1_2_aarch64.whl
Algorithm Hash digest
SHA256 67a8cfd4cf750039ec4e19d5ceb2cb9c227b724514dca68c1beee18257410ea9
MD5 7380c1ff22e60f8b9e73ef652433be51
BLAKE2b-256 0dbc24684e021d97839d551e4bb773cb4c8bc2510bae2542fec09292e444bddb

See more details on using hashes here.

File details

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

File metadata

  • Download URL: skilly-0.0.21-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.19 {"installer":{"name":"uv","version":"0.11.19","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.21-cp310-abi3-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 13778fc8f41775c1ae22e0f7c41ac5117622afbf0afba8c340288d7c5375b0e6
MD5 5dc05e485717f74ee966ca334884ee74
BLAKE2b-256 1e801bc8a70a62bd19b1a9252f778cf51975f4b8e8fbc6fdc7ea44f745122e3d

See more details on using hashes here.

File details

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

File metadata

  • Download URL: skilly-0.0.21-cp310-abi3-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
  • Upload date:
  • Size: 3.2 MB
  • Tags: CPython 3.10+, manylinux: glibc 2.17+ ARM64
  • Uploaded using Trusted Publishing? No
  • Uploaded via: uv/0.11.19 {"installer":{"name":"uv","version":"0.11.19","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.21-cp310-abi3-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
Algorithm Hash digest
SHA256 39a4648208e505caf298414d83d2299bda77df8cbf1a12d8b9c5a9a834da503f
MD5 68d7cdaedcb980b5abf5688269de876e
BLAKE2b-256 ecef577743941e7051a51ab446e54aed9d6064816fb03bf296e84a365b32b662

See more details on using hashes here.

File details

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

File metadata

  • Download URL: skilly-0.0.21-cp310-abi3-macosx_11_0_arm64.whl
  • Upload date:
  • Size: 2.9 MB
  • Tags: CPython 3.10+, macOS 11.0+ ARM64
  • Uploaded using Trusted Publishing? No
  • Uploaded via: uv/0.11.19 {"installer":{"name":"uv","version":"0.11.19","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.21-cp310-abi3-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 bc1768013d0479ea563a46ef0925679b277407e4ec4b73ef4782dceb28201e6b
MD5 7451fed8f16ec10123d938bc55c5871d
BLAKE2b-256 191fa9b90a20d63197ca289e3dccbd51cb666166b763688158b2b7cc71712bb8

See more details on using hashes here.

File details

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

File metadata

  • Download URL: skilly-0.0.21-cp310-abi3-macosx_10_12_x86_64.whl
  • Upload date:
  • Size: 3.0 MB
  • Tags: CPython 3.10+, macOS 10.12+ x86-64
  • Uploaded using Trusted Publishing? No
  • Uploaded via: uv/0.11.19 {"installer":{"name":"uv","version":"0.11.19","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.21-cp310-abi3-macosx_10_12_x86_64.whl
Algorithm Hash digest
SHA256 30b987826f01c89ec2151af0a2dd0a1b25cecf71cfdfd3910fa6254ac81f46eb
MD5 7f564cfd3a4dba6711a0d6c85ceada6a
BLAKE2b-256 465b32fb2c53b3b71e62adc5c93f6bcdca3570ee62ee2c6794ef30ce35e1819e

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