Agent Skills & Plugins, installed. Pure bash.

A tiny CLI that installs agentskills.io Agent Skills and agent-plugins.org Agent Plugins from any git repo β€” with dependency resolution and manifest validation, into the .agents/ paths agents like Devin index. No Node.js. No runtime. Just bash + git + jq.

⚑ zero Node.js 🧩 resolves dependencies πŸ”Œ Agent Plugins 1.0.0 πŸ“ .agents/skills (Devin-friendly) πŸ”’ no code runs at install πŸ“œ MIT
# install β€” Homebrew
brew install junior/tap/skilla

# …or managed via mise (no Node.js)
mise use -g 'github:junior/skilla[exe=skilla,matching=skilla]@0.4.1'

# …or grab the single script
curl -fsSL https://raw.githubusercontent.com/junior/skilla/v0.4.1/skilla -o ~/.local/bin/skilla && chmod +x ~/.local/bin/skilla

# then
skilla add git@github.com:acme/skills.git --skill nginx   # installs nginx + its deps
skilla add --scope user git@github.com:acme/skills.git    # user-wide (~/.agents/skills)

Why skilla

The agent-skills CLI space is crowded β€” and almost all of it rides on Node/npx. skilla is deliberately small and runtime-free.

No Node.js

One ~800-line bash script. If you have git and jq, you can install skills β€” on a server, a CI runner, or a locked-down box.

Dependency resolution

A skill's requires (frontmatter, or plugin.json requiredSkills) are pulled automatically from the same source β€” transitively.

Agent Plugins 1.0.0

Installs agent-plugins.org packages: validates the manifest, keeps the tree intact for ${PLUGIN_ROOT}, and hands you the MCP config with placeholders expanded.

Project & global scopes

Install into a repo's .agents/skills/ or your home ~/.agents/skills/, tracked in a small JSON registry.

Safe by default

It clones and copies β€” nothing executes at install time. A skill's scripts only run later, when an agent uses it.

Clean lifecycle

add, update, list, info, remove β€” registry-scoped, so it only manages what it installed.

Signing-ready

Built to verify signed skills before install (on the roadmap), so a catalog can enforce provenance end-to-end.

No Node.js β€” that's the point

skilla is a single bash script: it needs only bash, git, and jq β€” no Node, no npm, no node_modules, no runtime version to match. Copy one file and go. (Most other agent-skills CLIs run through npx/Node; skilla doesn't.)

Commands

CommandWhat it does
skilla add <git-url>Install skills from a repo (--skill one, --force reinstall)
skilla repo ls <git-url>List a repo's skills (name Β· version Β· description) β€” sparse, no install
skilla listList installed skills + versions
skilla info <skill>Details + declared dependencies
skilla update [skill]Update one, or all
skilla remove <skill>Remove (registry-scoped)
skilla plugin ls <git-url>Inspect an Agent Plugin β€” manifest, skills, MCP servers
skilla plugin add <git-url>Install a plugin: package + its skills + its plugin data
skilla plugin mcp <name>Its mcp.json with ${PLUGIN_ROOT}/${PLUGIN_DATA} expanded
skilla plugin validateConformance-check a plugin you're authoring