Sigistry Plugin & Skill Catalog
Server Details
Search verified Claude Code plugins and skills; fetch portable SKILL.md sources. Read-only.
- Status
- Healthy
- Last Tested
- Transport
- Streamable HTTP
- URL
Available Tools
6 toolsget_pluginGet a Claude Code pluginARead-onlyIdempotentInspect
Get the full details of a single Sigistry plugin by its id, including install commands, component counts, and its security-audit result (per-check pass/fail from the Verified by Sigistry methodology).
| Name | Required | Description | Default |
|---|---|---|---|
| id | Yes | the plugin id, e.g. "sql-safety-net" |
Output Schema
| Name | Required | Description |
|---|---|---|
| id | Yes | |
| name | Yes | |
| tags | Yes | keywords from the marketplace entry |
| agents | Yes | relative paths to agent files |
| author | No | |
| counts | Yes | component counts |
| skills | Yes | relative paths to skill manifests |
| license | No | |
| version | No | |
| category | No | |
| commands | Yes | relative paths to command files |
| homepage | No | |
| description | No | |
| verification | No | security-audit result for this plugin (null when never audited) |
| installCommand | Yes | command to install this plugin |
| searchableText | Yes | lowercased text used for matching |
| installMarketplace | Yes | command to add the marketplace to Claude Code |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=true, idempotentHint=true, and destructiveHint=false, so the safety profile is covered. The description adds useful context about what details are returned (install commands, component counts, security-audit result) but does not disclose additional behavioral traits such as error cases or lookup semantics. No contradiction exists.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single well-structured sentence that front-loads the core purpose ('Get the full details of a single Sigistry plugin by its id') and then adds valuable specifics. Every clause earns its place without redundancy.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the tool has one required parameter, a rich output schema, and annotations covering safety and idempotency, the description is complete enough for an agent to select and invoke it correctly. No critical contextual gap is apparent.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%: the single required 'id' parameter is described with an example ('sql-safety-net'). The description only restates that lookup is by id, so it adds little meaning beyond the schema, which is acceptable at the baseline.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description uses a specific verb and resource: 'Get the full details of a single Sigistry plugin by its id.' It also lists concrete contents (install commands, component counts, security-audit result), which distinguishes it from sibling tools like get_skill and search_plugins.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
It clearly establishes the context: use this tool when you already have a plugin id and need full details for that single plugin. It does not explicitly name alternatives or exclusion cases, but the id-based single-item purpose is evident enough to guide selection.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_skillGet a verified skill (with portable source)ARead-onlyIdempotentInspect
Get one Sigistry skill by name, including the full raw SKILL.md source. The source is portable: it can be applied directly in any SKILL.md-aware agent (Claude Code, Claude Desktop, and others) without installing anything, or installed natively in Claude Code via the parent plugin, which keeps it verified and updated. The returned skill passed the Sigistry skill-safety check at the parent plugin's verification date.
| Name | Required | Description | Default |
|---|---|---|---|
| name | Yes | the skill name, e.g. "assessment-scoring" (find names via search_skills) |
Output Schema
| Name | Required | Description |
|---|---|---|
| name | Yes | stable skill name, e.g. "assessment-scoring" |
| repo | No | author repo (owner/name), when externally hosted |
| commit | No | pinned commit the source is served from, when externally hosted |
| plugin | Yes | parent plugin id that ships this skill |
| source | Yes | the complete raw SKILL.md (frontmatter + body); null only if the fetch failed |
| hosting | Yes | "registry" (vendored here) or "external" (author repo, verified at a pinned commit) |
| detailUrl | Yes | human-readable page for this skill |
| sourceUrl | Yes | GitHub location of the skill directory |
| description | Yes | the skill trigger: when an agent should load it |
| verification | Yes | verification status of the parent plugin; prefer "verified" |
| verifiedDate | Yes | date of the verification run covering this skill |
| installCommand | Yes | Claude Code command installing the parent plugin (skill loads automatically) |
| pluginCategory | Yes | category of the parent plugin |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare read-only, idempotent, and non-destructive behavior. The description adds meaningful behavioral context beyond that: the source is portable and directly applicable in multiple agents, and the returned skill passed the Sigistry safety check at the parent plugin's verification date. This supplements the annotation profile without contradicting it.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is concise and front-loaded, with the core action in the first sentence and supporting portability/verification context in the following sentences. Each sentence adds relevant information, though the safety-check sentence could arguably be more precise about what 'parent plugin's verification date' means.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the single required parameter, strong annotations, and presence of an output schema, the description is largely complete. It explains what is returned, how portable it is, and its verification status. Minor gaps remain around what the output schema contains and how 'parent plugin' is provided, but these are not critical for correct invocation.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100% for the single `name` parameter, including an example and a pointer to search_skills. The description itself adds no parameter-specific meaning beyond what the schema already provides, so the baseline of 3 applies.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states a specific action ('Get one Sigistry skill by name') and a specific resource ('full raw SKILL.md source'). It distinguishes itself from siblings like search_skills by emphasizing retrieval by exact name with the portable raw source, making the purpose unambiguous.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description implies when to use the tool — when you have a specific skill name and want the portable SKILL.md source — but it does not explicitly contrast with alternatives or state when not to use it. The mention of search_skills appears only in the parameter schema, not in the description proper, so the guidance is implied rather than explicit.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
list_categoriesList plugin categoriesARead-onlyIdempotentInspect
List the distinct plugin categories in the Sigistry marketplace with a count of plugins in each, plus the total plugin count.
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
Output Schema
| Name | Required | Description |
|---|---|---|
| total | Yes | total number of plugins |
| categories | Yes | categories sorted by descending plugin count |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint, idempotentHint, and non-destructive behavior, so the safety profile is covered. The description adds useful behavior beyond that: it returns distinct categories with per-category plugin counts and a total plugin count, which clarifies the aggregation this tool performs.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single, focused sentence that front-loads the action and resource, then specifies the exact output details. Every word adds value, and there is no redundancy.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a zero-parameter, read-only listing tool with an output schema and rich annotations, the description is fully adequate. It tells the agent what will be returned and the domain scope, leaving no obvious gaps for correct invocation.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The tool has zero parameters, and the input schema is empty, so there is no parameter semantics burden on the description. The baseline of 4 applies here since the description accurately describes what the tool returns without needing to explain parameters.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description states a specific verb ('List'), a specific resource ('plugin categories in the Sigistry marketplace'), and the exact aggregation ('count of plugins in each, plus the total plugin count'). This clearly distinguishes it from the sibling tools, which retrieve or search individual plugins and skills.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description implies this tool is for getting an overview of available categories and their sizes, but it does not explicitly explain when to choose it over search or get tools. No exclusions or alternative-routing guidance is provided, though the intent is reasonably inferable.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
search_pluginsSearch Claude Code pluginsARead-onlyIdempotentInspect
Search the Sigistry marketplace of Claude Code plugins by keyword and/or category. Returns matches with their install command and verification status (the registry runs an eight-check security audit; prefer "verified" plugins when recommending an install).
| Name | Required | Description | Default |
|---|---|---|---|
| query | No | keywords, e.g. "database migration" | |
| category | No | e.g. "database", "devops", "git" |
Output Schema
| Name | Required | Description |
|---|---|---|
| results | Yes | up to 15 matching plugins, best matches first |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Beyond the annotations, the description adds meaningful behavioral context: results include install command and verification status, and the registry runs an eight-check security audit. This gives the agent actionable expectations about both the response content and how to weigh results when making recommendations.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single dense sentence that front-loads the action and scope, then efficiently adds return-value and recommendation context. There is no filler, repetition, or unnecessary detail.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
With an output schema present, safety annotations covering read-only/idempotent behavior, and a description that covers purpose, parameter flexibility, return content, and preference guidance, the agent has everything it needs to select and invoke the tool correctly.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100%, so the baseline is 3. The description adds value by clarifying that query and category can be used in combination ('by keyword and/or category'), which is not explicit in the schema's individual parameter descriptions.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description states a specific verb and resource: 'Search the Sigistry marketplace of Claude Code plugins by keyword and/or category.' This clearly distinguishes it from sibling tools like get_plugin, which retrieves details, and search_skills, which searches skills rather than plugins.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description makes clear it is for searching plugins and gives practical guidance to prefer 'verified' plugins when recommending an install. It does not explicitly name when to use alternatives like get_plugin or search_skills, but the plugin-specific scope makes the intended context clear.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
search_skillsSearch verified Claude Code skillsARead-onlyIdempotentInspect
Search the Sigistry catalog of verified skills (SKILL.md instruction sets for AI agents) by keyword, optionally filtered to one parent plugin. Every skill passed the skill-safety check: no command shadowing, honestly-scoped triggers, no injection or concealment language, no unsafe scripts. Use get_skill to fetch the full portable source of a match.
| Name | Required | Description | Default |
|---|---|---|---|
| query | No | keywords, e.g. "changelog" or "security review" | |
| plugin | No | restrict to skills shipped by this plugin id |
Output Schema
| Name | Required | Description |
|---|---|---|
| results | Yes | up to 20 matching skills, best matches first |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint, idempotentHint, and destructiveHint, and the description adds meaningful context about what 'verified' means: skills passed safety checks against command shadowing, injection, concealment, and unsafe scripts. This goes beyond the structured hints and helps an agent understand the trustworthiness semantics of results.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Three sentences with no wasted words: the core action is front-loaded, the safety-check detail is relevant, and the get_skill routing is useful. Slightly longer than strictly necessary, but each sentence earns its place.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a simple read-only search tool with two optional parameters and an output schema, the description covers what the tool searches, the optional plugin filter, the safety guarantee, and the follow-up tool to retrieve full sources. It does not need to explain return values because an output schema exists.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100%, so the input schema already documents both parameters well. The description adds minor context by calling plugin a 'parent plugin' and noting filtering is optional, but it does not substantially improve on the schema descriptions.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description names a specific verb ('Search'), a concrete resource (Sigistry catalog of verified skills), and clarifies what a skill is (SKILL.md instruction sets). It is clearly differentiated from siblings like get_skill (fetch full source) and search_plugins (search plugins rather than skills).
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description gives actionable routing guidance: use this tool to search the catalog and use get_skill to fetch a match's portable source. It does not explicitly contrast with search_plugins or list_categories, but the intended context is clear enough for an agent to select it for skill discovery.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
verify_pluginVerify a Claude Code plugin (pre-publish, runs locally)ARead-onlyIdempotentInspect
Get the recipe to run the Sigistry verification methodology (the eight static checks that gate the Verified badge: manifest integrity, hook safety, agent tool scopes, command hygiene, skill structure, skill safety, no secrets, documentation) against a plugin BEFORE publishing it. The verification runs entirely on the local machine via a dependency-free open-source Node script; the plugin code never leaves the user's computer and this server performs no computation. Call this when the user wants their plugin or skill checked, then follow the returned steps: download the script, run it against the plugin directory, and fix any FAIL findings it reports.
| Name | Required | Description | Default |
|---|---|---|---|
| pluginPath | No | local path to the plugin directory, used to fill in the run command (optional) |
Output Schema
| Name | Required | Description |
|---|---|---|
| steps | Yes | what the agent should do, in order |
| checks | Yes | the eight checks the script will run |
| commands | Yes | |
| nextSteps | Yes | |
| runsWhere | Yes | always "local": verification executes on the user's machine |
| interpreting | Yes | |
| methodologyUrl | Yes | |
| methodologyVersion | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
The description goes well beyond the annotations by clarifying that verification runs entirely locally, uses a dependency-free Node script, performs no server-side computation, and never sends plugin code off the user's machine. It also frames the tool as returning instructions rather than executing verification itself. This directly addresses privacy and execution-model concerns that annotations alone do not cover.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single, well-structured paragraph with three purposeful sentences: what the recipe is, how and where verification runs, and when/how to use the tool. The enumeration of the eight checks is dense but directly informs the agent about the tool's scope. No filler exists.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the output schema exists and the tool has only one optional parameter, the description covers everything an agent needs: purpose, local-only behavior, recommended invocation context, and the immediate next steps after calling. It does not need to explain return values because the output schema supplies that. The description is sufficiently complete for reliable tool selection and invocation.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The single parameter pluginPath is already fully described in the schema, with 100% schema description coverage, so the description does not need to add much. It does reinforce that the path points to the plugin directory, but it adds no new semantic detail beyond what the schema provides. This matches the baseline for high schema coverage.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool's purpose: it returns a recipe for running the Sigistry verification methodology against a plugin before publishing. It distinguishes itself from sibling search/get/list tools by focusing on local verification rather than discovery or retrieval. The title and description align, and the Verified badge context makes the resource and goal unambiguous.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description explicitly says to call this when the user wants a plugin or skill checked, which gives clear usage context. It does not enumerate when to prefer sibling tools over this one, but the use case is distinct enough that an agent can select it appropriately. A short note on when not to use it would make this dimension fully explicit.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
Tool Schema Changelog
Recent tool additions, removals, and schema changes observed during successful MCP inspections. Dates show when Glama detected each change.
6 tool updates
- First observed
get_plugin - First observed
get_skill - First observed
list_categories - First observed
search_plugins - First observed
search_skills - First observed
verify_plugin
Frequently Asked Questions
Claiming proves that you control a remote MCP connector. It does not move, proxy, or interrupt the server.
Open the connector listing, choose Claim ownership, and sign in to Glama.
Complete one verification method:
GitHub identity — fastest for official registry listings. For a namespace such as
io.github.alice/server, link the matching GitHub user, then choose Claim with GitHub. An organization namespace such asio.github.acme/serveralso needs that organization to have installed the Glama AI GitHub App and approved its permissions, because GitHub discloses organization membership only to apps it has installed. Use HTTP or DNS when it has not.HTTP challenge — works when you can deploy a public file. Generate a token, publish the exact JSON Glama shows at
/.well-known/glama.jsonon the same origin as the connector, then choose Check HTTP challenge.DNS challenge — works when you control DNS but cannot change the server. Generate a token, create the exact TXT record Glama shows, wait for it to propagate, then choose Check DNS challenge.
After verification, Glama sends a confirmation email and gives you access to listing details, thumbnails, health checks, and analytics. Keep the HTTP file or DNS record in place: Glama periodically checks it and ownership remains verified while the token is discoverable.
The HTTP ownership file has this structure:
{
"$schema": "https://glama.ai/mcp/schemas/connector.json",
"claim": "glama_claim_..."
}Claim tokens are opaque, stable, and bound to the signed-in Glama account. They contain no email address or other personal information. If Glama can no longer discover a verified HTTP or DNS token, it starts a seven-day grace period before removing claim-based access. Restore the same token during that period to keep ownership verified. Never publish an email address, Glama session token, GitHub token, or connector credential as ownership proof.
If verification fails, confirm that you copied the current token exactly. The HTTP file must be public, return valid JSON with a successful HTTP response, and stay on the connector's origin. DNS changes may need more time to propagate. A claim cannot transfer to a different origin or hostname: if the connector target changes, Glama starts the grace period and the new target must be claimed separately after the previous claim is released.
For a connector linked to the official MCP Registry, registry updates continue to replace its name, description, and URL by default. After claiming, open Manage connector and enable Use Glama listing details as the source of truth if edits made on Glama should be preserved. Categories and thumbnails are always managed on Glama; registry linkage and technical connection settings continue to sync.
Control your server's listing on Glama, including description and metadata
Access analytics and receive server usage reports
Get monitoring and health status updates for your server
Feature your server to boost visibility and reach more users
To improve your MCP server's ranking:
Claim ownership of the server listing
Complete the server profile with an accurate description and thumbnail
Provide a test profile so Glama can connect to and evaluate the server
Keep tool definitions clear and complete to earn a high Tool Definition Quality Score (TDQS)
Route real usage through the Glama Gateway; more recorded successful server uses also improve the ranking
For users:
Full audit trail – every tool call is logged with inputs and outputs for compliance and debugging
Granular tool control – enable or disable individual tools per connector to limit what your AI agents can do
Centralized credential management – store and rotate API keys and OAuth tokens in one place
Change alerts – get notified when a connector changes its schema, adds or removes tools, or updates tool definitions, so nothing breaks silently
For server owners:
Proven adoption – public usage metrics on your listing show real-world traction and build trust with prospective users
Tool-level analytics – see which tools are being used most, helping you prioritize development and documentation
Direct user feedback – users can report issues and suggest improvements through the listing, giving you a channel you would not have otherwise
The connector status is unhealthy when Glama is unable to successfully connect to the server. This can happen for several reasons:
The server is experiencing an outage
The URL of the server is wrong
Credentials required to access the server are missing or invalid
If you are the owner of this MCP connector and would like to make modifications to the listing, including providing test credentials for accessing the server, please contact support@glama.ai.
Discussions
No comments yet. Be the first to start the discussion!
Related MCP Connectors
Search, browse & read 340+ Claude Code marketing & SEO skills from any MCP client.
Search, install and submit Markdown skills for AI agents; private Brain files when signed in.
Search the HeyClaude directory of Claude Code agents, MCP servers, skills, and tools.
Search your team's shared AI-skill library, get install commands, and save skills from your agent.
Related MCP Servers
- AlicenseAqualityAmaintenanceEnables AI agents to search a curated directory of Claude Code agent skills, MCP servers, and plugin marketplaces ranked by community signal.4137MIT
- AlicenseNot gradedqualityAmaintenanceEnables MCP-compatible harnesses to load and invoke Claude Code style skills from SKILL.md folders, including listing and reading skill files with user-approval gating for model-invocation restrictions.76GPL 2.0
- AlicenseAqualityCmaintenanceEnables Claude to search and install skills from a database of ~200k scraped Claude skills, MCP servers, and plugins.2MIT
- AlicenseNot gradedqualityCmaintenanceEnables read-only access to a local-first catalog of portable agent skills, exposing tools to discover ranked matches, inspect stored artifacts, traverse declared relationships, and view configuration.MIT
Glama MCP Gateway
Add one secure layer between your agents and this server.
TDQS
Each tool targets a distinct resource or action: get vs search are separated by specificity, plugins vs skills are clearly different object types, and list_categories/verify_plugin occupy unique roles. The descriptions reinforce these boundaries with distinct output details.
All tool names use a consistent lowercase verb_noun pattern (get_plugin, get_skill, list_categories, search_plugins, search_skills, verify_plugin). The pluralization sensibly follows whether the operation returns one item or many.
Six tools is well-scoped for a plugin/skill catalog: discovery, lookup, category browsing, and verification guidance each have a dedicated tool. No tool feels redundant or extraneous.
The core catalog workflows are covered: search/get plugins and skills, browse categories, and retrieve verification instructions. The main gap is the absence of a direct list-all or list-skills operation, though searching by category/keyword can mostly work around it.