Skip to main content

A minimal CLI for managing AI agent skills

Project description

trivium

A CLI for installing, updating, and scaffolding AI agent skills that follow the Agent Skills Specification.

trv validates skill frontmatter against the spec and applies a small compatibility normalization for common YAML shorthands. In particular, metadata is specified as a string-to-string map, so values like true, false, null, or numbers are accepted on install/update, converted to strings, and reported with a conversion warning.

demo

Requirements

  • Python >=3.13
  • uv

Installation

Install globally with uv:

uv tool install skill-trivium

Or use directly with uvx:

uvx --from skill-trivium trv

Or add an alias for convenience:

# For bash
echo "alias trv='uvx --from skill-trivium trv'" >> ~/.bashrc
# For zsh
echo "alias trv='uvx --from skill-trivium trv'" >> ~/.zshrc

The command is trv after tool installation.

Getting Help

Every command and subcommand in trv comes with a built-in help menu. You can append --help or -h to any command to see the full list of arguments, options, and short flag abbreviations.

trv --help
trv add -h
trv init --help

Quick Start

# Install skills from a git repository
trv add https://github.com/example/skills.git --all

# Install specific skills
trv add https://github.com/example/skills.git --skills pdf-processing algorithmic-art

# Capture the current runtime as an environment
trv env create office

# Activate a named environment
trv env activate office

# List installed skills
trv list

# Update installed skills
trv update

# Create a new skill scaffold
trv init my-skill

By default, trv uses project mode in the current directory. If you are inside a git repository, the project root is the git root. If you are not in a git repository, the project root is simply your current working directory. Use --global or -g when you explicitly want ~/.agents/skills/.

Commands

add - Install skills

# Install all skills from repo (long or short flags)
trv add <url> --all
trv add <url> -a

# Install specific skills
trv add <url> --skills name1 name2
trv add <url> -s name1 name2

# Use explicit skills directory
trv add <url> -a --path skills/
trv add <url> -a -p skills/

# Preview without installing
trv add <url> -a --dry-run
trv add <url> -a -n

# Install to ~/.agents/
trv add <url> -a --global
trv add <url> -a -g

Note: Options can be placed before or after the URL. All these are valid:

  • trv add https://example.com/repo.git --all
  • trv add --all https://example.com/repo.git

update - Update installed skills

trv update                 # Update all skills
trv update skill1 skill2   # Update specific skills
trv update -n              # Preview without updating (--dry-run)
trv update -g              # Update global skills (--global)

list - List installed skills

trv list          # Show skills table
trv list --json   # Output as JSON

info - Show skill details

trv info skill-name

remove - Remove skills

trv remove skill1 skill2   # Remove specific skills
trv remove -a              # Remove all skills (--all)
trv remove -a -y           # Skip confirmation (--yes)

init - Create a new skill

trv init my-skill           # Minimal scaffold
trv init my-skill --full    # Include scripts/, references/, assets/

env - Manage named environments

trv env list
trv env create office
trv env create office --shared
trv env create scratch --empty
trv env activate office
trv env info
trv env deactivate
trv env remove office

Project vs Global Mode

Project mode (default):

  • Skills install to .agents/skills/
  • Metadata stored in skills.lock
  • If you are in a git repo, the git root is used
  • If you are not in a git repo, the current working directory is used

Global mode (with --global):

  • Skills install to ~/.agents/skills/
  • Available across all projects

What is skills.lock?

skills.lock records where each skill came from:

  • Source repository URL
  • Full commit hash
  • Per-skill content hash
  • Skill metadata (description, license, compatibility)

This enables trv update to fetch newer versions from the original sources.

Environments

Named environments are optional. If you do not use trv env, trv keeps the current behavior and works directly with the active runtime in .agents/skills/ and skills.lock.

  • trv env create <name> captures the current runtime by default
  • --empty creates an empty environment
  • --shared also writes a shareable definition to .agents/environments/<name>.lock
  • trv env activate <name> swaps the active runtime to that environment
  • if only .agents/environments/<name>.lock exists, trv env activate <name> materializes a local snapshot from that shared definition first
  • trv env deactivate restores the previous non-environment runtime
  • trv env remove <name> removes the local snapshot and shared definition, and auto-deactivates it first if needed

Local environment snapshots are stored under ~/.trivium/. Shared environment definitions are only available in project mode.

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

skill_trivium-0.2.1.tar.gz (24.7 kB view details)

Uploaded Source

Built Distribution

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

skill_trivium-0.2.1-py3-none-any.whl (30.4 kB view details)

Uploaded Python 3

File details

Details for the file skill_trivium-0.2.1.tar.gz.

File metadata

  • Download URL: skill_trivium-0.2.1.tar.gz
  • Upload date:
  • Size: 24.7 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: uv/0.11.7 {"installer":{"name":"uv","version":"0.11.7","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 skill_trivium-0.2.1.tar.gz
Algorithm Hash digest
SHA256 4d0a466065009746fa9f5e0071ba4a4d75b65a3465e06807a02d0d4a002de51e
MD5 ae4fa59d8ff7f92f572bee118b8e679f
BLAKE2b-256 3f93c190358b468b22807125e7c917bb04823c9017f52394fd3c6f67a9aabcfe

See more details on using hashes here.

File details

Details for the file skill_trivium-0.2.1-py3-none-any.whl.

File metadata

  • Download URL: skill_trivium-0.2.1-py3-none-any.whl
  • Upload date:
  • Size: 30.4 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: uv/0.11.7 {"installer":{"name":"uv","version":"0.11.7","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 skill_trivium-0.2.1-py3-none-any.whl
Algorithm Hash digest
SHA256 7616600e391530f9027556b7d46c9637672603c51c6dea64a4099e3b5ab511de
MD5 371a4e26e0830d0107ac5bf885a9d07a
BLAKE2b-256 1ad4b02900bcda9fc060a1f3846be0ef0ddb4eb28f104b6b0cf49e19b09fb6aa

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