Dead simple skills 💀
Install AI agent skills from git repositories into a directory you control.
Skulls is a simpler alternative to Vercel's skills client. Vercel's client does a lot: it installs skills into multiple agent-specific directories and manages symlinks to keep them in sync.
I wanted something more straightforward:
- Point to a directory — that's where skills go
- Install skills — they're just folders with a
SKILL.md - Done — no symlinks, no magic, no surprises
Most coding agents let you configure custom skill directories anyway. If you need symlinks for multiple agents, you can manage that yourself and know exactly what's happening.
brew tap kaofelix/tap
brew install skulls1. Set your skills directory (once):
skulls config set dir ~/.pi/agent/skills2. Search and install:
skullsThis opens an interactive search UI. Type to search, use arrow keys to browse, and press Enter to install.
That's it. Your skill is now in ~/.pi/agent/skills/<skill-name>/.
skullsOpens a full-screen TUI where you can:
- Search skills from skills.sh (type at least 2 characters)
- Browse popular skills (shown by default when the search is empty)
- Preview the selected skill's
SKILL.mdin the right pane - Install with Enter, quit with Esc
Navigation:
↑/↓— select skillEnter— install selected skillEscorCtrl+C— quitPgUp/PgDown,Ctrl+U/Ctrl+D— scroll preview
When you know exactly what you want:
# Install a specific skill from a repo
skulls add owner/repo skill-id
# Shorthand (same as above)
skulls add owner/repo@skill-id
# Examples
skulls add anthropics/skills pdf
skulls add obra/superpowers@test-driven-developmentWhen you want to browse a repo's skills:
# Opens interactive selector for skills in the repo
skulls add owner/repo
skulls add https://github.com/owner/repo.git
skulls add ./local/repo# Set default install directory
skulls config set dir ~/.pi/agent/skills
# View current config
skulls config getThe --dir flag overrides the saved directory for a single install:
skulls --dir /tmp/test-skills
skulls add owner/repo skill-id --dir /tmp/test-skillsBy default, skulls won't overwrite an existing skill folder. Use --force to replace it:
skulls --force
skulls add owner/repo skill-id --forceSkulls discovers skills in repositories using a priority-based search:
- Root
SKILL.md— if the repo itself is a skill - Standard directories —
skills/,.claude/skills/,.agent/skills/, and 20+ other common locations - Recursive fallback — searches up to 5 levels deep
A valid skill requires a SKILL.md with YAML frontmatter containing name and description:
---
name: my-skill
description: What this skill does
---
# My Skill
Instructions for the AI agent...make build # build ./skulls binary
make test # run all tests
make lint # run golangci-lint
make clean # remove the binary
make install # install to GOPATH/binThis repo uses prek for pre-commit hooks:
# Install linter
brew install golangci-lint
# Set up hooks (once per clone)
./scripts/install-hooks.sh# 1. Tag and push
git tag -a v0.1.1 -m "v0.1.1"
git push origin v0.1.1
# 2. Create GitHub release
gh release create v0.1.1 --title "v0.1.1" --generate-notes
# 3. Update Homebrew formula
./scripts/update-homebrew-formula.sh v0.1.1 ../homebrew-tap
# 4. Push tap changes
cd ../homebrew-tap
git add Formula/skulls.rb
git commit -m "skulls v0.1.1"
git push