Use when working with Claude Code plugin marketplaces - adding, updating, creating, or understanding how marketplace versioning and caching work.
/plugin marketplace add jasonkuhrt/claude-marketplace/plugin install claude-code@jasonkuhrtThis skill inherits all available tools. When active, it can use any tool Claude has access to.
Plugin marketplaces are catalogs of available plugins. This skill covers how updates work, caching, and versioning.
| Path | Purpose |
|---|---|
~/.claude/plugins/marketplaces/ | Git clones of remote marketplaces |
~/.claude/plugins/cache/<marketplace>/<plugin>/<version>/ | Cached plugin versions |
~/.claude/plugins/known_marketplaces.json | Marketplace registry with update timestamps |
Marketplaces track main branch HEAD - no commit pinning:
// known_marketplaces.json
{
"superpowers-marketplace": {
"source": {
"source": "git",
"url": "https://github.com/obra/superpowers-marketplace.git"
},
"lastUpdated": "2026-01-09T15:25:06.447Z",
"autoUpdate": true
}
}
autoUpdate: true pulls latest on startup/refreshsource: "directory") read immediately - no push neededPlugins ARE versioned via the version field in plugin.json:
~/.claude/plugins/cache/
├── superpowers-marketplace/
│ └── superpowers/
│ └── 4.0.3/ ← version from plugin.json
└── jasonkuhrt/
└── diagrams/
└── 1.0.0/ ← version from plugin.json
digraph update_flow {
rankdir=TB;
"Claude Code starts" [shape=box];
"Pull marketplace (git pull main)" [shape=box];
"Read marketplace.json" [shape=box];
"For each enabled plugin" [shape=diamond];
"Check if version cached" [shape=diamond];
"Use cached version" [shape=box];
"Fetch plugin from source" [shape=box];
"Cache at version directory" [shape=box];
"Claude Code starts" -> "Pull marketplace (git pull main)";
"Pull marketplace (git pull main)" -> "Read marketplace.json";
"Read marketplace.json" -> "For each enabled plugin";
"For each enabled plugin" -> "Check if version cached";
"Check if version cached" -> "Use cached version" [label="yes"];
"Check if version cached" -> "Fetch plugin from source" [label="no"];
"Fetch plugin from source" -> "Cache at version directory";
"Cache at version directory" -> "For each enabled plugin";
"Use cached version" -> "For each enabled plugin";
}
| Layer | Pinned? | Update Mechanism |
|---|---|---|
| Marketplace | No (tracks main HEAD) | autoUpdate: true or /plugin marketplace update |
| Plugin | Yes (version field) | Bump version in plugin.json → new cache dir |
# List known marketplaces
/plugin marketplace list
# Update marketplace metadata
/plugin marketplace update <marketplace-name>
# Add marketplace
/plugin marketplace add owner/repo # GitHub
/plugin marketplace add ./local-path # Local
/plugin marketplace add https://url.git # Git URL
# Remove marketplace (also uninstalls plugins from it)
/plugin marketplace remove <marketplace-name>
For local marketplaces (like jasonkuhrt):
{
"jasonkuhrt": {
"source": {
"source": "directory",
"path": "/path/to/marketplace"
}
}
}
In project or user settings.json:
{
"enabledPlugins": {
"plugin-name@marketplace-name": true
}
}
lastUpdated timestamp tracks when marketplace was last refreshedThis skill should be used when the user asks to "create a hookify rule", "write a hook rule", "configure hookify", "add a hookify rule", or needs guidance on hookify rule syntax and patterns.
Create distinctive, production-grade frontend interfaces with high design quality. Use this skill when the user asks to build web components, pages, or applications. Generates creative, polished code that avoids generic AI aesthetics.