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 same command names as the npm package:

  • skills
  • add-skill

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-py3-none-win_arm64.whl (30.1 MB view details)

Uploaded Python 3Windows ARM64

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

Uploaded Python 3Windows x86-64

npx_skills-1.4.8-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-py3-none-manylinux_2_28_aarch64.whl (44.7 MB view details)

Uploaded Python 3manylinux: glibc 2.28+ ARM64

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

Uploaded Python 3macOS 15.0+ ARM64

npx_skills-1.4.8-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-py3-none-win_arm64.whl.

File metadata

  • Download URL: npx_skills-1.4.8-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-py3-none-win_arm64.whl
Algorithm Hash digest
SHA256 e52afe6ab86037b35673f01cc5983391b4716d7c6ba1ad2a8a789a76ecb9adfd
MD5 87cb4093d2c3734f7a16577fae634ee6
BLAKE2b-256 98963c5c0297e69948330feabe366cd43f880b1494cb95723cba5c3f747ffc26

See more details on using hashes here.

File details

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

File metadata

  • Download URL: npx_skills-1.4.8-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-py3-none-win_amd64.whl
Algorithm Hash digest
SHA256 ba003732e8db28efdb9be7c18c1e8bcb9f4c482bda2a96c14f2999d2d4d16427
MD5 b9545ca5885f4d9a97e2fcaf4bf1c2a3
BLAKE2b-256 003fb1d4e4d447895a60369315a7f51b5ab7ae5cf6d10a2862c24a5d07c09890

See more details on using hashes here.

File details

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

File metadata

  • Download URL: npx_skills-1.4.8-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-py3-none-manylinux_2_28_x86_64.whl
Algorithm Hash digest
SHA256 a935ae268dda31583aeb736f929d39f2558ffe951450a71e92148a12c8fe4704
MD5 d12a73d99ea85ce0312284b4f19ff56e
BLAKE2b-256 115988b763781a6e0681ec2d41986336ae82ffd73a3532831a8c8d2d2ef9b16d

See more details on using hashes here.

File details

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

File metadata

  • Download URL: npx_skills-1.4.8-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-py3-none-manylinux_2_28_aarch64.whl
Algorithm Hash digest
SHA256 d3aa8c1b256d3f46959c472a12ac4f412db5c714a203e9f7c673cf04a339660a
MD5 a54ab83f86da07fa23dba03a9ba8d83c
BLAKE2b-256 61ac0ba571e90ccd0684fbe53970e694c64c7df64a5be25e383eb3fbf7215890

See more details on using hashes here.

File details

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

File metadata

  • Download URL: npx_skills-1.4.8-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-py3-none-macosx_15_0_arm64.whl
Algorithm Hash digest
SHA256 6fde0a700bb12de63c44191c04af952bbe7335793730c5698effd307d21799b0
MD5 34465927431b45b5902fef4b92b46b93
BLAKE2b-256 a2cfd57b552044fcf9802fc237a4c4425e8cea74e101414080f23e10e5ce0510

See more details on using hashes here.

File details

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

File metadata

  • Download URL: npx_skills-1.4.8-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-py3-none-macosx_10_13_universal2.whl
Algorithm Hash digest
SHA256 b12a27cef4eb23cd9b9a770c0a15c6c1292bfc8cfa39e84b0f3b0ba90550e453
MD5 54229f8f032892083863c6c20eb4e7bb
BLAKE2b-256 e52c4fcbdcd51ea3c2bb915349520b135aad6f05650191696142e140fd3749d1

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