An extremely fast Claude Code skill manager.
Install 75+ Claude Code skills in one command. Edit once, reflect everywhere via symlinks.
- Highlights
- New? Start Here 🚀
- Installation
- Quick Start
- Commands — Core, Skills, Discovery, Prompts, Hooks, Tools
- Skills
- Plugin Ecosystem
- Developer Tools
- Technology Stack
- Repository Structure
- Guides
- Contributing
Forward Deployed Engineer? → FDE Onboarding Guide
Read the FDE principles, install Ghostty + Raycast, then run bm setup --yes — that's it. The CLI handles everything else.
- ⚡ One command install —
bm installsymlinks all 75+ skills into Claude Code instantly. - 🧹 One command cleanup —
bm uninstall --allremoves bm-managed installed skills without deleting source files. - 🔎 Agent-friendly suggestions —
bm suggest --intent "improve seo" --install --cacherecommends, installs, and caches relevant skills without loading every skill into context. - ✅ Symlink-first — skills live in the repo; edit once and changes reflect everywhere with no reinstall.
- 🎯 Project skill lifecycle — create scoped skills with
bm skill add x --project p, promote to general when proven. - 🔧 Registry tracking — every installed skill is recorded in
~/.bm/registry.json, however it was installed. - Claude-native JSON output — every command supports
--jsonso agents can querybm status --jsondirectly. - Plugin guidance —
bm pluginsdetects Superpowers and Double Shot Latte and walks you through any missing installs. - Zero config — path constants computed from repo root at import time; works from any directory.
- 📝 Saved prompts — save, search, star, and reuse prompt templates. Export as Claude Code
/commands. - 🔄 Auto-sync hooks — git hooks auto-run
bm installon pull/checkout when skills or prompts change. - 💡 Dashboard tips — random helpful hints shown on
bmdashboard so you discover features without reading docs.
flowchart LR
request[Task request: improve seo] --> intent[bm suggest --intent improve seo --json]
project[Project files] --> scan[bm suggest . --json]
intent --> rank[Rank matching skills]
scan --> rank[Rank matching skills]
rank --> install[bm suggest --intent improve seo --install --cache]
install --> claude[Claude Code sees only useful skills]
install --> cache[~/.bm/suggestions.json]
claude --> cleanup[bm uninstall --all --yes]
cleanup --> clean[No skill clutter left behind]
The default path is intentionally reversible: scan first, install only what matches, cache the recommendation set for the agent, then unlink bm-managed skills when the session ends. Source skills stay in the repo; external skills stay untouched.
- Low context pressure — agents can call
bm context --global --jsonfor a grouped catalog, orbm suggest --intent "improve seo" --top 4 --install --cachefor only the skills relevant to the task. - Reversible installs — symlink-first install and
bm uninstall --all --yesmake cleanup cheap, so experimentation does not permanently clutter Claude Code. - Machine-readable contracts — JSON commands keep stdout clean for Codex/Claude automation and move human diagnostics to Rich output or stderr.
- Fast path plus fallback — PyO3 handles hot filesystem/parsing helpers when native wheels are available; pure Python fallback keeps source/editable installs working.
- Release proof, not vibes — CI verifies lint, types, tests, schemas, Rust tests, sdist builds, native wheel builds, and that each native wheel actually contains
bm._native.
flowchart TD
pr[Draft PR] --> gates[Quality gates]
gates --> python[Ruff + mypy + basedpyright + pytest]
gates --> rust[Cargo test + maturin wheel]
rust --> verify[Verify wheel contains bm._native]
python --> tag[v1.10.2 tag]
verify --> tag
tag --> publish[PyPI trusted publish]
tag --> release[GitHub Release]
release --> skills[skills.sh refresh]
Requirements: Python 3.11+, Claude Code
uv tool install benmore-bm
# or
pipx install benmore-bmContributor installs can stay editable against this repository:
git clone https://github.com/Benmore-Studio/Benmore-Meridian
cd Benmore-Meridian
uv tool install --editable ./bm# Symlink all 75+ skills into Claude Code
bm install
# Verify skill status
bm status
# Check plugin requirements (Superpowers, Double Shot Latte)
bm plugins
# Full health check
bm doctorOpen Claude Code in any project — all skills are live.
For a smaller context footprint, install only the skills that match a project:
bm suggest . --top 4 --install --cache
bm suggest --intent "improve seo" --top 4 --install --cache
bm uninstall --all --yes # remove bm-managed installed skills laterUpdate to latest:
git pull
bm update # git pull + reinstalls all skills| Command | Description |
|---|---|
bm install [--rsync] [--dry-run] |
Symlink all skills → ~/.claude/skills/ (idempotent) |
bm uninstall [names...] [--all] [--dry-run] |
Unlink bm-managed installed skills without deleting source files |
bm status [--json] |
Show skill status as rich table or JSON |
bm update [name] [--rsync] [--dry-run] |
git pull + reinstall one or all skills |
bm plugins |
Detect and guide Superpowers / Double Shot Latte install |
bm doctor |
Full health check: skills + plugins + registry |
| Command | Description |
|---|---|
bm skill add <name> |
Scaffold a new general skill |
bm skill add <name> --project <p> |
Scaffold a project-scoped skill |
bm skill list [--project <p>] [--json] |
List skills, optionally filtered by project |
bm skill generalize <name> |
Promote a project skill to general |
bm skill info <name> |
Show path, scope, status, and source |
bm skill remove <name> [--dry-run] |
Uninstall a skill from ~/.claude/skills/ and registry ✨ v1.1 |
bm skill write <name> |
Interactively generate a new SKILL.md with guided prompts ✨ v1.1 |
bm skill add-external <source> --skill <name> |
Install a skill from plugins/agents directories ✨ v1.3 |
| Command | Description |
|---|---|
bm suggest [path] [--intent <task>] [--top N] [--install] [--cache] [--json] |
Scan project or task intent → ranked skill suggestions; optionally install/cache them |
bm context [path] [--top N] [--global] [--json] [--copy] |
Generate project context, recommendations, and optional full grouped skill catalog |
bm explore [path] |
Deep scan → writes docs/bm-suggestions.md report |
bm debrief [--since <tag>] [--limit N] [--json] |
Surface skill candidates from recent git history |
| Command | Description |
|---|---|
bm registry sync [--dry-run] |
Scan ~/.claude/skills/ and reconcile registry |
bm registry list [--json] |
List all registered skills |
| Command | Description |
|---|---|
bm prompt list [--tag T] [--starred] [--popular] [--json] |
Browse saved prompts with filters |
bm prompt add <name> [-p project] |
Create a reusable prompt template |
bm prompt search <query> [--tag T] |
Fuzzy-search prompts by name, description, or tags |
bm prompt info <name> |
Show full prompt content and metadata |
bm prompt copy <name> [args...] |
Render with arguments → clipboard |
bm prompt export <name> / --all |
Symlink → ~/.claude/commands/ (becomes /command) |
bm prompt unexport <name> |
Remove from Claude Code commands |
bm prompt star/unstar <name> |
Bookmark favorite prompts |
bm prompt remove <name> |
Delete a prompt |
| Command | Description |
|---|---|
bm hooks install |
Install post-merge + post-checkout hooks for auto-sync |
bm hooks remove |
Remove bm-managed hooks (preserves others) |
bm hooks status |
Check which hooks are installed |
bm install --quiet |
Silent mode for hooks and automation |
| Command | Description |
|---|---|
bm tools list |
Show available developer CLI tools with install status ✨ v1.1 |
bm tools install [name...] |
Install tools via Homebrew (macOS) or apt (Linux) ✨ v1.1 |
All commands support --help for detailed usage.
Skills are markdown files (SKILL.md) that give Claude Code domain expertise and step-by-step workflows for specialized tasks. They live in skills/ and are symlinked to ~/.claude/skills/ where Claude Code picks them up automatically.
| Category | Skills |
|---|---|
| 🚀 Production | django-production, frontend-productionize, productionize-app, fastapi-templates, vercel-cli |
| 🔒 Security & Compliance | dependency-security-audit, audit-trail, gdpr-compliance, multi-tenant-guard, multi-tenant-scan, hipaa-compliance-guard, security-compliance-audit, healthcare-audit-logger, django-react-2fa, otp-verification, role-based-authentication, universal-auth, service-invariant-guard |
| 🌐 SEO | ai-seo, seo-audit, programmatic-seo |
| 📱 Mobile | django-auth-react-native, expo-deployment, expo-push-notifications, django-react-2fa |
| 📄 Documents | pdf, xlsx, presentation-maker, release-notes |
| 🔧 Dev Tools | mcp-builder, modern-terminal-setup, skill-creator, find-skills |
| 🤝 Workflow | feature-alignment, github-pr-review-workflow, receiving-code-review |
| 💳 Payments | stripe-integration |
| 🏗️ PCS (scoped) | pcs-migration, pcs-new-service, pcs-add-endpoint, + 4 more |
Full inventory: skills/SKILLS_INVENTORY.md
# 1. Scaffold a new skill
bm skill add my-skill
# 2. Edit the generated SKILL.md
$EDITOR skills/my-skill/SKILL.md
# 3. Activate via symlink
bm install
# 4. Invoke it in Claude Code
# "Run my-skill on this project"Skills start project-scoped and graduate to general when proven:
# Create scoped to a project
bm skill add deploy-hook --project my-project
# Edit and test in Claude Code
$EDITOR skills/my-project/deploy-hook/SKILL.md
bm install
# Promote when it proves universally useful
bm skill generalize deploy-hook
# → moves skills/my-project/deploy-hook/ → skills/deploy-hook/
# → updates symlink and registry# Claude agents can query bm directly
bm status --json # [{name, status, scope, project}, ...]
bm registry list --json # [{name, source, scope, install_method, ...}, ...]
bm skill list --json # [{name, scope, project, path}, ...]bm integrates with two Claude Code plugin marketplaces. Run bm plugins to check your install status and get setup instructions.
Advanced skills for systematic debugging, test-driven development, parallel subagent execution, git worktrees, and more. Installs into ~/.claude/skills/superpowers/.
Compound engineering workflows: browser automation, frontend design, brainstorming, PR review, and agent-native architecture patterns.
# Check which plugins are installed
bm plugins
# Doctor will also surface missing plugins
bm doctorbm can install a curated set of modern CLI tools via Homebrew (macOS) or apt (Linux):
bm tools list # see available tools + install status
bm tools install ripgrep fzf lazygit # install specific tools
bm tools install # install everything| Tool | Purpose | Install |
|---|---|---|
| ripgrep | Extremely fast grep replacement (rg) |
brew install ripgrep |
| fzf | Fuzzy finder for shell history, files, git | brew install fzf |
| lazygit | Terminal UI for git branches and diffs | brew install lazygit |
| bat | cat with syntax highlighting and git markers |
brew install bat |
| eza | Modern ls with icons and git status |
brew install eza |
| zoxide | Smarter cd — jump to frecent directories |
brew install zoxide |
| delta | Syntax-highlighted git diff viewer | brew install git-delta |
| gh | GitHub CLI — PRs, issues, releases | brew install gh |
| Tool | Purpose |
|---|---|
| Claude Code | AI coding assistant — skill runtime |
| uv | Python package manager |
| Ruff | Python linter and formatter |
| Typer | CLI framework built on Click + type annotations |
| Rich | Terminal UI — tables, panels, progress bars |
| mypy | Static type checker (strict mode, 0 errors) |
| pytest | Test framework |
| ripgrep | Fast code search referenced in dev skills |
| fzf | Fuzzy finder referenced in terminal skills |
| lazygit | Git TUI referenced in dev tooling skills |
Benmore-Meridian/
├── bm/ # The bm CLI tool
│ ├── bm/ # Python package
│ │ ├── cli.py # All commands (Typer)
│ │ ├── installer.py # Symlink-first install + SKILL.md validation
│ │ ├── registry.py # ~/.bm/registry.json persistence
│ │ ├── dryrun.py # DryRunContext — safe preview of any write ✨ v1.1
│ │ ├── validator.py # SKILL.md frontmatter validation ✨ v1.1
│ │ ├── tools.py # Developer tool definitions ✨ v1.1
│ │ ├── status.py # Installed/missing/broken detection
│ │ ├── plugins.py # Superpowers + Double Shot Latte detection
│ │ ├── updater.py # git pull + reinstall orchestration
│ │ ├── config.py # Path constants + REPO_ROOT discovery
│ │ └── models.py # All dataclasses and enums
│ ├── native/ # Optional PyO3 helper crate
│ ├── tests/ # 94 tests, mypy, basedpyright, ruff clean
│ └── README.md # Full bm command reference + architecture
├── skills/ # 75+ Claude Code skills (symlinked to ~/.claude/skills/)
├── guides/ # Developer onboarding documentation
│ ├── django/ # Production readiness (3 complementary guides)
│ ├── deployment/ # Heroku, DigitalOcean, CI/CD, React Native
│ ├── development/ # Dev workflow, Claude Code ecosystem
│ ├── review/ # PR review with AI
│ └── toolkit/ # Environment setup
└── docs/ # Design specs + implementation plans
| Guide | Description |
|---|---|
| FDE Onboarding | Start here if you're new — full setup in one command |
| Django Production | Simple → detailed → comprehensive productionization |
| Deployment | Heroku, DigitalOcean (6 ops guides), CI/CD, React Native |
| Development Workflow | Meeting notes → production, Claude Code ecosystem |
| PR Review | AI-assisted review + GitHub Projects setup |
| Developer Toolkit | Environment setup checklist (ripgrep, gh, uv, etc.) |
| Claude Code Training | Training deck for onboarding engineers to Claude Code workflows and skills |
Guides for deployment, Django, CI/CD, and team workflows live in guides/. See guides/README.md for the full index.
Public project policies:
# Run the full check suite before submitting
cd bm
uv run ruff format --check bm/ tests/
uv run ruff check bm/ tests/
uv run mypy bm/
uv run --extra dev basedpyright
uv run pytest tests/ -q
cargo test --manifest-path native/Cargo.tomlPull requests welcome. When adding a new skill, follow the project skill lifecycle above — start scoped, generalize when proven.
Part of Benmore-Meridian — the Claude Code skills repo for Benmore Studio.