skills/emasoft/marketplace-release/SKILL.md
Use when creating releases for Claude Code plugin marketplaces. Supports independent plugin versioning - each plugin can be released separately. Triggered by "release", "bump version", "create release", "publish plugin".
npx skillsauth add aiskillstore/marketplace marketplace-releaseInstall this skill globally with one command. Works with Claude Code, Cursor, and Windsurf.
3 of 9 scanners reported clean
Some scanners were skipped, did not run, or reported a non-clean status. Review each row below.
A portable release script for Claude Code plugin marketplaces with independent plugin versioning. Each plugin in a marketplace maintains its own version and can be released separately.
gh auth status.claude-plugin/marketplace.json# Release a specific plugin
python "${CLAUDE_PLUGIN_ROOT}/scripts/release.py" <bump-type> <plugin-name> "<release-notes>"
# List all plugins and their versions
python "${CLAUDE_PLUGIN_ROOT}/scripts/release.py" --list
# Or copy script to marketplace and run from root
python scripts/release.py <bump-type> <plugin-name> "<release-notes>"
# Patch release for ghe plugin
python "${CLAUDE_PLUGIN_ROOT}/scripts/release.py" patch ghe "Fix avatar loading issue"
# Minor release for marketplace-utils
python "${CLAUDE_PLUGIN_ROOT}/scripts/release.py" minor marketplace-utils "Add TOC generator"
# Major release with breaking changes
python "${CLAUDE_PLUGIN_ROOT}/scripts/release.py" major ghe "Breaking: New API structure"
# View all plugins and current versions
python "${CLAUDE_PLUGIN_ROOT}/scripts/release.py" --list
| Type | When to Use | Example |
|------|-------------|---------|
| patch | Bug fixes, minor improvements | 0.5.4 -> 0.5.5 |
| minor | New features, non-breaking changes | 0.5.5 -> 0.6.0 |
| major | Breaking changes, major rewrites | 0.6.0 -> 1.0.0 |
claude plugin validate to ensure plugin is correct__version__ in all scripts (marketplace-utils only)<plugin-name>-v<version>Before releasing, validate your plugin to catch errors early:
# Validate a specific plugin
python "${CLAUDE_PLUGIN_ROOT}/scripts/validate_plugin.py" ghe
# Validate all plugins
python "${CLAUDE_PLUGIN_ROOT}/scripts/validate_plugin.py" --all
# Show version
python "${CLAUDE_PLUGIN_ROOT}/scripts/validate_plugin.py" --version
The validation script wraps claude plugin validate and provides:
--allEach plugin has its own version tracked in marketplace.json:
{
"name": "my-marketplace",
"plugins": [
{
"name": "ghe",
"source": "./plugins/ghe",
"version": "0.5.4"
},
{
"name": "marketplace-utils",
"source": "./plugins/marketplace-utils",
"version": "1.0.0"
}
]
}
When you release a plugin:
ghe-v0.5.4, marketplace-utils-v1.0.0Located at .claude-plugin/marketplace.json:
{
"name": "my-marketplace",
"plugins": [
{
"name": "plugin-a",
"source": "./plugins/plugin-a",
"version": "1.0.0"
},
{
"name": "plugin-b",
"source": "./plugins/plugin-b",
"version": "2.3.1"
}
]
}
Located at plugins/<name>/.claude-plugin/plugin.json:
{
"name": "plugin-a",
"version": "1.0.0"
}
Both files are updated when releasing that specific plugin.
The script preserves version suffixes like -alpha, -beta:
0.2.5-alphapatch: 0.2.6-alphaghe-v0.2.6-alpha## What's Changed
<your release notes>
## Installation
```bash
/plugin marketplace update my-marketplace
/plugin install ghe@my-marketplace
https://github.com/owner/repo/compare/ghe-v0.5.3...ghe-v0.5.4
## Confirmation Prompt
The script prompts for confirmation before making changes:
Marketplace: my-marketplace Plugin: ghe Current version: 0.5.3 New version: 0.5.4
Proceed with release ghe-v0.5.4? [y/N]
## List Plugins Command
Use `--list` to see all plugins and their current versions:
```bash
$ python release.py --list
Marketplace: my-marketplace
Plugin Version Source
----------------------------------------------------------------------
ghe 0.5.4 ./plugins/ghe
marketplace-utils 1.0.0 ./plugins/marketplace-utils
The release script automatically maintains a version table in the marketplace README.md:
<!-- PLUGIN-VERSIONS-START -->
## Plugin Versions
| Plugin | Version | Description |
|--------|---------|-------------|
| ghe | 0.5.4 | GHE (GitHub-Elements) - Automated project manag... |
| marketplace-utils | 1.0.0 | Portable utility tools for Claude Code plugin m... |
*Last updated: 2025-01-15*
<!-- PLUGIN-VERSIONS-END -->
This section is automatically:
The main version badge in the README header is also updated to match the first plugin's version.
The plugin has issues that must be fixed before release. Check the error message and fix the plugin.json or structure.
Run from marketplace root directory, not plugin subdirectory.
Check plugin name matches exactly what's in marketplace.json. Use --list to see available plugins.
Run gh auth login and authenticate.
Commit or stash changes, or proceed and include them in the release.
This script is fully portable:
gh repo viewdevelopment
Apple Human Interface Guidelines for content display components. Use this skill when the user asks about charts component, collection view, image view, web view, color well, image well, activity view, lockup, data visualization, content display, displaying images, rendering web content, color pickers, or presenting collections of items in Apple apps. Also use when the user says how should I display charts, what's the best way to show images, should I use a web view, how do I build a grid of items, what component shows media, or how do I present a share sheet. Cross-references: hig-foundations for color/typography/accessibility, hig-patterns for data visualization patterns, hig-components-layout for structural containers, hig-platforms for platform-specific component behavior.
tools
Automate HelpDesk tasks via Rube MCP (Composio): list tickets, manage views, use canned responses, and configure custom fields. Always search tools first for current schemas.
testing
Expert Haskell engineer specializing in advanced type systems, pure functional design, and high-reliability software. Use PROACTIVELY for type-level programming, concurrency, and architecture guidance.
tools
GraphQL gives clients exactly the data they need - no more, no less. One endpoint, typed schema, introspection. But the flexibility that makes it powerful also makes it dangerous. Without proper controls, clients can craft queries that bring down your server. This skill covers schema design, resolvers, DataLoader for N+1 prevention, federation for microservices, and client integration with Apollo/urql. Key insight: GraphQL is a contract. The schema is the API documentation. Design it carefully.