Skip to content

Q42/sqill

Repository files navigation

sqill

⚠️ The registry of installable skills is hardcoded into the binary. Adding a new skill today requires editing src/lib/registry/hardcoded.go and shipping a new release of sqill itself. There is no external registry, no pluggable source, and no way for end users to add skills to the catalog without recompiling.

A CLI for installing and managing agent skills — reusable bundles of prompts, templates, and tools that extend AI agents.

Install

curl -fsSL https://raw.githubusercontent.com/Q42/sqill/main/install.sh | sh

To pin a version: append --version v0.1.0. Falls back to ~/.local/bin if it can't write to /usr/local/bin.

Usage

sqill init                     # one-time: create .agents/skills/ + symlink prompts
sqill install q-release        # install one skill from the built-in registry
sqill install                  # install every skill listed in .agents/skills/sqill.json
sqill list                     # show installed skills (name, version, install date)
sqill info q-release           # manifest, source, install metadata
sqill update q-release         # fetch latest and replace atomically
sqill remove q-release         # uninstall a skill
sqill track q-release          # include a skill's directory in git
sqill untrack q-release        # gitignore a skill's directory (default)
sqill upgrade                  # self-update the sqill binary to the latest release
sqill --version                # print the sqill binary version

Flag reference

Flag Commands Effect
--skills-dir <path> All Override the skills directory (default .agents/skills)
--yes / -y init Skip interactive prompts, no symlinks created
--link-claude init Symlink .claude/skills into .agents/skills
--link-cursor init Symlink .cursor/skills into .agents/skills
--link-kilo init Symlink .kilo/skills into .agents/skills
--force install, upgrade Overwrite existing install or reinstall same version

Version control

By default, every installed skill directory is listed in .agents/skills/.gitignore, so skills are not committed. To include a specific skill's directory in your repo, run sqill track <name>. To go back to the default, run sqill untrack <name>. Each installed entry in .agents/skills/sqill.json has a tracked boolean — true means the skill is committed, false (or absent) means it's gitignored. The .gitignore is regenerated by init, install, remove, track, and untrack.

init also offers to symlink .claude/skills, .cursor/skills, and .kilo/skills into .agents/skills/ so your skills are visible to every agent.

How does it work

Sqill is a thin wrapper around standard tools — it does no networking or authentication of its own.

  • Git sources are cloned by shelling out to your system git. SSH keys, HTTPS credentials, host-key checks, proxies, and 2FA are all handled by git itself, using whatever is already configured on your machine (~/.ssh/config, ~/.gitconfig, credential helpers, gh auth login, etc.).
  • Local sources are copied straight from the filesystem.
  • Archive sources are downloaded over HTTPS with Go's standard library.

Because access control is delegated to git, nothing extra is required to install skills from private repos: if git clone <url> works in your shell, sqill install <name> will work, and any auth prompt (SSH passphrase, GitHub device login, credential helper, …) is the same one git would have shown you directly.

Build a skill

A skill is just a directory containing a sqill.json manifest. The minimum:

{
  "name": "my-skill",
  "version": "0.1.0",
  "description": "What it does, in one line."
}

Add any files you want next to it — SKILL.md is conventional for the prompt/instructions your agent should read. The directory name must match the name.

Host it anywhere sqill knows how to fetch from:

Source Notes
https://.../repo.git Cloned via system git
git@github.com:.../repo.git Same, over SSH
file:///path/to/skill Copied locally
https://.../skill.tar.gz Downloaded and extracted

To add a skill to the built-in registry, edit src/lib/registry/hardcoded.go and open a PR.

Develop

Requires Go 1.25+.

go build -o sqill .
go test ./...

To cut a release: git tag v0.1.0 && git push --tags. .github/workflows/release.yml builds and publishes binaries for macOS and Linux (amd64, arm64).

About

Sqill is a single-binary CLI tool for installing, updating, removing, and discovering agent skills — reusable packages of prompts, templates, and tools that extend AI agents.

Resources

Stars

1 star

Watchers

0 watching

Forks

Packages

 
 
 

Contributors