Skip to main content

skillnav

Official CLI client for the Skill management platform (SkillNavigator).

Specification: docs/cli-design.md in the platform repository.

Install

pip install skillnav -i https://mirrors.aliyun.com/pypi/simple/
# or from this repo:
pip install -e "cli-py[dev]"

Usage

skillnav --version
skillnav config test
# Create an API key in the Web UI (Account → API Keys), then:
skillnav login --api-key sk_...
skillnav search demo
skillnav info demo-skill
skillnav publish examples/demo-skill --dry-run
skillnav download demo-skill -o /tmp/demo.zip
skillnav update              # upgrade to the latest release
skillnav update --check      # check only, do not install

Global flags: --registry, --profile, --json, --no-input.

Configuration: ~/.config/skillnav/config.json (multi-profile; stores apiKey per profile).

Environment: SKILLNAV_REGISTRY, SKILLNAV_PROFILE, SKILLNAV_API_KEY (legacy alias: SKILLNAV_TOKEN).

Upgrade and version check

Release lookups try PyPI first (pypi.org/pypi/skillnav/json) and fall back to the Aliyun simple index when PyPI times out or fails. Explicit skillnav update / update --check wait up to 10s per source; if both fail, the error lists each source's failure.

On top of that, an interactive command performs a daily best-effort check and prints a one-line hint to stderr when a newer release exists:

Update available: 0.4.8 -> 0.4.9 (run: skillnav update)
  • The hint is interactive-only and plain ASCII (same wording as update --check): it is skipped for --json and whenever stderr is not a TTY — pipes, CI jobs and agent harnesses stay silent, so machine-read output is never polluted.

  • The result is cached in ~/.config/skillnav/update-check.json; the network is touched at most once per 24h (a failed lookup also backs off for 24h, so offline/air-gapped hosts wait at most once a day).

  • A given release is announced at most once, ever. The hint is driven by a new release appearing, not by time: staying on an older version goes permanently silent for that version, and only a newer latest (0.4.9 → 0.5.0) announces again. So you are never nagged about the same version day after day.

  • A missed hint is never fatal: skillnav --version prints the same hint to stderr (its stdout stays a single parseable version line), and skillnav update / update --check always perform a real lookup and show the result.

  • The daily lookup uses a short timeout (default 3s, SKILLNAV_UPDATE_CHECK_TIMEOUT seconds to change).

  • The hint goes to stderr only — --json output on stdout stays clean.

  • Disable entirely with SKILLNAV_UPDATE_CHECK=off; editable installs (development checkouts) skip the check automatically.

  • The check only notifies; upgrades stay explicit (skillnav update), which handles pip / pipx installs and refuses editable installs.

  • The package version has a single source of truth: skillnav/__init__.py __version__ (read by pyproject.toml via a dynamic attr), so the wheel and the CLI can never disagree.

Test

Requires a running API at http://127.0.0.1:3000 (npm run dev:api):

pip install -e "cli-py[dev]"
npm run skillnav:test

Unit tests only (no API):

pytest tests/skillnav -v --ignore=tests/skillnav/test_integration.py

License

Apache-2.0

Metadata

Release files for skillnav 0.4.9

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for skillnav 0.4.9
File Size Uploaded Provenance Actions
skillnav-0.4.9.tar.gz 38.4 kB With provenance Details for skillnav-0.4.9.tar.gz

Built distribution (wheel)

Table of built distributions (wheels) for skillnav 0.4.9
File Interpreter ABI Platform Actions
skillnav-0.4.9-py3-none-any.whl Python 3 none any Details for skillnav-0.4.9-py3-none-any.whl

Total release size: 80.3 kB

Release files / skillnav-0.4.9.tar.gz

Download URL skillnav-0.4.9.tar.gz
Size 38.4 kB
Tags Source
SHA-256 checksum
How to use checksums
64a2304365c20d050bb12d5463d5bf2ef4a453b02ef4e500208bb179317a7c9e
BLAKE2b-256 checksum
How to use checksums
fb1f4491a2cf8aa0048661cd58548d0bea7ecc4993f51c6a18fb686046527ee1
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.14

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Sep 15, 2026.

Transparency log

Release files / skillnav-0.4.9-py3-none-any.whl

Download URL skillnav-0.4.9-py3-none-any.whl
Size 41.8 kB
Tags Python 3
SHA-256 checksum
How to use checksums
4534f1ca93fa925605f85b8434dd216154ef9ea564d5ca19b6d7778530a4c8bd
BLAKE2b-256 checksum
How to use checksums
4acb900befbaa4f77e051dcc89d9f5d2b888c0f1dad5595bc99015f2c7f123de
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.14

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Sep 15, 2026.

Transparency log

Security for skillnav 0.4.9

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

Full provenance

Both files in this release have been uploaded with provenance metadata.

Select from 2 files

Attestation for skillnav-0.4.9.tar.gz

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Sep 15, 2026.

Transparency log

A note on package security

PyPI is a repository for distributing packages, not a service for auditing them. While third-party security researchers and our staff do their best to detect and remove malicious packages, PyPI cannot guarantee the quality, security or suitability of any given package.

To learn more about protecting yourself from malicious actors, visit our package security documentation.

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page