Skip to main content

uv-installable wrapper for the vercel-labs/skills CLI with an embedded Node runtime

Project description

npx-skills

npx-skills is a uv-installable Python wrapper around the upstream skills CLI. It ships a vendored Node runtime and the published JavaScript CLI payload, then forwards execution to the embedded runtime so users do not need a separate Node install.

Install

uv tool install .
skills --help

The package installs the skills command.

Refresh Vendored Artifacts

The repository includes a vendoring script that copies:

  • the published skills package payload (bin, dist, package.json, docs)
  • the package's runtime node_modules dependencies
  • the current platform's node binary

By default it will use a built package root if you pass --source, or fall back to the newest cached ~/.npm/_npx/*/node_modules/skills install.

uv run python scripts/vendor_upstream.py

Or point it at a specific built package root:

uv run python scripts/vendor_upstream.py --source /path/to/node_modules/skills

If you point --source at the upstream git repo, it must already contain dist/cli.mjs.

To rebuild only the embedded Node runtime from the payload already committed in this repo, point --source at the vendored package root:

uv run python scripts/vendor_upstream.py --source src/npx_skills/vendor/skills

Build

The wheel is intentionally platform-specific because it includes a native node binary.

uv build

Release Automation

GitHub Actions builds one wheel per native runner target:

  • Linux x64 via manylinux_2_28
  • Linux arm64 via manylinux_2_28
  • macOS x64
  • macOS arm64
  • Windows x64
  • Windows arm64

The workflow lives at .github/workflows/wheels.yml. It reuses the committed skills payload, re-vendors the Node runtime for the current runner architecture, runs the test suite, builds wheels with uv (cibuildwheel via uvx on Linux), smoke-tests the built wheel, and uploads wheel artifacts for manual release use.

This project intentionally publishes wheels only. An sdist would not be portable without re-vendoring the embedded Node runtime for the target platform.

Publishing runs through a separate manual workflow at .github/workflows/publish.yml. It invokes the wheel builder in the same workflow run, then publishes from GitHub after all target wheels succeed. The intended entrypoint is the npx-skills-dev helper:

uv run --package npx-skills-dev npx-skills-dev publish-to-pypi

Or via make:

make publish

Use --ref <branch> to dispatch the workflow from a specific branch and --dry-run to build and validate without publishing.

The GitHub publish job is designed for PyPI trusted publishing. Configure the npx-skills project with a trusted publisher for the publish.yml workflow, and optionally gate the pypi environment with required reviewers.

Layout

The vendored runtime is kept under src/npx_skills/vendor/:

vendor/
  manifest.json
  node/<platform>/node
  skills/
    package.json
    bin/cli.mjs
    dist/
    node_modules/

Project details


Download files

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

Source Distributions

No source distribution files available for this release.See tutorial on generating distribution archives.

Built Distributions

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

npx_skills-1.4.8.post1-py3-none-win_arm64.whl (30.1 MB view details)

Uploaded Python 3Windows ARM64

npx_skills-1.4.8.post1-py3-none-win_amd64.whl (33.7 MB view details)

Uploaded Python 3Windows x86-64

npx_skills-1.4.8.post1-py3-none-manylinux_2_28_x86_64.whl (45.5 MB view details)

Uploaded Python 3manylinux: glibc 2.28+ x86-64

npx_skills-1.4.8.post1-py3-none-manylinux_2_28_aarch64.whl (44.7 MB view details)

Uploaded Python 3manylinux: glibc 2.28+ ARM64

npx_skills-1.4.8.post1-py3-none-macosx_15_0_arm64.whl (37.3 MB view details)

Uploaded Python 3macOS 15.0+ ARM64

npx_skills-1.4.8.post1-py3-none-macosx_10_13_universal2.whl (39.0 MB view details)

Uploaded Python 3macOS 10.13+ universal2 (ARM64, x86-64)

File details

Details for the file npx_skills-1.4.8.post1-py3-none-win_arm64.whl.

File metadata

  • Download URL: npx_skills-1.4.8.post1-py3-none-win_arm64.whl
  • Upload date:
  • Size: 30.1 MB
  • Tags: Python 3, Windows ARM64
  • Uploaded using Trusted Publishing? No
  • Uploaded via: uv/0.11.3 {"installer":{"name":"uv","version":"0.11.3","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 npx_skills-1.4.8.post1-py3-none-win_arm64.whl
Algorithm Hash digest
SHA256 f5d6ada0a6aeaa56c6f18f998c8a6610f3ee8819b2c2023b5d06cd606d629622
MD5 6343b7752f73d0a407d2c5ea29a1a7e9
BLAKE2b-256 3007f920a9b2ffe479bf91bd666d3191e29038507dd5e5d1175535f8755979b7

See more details on using hashes here.

File details

Details for the file npx_skills-1.4.8.post1-py3-none-win_amd64.whl.

File metadata

  • Download URL: npx_skills-1.4.8.post1-py3-none-win_amd64.whl
  • Upload date:
  • Size: 33.7 MB
  • Tags: Python 3, Windows x86-64
  • Uploaded using Trusted Publishing? No
  • Uploaded via: uv/0.11.3 {"installer":{"name":"uv","version":"0.11.3","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 npx_skills-1.4.8.post1-py3-none-win_amd64.whl
Algorithm Hash digest
SHA256 40dca30f0b9ccc8de15e077f3ea1cc145a4ca1da5475bc6b85ea77959c4f1956
MD5 2eeb051e3249346b6647bdb9af4fd4f5
BLAKE2b-256 403877beb90773adec7cb08497a714c072827fbdf190157f456a9597e1f3bd08

See more details on using hashes here.

File details

Details for the file npx_skills-1.4.8.post1-py3-none-manylinux_2_28_x86_64.whl.

File metadata

  • Download URL: npx_skills-1.4.8.post1-py3-none-manylinux_2_28_x86_64.whl
  • Upload date:
  • Size: 45.5 MB
  • Tags: Python 3, manylinux: glibc 2.28+ x86-64
  • Uploaded using Trusted Publishing? No
  • Uploaded via: uv/0.11.3 {"installer":{"name":"uv","version":"0.11.3","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 npx_skills-1.4.8.post1-py3-none-manylinux_2_28_x86_64.whl
Algorithm Hash digest
SHA256 1fcd5f1a326b89a02933b654705c082bb246cf5705e6a09eb873b394b93babc7
MD5 ec3704cce912552d84dc04ae275a455f
BLAKE2b-256 8c0d0560cf49f618e2bd027cdf99d152fc2ff66d3b28fbebf41efa3a17f0a1b8

See more details on using hashes here.

File details

Details for the file npx_skills-1.4.8.post1-py3-none-manylinux_2_28_aarch64.whl.

File metadata

  • Download URL: npx_skills-1.4.8.post1-py3-none-manylinux_2_28_aarch64.whl
  • Upload date:
  • Size: 44.7 MB
  • Tags: Python 3, manylinux: glibc 2.28+ ARM64
  • Uploaded using Trusted Publishing? No
  • Uploaded via: uv/0.11.3 {"installer":{"name":"uv","version":"0.11.3","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 npx_skills-1.4.8.post1-py3-none-manylinux_2_28_aarch64.whl
Algorithm Hash digest
SHA256 0834e781268750b8c45909cd0d9a0a97f4b3f7c6b16691a6b2c1f946d33919f8
MD5 135dd9bb7bc4ddee351ff81153095381
BLAKE2b-256 46f0a3be41d6fafd94e601b0e850629d0d8bdbc012a7e50dbfec3c09b995efe5

See more details on using hashes here.

File details

Details for the file npx_skills-1.4.8.post1-py3-none-macosx_15_0_arm64.whl.

File metadata

  • Download URL: npx_skills-1.4.8.post1-py3-none-macosx_15_0_arm64.whl
  • Upload date:
  • Size: 37.3 MB
  • Tags: Python 3, macOS 15.0+ ARM64
  • Uploaded using Trusted Publishing? No
  • Uploaded via: uv/0.11.3 {"installer":{"name":"uv","version":"0.11.3","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 npx_skills-1.4.8.post1-py3-none-macosx_15_0_arm64.whl
Algorithm Hash digest
SHA256 99a01891f7d268d0c85fde8814e855fe039b6930beaea3e7c85a29802fa16d2c
MD5 60433734954d1c2aa9a287893fb7c034
BLAKE2b-256 34c99d24172c046f3e63a96636909d5882c8d8e4eec4d79bbf0ee38e71c72665

See more details on using hashes here.

File details

Details for the file npx_skills-1.4.8.post1-py3-none-macosx_10_13_universal2.whl.

File metadata

  • Download URL: npx_skills-1.4.8.post1-py3-none-macosx_10_13_universal2.whl
  • Upload date:
  • Size: 39.0 MB
  • Tags: Python 3, macOS 10.13+ universal2 (ARM64, x86-64)
  • Uploaded using Trusted Publishing? No
  • Uploaded via: uv/0.11.3 {"installer":{"name":"uv","version":"0.11.3","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 npx_skills-1.4.8.post1-py3-none-macosx_10_13_universal2.whl
Algorithm Hash digest
SHA256 4bc2ae1db7be6e8712db4ccec8790fb1230db9deb28d214aa2c68929ed871a4a
MD5 58ae5e2769a398083bf8c117eb45f102
BLAKE2b-256 60c4c4b7c09b97c74e96cde7adb6005c2f96e3c273b1414ae4db0cc7b934886b

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