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
--pathand--skillsonly work with GitHub sources (not local directories).- If
--skillsis omitted, all skills in the specified path are added. - If
--pathis omitted, the default isskills/.
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:globalorlocalagents: a comma-separated list of agent namessync-mode:linkorcopy
Supported Agents 🧩
jup includes built-in locations for these agent names:
geminicopilotclaudedefault
Contributing 🤝
Contributions are welcome. See CONTRIBUTING.md for development setup, workflow, and publishing details.
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
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
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
df7c4df114f1a928084ae56c31531e038c104928cf8ef50a1537f1ef165aecf3
|
|
| MD5 |
1ad167e6c57642ac375d9ca41d29c3fe
|
|
| BLAKE2b-256 |
e4880633a1128e1d6dbfcdd89e0594fc1205ab3d2f8b5b57a31294a2fa0c4c56
|
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
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
6a8e86c1f5b8eacc766d9809223df0f988731e90f8b281bcb679482207441508
|
|
| MD5 |
06f297139a9cd83432df743b861e16b2
|
|
| BLAKE2b-256 |
431826a57ed740c164f3dbe12b87d7e51260cf6a2e6b88d516be51a37b3420ca
|