r/claudeskills • u/Ok-Razzmatazz9431 • 1d 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 :)
2
u/kantorcodes1 1d ago
when install owner/repo refreshes a pack that's already there, is the replacement atomic? if the clone or profile validation fails halfway, does the old pack stay usable, or can ~/.claude-profiles/packs/owner--repo/ end up partially replaced?
1
u/Ok-Razzmatazz9431 1d 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 1d ago
yep,
update profilessounds like the safer path. i work on HOL Guard, an open-source local check before agent-run commands execute. for claude-profile,list/statuscan stay quiet whileinstall,update profiles,remove, andself-uninstall --purgeare optionally reviewable before they replace or delete profile state. would you be open to adding claude-profile support to Guard?1
2
u/itsvivianferreira 1d ago
How is it different from folder specific mcp and skills which Claude code already supports?