Skip to content

nomyfan/skills-man

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

30 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

skills-man

skills-man is a Rust CLI that installs and manages AI agent skills from GitHub repositories. It downloads skills into a local skills/ directory and tracks them in skills.toml so you can keep installs clean and up to date.

Features

  • Install a single skill or a skill collection from GitHub (currently only GitHub URLs are supported).
  • Sync local skills with upstream changes.
  • List, update and uninstall skills.
  • Local and global modes.
  • Load environment variables from ~/.skills-man/config.toml.

Quick start

Download a prebuilt binary from GitHub Releases

After downloading, extract it and place skill in a directory on your PATH (for example, /usr/local/bin).

Or build and install from source:

cargo install --git https://github.com/nomyfan/skills-man

Run the CLI:

skill install https://github.com/owner/repo/tree/main/path/to/skill
skill list
skill sync
skill update skill-name
skill uninstall skill-name

Environment variables

At startup, skill loads environment variables from the global config file. Priority is:

  1. Existing shell environment variables
  2. ~/.skills-man/config.toml [env] section

Set GITHUB_TOKEN or GH_TOKEN in the global config:

# ~/.skills-man/config.toml
[env]
GITHUB_TOKEN = "github_pat_..."

The token is sent with GitHub API requests so skill can use authenticated rate limits and access private repositories that your token is allowed to read.

Commands

skill install <github-url> (alias: skill i) Install a skill or a skill collection from GitHub.

skill sync Sync all skills from skills.toml, downloading missing skills and optionally overwriting local changes.

skill uninstall <skill-name> Remove a skill directory and its entry in skills.toml.

skill update <skill-name> (alias: skill up) Check for upstream changes and update a single skill.

skill list Show installed skills and their metadata.

Directory modes

By default, skills-man works in local mode and stores data in the current directory:

  • ./skills/
  • ./skills.toml

Use -g / --global to switch to global mode:

  • ~/.skills-man/skills/
  • ~/.skills-man/skills.toml

Examples:

skill --global install https://github.com/owner/repo/tree/main/path/to/skill
skill -g list

Use case: share skills across agent CLIs

If you use multiple agent CLIs (Codex, Claude Code, Gemini), install skills in global mode and symlink each agent's skills directory to ~/.skills-man/skills. This keeps a single source of truth for all tools.

skill -g install https://github.com/owner/repo/tree/main/path/to/skill
skill -g install https://github.com/owner/repo/tree/main/path/to/another-skill

mkdir -p ~/.claude
mkdir -p ~/.codex
mkdir -p ~/.gemini

ln -s ~/.skills-man/skills ~/.claude/skills
ln -s ~/.skills-man/skills ~/.codex/skills
ln -s ~/.skills-man/skills ~/.gemini/skills

You can share ~/.skills-man/skills.toml with teammates, run skill -g sync, and everyone gets the same skill set.

Agent skill

This repository includes an Agent skill at skills-man-cli/. Install it so an AI agent can use and troubleshoot the skill CLI:

skill -g install https://github.com/nomyfan/skills-man/tree/main/skills-man-cli

GitHub URL format

Skills must be referenced with the GitHub "tree" URL that points at a directory:

https://github.com/<owner>/<repo>/tree/<ref>/<path>

<ref> can be a branch name, tag, or commit SHA. Both refs and paths can contain slashes, so the tool tries multiple candidate splits until one succeeds.

Examples:

https://github.com/nomyfan/skills-man/tree/main/skills-man-cli
https://github.com/owner/repo/tree/release/v1.0/path/to/skill

How syncing works

  • Each installed skill is recorded in skills.toml.
  • A SHA256 checksum of the skill directory detects local edits.
  • On sync, if a checksum mismatch is found, you will be prompted before overwriting local changes.

During install, the tool resolves the ref to a commit SHA using the GitHub API and only re-downloads when the upstream SHA changes.

License

MIT

About

A CLI to manage your agent skills.

Topics

Resources

Stars

Watchers

Forks

Packages

 
 
 

Contributors

Languages