Episode 10: Installation and Directory Structure
Understanding where extension files are stored and how configuration merging works is the foundation for advanced customization and troubleshooting.
Three Ways to Install
flowchart TB
subgraph Method 1: Plugin One-click
A1["claude plugin install "] --> A2[Download to plugins/cache/]
A2 --> A3[Auto-register Hook/MCP/Skill]
end
subgraph Method 2: Manual Skill
B1[Copy SKILL.md] --> B2["Place in ~/.claude/skills//"]
end
subgraph Method 3: Manual MCP
C1[Edit settings.json] --> C2[Add mcpServers config]
endKey Directory Overview
| Path | Purpose |
|---|---|
~/.claude/settings.json |
Global Config: Hooks, permissions, global MCPs |
~/.claude/skills/ |
Manual Skill Library: Where manually created workflows live |
~/.claude/plugins/ |
Plugin Center: Contains registries and the cache source code |
Project/.claude/settings.json |
Project Config: Project-level Hooks and permissions |
Project/.claude/settings.local.json |
Local Private Config: Local MCPs, database keys |
Configuration Merge Priority
When the same item is configured in multiple places, the following merge rules apply:
- Hooks: All layers cumulative. Hooks from plugins, global, and project levels are all executed in sequence.
- MCP: Project overrides Global. For MCP Servers with the same name, the project-level configuration takes precedence.
- Permissions: Strictest wins. If any layer denies an action, it is blocked.
- Skills: Plugin takes precedence. For slash commands with the same name, the plugin-defined Skill overrides the manual Skill.
Deep Dive into the Installation Flow
When you run claude plugin install, the system:
- Downloads the plugin source from the Marketplace to
plugins/cache/. - Records installation metadata in
installed_plugins.json. - On the next startup, it automatically scans and merges all components.