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

NameRequiredDescriptionDefault
slugYes

Output 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
verificationYes
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
    • addedOutput schema / properties / verification
      Added value: +{
      +  "anyOf": [
      +    {
      +      "additionalProperties": false,
      +      "properties": {
      +        "commit_sha": {
      +          "anyOf": [
      +            {
      +              "type": "string"
      +            },
      +            {
      +              "type": "null"
      +            }
      +          ]
      +        },
      +        "failing_check": {
      +          "additionalProperties": false,
      +          "properties": {
      +            "id": {
      +              "type": "string"
      +            },
      +            "path": {
      +              "anyOf": [
      +                {
      +                  "type": "string"
      +                },
      +                {
      +                  "type": "null"
      +                }
      +              ]
      +            }
      +          },
      +          "required": [
      +            "id",
      +            "path"
      +          ],
      +          "type": "object"
      +        },
      +        "stale": {
      +          "type": "boolean"
      +        },
      +        "status": {
      +          "type": "string"
      +        },
      +        "tier": {
      +          "anyOf": [
      +            {
      +              "enum": [
      +                "runs",
      +                "loads-clean"
      +              ],
      +              "type": "string"
      +            },
      +            {
      +              "type": "null"
      +            }
      +          ]
      +        },
      +        "verified_at": {
      +          "type": "string"
      +        }
      +      },
      +      "required": [
      +        "status",
      +        "tier",
      +        "commit_sha",
      +        "verified_at",
      +        "stale"
      +      ],
      +      "type": "object"
      +    },
      +    {
      +      "type": "null"
      +    }
      +  ]
      +}
    • changedOutput schema / required
      Previous value: -[
      -  "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"
      -]New value: +[
      +  "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",
      +  "verification",
      +  "license",
      +  "forks",
      +  "scores",
      +  "structural_signals",
      +  "readme_length",
      +  "release_count",
      +  "latest_release_at",
      +  "discovered_at",
      +  "updated_at"
      +]
  2. 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"
      +}
  3. First observed

TDQS

A4.5/5.0
Behavior4/5

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

Annotations already declare readOnly, idempotent, and non-destructive, so the safety profile is covered. The description adds genuine behavioral context beyond them: the tool returns any active tool regardless of risk, and risk is presented as answer content rather than a filter.

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?

Two tight sentences: the first front-loads what the tool returns, the second resolves the risk-filter misconception. Every clause earns its place with no redundancy.

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 one-parameter read tool with a full output schema and complete annotations, the description supplies everything else an agent needs, including slug provenance and the risk-inclusion behavior. No gaps remain for correct invocation.

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 0%, so the description carries the burden. It compensates by naming the parameter's role ('by slug') and its provenance (search_skills / get_collection), which resolves the main ambiguity, though it does not restate the slug syntax that the schema pattern already enforces.

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 and resource ('full quality profile for one tool by slug') and enumerates the profile contents (score breakdown, structural signals, risk level, platforms, repo link). The parenthetical naming search_skills / get_collection as slug sources cleanly disambiguates it from the sibling list tools.

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?

Explains how to obtain the required input ('slugs come from search_skills / get_collection') and clarifies the lookup is direct and unrestricted by risk. It stops short of an explicit when-to-use-this-vs-compare_tools statement, but the single-tool scope is unambiguous.

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.