A personal collection of agent skills for AI coding assistants.
This is not a public registry or shared marketplace -- it is a personal repo
for skills you create, copy, and vet yourself. You use the skills CLI to
apply them to your projects or globally across your machine.
With no subcommand, skills behaves like skills use.
Skills follow the agentskills.io specification:
each skill is a directory containing a SKILL.md file with YAML frontmatter.
Install the latest GitHub Release with mise:
mise use -g github:WaylonWalker/skillsOr install the latest GitHub Release with eget:
eget WaylonWalker/skills --to ~/.local/binOr install from source:
go install github.com/WaylonWalker/skills@latestOr build from source locally:
git clone https://github.com/WaylonWalker/skills.git
cd skills
just build# Apply a skill to the current project
skills
# Add a new skill to your collection
skills add
# Open a skill in your editor
skills edit go-conventions
# Browse and preview available skills
skills list
# Apply a skill to the current project
skills use
# Apply a skill globally
skills use -g
# Install a skill (alias for use)
skills install go-conventions
# Remove a skill from the current project
skills remove
# Show current configuration
skills config
# Show the installed CLI version
skills versionSet SKILLS_DIR to configure where your skills are stored:
export SKILLS_DIR="~/.config/skills"Multiple directories are supported (comma-separated). The CLI searches all of them, and new skills are created in the first directory:
export SKILLS_DIR="~/.config/skills,~/git/skills/skills,~/private/skills"Default: ~/.config/skills
Set SKILLS_TOOL to specify which AI tools to target:
export SKILLS_TOOL="claude-code,github-copilot,opencode"By default (when SKILLS_TOOL is not set), skills are only installed into
the project-local .agents/skills/ directory. This is the safest default since
many agents share this path. To target specific tool directories or install
globally, you must set SKILLS_TOOL explicitly.
The special value all targets every supported agent:
export SKILLS_TOOL="all"Global installs (-g) require explicit tool configuration -- the CLI will
refuse to install globally without SKILLS_TOOL set.
All tools follow the agentskills.io specification and install skills as
<dir>/<name>/ symlinks in both project and global scopes.
GitHub Copilot supports multiple documented locations for agent skills. When
targeting github-copilot, this CLI installs to both project paths
(.agents/skills/ and .github/skills/) and both global paths
(~/.copilot/skills/ and ~/.agents/skills/).
The full agent table is derived from vercel-labs/skills.
The supported-agent registry is kept in the agent-support skill and mirrored
in the CLI. Run skills supported for the current project and global paths.
Use skills list -g to browse only skills installed globally for the tools in
SKILLS_TOOL.
The interactive skills use picker shows installation status only for the
tools in SKILLS_TOOL. Paths shared by configured harnesses are labeled
shared path because their original installer cannot be determined.
Skills follow the agentskills.io specification. Each skill is a directory
containing a SKILL.md file with YAML frontmatter:
~/.config/skills/
python-best-practices/
SKILL.md
go-conventions/
SKILL.md
docker-security/
SKILL.md
The SKILL.md file contains YAML frontmatter with name and description
fields, followed by the skill content:
---
name: go-conventions
description: Go coding conventions and best practices
---
# Go Conventions
Your instructions here.Legacy flat .md files (e.g. my-skill.md) are also supported for backward
compatibility.
The canonical command names remain the clearest form for scripts and documentation. These short aliases support an interactive, Vim-like workflow:
| Command | Short alias |
|---|---|
skills add |
skills a |
skills edit |
skills e |
skills list |
skills l |
skills use |
skills i or skills u |
skills remove |
skills d or skills r |
skills config |
skills c or skills conf |
skills config show |
skills c s |
skills supported |
skills s |
skills completion |
skills comp |
skills disable |
skills di |
skills enable |
skills en |
skills version |
skills v, skills ver, or skills vers |
With no subcommand, skills behaves like skills use.
skills # pick from available skills
skills apply go-conventions # alias for `skills use go-conventions`
skills install go-conventions # alias for `skills use go-conventions`Use an explicit skills use <name> or skills install <name> command to
apply a named skill. The first argument is always interpreted as a CLI command
or command alias; a bare skill name is rejected.
Apply a skill to the current project by creating symlinks in the tool-specific directories. Without a name, opens a fuzzy picker.
skills use # pick from available skills
skills use go-conventions # apply a specific skill
skills use -g # pick and apply globally
skills use -g go-conventions # apply a specific skill globally
skills apply go-conventions # alias for use
skills install go-conventions # alias for useIn the picker, use ↑/↓ to navigate, / to filter, Enter to select, and Esc to clear a filter or cancel. Uninstalled skills are prioritized ahead of installed skills.
Browse all available skills with an interactive preview.
skills list # browse skills, shows project install status
skills list -g # browse globally installed skills
# press d to disable, e to re-enableCreate a new skill from a template (creates <name>/SKILL.md with frontmatter).
skills add # prompted for name
skills add my-new-skill # create with given name
skills new my-new-skill # alias for add
skills create my-new-skill # alias for addOpen a discovered skill's source file in the command configured by EDITOR.
Without a name, it opens the same fuzzy picker as skills use.
skills edit # pick a skill to edit
skills edit go-conventionsRemove a managed skill from the current project. A skill is managed when its
installed entry is a symlink that resolves within one of the configured
SKILLS_DIR directories. Manual directories and symlinks to other skill
collections are not listed or removed.
skills remove # pick from installed skills
skills remove -g # pick from globally installed skills
skills delete go-conventions # alias for removeTemporarily disable or re-enable a globally installed skill. Disabling renames
the installed entry to <name>.disabled; it does not delete or modify the
source skill.
skills disable -g agent-browser
skills enable -g agent-browserShow current configuration (skills directories, tool filter, etc.).
skills config # show configuration
skills config show # same as above
skills config view # alias for showShow the supported agent/tool paths.
skills supported # show supported tools and install paths
skills tools # alias for supported
skills agents # alias for supportedGenerate a shell completion script. Source or install the resulting script using your shell's normal completion setup.
skills completion bash
skills comp zshPrint the installed CLI version.
skills versionFrom a clean, up-to-date main branch, create and push the next patch release:
just releaseThe first release is v0.1.0. Later releases increment the newest semantic
version tag from the configured GitHub remote, for example from v0.1.0 to
v0.1.1. Pushing the tag starts the GitHub Actions GoReleaser workflow. Do
not move or reuse a published tag; make a new patch release instead.
| Flag | Description |
|---|---|
-g, --global |
Operate on global tool directories instead of project |
-v, --version |
Print version |
-h, --help |
Print help |
| Variable | Description | Default |
|---|---|---|
SKILLS_DIR |
Comma-separated list of skills directories | ~/.config/skills |
SKILLS_TOOL |
Comma-separated list of tools to target (all for all) |
.agents/skills/ only |
NO_COLOR |
Disable colored output | unset |
MIT