Skip to main content
Glama

publish_skill

Validate and publish an existing skill draft to canonical storage, optionally syncing native runtime targets; use after draft validation to finalize a reusable skill.

Instructions

Validate and publish an existing draft into canonical skill storage. Use after create_skill_draft and validate_skill; use update_canonical_skill to edit an already published skill. Requires initialized project memory. Writes canonical content and registration; sync=false leaves native targets untouched, true also synchronizes selected targets. Returns skill metadata, published paths, warnings, and write references. Publication can conflict with an existing slug; inspect before retrying.

Input Schema

NameRequiredDescriptionDefault
slugNoCanonical directory slug. Omitted derives from the name where supported; use a portable skill slug rather than a path.
syncNoSynchronize native runtime copies after the canonical write when true. Defaults to false, which only writes canonical content.
targetsNoNative runtime registry IDs for synchronization. Omitted uses the workflow default targets; an empty list requests no explicit targets.
categoryNouser-facing for reusable team content; operational for internal workflows. Defaults to user-facing and participates in visibility policy.user-facing
visibilityNoProject content visibility: shared for repository content, private for operational storage. Omitted follows layout/category policy; global content cannot be shared.
draft_or_pathYesExisting draft slug or local draft file/directory path to publish; canonical destinations are validated for conflicts.

Output Schema

NameRequiredDescriptionDefault

No arguments

Schema Changelog

Changes observed during successful MCP inspections.

  1. Changed6 schema fields changedv0.6.4
    • addedInput schema / properties / category / description
      Added value: +"user-facing for reusable team content; operational for internal workflows. Defaults to user-facing and participates in visibility policy."
    • addedInput schema / properties / draft_or_path / description
      Added value: +"Existing draft slug or local draft file/directory path to publish; canonical destinations are validated for conflicts."
    • addedInput schema / properties / slug / description
      Added value: +"Canonical directory slug. Omitted derives from the name where supported; use a portable skill slug rather than a path."
    • addedInput schema / properties / sync / description
      Added value: +"Synchronize native runtime copies after the canonical write when true. Defaults to false, which only writes canonical content."
    • addedInput schema / properties / targets / description
      Added value: +"Native runtime registry IDs for synchronization. Omitted uses the workflow default targets; an empty list requests no explicit targets."
    • addedInput schema / properties / visibility / description
      Added value: +"Project content visibility: shared for repository content, private for operational storage. Omitted follows layout/category policy; global content cannot be shared."
  2. First observedv0.4.0

TDQS

A4.4/5.0
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations declare readOnlyHint=false and destructiveHint=false, and the description adds real context on top: it writes canonical content plus registration, explains that sync=false leaves native targets untouched while true also synchronizes selected targets, and warns that publication can conflict with an existing slug, advising inspection before retry. It does not address reversibility of a published skill or permission requirements, which keeps it short of a 5 for a mutating tool.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Front-loads purpose in the first sentence, then usage, then behavior, with no filler. It is somewhat dense and clause-heavy (semicolon-chained behavior notes), but every sentence carries actionable information.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness5/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a six-parameter mutating tool it covers purpose, sequencing, prerequisites, write scope, sync branching, and conflict handling, and an output schema already documents the return payload. Nothing an agent needs to call it safely is missing.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema coverage is 100%, so every parameter is already documented, including sync and targets. The description echoes the sync behavior visible in the schema and adds only the conflict-validation note for draft_or_path, saying nothing extra about slug, category, visibility, or targets; baseline 3 is appropriate.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

States a specific verb pair and resource: 'Validate and publish an existing draft into canonical skill storage.' It also distinguishes itself from the editing sibling by naming update_canonical_skill, so an agent can separate the publish path from the modify path without opening schemas.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines5/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

Explicitly places the tool in a workflow ('Use after create_skill_draft and validate_skill'), names the alternative for a different situation ('use update_canonical_skill to edit an already published skill'), and states a prerequisite ('Requires initialized project memory'). When-to-use, when-not-to-use, and sequencing are all covered.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.