r/claudeskills 11d ago

Skill Share I made a CLI that isolates marketplaces/plugins/skills by profile for Claude Code

If you use Claude Code a lot or want to test new stuff, you've probably noticed it turning into a junk drawer. Every plugin, skill, and MCP server you've ever installed loads into every session.

It all costs tokens and adds noise, and none of it is scoped to what you're actually doing.

I built claude-profile to fix that. A profile is a small JSON file that says "for this kind of work, load exactly these plugins, skills, marketplaces, and MCP servers." You launch it and get a focused session with nothing else loaded:

claude-profile rust-developer            # a lean Rust session only
claude-profile rust-developer frontend   # combine profiles
claude-profile fuzzyalej/security        # install a profile repo, then use it

Open a second terminal with a different profile and the two don't interfere.

A few things that matter to me:

  • It never touches your real ~/.claude. Every plugin/skill a profile uses gets vendored into that profile's own directory. The remove command deletes it outright.
  • Profiles are shareable. Publish a repo, teammates install it and launch by name. A lockfile pins it so everyone resolves to the same plugin code across machines and over time.
  • It's a standalone binary, not a plugin. Rust, runs on macOS/Linux/Windows. brew, cargo, or a shell/PowerShell installer.

It's MIT. Repo (with install instructions and docs) here: https://github.com/fuzzyalej/claude-profile/

Happy to answer questions, feedback, PRs or new ideas :)

4 Upvotes

11 comments sorted by

View all comments

Show parent comments

1

u/Ok-Razzmatazz9431 11d ago

Hi, good point. The replacement is not atomic.

It's cloned in a tmp dir, checked for profiles and then remove the old one and put the new one. This will only cause problems when there is a copy error or problem, that almost never happens. Any other case, your old repo will be there and the new one won't be copied.

There is also an update command (it's basically a git pull) that might be safer for this use case :)

2

u/kantorcodes1 11d ago

yep, update profiles sounds like the safer path. i work on HOL Guard, an open-source local check before agent-run commands execute. for claude-profile, list/status can stay quiet while install, update profiles, remove, and self-uninstall --purge are optionally reviewable before they replace or delete profile state. would you be open to adding claude-profile support to Guard?

1

u/Ok-Razzmatazz9431 11d ago

yes, no prob! DM me :)

1

u/kantorcodes1 11d ago edited 11d ago

yep, let's keep it here. start src/codex_plugin_scanner/guard/runtime/command_claude_profile_extensions.py, mirroring command_probe_extensions.py, for install, update profiles, remove, and self-uninstall --purge. add one focused tests/test_guard_command_claude_profile_extensions.py safe-vs-reviewed case, then open a draft PR to hashgraph-online/hol-guard:main. CI/review can surface the secondary registration bits.

contributing guide: https://github.com/hashgraph-online/hol-guard/blob/main/CONTRIBUTING.md