Skip to main content
Glama

Get skill profile

get_skill
Read-onlyIdempotent

Full quality profile for one tool by slug (slugs come from search_skills / get_collection): score breakdown, structural signals, risk level and reasons, platforms, repo link. Direct lookups return any active tool regardless of risk — the risk assessment is part of the answer, not a filter here.

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
slugYes

Output Schema

TableJSON Schema
NameRequiredDescriptionDefault
nameYes
slugYes
tierYes
typeYes
forksYes
starsYes
scoresYes
licenseYes
categoryYes
repo_urlYes
platformsYes
risk_levelYes
updated_atYes
descriptionYes
is_officialYes
profile_urlYes
risk_reasonsYes
discovered_atYes
quality_scoreYes
readme_lengthYes
release_countYes
last_commit_atYes
composite_scoreYes
latest_release_atYes
structural_signalsYes

Schema Changelog

Changes observed during successful MCP inspections.

  1. Changed2 schema fields changed
    • changedInput schema / $schema
      Previous value: -"http://json-schema.org/draft-07/schema#"New value: +"https://json-schema.org/draft/2020-12/schema"
    • changedOutput schema / (root)
      Previous value: -nullNew value: +{
      +  "$schema": "https://json-schema.org/draft/2020-12/schema",
      +  "additionalProperties": false,
      +  "properties": {
      +    "category": {
      +      "anyOf": [
      +        {
      +          "type": "string"
      +        },
      +        {
      +          "type": "null"
      +        }
      +      ]
      +    },
      +    "composite_score": {
      +      "type": "number"
      +    },
      +    "description": {
      +      "type": "string"
      +    },
      +    "discovered_at": {
      +      "anyOf": [
      +        {
      +          "type": "string"
      +        },
      +        {
      +          "type": "null"
      +        }
      +      ]
      +    },
      +    "forks": {
      +      "type": "number"
      +    },
      +    "is_official": {
      +      "type": "boolean"
      +    },
      +    "last_commit_at": {
      +      "anyOf": [
      +        {
      +          "type": "string"
      +        },
      +        {
      +          "type": "null"
      +        }
      +      ]
      +    },
      +    "latest_release_at": {
      +      "anyOf": [
      +        {
      +          "type": "string"
      +        },
      +        {
      +          "type": "null"
      +        }
      +      ]
      +    },
      +    "license": {
      +      "anyOf": [
      +        {
      +          "type": "string"
      +        },
      +        {
      +          "type": "null"
      +        }
      +      ]
      +    },
      +    "name": {
      +      "type": "string"
      +    },
      +    "platforms": {
      +      "items": {
      +        "type": "string"
      +      },
      +      "type": "array"
      +    },
      +    "profile_url": {
      +      "type": "string"
      +    },
      +    "quality_score": {
      +      "type": "number"
      +    },
      +    "readme_length": {
      +      "anyOf": [
      +        {
      +          "type": "number"
      +        },
      +        {
      +          "type": "null"
      +        }
      +      ]
      +    },
      +    "release_count": {
      +      "type": "number"
      +    },
      +    "repo_url": {
      +      "anyOf": [
      +        {
      +          "type": "string"
      +        },
      +        {
      +          "type": "null"
      +        }
      +      ]
      +    },
      +    "risk_level": {
      +      "type": "string"
      +    },
      +    "risk_reasons": {
      +      "items": {
      +        "type": "string"
      +      },
      +      "type": "array"
      +    },
      +    "scores": {
      +      "additionalProperties": false,
      +      "properties": {
      +        "composite": {
      +          "type": "number"
      +        },
      +        "github": {
      +          "anyOf": [
      +            {
      +              "type": "number"
      +            },
      +            {
      +              "type": "null"
      +            }
      +          ]
      +        },
      +        "quality": {
      +          "type": "number"
      +        },
      +        "recency": {
      +          "anyOf": [
      +            {
      +              "type": "number"
      +            },
      +            {
      +              "type": "null"
      +            }
      +          ]
      +        },
      +        "social": {
      +          "anyOf": [
      +            {
      +              "type": "number"
      +            },
      +            {
      +              "type": "null"
      +            }
      +          ]
      +        },
      +        "star_velocity_30d": {
      +          "anyOf": [
      +            {
      +              "type": "number"
      +            },
      +            {
      +              "type": "null"
      +            }
      +          ]
      +        },
      +        "trending": {
      +          "anyOf": [
      +            {
      +              "type": "number"
      +            },
      +            {
      +              "type": "null"
      +            }
      +          ]
      +        }
      +      },
      +      "required": [
      +        "quality",
      +        "composite",
      +        "github",
      +        "social",
      +        "recency",
      +        "trending",
      +        "star_velocity_30d"
      +      ],
      +      "type": "object"
      +    },
      +    "slug": {
      +      "type": "string"
      +    },
      +    "stars": {
      +      "type": "number"
      +    },
      +    "structural_signals": {
      +      "additionalProperties": false,
      +      "properties": {
      +        "config_files": {
      +          "type": "boolean"
      +        },
      +        "examples": {
      +          "type": "boolean"
      +        },
      +        "gotchas": {
      +          "type": "boolean"
      +        },
      +        "progressive_disclosure": {
      +          "type": "boolean"
      +        },
      +        "scripts": {
      +          "type": "boolean"
      +        },
      +        "skill_md": {
      +          "type": "boolean"
      +        },
      +        "verification": {
      +          "type": "boolean"
      +        }
      +      },
      +      "required": [
      +        "skill_md",
      +        "examples",
      +        "gotchas",
      +        "verification",
      +        "scripts",
      +        "progressive_disclosure",
      +        "config_files"
      +      ],
      +      "type": "object"
      +    },
      +    "tier": {
      +      "enum": [
      +        "curated",
      +        "promising",
      +        "experimental",
      +        "review_required"
      +      ],
      +      "type": "string"
      +    },
      +    "type": {
      +      "type": "string"
      +    },
      +    "updated_at": {
      +      "anyOf": [
      +        {
      +          "type": "string"
      +        },
      +        {
      +          "type": "null"
      +        }
      +      ]
      +    }
      +  },
      +  "required": [
      +    "name",
      +    "slug",
      +    "tier",
      +    "quality_score",
      +    "composite_score",
      +    "risk_level",
      +    "risk_reasons",
      +    "type",
      +    "category",
      +    "platforms",
      +    "description",
      +    "repo_url",
      +    "profile_url",
      +    "stars",
      +    "is_official",
      +    "last_commit_at",
      +    "license",
      +    "forks",
      +    "scores",
      +    "structural_signals",
      +    "readme_length",
      +    "release_count",
      +    "latest_release_at",
      +    "discovered_at",
      +    "updated_at"
      +  ],
      +  "type": "object"
      +}
  2. First observed

TDQS

A4.5/5.0
Behavior4/5

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

Annotations already indicate readOnlyHint, idempotentHint, and destructiveHint, but the description adds valuable behavioral nuance: it states that risk assessment is part of the answer, not a filter, and that any active tool is returned. This goes beyond the annotations and clarifies a potentially surprising behavior. No contradiction with annotations.

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

Conciseness5/5

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

The description is two sentences with zero fluff. The primary purpose is front-loaded, and the behavioral nuance about risk filtering is placed second. Every sentence earns its place, and the structure is optimal for quick parsing by an agent.

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 single-parameter lookup tool, the description is complete. It lists exactly what the profile includes (score breakdown, structural signals, risk level and reasons, platforms, repo link) and clarifies the risk-filtering behavior. The agent has everything needed to call the tool correctly and interpret the response.

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?

The schema only describes the slug parameter with a pattern, but the description adds crucial meaning: slugs come from search_skills / get_collection. This compensates for the 0% schema description coverage by telling the agent exactly how to obtain a valid slug value, making the parameter semantics much clearer than the schema alone.

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 verb (get), the resource (full quality profile for one tool), and the identifying key (by slug). It also distinguishes this tool from siblings by noting that slugs come from search_skills / get_collection, making its purpose unmistakable.

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

Usage Guidelines4/5

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

It provides explicit context on when to use this tool: after obtaining a slug from search_skills or get_collection. It also clarifies that direct lookups return any active tool regardless of risk, which helps an agent decide when this tool is appropriate. However, it doesn't explicitly state when not to use it or name alternative tools for different use cases, so it stops short of a full 5.

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.