publish-ability

Publish skills, plugins, MCP servers, and bundles to the Vetta ability marketplace.

154|27|Updated Aug 3, 2026
One-click install
npx skills add https://github.com/openvetta/open-vetta --skill publish-ability-openvetta
Or copy as Structured Prompt for Agent▼
Please help me install this Agent Skill.
Skill: publish-ability
Source: https://github.com/openvetta/open-vetta/tree/main/packages/skill-presets/publish-ability
Command: npx skills add https://github.com/openvetta/open-vetta --skill publish-ability-openvetta

SYSTEM DOCUMENTATION & REQUIREMENTS

💡 This Skill includes scripts (resource) and references (resource) components.

What problem does it solve? Publishing an ability to the Vetta marketplace requires assembling a strict JSON payload, matching category names exactly, aligning translations with package locale files, and uploading local archives — mistakes are silently ignored by the server rather than reported, making manual submission error-prone. ## Core Features & Use Cases - Guided payload assembly: Sources name, description, author, and content from plugin.json, SKILL.md frontmatter, README, and LICENSE instead of inventing them. - Local validation and dry-run: Runs full payload validation plus archive cross-checks (locale keys, slug, version, vetta.json conflicts) before any network submission. - Category and review workflow: Lists live marketplace categories to prevent silent miscategorization, and reports review status via the built-in vetta MCP server. - Use Case: A developer finishes a Vetta plugin zip and asks the agent to publish it; the skill inspects the package, builds the payload with bilingual detail content, dry-runs validation, submits, and reports the pending review status. ## Quick Start Publish the plugin archive at /path/to/my-plugin.zip to the Vetta marketplace with a complete detail page and dry-run validation first.

Frequently Asked Questions about publish-ability

High-intent search queries and answers about installing and using this skill.

FAQPage Schema
How do I publish a skill or plugin to the Vetta marketplace?▼

Build a JSON payload with type, detail (name, description, author, content), and package_path, then run node scripts/publish.mjs --input payload.json. The script validates everything locally, uploads the archive, and returns the slug, version, and review status.

How do I validate a marketplace submission before uploading?▼

Run publish.mjs with the --dry-run flag. It executes full payload validation and, for skill, scene, and plugin types, opens the archive to cross-check locale keys, slug, version, and vetta.json against the payload without submitting anything.

Why did my published ability land in the uncategorized section?▼

The category field is matched by name, and an unmatched name silently falls into uncategorized without an error. Run scripts/categories.mjs to list live category names and copy the exact name value into your payload.

Can I set a plugin version in the publish payload?▼

No. For plugins the version always comes from plugin.json, and a version field in the payload is rejected by local validation because the server would silently ignore it. Skill, scene, mcp, and bundle types do accept a version field.

What happens when I resubmit an ability that is already published?▼

The new version enters a pending slot while the marketplace keeps serving the current live version, so installed users are unaffected until approval. Note that detail.i18n is replaced wholesale, so resend the complete set of locales or other translations are dropped.

Why does publish.mjs report not logged in?▼

The script reads its token from ~/.vetta/auth.json, which the Vetta desktop client writes on login. If it reports not logged in, log in through the Vetta client first; credentials cannot be passed to the script manually.