supabase
Handles the full Supabase workflow from schema changes to deployment, with built-in security guardrails that catch common traps like RLS...
marketplace-structure
This skill should be used when the user asks to "create a marketplace", "set up marketplace.json", "organize multiple plugins", "distribute plugins", "host plugins", "marketplace schema", "plugin marketplace structure", "multi-plugin organization", or needs guidance on plugin marketplace creation...
Full skill instructions
A plugin marketplace is a catalog of available plugins that enables centralized discovery, version management, and distribution. This skill covers creating and maintaining marketplaces for team or community plugin distribution.
Marketplaces provide:
| Create a Plugin | Create a Marketplace |
|---|---|
| Single-purpose extension | Collection of related plugins |
| Used directly by end users | Distributes multiple plugins |
| One team or individual maintains it | Curates plugins from various sources |
Installed via /plugin install | Added via /plugin marketplace add |
Place marketplace.json in the .claude-plugin/ directory at the repository root:
marketplace-repo/
├── .claude-plugin/
│ └── marketplace.json # Required: Marketplace manifest
├── plugins/ # Optional: Local plugin directories
│ ├── plugin-one/
│ │ └── .claude-plugin/
│ │ └── plugin.json
│ └── plugin-two/
│ └── .claude-plugin/
│ └── plugin.json
└── README.md # Recommended: Marketplace documentation
The marketplace.json manifest defines the marketplace and its available plugins.
| Field | Type | Description |
|---|---|---|
name | string | Marketplace identifier (kebab-case, no spaces) |
owner | object | Marketplace maintainer information |
plugins | array | List of available plugin entries |
{
"owner": {
"name": "Team Name",
"email": "[email protected]",
"url": "https://github.com/team"
}
}
{
"metadata": {
"description": "Brief marketplace description",
"version": "1.0.0",
"pluginRoot": "./plugins"
}
}
The pluginRoot field sets the base path for relative plugin sources.
Each plugin in the plugins array requires:
| Field | Type | Description |
|---|---|---|
name | string | Plugin identifier (kebab-case, unique within marketplace) |
source | string or object | Where to fetch the plugin |
Standard metadata fields:
description - Brief plugin descriptionversion - Plugin version (semver)author - Author information objecthomepage - Documentation URLrepository - Source code URLlicense - SPDX license identifierkeywords - Tags for discoverycategory - Plugin categorytags - Additional searchability tagsComponent configuration fields:
commands - Custom paths to command files or directoriesagents - Custom paths to agent fileshooks - Hooks configuration or path to hooks filemcpServers - MCP server configurationsFor complete field reference, see references/schema-reference.md.
For plugins within the same repository:
{
"name": "my-plugin",
"source": "./plugins/my-plugin"
}
{
"name": "github-plugin",
"source": {
"source": "github",
"repo": "owner/plugin-repo"
}
}
For GitLab, Bitbucket, or self-hosted git:
{
"name": "git-plugin",
"source": {
"source": "url",
"url": "https://gitlab.com/team/plugin.git"
}
}
The strict field controls whether plugins must have their own plugin.json:
| Mode | Behavior |
|---|---|
strict: true (default) | Plugin must include plugin.json; marketplace entry supplements it |
strict: false | plugin.json optional; marketplace entry serves as complete manifest |
Use strict: false when:
{
"name": "external-plugin",
"source": {
"source": "github",
"repo": "external/plugin"
},
"description": "Complete metadata here",
"version": "2.0.0",
"strict": false
}
version for every plugin entrydescription for discoverabilitymetadata.version/plugin marketplace add owner/repoextraKnownMarketplaces in .claude/settings.json/plugin marketplace add ./path during developmentFor detailed distribution patterns, see references/distribution-patterns.md.
Validate marketplace structure before publishing:
# Check JSON syntax
jq . .claude-plugin/marketplace.json
# Verify required fields
jq 'has("name") and has("owner") and has("plugins")' .claude-plugin/marketplace.json
Use the plugin-validator agent with marketplace support for comprehensive validation.
{
"name": "team-tools",
"owner": {
"name": "DevTools Team",
"email": "[email protected]",
"url": "https://github.com/company"
},
"metadata": {
"description": "Internal development tools for the engineering team",
"version": "1.0.0"
},
"plugins": [
{
"name": "code-formatter",
"source": "./plugins/formatter",
"description": "Automatic code formatting on save",
"version": "2.1.0"
},
{
"name": "security-scanner",
"source": {
"source": "github",
"repo": "company/security-plugin"
},
"description": "Security vulnerability detection",
"version": "1.5.0",
"category": "security"
}
]
}
references/schema-reference.md - Complete field reference for marketplace.jsonreferences/distribution-patterns.md - Hosting and team distribution strategiesexamples/minimal-marketplace.md - Single plugin marketplace templateexamples/team-marketplace.md - Internal company marketplace templateexamples/community-marketplace.md - Public multi-plugin marketplace templateplugin.json details/plugin-dev:create-marketplace - Guided marketplace creation workflowThis repository (plugin-dev) is itself a marketplace. Examine .claude-plugin/marketplace.json at the repository root for a real-world example of marketplace structure and plugin organization.
Handles the full Supabase workflow from schema changes to deployment, with built-in security guardrails that catch common traps like RLS...
Comprehensive guides and best practices for Neon Serverless Postgres, covering setup, connection methods, authentication, and platform APIs.
Guide for setting up and using Firebase Authentication. Use this skill when the user's app requires user sign-in, user management, or secure data access using auth rules.
A skill to evaluate how secure Firestore security rules are. Use this when Firestore security rules are updated to ensure that the generated rules are extremely secure and robust.
Official skill for integrating Firebase AI Logic (Gemini API) into web applications. Covers setup, multimodal inference, structured output, and security.
Complete Better Auth server and client setup with database adapters, session management, plugins, and security configuration.
Deploy and manage projects on Vercel using token-based authentication. Use when working with Vercel CLI using access tokens rather than interactive login — e.g. "deploy to vercel", "set up vercel", "add environment variables to vercel".
Complete Cloudflare platform integration with decision trees for compute, storage, AI, networking, security, and infrastructure-as-code.
Run Azure compliance and security audits with azqr plus Key Vault expiration checks. Covers best-practice assessment, resource review, policy/compliance validation, and security posture checks. WHEN: compliance scan, security audit, BEFORE running azqr (compliance cli tool), Azure best practices, Key Vault expiration check, expired certificates, expiring secrets, orphaned resources, compliance assessment.
Send, read, and manage Gmail messages, drafts, labels, and account settings.
Comprehensive website auditing across 230+ rules in 21 categories including SEO, performance, security, and accessibility.
Shared authentication, CLI syntax, and output formatting patterns for gws Google Workspace commands.
Discover your celebrity doppelgänger with StarByFace!
GeoSpy: Pricing, Features, FAQs, and Alternatives for AI Teams
Detect AI-generated voices to protect against audio fraud.
Ensure Your Content's Originality with AI Plagiarism Checker
Upscale images by 400% without quality loss
Protect your social media from copyright disputes
Accurately Detect AI-Generated Content with TheChecker.AI
Chrome extension that detects and flags AI-generated content