Skip to main content

jup - Agent Skills Manager

Project description

jup ✨

jup is a small command-line tool for installing and syncing agent skills across the local skill directories used by supported AI assistants.

It helps you:

  • install skills from GitHub repositories that expose a top-level skills/ folder
  • keep installed skills organized in a lockfile so they can be synced again later
  • copy or link skills into the directories used by agents like Gemini, Copilot, and Claude

Quick Start 🚀

1. Install jup 📦

The preferred way to install jup is from PyPI with uv:

uv tool install jup
jup --help

If you do not want to install it, you can run it on demand:

uvx jup --help

pip also works if you prefer a traditional install:

pip install jup
jup --help

2. Check the current configuration ⚙️

jup config show

3. Choose which agent directories should receive synced skills 🤖

jup config set agents gemini,copilot,claude

Use none to clear the list:

jup config set agents none

4. Add skills ➕

jup add owner/repo --category productivity

Advanced GitHub Usage

You can use --path to specify a subdirectory (default: skills/), and --skills to select specific skill names (comma-separated) to add from the skills directory:

jup add owner/repo --path custom/skills/dir --skills skill-a,skill-b --category productivity
  • --path and --skills only work with GitHub sources (not local directories).
  • If --skills is omitted, all skills in the specified path are added.
  • If --path is omitted, the default is skills/.

You can also add local skills using relative or absolute paths (these ignore --path and --skills):

jup add ./local-skills --category productivity
jup add ../team-skills
jup add /absolute/path/to/local-skills

5. Review what is installed 📋

jup list

6. Push the managed skills into the configured agent directories 🔄

jup sync

What It Does 🧭

jup works with repositories that follow a simple structure:

repo/
  skills/
    skill-name/
      SKILL.md

When you run jup add owner/repo, it clones the repository, finds every nested skill directory under skills/ that contains a SKILL.md file, stores those skills in ~/.jup, and records them in a lockfile.

For local sources, jup add supports either of these layouts:

local-skills/
  skill-a/
    SKILL.md
  skill-b/
    SKILL.md

or a single skill directory:

single-skill/
  SKILL.md

After that, jup sync installs the managed skills into the configured target locations. By default, jup uses symlinks, but you can switch to copying with:

jup config set sync-mode copy

The main configuration values are:

  • scope: global or local
  • agents: a comma-separated list of agent names
  • sync-mode: link or copy

Supported Agents 🧩

jup includes built-in locations for these agent names:

  • gemini
  • copilot
  • claude
  • default

Contributing 🤝

Contributions are welcome. See CONTRIBUTING.md for development setup, workflow, and publishing details.

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

jup-0.3.0.tar.gz (28.8 kB view details)

Uploaded Source

Built Distribution

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

jup-0.3.0-py3-none-any.whl (9.9 kB view details)

Uploaded Python 3

File details

Details for the file jup-0.3.0.tar.gz.

File metadata

  • Download URL: jup-0.3.0.tar.gz
  • Upload date:
  • Size: 28.8 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: uv/0.11.6 {"installer":{"name":"uv","version":"0.11.6","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 jup-0.3.0.tar.gz
Algorithm Hash digest
SHA256 df7c4df114f1a928084ae56c31531e038c104928cf8ef50a1537f1ef165aecf3
MD5 1ad167e6c57642ac375d9ca41d29c3fe
BLAKE2b-256 e4880633a1128e1d6dbfcdd89e0594fc1205ab3d2f8b5b57a31294a2fa0c4c56

See more details on using hashes here.

File details

Details for the file jup-0.3.0-py3-none-any.whl.

File metadata

  • Download URL: jup-0.3.0-py3-none-any.whl
  • Upload date:
  • Size: 9.9 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: uv/0.11.6 {"installer":{"name":"uv","version":"0.11.6","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 jup-0.3.0-py3-none-any.whl
Algorithm Hash digest
SHA256 6a8e86c1f5b8eacc766d9809223df0f988731e90f8b281bcb679482207441508
MD5 06f297139a9cd83432df743b861e16b2
BLAKE2b-256 431826a57ed740c164f3dbe12b87d7e51260cf6a2e6b88d516be51a37b3420ca

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