MCPInstall

agent-skill-deploy

Deploys agent skill collections from any GitHub repository with a /skills folder to one or more distribution surfaces: GitHub releases, Claude Code marketplace, VS Code plugin marketplace, and Copilot CLI plugin marketplace. Handles pre-flight validation, conventional commit analysis, version bumping across surface configs, and surface-specific publishing with dry-run support. Use when releasing, publishing, or deploying a skills collection to any supported marketplace or creating a GitHub release for a skills repository. Don't use for deploying non-skill packages, npm modules, Docker images, or Azure resources.

Installs
460
Last 24h
—
Trending rank
—
Security
Not audited

Install

Works with every agent the skills CLI supports.

npx skills add https://github.com/webmaxru/web-ai-agent-skills --skill agent-skill-deploy
  1. 01

    Install

    Run the command in your project. The CLI asks which agents to install for.

  2. 02

    Describe the task

    Ask your agent for something this skill covers. It loads agent-skill-deploy automatically when relevant.

  3. 03

    Review the result

    The agent follows the SKILL.md steps, scripts and references bundled with the skill.

SKILL.md

The instructions your agent reads when the skill is triggered.

Agent Skill Collection Deploy

Purpose

Automate multi-surface deployment of agent skill collections:

  • Pre-flight validation of git state, skills inventory, and surface readiness
  • Conventional commit analysis with version bump recommendation
  • Version bumping across all detected surface configuration files
  • Surface-specific deployment with dry-run capability
  • User approval gates before irreversible operations

When to Use This Skill

Use this skill when the user:

  • Asks to "release", "deploy", "publish", or "ship" a skills collection
  • Wants to bump versions and push to one or more marketplaces
  • Needs to create a GitHub release for a skills repository
  • Wants to publish skills to Claude Code, VS Code, or Copilot CLI marketplaces
  • Asks to check deployment readiness or run a dry-run release

Do not use for npm packages, Docker deployments, Azure resource provisioning, or repositories without a /skills directory.

Supported Surfaces

SurfaceConfig FilesDeploy ActionTool Required
githubGit remote URLCreate tag + GitHub releasegh
claude-code.claude-plugin/plugin.json (required), .claude-plugin/marketplace.json (optional)Bump plugin version, commit, pushgit
vscodepackage.jsonBump version, commit, pushgit
copilot-clipackage.json, .github/plugin/plugin.json, .github/plugin/marketplace.json (optional)Bump plugin version, commit, pushgit

Bundled Scripts

This skill includes three Node.js helper scripts in scripts/ for cross-platform operation (Windows and macOS):

  1. deploy-preflight.mjs — Validates git state, discovers surfaces, checks tool availability, verifies version consistency (including git tag version)
  2. deploy-analyze.mjs — Inventories skills, analyzes commits since last tag, recommends version bump
  3. deploy-execute.mjs — Bumps versions in all detected config files (regardless of selected surfaces), commits, tags, and deploys to selected surfaces

Run scripts from the skill directory:

node scripts/deploy-preflight.mjs
node scripts/deploy-analyze.mjs
node scripts/deploy-execute.mjs 1.2.0 --surfaces github,claude-code --dry-run

Version Handling Rules

Marketplace.json files contain two distinct version fields with different semantics:

  • plugins[].version (plugin version) — Tracks the version of each listed plugin. Bumped during releases for local plugins (where source is ".").
  • metadata.version (marketplace version) — Tracks the version of the marketplace collection itself. Never bumped during skill/plugin releases. Managed independently.

Cross-file sync rules:

  • All plugin versions must stay consistent: plugin.json, package.json, plugins[].version in marketplace files, and the git tag.
  • All metadata.version values across marketplace.json files (.claude-plugin/marketplace.json and .github/plugin/marketplace.json) must stay in sync with each other.

Deploy Workflow

Follow these steps in order. Stop immediately if any step fails.

Step 1: Pre-flight Checks

Run the preflight script to validate readiness:

node scripts/deploy-preflight.mjs

This checks:

  • Current directory is a git repository
  • Current branch is master or main
  • Working tree is clean (no uncommitted changes)
  • /skills directory exists and contains at least one skill
  • Detects which surfaces are configured based on existing config files
  • Verifies required tools are available for each surface
  • Checks that both .claude-plugin/plugin.json and .github/plugin/plugin.json exist; warns if either is missing (auto-created during deploy)
  • Reports version consistency across all surface configs, including git tag version

If checks fail, report the problem and suggest a fix. Do not proceed.

Step 2: Analyze Changes

Run the analysis script to understand what changed:

node scripts/deploy-analyze.mjs

This will:

  • Inventory all skills in /skills with their names
  • Find the last release tag (or handle first release)
  • List all commits since that tag
  • Count commits by conventional type using anchored regex
  • Detect breaking changes (type!: suffix or BREAKING CHANGE in body)
  • Show file change statistics
  • Print a version bump recommendation

Version bump criteria:

BumpWhen
MajorBreaking changes — type!: prefix or BREAKING CHANGE body
MinorNew features — any feat: commits
PatchEverything else — fix:, docs:, refactor:, chore:, etc.

Step 2b: Build Per-Skill Changelog

When the github surface is selected, build a concise, human-readable changelog grouped by skill. This replaces GitHub's auto-generated notes.

Procedure:

  1. Identify the previous release tag from deploy-analyze.mjs output (the Last release tag line). If this is the first release, compare against the root commit.
  2. For each skill listed in the Skills Changed output, run:
    git diff v{{PREVIOUS}}..HEAD -- skills/{{SKILL_NAME}}/
    
  3. Analyze each diff and produce a concise bullet list summarizing user-visible changes per skill. Guidelines:
    • Write each bullet as a short, action-oriented statement (e.g., "Added X", "Fixed Y", "Removed Z").
    • Group by skill as a level-2 heading (## skill-name).
    • Omit internal-only changes (whitespace, line-ending normalization) unless they are the only change.
    • Mention version bumps within skill metadata only if no other substantive changes exist for that skill.
    • Cap at roughly 5–7 bullets per skill; combine minor items if needed.
  4. Store the assembled Markdown changelog text for use in Step 9.

Example output format:

## agent-package-manager
- Added subdirectory path and pinned tag dependency examples to template
- Expanded manifest reference with Azure DevOps and GitLab guidance
- Added "APM not installed" troubleshooting section

## agent-skill-deploy
- Made marketplace.json optional for Claude Code surface detection
- Simplified version bump recommendation logic

## github-agentic-workflows
- Added install.md URL reference for agent-assisted setup

If only a single skill changed, omit the heading and use a flat bullet list.

Step 3: Confirm Version and Surfaces with User

Present the analysis summary and ask the user to choose a version and target surfaces.

Use the AskUserQuestion tool for version:

AskUserQuestion:
  question: "Recommended: {{RECOMMENDATION}}. Which version bump for v{{CURRENT}} → v{{NEXT}}?"
  header: "Version"
  options:
    - label: "Major (v{{MAJOR}})"
      description: "Breaking changes — skill removals, renames, config restructuring"
    - label: "Minor (v{{MINOR}})"
      description: "New features — new skills, significant enhancements"
    - label: "Patch (v{{PATCH}})"
      description: "Fixes, docs, refactoring, chore, CI, tests"
    - label: "Cancel"
      description: "Abort the deployment"

Replace {{CURRENT}} with current version, compute {{MAJOR}}, {{MINOR}}, {{PATCH}} by incrementing the relevant segment (reset lower segments to 0).

If user selects Cancel, stop the workflow.

Use the AskUserQuestion tool for surfaces:

AskUserQuestion:
  question: "Detected surfaces: {{DETECTED_SURFACES}}. Which surfaces to deploy to?"
  header: "Surfaces"
  options:
    - label: "All detected ({{DETECTED_SURFACES}})"
      description: "Deploy to every surface that has config files"
    - label: "GitHub release only"
      description: "Create tag and GitHub release"
    - label: "Marketplaces only"
      description: "Update marketplace configs without GitHub release"
    - label: "Custom selection"
      description: "Specify exact surfaces"
    - label: "Cancel"
      description: "Abort the deployment"

Step 4: Dry Run (Recommended)

Before making changes, perform a dry run to verify what will happen:

node scripts/deploy-execute.mjs {{VERSION}} --surfaces {{SURFACES}} --dry-run

Present the dry-run output to the user. The dry run shows:

  • Which files will be modified and how
  • Which git operations will be performed
  • Which surface-specific deploy commands will run
  • No files are changed, no git operations are executed

If the dry run reveals issues, address them before proceeding.

Step 5: Bump Versions

Execute the version bump across all detected surface configs:

node scripts/deploy-execute.mjs {{VERSION}} --surfaces {{SURFACES}} --bump-only

IMPORTANT — version sync invariant: The script always bumps every detected config file (plugin.json, marketplace.json, package.json) regardless of which surfaces were selected via --surfaces. This prevents version drift between surfaces. The --surfaces flag only controls which deployment actions run in --push mode.

Auto-creation of missing plugin.json: Before bumping, the script checks that both .claude-plugin/plugin.json (claude-code surface) and .github/plugin/plugin.json (copilot-cli surface) exist. If either file is missing, it is automatically created from the sibling plugin.json (preferred) or from package.json metadata (name, description, version, author, repository, license, keywords) as a fallback. The copilot-cli variant also gets "skills": "skills/".

This updates version fields in:

  • .claude-plugin/plugin.json → .version (claude-code surface)
  • .claude-plugin/marketplace.json → .plugins[0].version (claude-code surface, only if the file exists)
  • package.json → .version (vscode and copilot-cli surfaces)
  • .github/plugin/plugin.json → .version (copilot-cli surface, only if the file exists)
  • .github/plugin/marketplace.json → .plugins[0].version and .metadata.version (copilot-cli surface, only if the file exists)

If marketplace.json is absent, the plugin is assumed to be listed by a marketplace defined in another repository. Only plugin.json is bumped.

Verify all files were updated correctly by reading them back.

Step 6: Commit Version Bump

Stage and commit all modified config files:

git add -A
git commit -m "Release v{{VERSION}}"

Step 7: Create Git Tag

Tag the release commit:

git tag v{{VERSION}}

Step 8: User Approval Before Push

CRITICAL: Always pause here for user approval.

Present a summary and ask for confirmation.

Use the AskUserQuestion tool:

AskUserQuestion:
  question: "Ready to push v{{VERSION}} and deploy to {{SURFACES}}?"
  header: "Deploy"
  options:
    - label: "Yes — push and deploy"
      description: "Push commits, tags, and run surface-specific deployments"
    - label: "Push only — skip surface deploys"
      description: "Push commits and tags but skip marketplace-specific actions"
    - label: "No — keep local"
      description: "Keep local commit and tag, do not push"

If user selects No, inform them:

  • The commit and tag remain local
  • To undo: git reset --hard HEAD~1 && git tag -d v{{VERSION}}

Step 9: Push and Deploy

Only after user approves:

  1. Save the per-skill changelog from Step 2b to a temporary file:
    echo '{{CHANGELOG}}' > /tmp/release-notes.md
    
  2. Run the push and deploy:
    node scripts/deploy-execute.mjs {{VERSION}} --surfaces {{SURFACES}} --push --notes-file /tmp/release-notes.md
    

This performs:

  1. git push && git push --tags for all surfaces
  2. For github surface: create the release using the per-skill changelog from Step 2b:
    gh release create v{{VERSION}} --title "v{{VERSION}}" --notes-file /tmp/release-notes.md
    
    If --notes-file is not provided, the script falls back to --generate-notes. Always prefer providing the per-skill changelog.

After pushing, print the remote URL and relevant marketplace links.

Error Handling

  • No /skills directory: Report that the repository does not follow the expected skill collection layout and stop.
  • Missing tools: Report which tools are missing for which surfaces. Suggest installation commands. Allow deployment to surfaces whose tools are available.
  • Version mismatch across surfaces: Report the mismatch and suggest running the bump step to synchronize all config files.
  • Tag already exists: Report the conflict and suggest either choosing a different version or deleting the existing tag with user confirmation.
  • Push failure: Report the error. Do not retry automatically. Suggest checking remote access and authentication.
  • Surface deploy failure: If one surface fails, report it but continue with remaining surfaces. Provide per-surface status summary at the end.
  • Dry-run divergence: If the actual execution differs from the dry run, pause and report the divergence to the user.

FAQ

What does the agent-skill-deploy skill do?

Deploys agent skill collections from any GitHub repository with a /skills folder to one or more distribution surfaces: GitHub releases, Claude Code marketplace, VS Code plugin marketplace, and Copilot CLI plugin marketplace. Handles pre-flight validation, conventional commit analysis, version bumping across surface configs, and surface-specific publishing with dry-run support. Use when releasing, publishing, or deploying a skills collection to any supported marketplace or creating a GitHub release for a skills repository. Don't use for deploying non-skill packages, npm modules, Docker images, or Azure resources.

How do I install agent-skill-deploy?

Run npx skills add https://github.com/webmaxru/web-ai-agent-skills --skill agent-skill-deploy in your project. The skills CLI detects the agents you use and copies the skill into the right folder. For Claude Code you can also place the skill folder at ~/.claude/skills/agent-skill-deploy/ (personal) or .claude/skills/agent-skill-deploy/ (project).

Which AI agents can use agent-skill-deploy?

Any agent that supports the open Agent Skills format (a folder with a SKILL.md file), including Claude Code, Codex, Cursor, GitHub Copilot, Gemini CLI, Windsurf, Cline, OpenCode and more.

Is agent-skill-deploy safe to install?

No partner security audit is available yet. Skills can run commands and scripts, so read the SKILL.md and any bundled files before installing.

Who maintains agent-skill-deploy?

It is published by webmaxru in webmaxru/web-ai-agent-skills. It has 460 recorded installs.

More from webmaxru/web-ai-agent-skills

View all →

webmcp

webmaxru/web-ai-agent-skills

Implements and debugs browser WebMCP integrations in JavaScript or TypeScript web apps. Use when exposing imperative tools through document.modelContext (with a navigator.modelContext fallback), annotating HTML forms for declarative tools, handling agent-invoked form flows, or validating WebMCP behavior in the current Chrome preview. Don't use for server-side MCP servers, REST tool backends, or non-browser providers.

AI & Agents518 installs

language-detector-api

webmaxru/web-ai-agent-skills

Implements and debugs browser Language Detector API integrations in JavaScript or TypeScript web apps. Use when adding LanguageDetector support checks, availability and model download flows, session creation, detect() calls, input-usage measurement, permissions-policy handling, or compatibility fallbacks for built-in language detection. Don't use for server-side language detection SDKs, cloud translation services, or generic NLP pipelines.

Backend & APIs478 installs

writing-assistance-apis

webmaxru/web-ai-agent-skills

Open the skill to read its SKILL.md instructions.

Docs & Writing477 installs

github-agentic-workflows

webmaxru/web-ai-agent-skills

Authors, reviews, installs, and debugs GitHub Agentic Workflows in repositories, including workflow markdown, frontmatter, gh aw compile and run flows, safe outputs, security guardrails, and operational patterns. Use when creating or maintaining GH-AW automation. Don't use for standard deterministic GitHub Actions YAML, generic CI pipelines, or non-GitHub automation systems.

AI & Agents474 installs

proofreader-api

webmaxru/web-ai-agent-skills

Implements and debugs browser Proofreader API integrations in JavaScript or TypeScript web apps. Use when adding Proofreader availability checks, monitored model downloads, proofread flows, correction metadata handling, or permissions-policy checks for built-in proofreading. Don't use for generic prompt engineering, server-side LLM SDKs, or cloud AI services.

Backend & APIs473 installs

translator-api

webmaxru/web-ai-agent-skills

Open the skill to read its SKILL.md instructions.

Backend & APIs471 installs

Popular devops & cloud skills

View category →

microsoft-foundry

microsoft/azure-skills

Build, deploy, evaluate, optimize, fine-tune, and manage Microsoft Foundry agents, models, and resources end to end. USE FOR: foundry, azd ai agent, azd provision/deploy, hosted agent scaffold/develop/run/deploy/troubleshoot, prompt agent create, managed harness agent create, GitHub Copilot harness agent, create agent, update agent, add tool to agent, invoke agent, agent insights, evaluate agent, batch eval, continuous eval, continuous monitoring, agent CI/CD, optimize prompt, improve prompt, optimize agent instructions, Agent Optimizer scaffold, dataset curation from traces, deploy model, model fine-tuning (SFT/DPO/RFT), Foundry project, RBAC, role assignment, permissions, quota, capacity, region, deployment failure, AI Services, create Foundry resource, knowledge index, customize deployment, onboard, availability, training-data, grader, distillation, large file upload. DO NOT USE FOR: Azure Functions, App Service, general Azure deploy (use azure-deploy), general Azure prep (use azure

OfficialDevOps & Cloud579.1K installs

azure-diagnostics

microsoft/azure-skills

Debug Azure production issues on Azure using AppLens, Azure Monitor, resource health, and safe triage. WHEN: debug production issues, troubleshoot app service, app service high CPU, app service deployment failure, troubleshoot container apps, container app 503 or target port mismatch, troubleshoot functions, function telemetry missing or stopped after a config/connection-string change, troubleshoot AKS, VM RDP, Linux SSH, VM black screen, can't connect to VM, reset VM password, NSG or firewall blocking, kubectl cannot connect, kube-system/CoreDNS failures, pod pending, crashloop, node not ready, upgrade failures, analyze logs, KQL, insights, image pull failures, cold start issues, health probe failures, resource health, root cause of errors, troubleshoot event hubs, troubleshoot service bus, messaging SDK error, AMQP connection failure, message lock lost, lock renewal during long-running processing, service bus dead letter.

OfficialDevOps & Cloud569.8K installs

azure-prepare

microsoft/azure-skills

Prepare azd-based Azure projects for deployment: generates azure.yaml, infrastructure (Bicep/Terraform), and Dockerfiles for the Azure Developer CLI (azd) workflow. USE ONLY when the user explicitly wants to use azd as the deployment tool, or the project already has an azure.yaml file. DO NOT USE FOR: non-azd deployments, Python App Service code-only deploys (use python-appservice-deploy), or cross-cloud migration (use azure-cloud-migrate). WHEN: prepare app for azd, create azure.yaml, set up azd infrastructure, modernize app for Azure with azd, deploy with azd, function app, timer trigger, service bus trigger, event-driven function, managed identity, generate Bicep, generate Terraform, create and deploy to Azure.

OfficialDevOps & Cloud569K installs

azure-ai

microsoft/azure-skills

Use for Azure AI: Search, Speech, OpenAI, Document Intelligence. Helps with search, vector/hybrid search, speech-to-text, text-to-speech, transcription, OCR. WHEN: AI Search, query search, vector search, hybrid search, semantic search, speech-to-text, text-to-speech, transcribe, OCR, convert text to speech.

OfficialDevOps & Cloud568.8K installs

azure-deploy

microsoft/azure-skills

Execute Azure deployments for ALREADY-PREPARED applications that have existing .azure/deployment-plan.md and infrastructure files. DO NOT use this skill when the user asks to CREATE a new application — use azure-prepare instead. This skill runs azd up, azd deploy, terraform apply, and az deployment commands with built-in error recovery. Requires .azure/deployment-plan.md from azure-prepare and validated status from azure-validate. WHEN: "run azd up", "run azd deploy", "execute deployment", "push to production", "push to cloud", "go live", "ship it", "bicep deploy", "terraform apply", "publish to Azure", "launch on Azure". DO NOT USE WHEN: "create and deploy", "build and deploy", "create a new app", "set up infrastructure", "create and deploy to Azure using Terraform" — use azure-prepare for these.

OfficialDevOps & Cloud568.6K installs

azure-validate

microsoft/azure-skills

Pre-deployment validation for Azure readiness. Run deep checks on configuration, infrastructure (Bicep or Terraform), RBAC role assignments, managed identity permissions, and prerequisites before deploying. WHEN: validate my app, check deployment readiness, run preflight checks, verify configuration, check if ready to deploy, validate azure.yaml, validate Bicep, test before deploying, troubleshoot deployment errors, validate Azure Functions, validate function app, validate serverless deployment, verify RBAC roles, check role assignments, review managed identity permissions, what-if analysis, validate Container Apps deployment.

OfficialDevOps & Cloud568K installs