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.

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


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.25.tar.gz (444.2 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.25-py3-none-any.whl (164.3 kB view details)

Uploaded Python 3

File details

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

File metadata

  • Download URL: boost_skill_cli-1.0.25.tar.gz
  • Upload date:
  • Size: 444.2 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.25.tar.gz
Algorithm Hash digest
SHA256 26c11f82e81b270b810c30e9d5ed44e7e83318fa3231b7657eba135185c6e9c6
MD5 d42cbc316451ffc8d6fff5ce32884e0b
BLAKE2b-256 e8bf30ccf54171758d14b9e3682e30257bdeaaf011b2a3202c898c108a718815

See more details on using hashes here.

Provenance

The following attestation bundles were made for boost_skill_cli-1.0.25.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.25-py3-none-any.whl.

File metadata

File hashes

Hashes for boost_skill_cli-1.0.25-py3-none-any.whl
Algorithm Hash digest
SHA256 f28ccef8571f4cdcc5fbdec1130661fb150d63ec028d2971cb2c250ca1dd35d6
MD5 40c714fbd374d7fa945e2caf8804d2bc
BLAKE2b-256 79f62e41c39b2daa3e1230b902782823263aaca5ee7c94cbaedb28a9a42a778e

See more details on using hashes here.

Provenance

The following attestation bundles were made for boost_skill_cli-1.0.25-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