skills/skill-publish/SKILL.md
This skill should be used when the user asks to "publish a plugin", "release a plugin", "bump plugin version", "update a Claude Code plugin", "publish skills", or mentions plugin publishing, plugin release, or skill distribution. Handles version bumping, changelog updates, git workflow, and publishing for both Claude Code plugins and standalone Agent Skills.
npx skillsauth add b-open-io/prompts skill-publishInstall 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.
Publish Claude Code plugins and standalone Agent Skills with proper versioning, changelog management, and git workflow.
Before starting, identify the publish type based on project structure:
| Indicator | Type |
|-----------|------|
| .claude-plugin/plugin.json exists | Claude Code Plugin |
| Standalone SKILL.md with no plugin manifest | Standalone Agent Skill |
Claude Code plugins publish by pushing to GitHub — the marketplace picks up the latest commit on the default branch automatically. No registry upload or OTP is needed.
Standalone Agent Skills follow the agentskills.io specification and distribute as directories containing SKILL.md.
# Read current version from manifest
cat .claude-plugin/plugin.json | grep '"version"'
# Check git is clean and up to date
git fetch origin && git status
# Review commits since last version bump
git log --oneline $(git describe --tags --abbrev=0 2>/dev/null || echo HEAD~10)..HEAD
Edit .claude-plugin/plugin.json to increment the version field. For early-stage plugins (0.x.x or 1.0.x), bump the patch version unless the user requests otherwise:
0.1.6 → 0.1.7
1.0.23 → 1.0.24
If a changelog exists, add an entry following the existing format:
## [X.X.X] - YYYY-MM-DD
### Added
- New features
### Changed
- Changes to existing functionality
### Fixed
- Bug fixes
Summarize commits since the last release into appropriate categories.
Before publishing, verify the plugin is well-formed:
.claude-plugin/plugin.json has required name fieldSKILL.md with valid YAML frontmatter (name + description).md files with YAML frontmatterCritical: Pushing to the default branch IS publishing. The Claude Code plugin marketplace automatically picks up the latest commit.
git add .claude-plugin/plugin.json CHANGELOG.md
# Also stage any changed skill/agent/command files
git add -A
git commit -m "Release vX.X.X"
git push origin <default-branch>
After pushing, verify the plugin update is available:
CLAUDECODE= claude plugin update <plugin-name>@<publisher>
The CLAUDECODE= prefix is required to avoid nested session errors when running from within Claude Code.
Note: The marketplace may take a few minutes to reflect the new version.
If the plugin version is tracked elsewhere (e.g., a marketplace page, documentation, or lib/plugins.ts), update those references to match the new version.
For skills not bundled in a Claude Code plugin, follow the agentskills.io specification.
Verify frontmatter meets the spec. For details, consult references/agentskills-spec.md.
Required fields:
name: 1-64 chars, lowercase alphanumeric + hyphens, must match directory namedescription: 1-1024 chars, describes what and whenOptional fields:
license, compatibility, metadata, allowed-toolsskill-name/
├── SKILL.md # Required
├── scripts/ # Optional executables
├── references/ # Optional docs loaded on demand
└── assets/ # Optional static resources
Track version in the frontmatter metadata field:
metadata:
author: org-name
version: "1.1.0"
Standalone skills distribute as directories. Common methods:
If claude plugin update does not pick up changes:
main or master).claude-plugin/plugin.json is valid JSONIf the version string was already used in a previous commit, bump again to the next patch before pushing.
Always prefix CLI commands with CLAUDECODE= when running from within an active Claude Code session to avoid the "nested session" error.
references/agentskills-spec.md — Complete agentskills.io specification summary for standalone skillsdevelopment
This skill should be used when the user asks to "design a business card", "make a printable PDF", "render HTML to PDF", "generate a postcard", "build print collateral", "set up an HTML print pipeline", or needs help with bleed, safe areas, font embedding, or QR generation for print. Provides a Playwright-based pipeline with multiple bundled templates and theme variants for business cards (minimal, watercolor light, watercolor dark) and instructions for adding new templates.
tools
Get recent tweets from an X/Twitter user. Use when user asks "what has @username posted", "recent tweets from", "user's X posts", "show timeline for", "what is @user saying". Requires X_BEARER_TOKEN.
data-ai
Get X/Twitter user profile by username. Use when user asks "who is @username", "get X profile", "lookup Twitter user", "find X account", "user details", "follower count for". Requires X_BEARER_TOKEN.
data-ai
Search recent X/Twitter posts by query. Returns RAW TWEETS (last 7 days). Use when user asks "search X for", "find tweets about", "what are people saying about", "Twitter search", "raw tweets about". For AI summaries/sentiment, use x-research instead. Requires X_BEARER_TOKEN.