Skip to main content
Glama

update_skill

Destructive

Update metadata or regenerate the SKILL.md for an existing latent skill candidate; supply the latent ID and edited Markdown to preserve custom content.

Instructions

Update metadata and rewrite generated Markdown for an existing latent skill. Use for latent candidate edits; use update_canonical_skill for direct canonical content replacement. Requires initialized project memory and a latent candidate ID. Omitted metadata values retain their stored fields, but omitting raw_markdown regenerates the entire SKILL.md from metadata and can discard a customized body even when no other edit is supplied. To retain custom content, read the existing file and supply complete edited raw_markdown with compatible frontmatter. Writes use the safe pipeline and may synchronize recorded native copies while preserving divergent native content. Returns candidate, warnings, and audit/snapshot references. Repeated calls can create additional audit records.

Input Schema

NameRequiredDescriptionDefault
nameNoReplacement latent skill display name. Omitted keeps the existing name; a supplied name must be nonempty.
triggersNoReplacement trigger phrases. Omitted keeps existing triggers; an empty list clears them.
descriptionNoReplacement latent workflow purpose. Omitted keeps the existing description; supplied text must be nonempty.
raw_markdownNoComplete replacement generated SKILL.md content, validated before writing. Omitted regenerates the whole file from metadata and can discard custom body content; supply edited full Markdown to retain it.
latent_skill_idYesExact latent candidate ID returned by track_latent_skill, list_skills, or recommend_skills; not a canonical skill slug or file path.

Output Schema

NameRequiredDescriptionDefault

No arguments

Schema Changelog

Changes observed during successful MCP inspections.

  1. Changed5 schema fields changedv0.6.4
    • addedInput schema / properties / description / description
      Added value: +"Replacement latent workflow purpose. Omitted keeps the existing description; supplied text must be nonempty."
    • addedInput schema / properties / latent_skill_id / description
      Added value: +"Exact latent candidate ID returned by track_latent_skill, list_skills, or recommend_skills; not a canonical skill slug or file path."
    • addedInput schema / properties / name / description
      Added value: +"Replacement latent skill display name. Omitted keeps the existing name; a supplied name must be nonempty."
    • addedInput schema / properties / raw_markdown / description
      Added value: +"Complete replacement generated SKILL.md content, validated before writing. Omitted regenerates the whole file from metadata and can discard custom body content; supply edited full Markdown to retain it."
    • addedInput schema / properties / triggers / description
      Added value: +"Replacement trigger phrases. Omitted keeps existing triggers; an empty list clears them."
  2. First observedv0.4.0

TDQS

A4.8/5.0
Behavior5/5

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

Annotations already declare destructiveHint=true and idempotentHint=false; the description adds the concrete consequence (omitting raw_markdown can discard a customized body even with no other edit supplied), the write path (safe pipeline), side effects on native copies including divergence preservation, and that repeated calls create additional audit records. That is materially more than the annotation flags convey.

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?

The routing decision, prerequisite, and destructive caveat are front-loaded in the first two sentences, which is the right ordering. A few clauses are redundant with the input schema (the omit-retains/regenerates rules appear in both places), costing a point, but no sentence is filler.

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 destructive five-parameter mutation with a sibling that handles near-identical work, the description covers the prerequisite, the alternative tool, the main failure mode, side effects, and even the return shape, despite an output schema existing. Nothing an agent needs to call this correctly is missing.

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

Parameters4/5

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

Schema description coverage is 100%, so the baseline is 3; the description restates the omit-retains-stored-fields rule that the schema already documents for metadata. It earns one step above baseline by adding the operational workflow for raw_markdown (read existing, supply full edited content with compatible frontmatter) and by underscoring that the ID must not be a canonical slug or file path.

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?

The first sentence names a specific verb pair (update metadata, rewrite generated Markdown) and a precise resource (an existing latent skill). It immediately contrasts with the sibling update_canonical_skill, so an agent can route between latent and canonical edits without inspecting either schema.

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?

Explicit routing guidance is given ('Use for latent candidate edits; use update_canonical_skill for direct canonical content replacement') plus a prerequisite ('Requires initialized project memory and a latent candidate ID'). The dangerous case is also flagged with a remedy: omitting raw_markdown regenerates the file, so read the existing file and supply complete edited Markdown to retain custom content.

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