From marketplace-manager
Manage the fakoli-plugins marketplace. Use when: (1) adding a new plugin to the marketplace, (2) removing a plugin, (3) validating plugins, (4) regenerating registry indices, (5) checking marketplace status, or (6) any plugin registry management task. Triggers on phrases like "add plugin", "validate plugins", "update registry", "marketplace status".
npx claudepluginhub fakoli/fakoli-plugins --plugin marketplace-managerThis skill uses the workspace's default tool permissions.
Manage the fakoli-plugins marketplace: add/remove plugins, validate manifests, and regenerate registry indices.
Guides Next.js Cache Components and Partial Prerendering (PPR) with cacheComponents enabled. Implements 'use cache', cacheLife(), cacheTag(), revalidateTag(), static/dynamic optimization, and cache debugging.
Migrates code, prompts, and API calls from Claude Sonnet 4.0/4.5 or Opus 4.1 to Opus 4.5, updating model strings on Anthropic, AWS, GCP, Azure platforms.
Analyzes BMad project state from catalog CSV, configs, artifacts, and query to recommend next skills or answer questions. Useful for help requests, 'what next', or starting BMad.
Manage the fakoli-plugins marketplace: add/remove plugins, validate manifests, and regenerate registry indices.
| Task | Command |
|---|---|
| Validate all plugins | ./scripts/validate.sh |
| Validate single plugin | ./scripts/validate.sh plugins/<name> |
| Regenerate indices | ./scripts/generate-index.sh |
| Check marketplace status | Read .claude-plugin/marketplace.json |
Create plugin from template
cp -r templates/basic plugins/<plugin-name>
Update manifest at plugins/<plugin-name>/.claude-plugin/plugin.json:
name (lowercase, alphanumeric, hyphens only)version (semver format: x.y.z)description (10-500 chars)author infoextended.category (productivity|code-quality|devops|integrations|utilities)extended.tagsAdd plugin components (at least one required):
skills/<skill-name>/SKILL.mdcommands/<cmd>.jsonagents/<agent>.jsonhooks/<hook>.jsonUpdate documentation:
README.md with usage instructionsCHANGELOG.mdValidate
./scripts/validate.sh plugins/<plugin-name>
Register in marketplace
Add entry to .claude-plugin/marketplace.json plugins array:
{
"name": "<plugin-name>",
"path": "plugins/<plugin-name>",
"version": "1.0.0"
}
Regenerate indices
./scripts/generate-index.sh
.claude-plugin/marketplace.json plugins arrayrm -rf plugins/<plugin-name>./scripts/generate-index.shValidate all plugins:
./scripts/validate.sh
Validate specific plugin:
./scripts/validate.sh plugins/<plugin-name>
Validation checks:
./scripts/generate-index.sh
Generates:
registry/index.json - Full plugin index with metadataregistry/categories.json - Plugins grouped by categoryregistry/tags.json - Tag cloud with countsRead current state:
cat .claude-plugin/marketplace.json
cat registry/index.json
Quick stats:
jq '.pluginCount' registry/index.json
jq '.categories | length' registry/categories.json
jq '.totalTags' registry/tags.json
Required fields:
{
"name": "plugin-name",
"version": "1.0.0",
"description": "10-500 character description"
}
Extended metadata:
{
"extended": {
"category": "utilities",
"tags": ["tag1", "tag2"],
"compatibility": {
"claudeCodeVersion": ">=1.0.0",
"platforms": ["darwin", "linux", "win32"]
},
"dependencies": {
"npm": [],
"pip": [],
"binaries": []
}
}
}
fakoli-plugins/
├── .claude-plugin/marketplace.json # Registry config
├── plugins/<plugin-name>/ # First-party plugins
│ ├── .claude-plugin/plugin.json
│ ├── skills/
│ ├── README.md
│ └── CHANGELOG.md
├── external_plugins/ # Modified external plugins
├── registry/ # Auto-generated indices
├── scripts/ # Validation tools
└── templates/basic/ # Plugin template
| Error | Fix |
|---|---|
| Missing manifest | Create .claude-plugin/plugin.json |
| Invalid JSON | Fix JSON syntax errors |
| Missing name | Add "name": "plugin-name" |
| Invalid name format | Use lowercase, alphanumeric, hyphens only |
| Missing version | Add "version": "1.0.0" |
| Invalid version | Use semver format (x.y.z) |
| Missing description | Add description (10-500 chars) |
| No components | Add at least one skill, command, agent, or hook |