Skip to main content

Publisher CLI for evaluating and publishing Aptitude skills

Project description

Aptitude Publisher

PyPI GitHub Python uv CLI

Review-first CLI for validating and publishing Aptitude skills.


Install

Install the published package as a CLI tool:

uv tool install aptitude-publisher
aptitude-publisher --help

Run it without a persistent install:

uvx aptitude-publisher --help

The package installs this console command:

  • aptitude-publisher

Configure Registry Access

Publisher uploads require a registry publish token:

export APTITUDE_PUBLISH_TOKEN=publisher-token

The default registry URL is http://127.0.0.1:8000. Override it for production or self-hosted registries:

export APTITUDE_REGISTRY_URL=https://api.aptitude-registry.dev

Relationship and existing-skill checks can also use a read token:

export APTITUDE_READ_TOKEN=reader-token

Usage

Launch the guided publisher wizard:

aptitude-publisher

Inspect a skill folder before publishing:

aptitude-publisher inspect /path/to/skill

Run the full local flow and stop before upload:

aptitude-publisher publish /path/to/skill --dry-run

Publish a skill to the configured registry:

aptitude-publisher publish /path/to/skill --intent create_skill

Upload multiple skills concurrently with an admin-scoped registry token:

export APTITUDE_ADMIN_TOKEN=admin-token
aptitude-publisher admin-batch-upload /path/to/skill-a /path/to/skill-b --intent create_skill

Batch upload runs local scans and uploads in the background with a visible progress bar, then prints only a final summary. It defaults to --scan-profile fast, --trust-tier verified, and --artifact-origin verified; pass --scan-profile full for deeper pre-upload checks. When an admin token is set, the guided wizard also offers a batch-upload path that accepts one directory containing skill folders and starts immediately with those defaults.

Publish a new version of an existing skill:

aptitude-publisher publish /path/to/skill --intent publish_version

Override identity fields when needed:

aptitude-publisher publish /path/to/skill \
  --slug my-skill \
  --version 1.0.0 \
  --publisher-identity my-team

Skill Folder Contract

A publish-ready source is a local skill folder with a required SKILL.md file. The publisher reads the SKILL.md frontmatter for registry identity, version, metadata, schemas, and relationships.

Generated files under .publisher_artifacts/ are local trace artifacts. They are not source files to author, and they are excluded from the immutable upload bundle.


What Works Today

  • guided inspect, publish, and admin batch-upload wizard
  • skill-root discovery from local folders or explicit paths
  • registry identity derivation from SKILL.md frontmatter
  • create-skill and publish-version intent handling
  • relationship normalization and registry existence alerts
  • metadata extraction for public skill facts and generated estimates
  • SKILL.md contract validation
  • LLM Guard security scanning over skill text and companion files
  • Upskill-backed performance evaluation when configured
  • weighted publish ranking and block/allow decisions
  • deterministic tar.zst bundle creation
  • registry upload with multipart artifact delivery
  • admin batch upload with summary-only output

Source

Source and contributor documentation live in the project repository:

https://github.com/aptitude-stack/publisher

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

aptitude_publisher-0.1.6.tar.gz (61.9 kB view details)

Uploaded Source

Built Distribution

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

aptitude_publisher-0.1.6-py3-none-any.whl (75.8 kB view details)

Uploaded Python 3

File details

Details for the file aptitude_publisher-0.1.6.tar.gz.

File metadata

  • Download URL: aptitude_publisher-0.1.6.tar.gz
  • Upload date:
  • Size: 61.9 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: uv/0.11.8 {"installer":{"name":"uv","version":"0.11.8","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"macOS","version":null,"id":null,"libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":null}

File hashes

Hashes for aptitude_publisher-0.1.6.tar.gz
Algorithm Hash digest
SHA256 b730c6a75bd6b831e06905a6c9995708786e7642dc608c13db1f45880ce5a1d4
MD5 3d4568a07e92e218699da8961cdbcb0f
BLAKE2b-256 a6871a527adb0fcfca088c82a6bd1c8e6b1ab1b8ee4f69dba6c8331fcdbf29ee

See more details on using hashes here.

File details

Details for the file aptitude_publisher-0.1.6-py3-none-any.whl.

File metadata

  • Download URL: aptitude_publisher-0.1.6-py3-none-any.whl
  • Upload date:
  • Size: 75.8 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: uv/0.11.8 {"installer":{"name":"uv","version":"0.11.8","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"macOS","version":null,"id":null,"libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":null}

File hashes

Hashes for aptitude_publisher-0.1.6-py3-none-any.whl
Algorithm Hash digest
SHA256 cd37dd48c63bd8295bc4314ccf33a8b8d4f2a3c861703f7fdd4cdd8d3eabc6f5
MD5 4f8cbf316631d00262b922c74d32e492
BLAKE2b-256 e6f5a29579b76030c20f39c415dd93e736049f36aefd323a88dc18fc4313ed8a

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