Skip to content

refactor(plugins): prefix Claude Code plugin skills with bm- - #878

Merged
phernandez merged 2 commits into
mainfrom
claude/bm-prefix-skills
Jun 4, 2026
Merged

refactor(plugins): prefix Claude Code plugin skills with bm-#878
phernandez merged 2 commits into
mainfrom
claude/bm-prefix-skills

Conversation

@phernandez

Copy link
Copy Markdown
Member

Summary

Renames the four Claude Code plugin skills setup/remember/share/statusbm-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, …) — the basic-memory: namespace only appears in the tooltip. The bm- 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 mv the four skill dirs; updated each SKILL.md name: to match.
  • Updated every reference: the SessionStart first-run nudge, both READMEs, the docs (getting-started / architecture / why-combine-memory), CHANGELOG, DESIGN, settings.example.json, the schema future-command notes, and cross-references between skills.
  • validate_claude_plugin.py REQUIRED_SKILLSbm-*.

Verification

  • just package-check-claude-code passes, incl. claude plugin validate . --strict.
  • The live SessionStart first-run nudge now points at /basic-memory:bm-setup.

🤖 Generated with Claude Code

…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>
@github-actions

github-actions Bot commented Jun 1, 2026

Copy link
Copy Markdown
Contributor

Claude finished @phernandez's task in 1m 48s —— View job


PR Review — refactor(plugins): prefix Claude Code plugin skills with bm-

  • Gather context and understand the PR
  • Review changed files for correctness and standards
  • Verify checklist items against CLAUDE.md guidelines
  • Post final review summary

Summary

The rename is well-motivated and cleanly executed across most of the codebase. The four skill directories are correctly renamed and all their internal cross-references updated. The validator, hooks, and docs largely follow through. Two missed references were found where the shorthand list was updated for only the first skill but not the rest.


Bug: Partial rename in root README.md

File: README.md:202

`/basic-memory:bm-setup` · `:remember` · `:share` · `:status`.

Only the first skill in this shorthand list got the bm- prefix. The remaining three still use the old names. A user reading this would not know to type :bm-remember, :bm-share, :bm-status.

Should be:

`/basic-memory:bm-setup` · `:bm-remember` · `:bm-share` · `:bm-status`.

Fix this →


Bug: Partial rename in CHANGELOG.md historical note

File: plugins/claude-code/CHANGELOG.md:87-88

- Slash commands shipped by later phases (`/basic-memory:bm-setup`,
  `:remember`, `:status`) will be **plugin-namespaced** — Claude Code namespaces

The PR updated bm-setup on line 87 but left :remember and :status (no bm- prefix) on the continuation line. Even though this is historical documentation, it's inconsistent with the current state and could mislead anyone reading the changelog.

Should be:

- Slash commands shipped by later phases (`/basic-memory:bm-setup`,
  `:bm-remember`, `:bm-status`) will be **plugin-namespaced** — Claude Code namespaces

Fix this →


Team Checklist

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 ⚠️ Two missed references (see above)
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.

@chatgpt-codex-connector chatgpt-codex-connector Bot left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

💡 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".

Comment thread README.md
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`.

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

P2 Badge 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>
@github-actions

github-actions Bot commented Jun 1, 2026

Copy link
Copy Markdown
Contributor

Claude finished @phernandez's task in 1m 31s —— View job


PR Review — refactor(plugins): prefix Claude Code plugin skills with bm-

  • Gather context and understand the PR
  • Verify the straggler fixes from the latest commit
  • Attempted fix push — blocked by repo permissions (github-actions[bot] cannot push here)
  • Post final review summary

Status: Two fixes still needed before merge

The latest commit (e0f103d) fixed DESIGN.md and docs/architecture.md stragglers, but the two bugs flagged in the earlier review remain.


Bug 1 — README.md:202

-`/basic-memory:bm-setup` · `:remember` · `:share` · `:status`.
+`/basic-memory:bm-setup` · `:bm-remember` · `:bm-share` · `:bm-status`.

Fix this →

Bug 2 — plugins/claude-code/CHANGELOG.md:88

 - Slash commands shipped by later phases (`/basic-memory:bm-setup`,
-  `:remember`, `:status`) will be **plugin-namespaced** — Claude Code namespaces
+  `:bm-remember`, `:bm-status`) will be **plugin-namespaced** — Claude Code namespaces

Fix this →


Team Checklist

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 ⚠️ Two missed references (see above)
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.

@phernandez
phernandez merged commit 5458c35 into main Jun 4, 2026
29 checks passed
@phernandez
phernandez deleted the claude/bm-prefix-skills branch June 4, 2026 17:04
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant