Use when user wants to deploy/publish a skill to saurun-marketplace, says "deploy [skill] to marketplace", or asks to publish a skill to the plugin marketplace.
View on GitHubplugins/saurun/skills/deploy-to-marketplace/SKILL.md
February 5, 2026
Select agents to install to:
npx add-skill https://github.com/fiatkongen/saurun-marketplace/blob/main/plugins/saurun/skills/deploy-to-marketplace/SKILL.md -a claude-code --skill deploy-to-marketplaceInstallation paths:
.claude/skills/deploy-to-marketplace/# Deploy to Marketplace
Deploy skills from `~/.claude/skills/` to the saurun-marketplace plugin repository.
## Workflow
```dot
digraph deploy_flow {
"User request" [shape=doublecircle];
"Validate skill structure" [shape=box];
"Check marketplace state" [shape=box];
"Conflict?" [shape=diamond];
"Show diff + warn" [shape=box];
"User confirms?" [shape=diamond];
"Copy skill files" [shape=box];
"Call /publish-plugin bump" [shape=box];
"Complete" [shape=doublecircle];
"Abort" [shape=doublecircle];
"User request" -> "Validate skill structure";
"Validate skill structure" -> "Check marketplace state";
"Check marketplace state" -> "Conflict?";
"Conflict?" -> "Show diff + warn" [label="yes"];
"Conflict?" -> "Copy skill files" [label="no"];
"Show diff + warn" -> "User confirms?";
"User confirms?" -> "Copy skill files" [label="yes"];
"User confirms?" -> "Abort" [label="no"];
"Copy skill files" -> "Call /publish-plugin bump";
"Call /publish-plugin bump" -> "Complete";
}
```
## Steps
### 1. Validate Skill Structure
Check source skill:
```bash
SKILL_NAME="skill-name"
SOURCE="$HOME/.claude/skills/$SKILL_NAME"
# Verify exists
test -f "$SOURCE/SKILL.md" || { echo "Error: SKILL.md not found"; exit 1; }
# Verify frontmatter
grep -q "^name:" "$SOURCE/SKILL.md" || { echo "Error: Missing 'name' in frontmatter"; exit 1; }
grep -q "^description:" "$SOURCE/SKILL.md" || { echo "Error: Missing 'description' in frontmatter"; exit 1; }
```
### 2. Check Marketplace State
```bash
MARKETPLACE="$HOME/repos/saurun-marketplace"
TARGET="$MARKETPLACE/plugins/saurun/skills/$SKILL_NAME"
# Check if skill exists
if [ -d "$TARGET" ]; then
# Compare modification times
LOCAL_TIME=$(stat -f %m "$SOURCE/SKILL.md" 2>/dev/null || stat -c %Y "$SOURCE/SKILL.md")
MARKET_TIME=$(stat -f %m "$TARGET/SKILL.md" 2>/dev/null || stat -c %Y "$TARGET/SKILL.md")
if [ "$MARKET_TIME" -gt "$LOCAL_TIME" ]; then
echo "⚠