Skip to main content

boost — Homebrew for AI coding skills

Project description

boost — a package manager for AI coding skills

CI Release Python 3.9–3.14 Coverage Mutation score Platform License

boost is a CLI that finds, installs, and keeps track of AI coding skills pulled from GitHub-hosted registries, then hooks them straight into Claude Code, Windsurf, and Cursor in one pass. Instead of hand-copying skill files into three different agent folders and hoping you remember to update all of them, you run one command.

boost demo: tap a registry, search for a skill, install it into every agent, then run doctor
tap a registry → search → install into every agent → doctor — one flow

What's a "skill," exactly?

A skill is just a SKILL.md file — Markdown plus a bit of YAML up top — that gives an AI agent a repeatable capability: a workflow to follow, a set of house rules, or some domain knowledge it wouldn't otherwise have. Agents like Claude Code pick these up automatically out of ~/.claude/skills/.

Where it gets tedious is everything around that file: tracking down good skills, wiring each one into every agent you use, keeping versions in sync, and handing them off to teammates. That's the part boost takes over — package-manager mechanics for skills, in the same spirit as Homebrew for Mac binaries or npm for JS packages.

Install

Needs Python 3.9+ and git.

pipx install boost-skill-cli        # or: pip install boost-skill-cli
boost --version
boost tap --defaults          # pull in the 5 starter registries

The default install is zero-dependency (pure stdlib). boost search and the boost_search MCP tool rank results with a built-in full-content BM25 engine (run boost reindex once to build the index). For optional dense semantic search, install the [rag] extra and set an embeddings key — retrieval then embeds every skill and ranks by vector similarity, falling back to BM25 whenever the extra or key is absent:

pip install "boost-skill-cli[rag]"            # adds the sqlite-vec vector store
export VOYAGE_API_KEY=...                      # or OPENAI_API_KEY
boost reindex --dense                          # embed chunks into the vector store

Want the whole ecosystem instead of the starter set? boost ships a curated registry catalog — 100+ classified GitHub registries of skills, Cursor/Windsurf rules, and Claude Code workflows (slash commands & subagents), collectively indexing thousands of items. Categories include a curated rag set — official Weaviate, Pinecone, and DSPy skill libraries plus Graph-RAG and agentic-RAG toolkits for building retrieval pipelines:

boost tap --catalog --dry-run                 # browse the classified catalog
boost tap --catalog --type skill --limit 20   # tap the 20 biggest skill packs
boost tap --catalog --type rule               # every rules registry
boost tap --catalog --category rag            # RAG / vector-search skill packs
boost tap --catalog --category security       # filter by category

boost indexes three item kinds out of the same registries: SKILL.md skills, .mdc/.cursorrules/.windsurfrules rules, and command/agent workflows (Markdown under commands/·agents/·workflows/, or carrying subagent frontmatter). Rules and workflows are searchable today; only skills install.

Or run it straight from a checkout — the runtime is stdlib-only, so there's nothing to install beyond the shim:

git clone https://github.com/jonnyeclectic/boost ~/.boost-src
ln -s ~/.boost-src/boost ~/bin/boost        # anywhere on PATH works

Under the hood

boost pulls down registries, indexes them into a local cache, drops installed skills into one canonical store, and then symlinks them out to whichever agents you've got — all of it tracked in a lock file so state stays reproducible.

GitHub registries  ──boost update──▶  ~/.boost/repos/    (shallow clones)
                                     ~/.boost/cache/    (JSON catalogs)
                   ──boost install─▶  ~/.agents/skills/ (canonical store)
                                     .skill-lock.json  (v3 lock file)
                   ────symlinks───▶  ~/.claude/skills/  ~/.windsurf/skills/  ~/.cursor/skills/

The usual workflow

boost search jira          # look across every tapped registry (AI-ranked when available)
boost install my-jira      # copy, link, lock — with a quality score attached
boost doctor               # sanity check: broken links, lock drift, stale taps

# hand the whole setup to a team:
boost bundle dump > Boostfile     # everyone else runs: boost bundle install

75 commands, organized into 8 groups

boost --help prints the full grouped command list; for a visual tour see docs/overview.html.

Group Commands
Package Management install · uninstall · sync · update · reinstall · bundle · import · migrate · pin · unpin · snapshot · export
Discovery & Search search · reindex · discover · recommend · browse · index · trending · stats · count
Skill Information list · info · cat · edit · preview · explain · log · home · deps · tag
Registry (Taps) tap · untap · taps · outdated
Intelligence distill · simulate · infer · absorb · evolve · context · focus · impact
Quality & Health doctor · lint · audit · verify · drift · test · fingerprint · quarantine · decay · heal · conflict · changelog · attest · health
Configuration config · clean · create · policy · onboard · completions · schedule · serve · mcp · hooks · bmad · self-update
Team & Collaboration cohort · profile · protocol · pulse · replay · who

The AI-assisted commands (search --smart, explain, distill, infer, absorb, evolve, simulate, …) call out to the claude CLI when it's available on your PATH (or ANTHROPIC_API_KEY is set), and fall back to plain heuristics when it isn't — so the tool still works without an API key, just less cleverly.

Claude Code hooks & the BMAD Method

boost hooks manages Claude Code hooks in settings.json at either scope — --scope project (./.claude/settings.json) or --scope global (~/.claude/settings.json). boost only ever touches hooks it created (tagged with a # boost:<name> marker in the command), never your own, and snapshots the prior file before each write.

boost hooks add SessionStart -c 'echo hello' -n greet --scope project
boost hooks list
boost hooks remove -n greet --scope project

boost bmad installs and manages the BMAD Method (agentic Analyst / PM / Architect / Dev / QA personas + workflows) as a scope-aware, toggleable startup experience. Provisioning is delegated to the canonical npx bmad-method install (needs Node.js 20.12+); boost owns scope, the startup toggle, and teardown.

boost bmad install --scope project   # skills + per-project _bmad/ runtime
boost bmad install --scope global    # skills into ~/.claude/skills for every session
boost bmad init                      # add the _bmad/ runtime to the current repo
boost bmad startup on                # inject light BMAD orientation on session start
boost bmad startup off               # stop injecting it (skills stay installed)
boost bmad disable / enable          # quarantine / restore skills (recoverable)
boost bmad uninstall                 # delete skills + _bmad/ for a scope
boost bmad doctor                    # what's installed where

When startup is on, a SessionStart hook runs boost bmad orient, which prints a short orientation into the session only while the toggle is enabled. Global installs stage the installer in a temp dir and copy only the bmad-* skills, so $HOME never gets a stray _bmad/ — the workflow runtime stays per-project.

The boost style

The visual identity behind the docs and demos ships as a small, dependency-free design system in style/ — the Aurora living-glass look: a cyan → violet → pink triad on a near-black ground, an ambient aurora that drifts behind the page, and glass cards that light up under the cursor. Drop style/boost.css (and the optional style/boost.js) into any static page; see style/demo.html for the whole system on one page and style/README.md for the tokens and class reference.

The same palette runs in the terminal. boost renders in 24-bit Aurora color where the terminal advertises it (COLORTERM=truecolor), degrading cleanly to 16-color and then to plain text — so the gradient boost wordmark, framed result cards, search relevance meters, and the green ● healthy doctor verdict all speak the same design system as the web (the CLI palette is even test-locked to style/boost.css, so the two can't drift). Color follows the NO_COLOR convention plus a BOOST_COLOR override — set BOOST_COLOR=never to force plain output (handy for logs and pipes) or BOOST_COLOR=always to keep color through a pipe.

Working on boost

# everything runs under a disposable HOME, so nothing touches your real setup:
export HOME=/tmp/boost-sandbox && mkdir -p $HOME
python3 tests/make_fixture.py /tmp/fixture-tap
./boost tap /tmp/fixture-tap
./boost install brainstorming
./boost doctor

Standard-library Python only — no third-party runtime dependencies. Every path under ~/.boost and ~/.agents/skills is resolved from $HOME at call time, which is what makes the sandboxing above possible.

When something misbehaves, boost keeps a rotating diagnostic log at ~/.boost/logs/boost.log and writes a full crash report on any unexpected error. Turn up detail with boost --verbose <cmd> or boost --debug <cmd>, read the trail with boost log --diagnostics, and see docs/DEBUGGING.md for log levels, env vars, crash reports, and the free services that monitor the project.

Test suite

Three layers, all enforced (make check runs the full set; CI runs the same thing):

Layer What it does Gate
make test pytest across tests/unit/ (every core module) and tests/functional/ (drives all 72 commands in-process against sandboxed homes) ≥80% line coverage of boost_cli (fail_under in pyproject.toml)
make smoke tests/smoke.sh — 152 checks run through the actual ./boost shim (--online also hits real registries) all pass
make mutation mutmut mutates boost_cli/core (~2,600 mutants) and reruns the unit suite against each one ≥80% killed (scripts/mutation_gate.py)

Dev setup: make venv (pulls in pytest, coverage, mutmut — the shipped runtime itself stays dependency-free). Every test run uses a throwaway $HOME, so your actual agent configs are never at risk.

Project details


Release history Release notifications | RSS feed

Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

boost_skill_cli-1.0.60.tar.gz (583.4 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

boost_skill_cli-1.0.60-py3-none-any.whl (173.4 kB view details)

Uploaded Python 3

File details

Details for the file boost_skill_cli-1.0.60.tar.gz.

File metadata

  • Download URL: boost_skill_cli-1.0.60.tar.gz
  • Upload date:
  • Size: 583.4 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.12

File hashes

Hashes for boost_skill_cli-1.0.60.tar.gz
Algorithm Hash digest
SHA256 c8b8e43a3096e6c8ffc6285b5bff024ec2fa02814b1440efbc3c77535e19e836
MD5 018c46c2164c169963604385185f38f7
BLAKE2b-256 03049a0d0ca88e62703fefeef09d07e5bbabd8ca8feb1b2a7e3c70b4014259b6

See more details on using hashes here.

Provenance

The following attestation bundles were made for boost_skill_cli-1.0.60.tar.gz:

Publisher: publish.yml on jonnyeclectic/boost

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file boost_skill_cli-1.0.60-py3-none-any.whl.

File metadata

File hashes

Hashes for boost_skill_cli-1.0.60-py3-none-any.whl
Algorithm Hash digest
SHA256 069c13f1229859bf5cbddaec2420c0712bf7d85aa8a131a66dca68d988bf134e
MD5 8734dc8ced8db9f549d32265b19eca8c
BLAKE2b-256 b13bb822c2530380fb53f0f316609a434c097677f53522f343280294e0928e29

See more details on using hashes here.

Provenance

The following attestation bundles were made for boost_skill_cli-1.0.60-py3-none-any.whl:

Publisher: publish.yml on jonnyeclectic/boost

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page