Metadata-Version: 2.4
Name: skill-trivium
Version: 1.0.0
Summary: A minimal CLI for managing AI agent skills
Author: pesto
Author-email: pesto <pesto@sardella.cloud>
License-Expression: Apache-2.0
License-File: LICENSE
Classifier: Environment :: Console
Classifier: Intended Audience :: Developers
Classifier: Operating System :: OS Independent
Classifier: Programming Language :: Python :: 3
Classifier: Programming Language :: Python :: 3.13
Classifier: Topic :: Scientific/Engineering :: Artificial Intelligence
Classifier: Topic :: System :: Installation/Setup
Requires-Dist: pyyaml>=6.0.3,<7.0.0
Requires-Dist: questionary>=2.1.1,<3.0.0
Requires-Dist: rich>=14.3.4,<15.0.0
Requires-Dist: tomli-w>=1.2.0,<2.0.0
Requires-Dist: typer>=0.24.1,<0.25.0
Requires-Python: >=3.13
Project-URL: Homepage, https://github.com/AlapinEnjoyer/trivium
Project-URL: Repository, https://github.com/AlapinEnjoyer/trivium
Project-URL: Issues, https://github.com/AlapinEnjoyer/trivium/issues
Description-Content-Type: text/markdown

<h1 align="center">Trivium</h1>

<p align="center">
  <img src="trivium.svg" alt="Trivium logo" width="240">
</p>

<p align="center">
  Install and manage <a href="https://agentskills.io">Agent Skills</a> from Git repositories.
</p>

<p align="center">
  <a href="https://github.com/AlapinEnjoyer/trivium/actions/workflows/tests.yml">
    <img src="https://github.com/AlapinEnjoyer/trivium/actions/workflows/tests.yml/badge.svg" alt="Tests">
  </a>
  <a href="https://pypi.org/project/skill-trivium/">
    <img src="https://img.shields.io/pypi/v/skill-trivium" alt="PyPI">
  </a>
  <img src="https://img.shields.io/badge/python-3.13%2B-blue" alt="Python 3.13+">
  <a href="LICENSE">
    <img src="https://img.shields.io/badge/license-Apache--2.0-blue" alt="Apache-2.0">
  </a>
</p>

`trivium` pins installed skills to exact Git commits, records their state in a
lockfile, and lets you save and switch between named skill environments. It
manages skill directories on disk without coupling your setup to a specific
agent runtime or framework.

![Demo of installing Agent Skills with trivium](demo.gif)

## Why trivium?

* **Pinned Git sources:** Install skills from exact commits for predictable,
  reproducible setups.
* **Lockfile tracking:** Record installed skills and their source metadata in
  `skills.lock`.
* **Project-local or global installs:** Manage skills for one project or for
  your user account.
* **Safe updates:** Preview add and update operations with dry runs.
* **Named environments:** Save and switch between repeatable skill
  configurations.
* **Filesystem safety:** Validate lockfiles, block unsafe paths, and use atomic
  writes.

## Install

Install trivium with [`uv`](https://docs.astral.sh/uv/):

```bash
uv tool install skill-trivium
```

Or run it without installing:

```bash
uvx --from skill-trivium trv --help
```

## Quick start

From the root of your project, install every skill from a Git repository:

```bash
trv add https://github.com/example/skills.git --all
```

Install selected skills:

```bash
trv add https://github.com/example/skills.git \
  --skills pdf-processing algorithmic-art
```

Inspect the current installation:

```bash
trv list
trv info skill-name
```

Preview and apply updates:

```bash
trv update --dry-run
trv update
```

Save and switch between named skill environments:

```bash
trv env create focused-work
trv env list
trv env activate focused-work
```

By default, project-local skills are installed under `.agents/skills/` and
recorded in `skills.lock` at the project root.

Commit `skills.lock` to version control when you want collaborators and CI
environments to reproduce the same skill configuration.

Use `--global` to manage user-wide skills under `~/.agents/skills/`.

Target a different agent directory with `--dir`, and move an existing install
with `trv move`:

```bash
trv add https://github.com/example/skills.git --all --dir .claude
trv move .cursor
```

The choice is recorded in `skills.lock`, so later commands reuse it without the
flag. Set `TRIVIUM_AGENT_DIR` to change the default for new installs.

Remove individual skills or clear the installation:

```bash
trv remove skill-name
trv remove --all --yes
```

## Documentation

Full documentation is available at
[alapinenjoyer.github.io/trivium](https://alapinenjoyer.github.io/trivium/).

It covers installation, commands, named environments, the lockfile format, and
filesystem safety guarantees.

## Development

```bash
uv sync
make test
```

The project requires Python 3.13 or later.

Contributions and bug reports are welcome through
[GitHub Issues](https://github.com/AlapinEnjoyer/trivium/issues).
