A terminal UI for managing your Claude Code skills and agents. Browse, search, preview, install, and uninstall from your own library - no AI tokens spent.
- The Problem
- How It Works
- Quickstart
- Prerequisites
- Install
- Usage
- Setting Up Your Library
- Screenshots
- Uninstall
- Updating
- Contributing
- License
Claude Code supports custom skills and agents, but managing them is manual. You write .md files, copy them to the right directory, and hope you remember what you installed. Once you have 10, 20, 50+ skills, it becomes tedious - and every installed skill gets loaded into Claude Code's context window on every session, burning tokens on things irrelevant to your current task.
flowchart LR
A["Your Library\nSkills/*.md\nAgents/*.md"] -->|browse / search| B["CAM\nfzf TUI"]
B -->|install| C["~/.claude/\nskills/\nagents/"]
- Browse your full library of skills and agents
- Search by name or description
- Preview full content in a side pane before installing
- Install with one keypress - files are copied to the correct Claude Code directory
- Uninstall just as easily
- Settings to point CAM at any library folder, anytime
# 1. Install fzf
brew install fzf
# 2. Install CAM
curl -fsSL https://raw.githubusercontent.com/edwincapel/CAM/main/install.sh | bash
# 3. Launch - first run will ask you to pick your library folder
cam
# 4. Or set the library path directly
cam --vault /path/to/your/library| Dependency | Required | Install |
|---|---|---|
| fzf | Yes | brew install fzf (macOS) / sudo apt install fzf (Linux) |
| bash 3.2+ | Yes | Pre-installed on macOS and most Linux distros |
| git | Yes | For install script (clone + update) |
| curl | Yes | For install script |
Supported platforms: macOS, Linux. On macOS the first-run vault picker uses a native Finder dialog. On Linux it falls back to a terminal prompt.
curl -fsSL https://raw.githubusercontent.com/edwincapel/CAM/main/install.sh | bashThis:
- Checks that
fzfandgitare installed (exits with error if not) - Clones CAM to
~/.local/share/cam - Symlinks
caminto~/.local/bin - Adds
~/.local/binto your PATH if needed
cam # Launch the TUI
cam --help # Show help
cam --version # Show version
cam --vault /path # Set library path without launching TUIThe TUI has four menu items:
- Skills - Browse or search your skill library, preview content, install with Enter
- Agents - Browse or search your agent library, preview content, install with Enter
- Manage installed - See what's currently installed in
~/.claude/, uninstall with Enter - Settings - Change your library path
| Flag | Description |
|---|---|
--help, -h |
Show help and exit |
--version, -v |
Print version and exit |
--vault PATH |
Set library vault path (saved to config) |
CAM reads skills and agents from a folder you choose. The folder should have this structure:
my-library/
Skills/
my-skill.md
another-skill.md
Agents/
my-agent.md
Precedence (highest to lowest):
CAM_VAULTenvironment variableexport CAM_VAULT="/path/to/your/library"
- Config file (
~/.config/cam/config)VAULT="/path/to/your/library" - First-run picker - on macOS a Finder dialog opens; on Linux you're prompted in the terminal
--vaultflag -cam --vault /path/to/librarysaves to the config file
You can change the library anytime from the TUI: Dashboard > Settings > Change library vault.
Each .md file needs YAML frontmatter. CAM uses the name and description fields for display and search. Files missing these fields will show with blank descriptions.
Skill example (Skills/my-skill.md):
---
name: my-skill
description: Does something useful
---
Your skill instructions here...Agent example (Agents/my-agent.md):
---
name: my-agent
description: An agent that does X
model: sonnet
tools: ["Read", "Edit", "Bash"]
---
Your agent instructions here...When installed, CAM strips any lines before the first --- (e.g., Obsidian wiki-links) and copies to:
~/.claude/skills/my-skill/SKILL.md
~/.claude/agents/my-agent/AGENT.md
Click to expand all screenshots
Remove CAM and its config:
rm -rf ~/.local/share/cam # CAM installation
rm -f ~/.local/bin/cam # symlink
rm -rf ~/.config/cam # config fileThis does NOT remove any skills/agents you've installed into ~/.claude/. To remove those, use cam > Manage installed before uninstalling, or manually delete from ~/.claude/skills/ and ~/.claude/agents/.
Re-run the install command - it pulls the latest version:
curl -fsSL https://raw.githubusercontent.com/edwincapel/CAM/main/install.sh | bashIssues and PRs welcome at github.com/edwincapel/CAM.
To run locally during development:
git clone https://github.com/edwincapel/CAM.git
cd CAM
bash cam.shMIT





