Skip to main content
Glama
kgromero-mcp

kgromero-mcp

by romero927

get_skills

Read-onlyIdempotent

Retrieve a professional's skills by category or job-used technology, merged across roles with recency and context; filter by keyword to narrow results.

Instructions

Kyle's skills two ways: by category (Cloud, DB, AI, Processes, ...) and as technologies used on the job, merged across roles with where and how recently.

Args: filter: Optional case-insensitive substring to narrow results (e.g. "aws", "react", "agile"). Matches skill names, sub-components, and category names.

Input Schema

NameRequiredDescriptionDefault
filterNo

Output Schema

NameRequiredDescriptionDefault

No arguments

Schema Changelog

Changes observed during successful MCP inspections.

  1. First observedv0.1.0

TDQS

B3.4/5.0
Behavior3/5

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

Annotations already declare readOnlyHint, idempotentHint, and openWorldHint=false, so the safety profile is covered. The description adds genuine context beyond that by explaining that results are merged across roles and include where and how recently each skill was used, but it stops short of describing any limits or grouping behavior.

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 front-loaded with the core purpose in the first clause and the parameter detail is separated into an Args block, with no redundant sentences. The docstring-style formatting is slightly mechanical but does not cost clarity.

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?

With an output schema present, the description need not explain return structure, and annotations cover safety and idempotency. For a single-optional-parameter read tool, the remaining need is parameter meaning, which is well handled; only the when-to-use dimension is genuinely absent.

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 must carry the parameter burden, and it does: the filter is optional, case-insensitive, substring-based, with concrete examples ('aws', 'react', 'agile') and an explicit statement of what fields it matches (skill names, sub-components, category names). Only the behavior for empty or no-match results is unstated.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description names the resource (Kyle's skills) and describes the two distinct views it returns: by category and as job technologies merged across roles. It is clearly distinguishable from siblings like get_profile, list_experience, or get_education, though the verb is only implied rather than stated as 'retrieves'.

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

Usage Guidelines2/5

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

There is no guidance on when to use this tool versus alternatives such as search or get_career_timeline, and no prerequisites or exclusions are stated. The only usage-adjacent content is the filter examples, which describe parameter behavior rather than tool selection.

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