← Projects

Benmore-Meridian (bm CLI)

2026ProjectView on GitHub

Benmore Studio's Claude Code monorepo and the bm CLI that drives it. 77 production skills covering Django, FastAPI, Stripe, HIPAA/GDPR/SOC 2 compliance, mobile (Expo/React Native), SEO, deployment (Heroku/DigitalOcean/Vercel), and PCS microservices — all symlinked into ~/.claude/skills/ via one command so `git pull` is the only update step. Ships with `benmore_client`, a separate pip-installable typed async Python client for Benmore's project-management API (30+ endpoints, Pydantic v2 models, py.typed, 168 tests) whose 58 parallel HTTP calls drop end-to-end latency from ~30s to 3.7s via asyncio.gather. Adds 11 reusable prompt templates exportable as Claude Code /commands, git auto-sync hooks for skills and prompts, project-aware skill suggestions from static stack detection, post-session skill candidates surfaced from recent git history, a CLAUDE.md snippet generator, and a curated dev-toolkit installer (ripgrep, fzf, lazygit, bat, eza, zoxide, delta, gh). Every command supports --json so Claude agents can query the registry directly. Built with Typer + Rich, strict mypy (zero errors), ruff, 84+ tests, hatchling, uv. Used by every Benmore engineer; full FDE onboarding deck and presentation live in-repo.

Highlights

  • Symlink-first install — edit a skill once, every Claude session reflects it
  • Project-skill lifecycle: scope to a project, generalize when proven universal
  • Registry at ~/.bm/registry.json tracks every skill with source + install method
  • Plugin detection for Superpowers and Double Shot Latte with install guides
  • 11 saved prompt templates exportable as Claude Code /commands ($1, $2, $ARGUMENTS)
  • Git hooks auto-run bm install on pull/checkout when skills or prompts change
  • Static stack detection → ranked skill suggestions and CLAUDE.md snippets
  • Post-session debrief surfaces skill candidates from recent git history
  • asyncio.gather parallelizes 58 Benmore API calls — 30s → 3.7s
  • --json on every command for agent-native queries
  • Strict mypy (zero errors), ruff clean, 84+ tests, dry-run on every destructive op

Run it

$ bm install
$ bm doctor
$ bm status --json
$ bm skill add <name> --project <p>
$ bm skill generalize <name>
$ bm suggest [path]
$ bm context [path] --copy
$ bm debrief --since <tag>
$ bm prompt export --all
$ bm hooks install
$ bm benmore list
$ bm tools install ripgrep fzf lazygit

Tech

PythonTyperRichasyncioPydantichttpxuvruffmypypytestClaude CodeMarkdown

The canonical source for this project is on GitHub.

View on GitHub

README · github.com/Benmore-Studio/Benmore-Meridian

bm

An extremely fast Claude Code skill manager.

Python uv Ruff Checked with mypy License: MIT Tests Version

Install 55+ Claude Code skills in one command. Edit once, reflect everywhere via symlinks.


Table of Contents


New? Start Here 🚀

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.


Highlights

  • One command installbm install symlinks all 50+ skills into Claude Code instantly.
  • 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 --json so agents can query bm status --json directly.
  • Plugin guidancebm plugins detects 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 install on pull/checkout when skills or prompts change.
  • 💡 Dashboard tips — random helpful hints shown on bm dashboard so you discover features without reading docs.

Installation

Requirements: Python 3.11+, Claude Code

git clone https://github.com/Benmore-Studio/Benmore-Meridian
cd Benmore-Meridian
pip install -e ./bm

pip install -e ./bm keeps bm linked to the repo so it always finds the skills/ directory. Running git pull immediately updates all skill content through symlinks — no reinstall needed.


Quick Start

# Symlink all 55+ skills into Claude Code
bm install

# Verify skill status
bm status

# Check plugin requirements (Superpowers, Double Shot Latte)
bm plugins

# Full health check
bm doctor

Open Claude Code in any project — all skills are live.

Update to latest:

git pull
bm update    # git pull + reinstalls all skills

Commands

Core

| Command | Description | | -------------------------------------------- | -------------------------------------------------------- | | bm install [--rsync] [--dry-run] | Symlink all skills → ~/.claude/skills/ (idempotent) | | 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 |

Skills

| 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 |

Discovery ✨ v1.3

| Command | Description | | ----------------------------------------------------- | ------------------------------------------------------------- | | bm suggest [path] [--top N] [--json] | Scan project → ranked skill suggestions (static, no API) | | bm context [path] [--copy] | Generate CLAUDE.md snippet with detected stack + top 5 skills | | 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 |

Registry

| Command | Description | | ---------------------------------- | ----------------------------------------------- | | bm registry sync [--dry-run] | Scan ~/.claude/skills/ and reconcile registry | | bm registry list [--json] | List all registered skills |

Prompts ✨ v1.6

| 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 |

Hooks ✨ v1.6

| 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 |

Tools

| 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

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.

Available Skills

| 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, hipaa-compliance-guard, security-compliance-audit, healthcare-audit-logger | | 🌐 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

Creating a Skill

# 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"

Project Skill Lifecycle

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-Native JSON Output

# 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}, ...]

Plugin Ecosystem

bm integrates with two Claude Code plugin marketplaces. Run bm plugins to check your install status and get setup instructions.

Superpowers

Advanced skills for systematic debugging, test-driven development, parallel subagent execution, git worktrees, and more. Installs into ~/.claude/skills/superpowers/.

Double Shot Latte

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 doctor

Developer Tools

bm 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 |


Technology Stack

| 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 |


Repository Structure

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
│   ├── tests/             # 38+ tests, mypy strict, ruff clean
│   └── README.md          # Full bm command reference + architecture
├── skills/                # 55+ 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

Guides

| 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 |

Contributing

Guides for deployment, Django, CI/CD, and team workflows live in guides/. See guides/README.md for the full index.

# Run the full check suite before submitting
cd bm
uv sync --all-extras
make check-all    # ruff + mypy + pytest in < 30s

Pull 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.