Skip to main content

cuga-skills

Curated skills for CUGA agents, plus a CLI that installs them into .cuga/skills.

uvx cuga-skills add            # pick from the catalog interactively
uvx cuga-skills list           # see what's available and what's installed

CUGA discovers skills from .cuga/skills/**/SKILL.md by default, so an installed skill is available the next time the agent starts — no config change needed.

Commands

Command What it does
cuga-skills list [QUERY] Show the catalog, marking installed / modified / update available
cuga-skills add [NAMES...] Install skills. With no names, opens a multi-select picker
cuga-skills update [NAMES...] Re-install. With no names, updates everything installed
cuga-skills remove NAME Delete an installed skill

Options: --dir PATH to install somewhere other than ./.cuga/skills, -g/--global for ~/.config/cuga/skills, --ref REF to install from a specific git ref of this repo, --force to overwrite.

Installed skills are recorded in .cuga/skills-lock.json (next to the install directory), including the content hash of each skill so list can tell you when a skill was changed locally or updated upstream.

Catalog

Skill What it does
hello-world Smallest valid skill — checks that skill loading and code execution work
csv-summary Profiles a CSV: column types, missing values, ranges, frequent values
slide-outline Turns a markdown outline into a .pptx

Contributing a skill

Open a PR adding skills/<name>/SKILL.md. That is the only publishing path — there is no registry service and no account to create.

skills/my-skill/
  SKILL.md          # required
  scripts/          # optional companion files, copied as-is

SKILL.md starts with YAML frontmatter:

---
name: my-skill              # must match the directory name
description: Use when ...   # shown in the catalog listing; say when to use it
requirements:               # optional; CUGA installs these in its sandbox
  - python-pptx
tags:                       # optional
  - documents
---

# My skill

Instructions for the agent...

Then regenerate the index and run the tests:

uv sync
uv run cuga-skills build-index
uv run pytest

CI re-runs build-index --check, so a PR with a stale skills/index.json fails.

What makes a good skill here

This catalog is for end-user productivity — documents, data, research, reporting. Skills for building CUGA agents (adding tools, authoring policies, debugging trajectories) belong in cuga-harness-kit instead.

A useful description says when to use the skill, not what it is: reviewers use that line to decide whether the agent will pick the skill up at the right moment.

How installation works

  1. Fetch skills/index.json from this repo (cached for an hour under ~/.cache/cuga-skills).
  2. Download the repo tarball for --ref and extract only the requested skill folders.
  3. Verify each folder's content hash against the index; a mismatch aborts before anything is written.
  4. Copy into the target directory and record it in skills-lock.json.

No server, no auth. If GitHub is unreachable, the CLI falls back to the catalog copy bundled in the installed wheel.

Releasing the CLI

Bump version in pyproject.toml, tag vX.Y.Z, push the tag — release.yml builds with uv build and publishes via PyPI trusted publishing. Adding or editing a skill needs no release: the CLI fetches skills from the git ref at install time.

License

Apache-2.0

Download files

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

Source Distribution

cuga_skills-0.1.0.tar.gz (13.3 kB view details)

Uploaded Source

Built Distribution

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

cuga_skills-0.1.0-py3-none-any.whl (15.4 kB view details)

Uploaded Python 3

File details

Details for the file cuga_skills-0.1.0.tar.gz.

File metadata

  • Download URL: cuga_skills-0.1.0.tar.gz
  • Upload date:
  • Size: 13.3 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: uv/0.12.0 {"installer":{"name":"uv","version":"0.12.0","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 cuga_skills-0.1.0.tar.gz
Algorithm Hash digest
SHA256 12b26a9a0f840558dc1a43e6d2cd4b9f98a961f7b115cd249e1841220908df12
MD5 b7dc19000d4560ae1cacd71786b7ea96
BLAKE2b-256 8568d5c1b06dfe7542d998d1403fe61b6e55e3c728a6eabe07efa9380829e81f

See more details on using hashes here.

File details

Details for the file cuga_skills-0.1.0-py3-none-any.whl.

File metadata

  • Download URL: cuga_skills-0.1.0-py3-none-any.whl
  • Upload date:
  • Size: 15.4 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: uv/0.12.0 {"installer":{"name":"uv","version":"0.12.0","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 cuga_skills-0.1.0-py3-none-any.whl
Algorithm Hash digest
SHA256 d037146fd9eb64be736f21372ef114c52ebd98f14e283a9fab5ffb348fe65e9a
MD5 6c9585458c74b61206dc02233f3470cf
BLAKE2b-256 feab9d36f8447e4aa469e4d62328b7fd300460cceb3c6f174d102a52d862430e

See more details on using hashes here.

Release history Release notifications | RSS feed

This release

0.1.0 This release

2 files

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