Skip to main content
Glama

Install Skill

install_skill

Install a skill into the agent you are running in. Returns the complete skill file and the exact path to write it to — YOU must then create that file verbatim (Claude Code: ~/.claude/skills//SKILL.md, so it becomes available as / in every project; other agents: ./skills/.md) and tell the user where it is. Counts the install. Use target=hermes for Hermes Agent, target=generic for any other agent, scope=project to keep a skill inside the current Claude Code project only (.claude/skills, committable for the team). When emdly agent hosting is enabled and you have a hosted agent, pass agent= to install there instead.

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
agentNoHosted agent name (only when emdly agent hosting is enabled and you have one).
scopeNoClaude Code only: user (default, ~/.claude/skills, available in every project) or project (.claude/skills in the current project — only when the user asks for a project-local install).
skillYesowner/name, e.g. opsmith/jira-ticket-scorer
targetNoWhere the file goes: claude-code (default) → ~/.claude/skills/<name>/SKILL.md; hermes → ~/.hermes/skills/<category>/<name>/SKILL.md; generic → ./skills/<name>.md.

Schema Changelog

Changes observed during successful MCP inspections.

  1. Changed2 schema fields changed
    • changedInput schema / properties / scope / description
      Previous value: -"Claude Code only: project (default, .claude/skills in the current project) or user (~/.claude/skills, every project)."New value: +"Claude Code only: user (default, ~/.claude/skills, available in every project) or project (.claude/skills in the current project — only when the user asks for a project-local install)."
    • changedInput schema / properties / target / description
      Previous value: -"Where the file goes: claude-code (default) → .claude/skills/<name>/SKILL.md; hermes → ~/.hermes/skills/<category>/<name>/SKILL.md; generic → ./skills/<name>.md."New value: +"Where the file goes: claude-code (default) → ~/.claude/skills/<name>/SKILL.md; hermes → ~/.hermes/skills/<category>/<name>/SKILL.md; generic → ./skills/<name>.md."
  2. First observed

TDQS

A4.5/5.0
Behavior4/5

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

The description discloses critical behavioral traits: the tool returns the skill file and path but does NOT create the file itself — the agent must create it verbatim. It also mentions 'Counts the install.' This goes beyond the annotations (which are empty) and provides important context about side effects and required follow-up actions.

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 description is dense but well-structured. It front-loads the critical instruction (you must create the file verbatim) and then explains parameters. It's a bit long but every sentence adds value. The parenthetical about Claude Code paths is necessary context.

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?

Given the tool's complexity (4 params, 2 enums, no output schema), the description covers the key aspects: what it does, what the agent must do after, where files go, and when to use each target. It doesn't describe the return format in detail, but the description already states it returns the complete skill file and exact path. The sibling context (get_skill, search_skills) helps differentiate.

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 schema already documents all parameters. The description adds value by explaining the practical implications of each target and scope value (e.g., 'committable for the team' for project scope, 'available in every project' for user scope). This enriches the parameter semantics beyond the schema.

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 description clearly states the tool's purpose: 'Install a skill into the agent you are running in.' It specifies the verb (install), the resource (skill), and the target (agent). It also distinguishes itself from siblings like get_skill and search_skills by focusing on installation and file creation.

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?

The description provides explicit when-to-use guidance: 'Use target=hermes for Hermes Agent, target=generic for any other agent, scope=project to keep a skill inside the current Claude Code project only.' It also explains the default behavior and when to use agent=. This is strong usage guidance.

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

Try in Browser

Glama MCP Gateway

Add one secure layer between your agents and this server.

Resources