When you first launch Ensemble, it will:
- Create the data directory at
~/.ensemble/ - Detect existing Skills from
~/.claude/skills/and MCPs from~/.claude.json - Offer to import detected configurations into Ensemble's managed storage
We recommend importing your existing configurations to get started quickly.
Skills are Claude Code's skill modules -- markdown files (each containing a SKILL.md) that provide Claude with specialized capabilities.
- Storage: Managed in
~/.ensemble/skills/ - Scope (
global|project):global-- A symlink is created in~/.claude/skills/pointing to the skill in~/.ensemble/skills/, making it active for all Claude Code sessions.project-- The skill is only deployed to specific projects when synced via a Scene. The symlink in~/.claude/skills/is removed if it existed.
- Import Sources:
- Local Skills from
~/.claude/skills/(detected during first-time setup or via the import dialog) - Plugin-installed Skills from Claude Code plugins (detected from plugin cache directories under
~/.claude/plugins/)
- Local Skills from
Managing Skills:
- Navigate to the Skills section in the sidebar.
- Use the search bar, category filter, or tag filter to find specific skills.
- Click on a skill to view its details (name, description, instructions, category, tags, icon, scope, usage stats).
- Toggle the scope between
GlobalandProjectusing the scope selector. - Edit category, tags, and icon directly in the detail panel.
- Click "Auto Classify" to use AI to automatically assign categories, tags, and icons to all skills.
- Use the import button to import additional skills from
~/.claude/skills/or from installed plugins.
MCP (Model Context Protocol) Servers extend Claude Code with additional tools and data sources.
- Storage: Configurations stored in
~/.ensemble/mcps/(each as a standalone JSON file) - Scope (
global|project):global-- The MCP server entry is added to~/.claude.jsonundermcpServers, making it available to all Claude Code sessions.project-- The MCP entry is removed from~/.claude.json. The MCP is only deployed to specific projects via a Scene, which writes a.mcp.jsonfile in the project root.
- Import Sources:
- Local MCPs from
~/.claude.json(both user-scope and project-scope entries are detected) - Legacy MCPs from
~/.claude/settings.json(for backward compatibility) - Plugin-installed MCPs from Claude Code plugins
- Local MCPs from
Managing MCPs:
- Navigate to MCP Servers in the sidebar.
- Click on an MCP to view its details (name, description, command, args, environment variables, provided tools, category, tags, icon, scope).
- Click "Discover Tools" to connect to the MCP server at runtime and fetch its available tools. This populates the provided tools list.
- Toggle scope between
GlobalandProject. - Edit category, tags, and icon in the detail panel.
- Click "Auto Classify" to use AI for automatic categorization of all MCPs.
- Use the import button to import additional MCPs from
~/.claude.jsonor from installed plugins.
Scenes are configuration bundles that combine multiple Skills, MCPs, and an optional CLAUDE.md file into a reusable profile.
Creating a Scene:
- Navigate to Scenes in the sidebar.
- Click "New Scene" (the
+button). - Enter a name and description.
- Switch between tabs to select:
- Skills -- Select any number of skills to include.
- MCPs -- Select any number of MCP servers to include.
- CLAUDE.md -- Optionally select one CLAUDE.md file (only non-global files are available; global files are excluded since they are already active system-wide).
- Click "Create" to save the scene.
Editing a Scene:
- Click on a scene to view its details in the slide panel.
- Edit the scene name, description, and icon.
- View the list of included Skills, MCPs, and CLAUDE.md.
- Delete the scene if no longer needed.
Use Cases:
- "Web Development" scene with frontend skills and relevant MCPs
- "Data Analysis" scene with Python skills and database MCPs
- "Documentation" scene with writing-focused configurations
Projects link Scenes to specific local directories, enabling one-click configuration deployment.
Adding a Project:
- Navigate to Projects in the sidebar.
- Click "Add Project" (the
+button). - Enter a project name.
- Select a local folder using the folder picker.
- Optionally choose a Scene to associate.
- Click "Create" to save the project.
Sync Process:
When you click "Sync" on a project, Ensemble performs the following:
- Skills deployment -- Creates
<project>/.claude/skills/and places symlinks pointing to each skill's source in~/.ensemble/skills/. Existing symlinks are cleaned before re-creating. - MCP configuration -- Writes a
.mcp.jsonfile in the project root (<project>/.mcp.json) containing the MCP server configurations from the associated Scene. - CLAUDE.md distribution -- If the Scene includes a CLAUDE.md file, it is written to the project at the configured distribution path (see Settings). Existing files are backed up before overwriting.
Clearing Configuration:
Click "Clear Config" on a project to remove all deployed configuration: skill symlinks, .mcp.json, and any distributed CLAUDE.md files (from all three possible paths).
Changing Scenes:
You can change the Scene associated with a project. The old configuration is cleared and the new Scene is automatically synced.
CLAUDE.md files provide context and instructions to Claude Code at different levels. Ensemble manages these files centrally.
- Storage: Imported files are stored in
~/.ensemble/claude-md/ - Source Types (detected during scan):
global-- Found at~/.claude/CLAUDE.mdproject-- Found at./CLAUDE.mdor./.claude/CLAUDE.mdin project directorieslocal-- Found at./CLAUDE.local.mdin project directories
Scanning:
- Navigate to CLAUDE.md in the sidebar.
- Click "Scan" to discover CLAUDE.md files on your system. The scanner checks specified paths and optionally the home directory.
- Review the scan results, which show discovered files with their type, size, modification date, and a content preview.
- Import selected files into Ensemble's managed storage.
Setting a File as Global:
- Select a CLAUDE.md file and click "Set as Global".
- This copies/syncs the file content to
~/.claude/CLAUDE.md, making it active for all Claude Code sessions. - Only one file can be global at a time. Setting a new global file replaces the previous one.
- If an unmanaged
~/.claude/CLAUDE.mdalready exists, it is backed up and imported as "Original Global" before being replaced. - Click "Unset Global" to remove the global status and delete the
~/.claude/CLAUDE.mdfile.
Distribution to Projects:
CLAUDE.md files can be distributed to projects in two ways:
- Via Scenes -- Include a CLAUDE.md file in a Scene, and it will be distributed when the associated Project is synced.
- Direct distribution -- Use the "Distribute" action to send a file to a specific project path.
Distribution Path Options (configurable in Settings):
| Setting | Target Path |
|---|---|
.claude/CLAUDE.md (default) |
<project>/.claude/CLAUDE.md |
CLAUDE.md |
<project>/CLAUDE.md |
CLAUDE.local.md |
<project>/CLAUDE.local.md |
Editing:
- Click on a CLAUDE.md file to view and edit its content, name, description, category, tags, and icon.
- Content changes are saved to the managed copy in
~/.ensemble/claude-md/.
Ensemble supports organizing Skills, MCPs, and CLAUDE.md files with categories and tags.
- Categories -- Each item can belong to one category. Categories have names and colors. Navigate to a category in the sidebar to view all items in that category.
- Tags -- Each item can have multiple tags. Tags are single lowercase words. Navigate to a tag in the sidebar to view all items with that tag.
- Categories and tags can be created, renamed, and deleted from the sidebar.
Ensemble can automatically categorize your Skills, MCPs, and CLAUDE.md files using AI.
How It Works:
- Auto-classification uses the Claude CLI (
claudecommand) to analyze items and suggest categories, tags, and icons. - It does not require an Anthropic API key. It uses the Claude CLI that must be installed and available in your PATH.
- The model used is
sonnet.
What Gets Classified:
Each item receives:
- A suggested category (e.g., "Development", "Database", "Web", "DevOps")
- 1-2 suggested tags (single lowercase words, e.g., "python", "api", "testing")
- A suggested icon from the available icon set
Usage:
- Click the "Auto Classify" button on the Skills, MCP Servers, or CLAUDE.md page.
- All items in that module will be classified in a single batch.
- New categories and tags are automatically created as needed.
- Existing valid categories and tags are reused for consistency.
Ensemble includes a macOS Finder Quick Action that lets you right-click folders and interact with Ensemble directly.
Installation:
- Go to Settings > Launch Configuration.
- Click "Reinstall" next to "Finder Integration".
- The Quick Action is installed at
~/Library/Services/Open with Ensemble.workflow.
Usage:
- Right-click any folder in Finder.
- Select Quick Actions > Open with Ensemble.
- Ensemble receives the folder path and either launches Claude Code directly (if the folder has a configured Scene/Project) or shows the launcher dialog.
Ensemble supports launching Claude Code in multiple terminal applications:
| Terminal | Notes |
|---|---|
| Terminal.app | Default. Uses AppleScript do script for command execution. |
| iTerm2 | Uses iTerm2's native AppleScript to create a new window with the command. |
| Warp | Supports two open modes: New Window (via Launch Configuration) and New Tab (via temporary script). Configurable in Settings. |
| Alacritty | Uses Alacritty's CLI arguments (--working-directory, -e) directly. |
Configuration:
- Go to Settings > Launch Configuration.
- Select your preferred Terminal Application.
- If using Warp, choose between New Window and New Tab open modes.
- Customize the Launch Command (defaults to
claude).
Deleted Skills, MCPs, and CLAUDE.md files are moved to a trash directory within ~/.ensemble/ and can be recovered.
Accessing Trash:
- Go to Settings > Storage.
- Click "Recover" next to "Deleted Items".
- The Trash Recovery modal shows all deleted items grouped by type (Skills, MCPs, CLAUDE.md files).
- Click "Restore" on any item to recover it back to the active collection.
After restoring items, the Skills, MCPs, and CLAUDE.md lists are automatically refreshed.
Ensemble can detect and import Skills and MCPs from Claude Code plugins (installed via the Claude Code plugin system).
- Detected plugin Skills come from plugin directories containing
SKILL.mdfiles. - Detected plugin MCPs come from plugin directories containing
.mcp.jsonfiles. - Imported plugin items are tracked to avoid duplicate imports.
- Plugin-imported items appear at the bottom of the list, sorted separately from local items.
- Use Scenes for context switching -- Create different Scenes for different types of work and switch between them by changing the Project's associated Scene.
- Keep Global scope minimal -- Only set frequently-used items as Global. Use Project scope and Scenes for project-specific configurations.
- Organize with categories and tags -- Use the auto-classification feature to quickly organize large collections, then refine manually as needed.
- Use the Finder integration -- Install the Quick Action for fast access to Claude Code from any project folder.
- Regular cleanup -- Delete unused configurations; they can always be recovered from the trash.