Skip to main content
Glama

adopt_skill

Destructive

Register an existing local canonical skill directory in universal memory while preventing duplicate slugs; returns adopted metadata, paths, warnings, and write references.

Instructions

Register an existing canonical skill directory in UMEM while avoiding duplicate slugs. Use for unregistered canonical content; use import_skill for an external/native source or create_skill for new content. Project scope requires initialization. May reconcile canonical location and registration; optional native replacement and synchronization can change native copies. Defaults avoid native replacement/sync. Returns adopted skill metadata, paths, warnings, and write references; inspect conflicts before repeating.

Input Schema

NameRequiredDescriptionDefault
pathYesExisting local skill directory or SKILL.md path. Relative paths resolve from the project; the source must contain valid skill content.
slugNoCanonical directory slug. Omitted derives from the name where supported; use a portable skill slug rather than a path.
scopeNoStorage scope: project uses this workspace; global uses user memory. Defaults to project.project
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.
replace_nativeNoAllow replacement of a native source with a managed canonical copy when true. Defaults to false to preserve the source.
sync_after_adoptNoSynchronize native targets after adoption when true. Defaults to false.

Output Schema

NameRequiredDescriptionDefault

No arguments

Schema Changelog

Changes observed during successful MCP inspections.

  1. Changed7 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 / path / description
      Added value: +"Existing local skill directory or SKILL.md path. Relative paths resolve from the project; the source must contain valid skill content."
    • addedInput schema / properties / replace_native / description
      Added value: +"Allow replacement of a native source with a managed canonical copy when true. Defaults to false to preserve the source."
    • addedInput schema / properties / scope / description
      Added value: +"Storage scope: project uses this workspace; global uses user memory. Defaults to project."
    • 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_after_adopt / description
      Added value: +"Synchronize native targets after adoption when true. Defaults to false."
    • 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.3/5.0
Behavior4/5

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

Annotations already flag destructiveHint=true and idempotentHint=false, and the description builds on that by naming what can be destroyed ('optional native replacement and synchronization can change native copies') and reassuring that 'Defaults avoid native replacement/sync'. It also warns 'inspect conflicts before repeating', which explains the non-idempotent hint. It stops short of saying whether adoption is reversible or how failures/rollback behave, so it is strong but not exhaustive.

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?

Purpose and sibling routing are front-loaded in the first two sentences, with behavioral caveats following. It is dense but the semicolon-chained clauses about defaults and return values make it slightly harder to scan than it needs to be; every sentence does still carry information.

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

Completeness4/5

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

For a 7-parameter destructive mutation with full annotations and an output schema, the description covers routing, prerequisites, default safety posture, and a caution about conflicts. Return details are delegated to the output schema, which is acceptable, though a note on whether a prior adoption can be undone would close the remaining gap.

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 path, slug, scope, category, visibility, replace_native and sync_after_adopt are already fully documented. The description only reinforces defaults ('Defaults avoid native replacement/sync') and the initialization requirement tied to project scope, adding small marginal value rather than new syntax or format guidance. Baseline 3 is appropriate when the schema carries the semantics.

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 ('Register') plus resource ('existing canonical skill directory') and adds the constraint 'in UMEM while avoiding duplicate slugs'. It immediately distinguishes itself from the two closest siblings by name (import_skill, create_skill), so an agent can route without opening any 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?

Gives an explicit when-to-use rule ('unregistered canonical content') and names the alternatives with their selecting conditions: import_skill for an external/native source, create_skill for new content. It also adds a prerequisite ('Project scope requires initialization'), which is exactly the kind of gating an agent needs before calling.

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