refactor(plugins): prefix Claude Code plugin skills with bm- - #878
Conversation
…er legibility In the slash-command picker, Claude Code shows the bare skill name (setup, share, status, remember), so the plugin's commands blended in with other plugins' similarly-named skills (spec, simplify, schedule, …) — the basic-memory namespace only shows in the tooltip. Prefixing the skill dirs with bm- makes them group and read as ours: /basic-memory:bm-setup, :bm-remember, :bm-share, :bm-status. (Reverses the Phase 2 decision to drop the prefix — that relied on the namespace being visible in the picker, which it isn't. Live dogfood UX wins.) - git mv the four skill dirs setup/remember/share/status → bm-*; updated each SKILL.md `name:` to match (validator requires name == dir). - Updated every reference: the SessionStart first-run nudge, both READMEs, the docs (getting-started/architecture/why), CHANGELOG, DESIGN, settings.example, the schema future-command notes, and cross-references between skills. - validate_claude_plugin.py REQUIRED_SKILLS → bm-*. Plugin validates (incl. `claude plugin validate . --strict`); the live SessionStart nudge now points at `/basic-memory:bm-setup`. Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com> Signed-off-by: phernandez <paul@basicmachines.co>
|
Claude finished @phernandez's task in 1m 48s —— View job PR Review —
|
| Item | Status |
|---|---|
| Follows Basic Memory coding conventions | ✅ |
| Python 3.12+ type annotations / async patterns | ✅ N/A (docs/config/shell only) |
| SQLAlchemy / FastAPI / Typer conventions | ✅ N/A |
| 100-char line length | ✅ |
| No commented-out code blocks | ✅ |
| Unit/integration tests | ✅ N/A (rename only, validated by package-check-claude-code) |
| 100% test coverage maintained | ✅ N/A |
| Documentation updated | |
| CLAUDE.md conventions change | ✅ N/A |
| MCP tools atomic/composable | ✅ N/A |
| Database changes / migrations | ✅ N/A |
| Local-first architecture | ✅ |
| No hardcoded secrets | ✅ |
| Windows path compatibility | ✅ |
| No emoji/unicode in console/log output | ✅ |
Overall: The approach is sound — the bm- prefix clearly solves the picker legibility problem described in the PR. Two small documentation bugs need fixing before merge. Everything else looks correct.
There was a problem hiding this comment.
💡 Codex Review
Here are some automated review suggestions for this pull request.
Reviewed commit: 4acd6686b9
ℹ️ About Codex in GitHub
Your team has set up Codex to review pull requests in this repo. Reviews are triggered when you
- Open a pull request for review
- Mark a draft as ready
- Comment "@codex review".
If Codex has suggestions, it will comment; otherwise it will react with 👍.
Codex can also answer questions or update the PR. Try commenting "@codex address that feedback".
| The Claude Code plugin is the bridge between Claude's working memory and Basic | ||
| Memory — session-start briefings, pre-compaction checkpoints, an opt-in capture | ||
| output style, and `/basic-memory:setup` · `:remember` · `:share` · `:status`. | ||
| output style, and `/basic-memory:bm-setup` · `:remember` · `:share` · `:status`. |
There was a problem hiding this comment.
Prefix all listed skill commands
After this rename, only /basic-memory:bm-remember, /basic-memory:bm-share, and /basic-memory:bm-status exist, but this updated user-facing summary still advertises the old shorthand names :remember, :share, and :status. Users following the README can therefore try slash commands that no longer resolve; update the remaining entries to :bm-remember, :bm-share, and :bm-status as well.
Useful? React with 👍 / 👎.
…ame stragglers Rewrites the §4.4 naming note in DESIGN (which the rename left self-contradictory) to record the actual decision and its rationale: the bm- prefix exists because the Claude Code slash picker shows only the bare skill name (the basic-memory namespace is tooltip-only), so un-prefixed skills blend into the list. Notes it's a workaround for the upstream gap (anthropics/claude-code#50486) to revisit if that lands, and that #22063 doesn't affect us (name == dir keeps the namespace). Also fixes two stragglers the rename missed in architecture.md (the `·`-separated command label and the 4-item `skills/{…}` path now show bm-*). Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com> Signed-off-by: phernandez <paul@basicmachines.co>
|
Claude finished @phernandez's task in 1m 31s —— View job PR Review —
|
| Item | Status |
|---|---|
| Follows Basic Memory coding conventions | ✅ |
| Python 3.12+ type annotations / async patterns | ✅ N/A (docs/config/shell only) |
| SQLAlchemy / FastAPI / Typer conventions | ✅ N/A |
| 100-char line length | ✅ |
| No commented-out code blocks | ✅ |
| Unit/integration tests | ✅ N/A (rename only, validated by package-check-claude-code) |
| 100% test coverage maintained | ✅ N/A |
| Documentation updated | |
| CLAUDE.md conventions change | ✅ N/A |
| MCP tools atomic/composable | ✅ N/A |
| Database changes / migrations | ✅ N/A |
| Local-first architecture | ✅ |
| No hardcoded secrets | ✅ |
| Windows path compatibility | ✅ |
| No emoji/unicode in console/log output | ✅ |
Overall: The rename is well-motivated and cleanly executed. The bm- prefix clearly solves the picker legibility problem. Fix the two documentation lines above before merge — everything else looks correct.
Summary
Renames the four Claude Code plugin skills
setup/remember/share/status→bm-setup/bm-remember/bm-share/bm-status.Why: in the slash-command picker, Claude Code shows the bare skill name, so the plugin's commands blended in with other plugins' similarly-named skills (
spec,simplify,schedule, …) — thebasic-memory:namespace only appears in the tooltip. Thebm-prefix makes them group together and read as ours:/basic-memory:bm-setup,:bm-remember,:bm-share,:bm-status.This reverses the Phase 2 decision to drop the prefix (#865) — that relied on the namespace being visible in the picker, which it isn't. Caught while dogfooding the merged plugin.
Changes
git mvthe four skill dirs; updated eachSKILL.mdname:to match.settings.example.json, the schema future-command notes, and cross-references between skills.validate_claude_plugin.pyREQUIRED_SKILLS→bm-*.Verification
just package-check-claude-codepasses, incl.claude plugin validate . --strict./basic-memory:bm-setup.🤖 Generated with Claude Code