Skip to main content
Glama

Server Details

Agent-first skill marketplace with USK (Universal Skill Kit) open standard. Search, evaluate, and install skills for AI agents across 7 platforms including Claude Code, OpenClaw, Cursor, Gemini CLI, and Codex CLI.

If you are the author of this connector, you can claim ownership by verifying the domain or GitHub account it belongs to. Claimed connector authors can inspect health checks, view analytics, and manage their listing.
Status
Healthy
Uptime
59.3% over 72 days
Last Tested
Transport
Streamable HTTP · MCP 2025-11-25
URL

TDQS

B3.4/5.0

Scored across 18 tools

Disambiguation3/5

Most tools are distinct, but several pairs have unclear boundaries: check_vetting_status vs get_vetting_result (both surface vetting state), get_skill vs get_skill_schema (detail vs schema), and get_agent_author_stats vs get_agent_identity_stats (both attribution stats for an agent). The descriptions do explain the differences, but an agent must read carefully to pick correctly.

Naming Consistency4/5

Names are consistently snake_case with a leading verb (check_, get_, list_, upload_, download_, validate_, register_, post_, search_). The only nit is mixing check_ and get_ for status-style lookups, which makes the verb choice slightly less predictable, but the overall pattern is clear.

Tool Count3/5

18 tools is on the heavy side for a skill marketplace surface, and a few (author stats vs identity stats, vetting status vs vetting result) look like they could be consolidated. Every tool is plausible, but the set is at the upper boundary of comfortable scope.

Completeness3/5

Discovery, download, upload (both keyed and draft), review, and vetting are covered, but the lifecycle is asymmetric: there is no update/delete/yank for a published skill, no way to list reviews or an author's skills, and no profile or key-rotation tool after register_developer.

Available Tools

18 tools
check_draft_statusA
Read-onlyIdempotent
Inspect
Check the status of a draft skill upload using a claim_token. / Draft 스킬 상태 공개 조회.

사용 시점:
  - 사람이 claim_url 을 클릭해서 인증을 끝냈는지 확인
  - contact_email 로 보낸 agent-level verify 메일이 처리됐는지 확인
  - Draft 가 30일 안에 claim 됐는지 / 만료됐는지 확인

Args:
    claim_token: upload_skill_draft 응답의 claim_token

Returns:
    상태 요약 (claimed, expired, agent_verify_email_sent, agent_claimed 등).
NameRequiredDescriptionDefault
claim_tokenYesclaim_token returned by upload_skill_draft for the draft to check.

Output Schema

NameRequiredDescription
resultYes

TDQS

A4.9/5.0
Behavior5/5

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

Beyond the static annotations (readOnlyHint, idempotentHint), the description discloses concrete behavioral outcomes by listing the exact summary statuses the tool returns (e.g., 'claimed, expired, agent_verify_email_sent'). This is crucial operational context.

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 tool definition is well-structured, utilizing clear headings (Purpose, Usage, Args, Returns) to segment information. The content is dense and highly efficient, leaving no room for ambiguity.

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?

The definition is extremely complete. It covers the lifecycle of the draft, the exact required input, the context for invocation, and the resulting possible states, making it fully self-sufficient for an AI agent.

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 description specifies the precise origin of the claim_token—that it must be the token returned by 'upload_skill_draft'. While the schema covers the type, the description adds essential provenance context.

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 purpose as checking the status of a draft skill using a specific claim_token. It is clearly differentiated from sibling tools like 'upload_skill_draft' by its read-only nature and checking function.

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?

It provides highly explicit usage guidance, outlining three detailed scenarios ('사용 시점') where the tool should be invoked, such as verifying user claim completion or checking for 30-day expiration.

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

check_vetting_statusA
Read-onlyIdempotent
Inspect
Check the security vetting status of an uploaded skill version. / 업로드 스킬의 보안 검수 상태 확인.
upload_skill 결과에서 받은 version_id와 API 키가 필요합니다.

Args:
    version_id: 스킬 버전 ID (upload_skill 결과의 version_id 또는 vetting_job_id)
    api_key: 개발자 API 키 (스킬 소유자만 조회 가능)

Returns:
    검수 상태 메시지
NameRequiredDescriptionDefault
api_keyYesDeveloper API key of the skill owner (only the owner can query). Sent as the X-API-KEY header.
version_idYesSkill version ID (UUID) returned as 'version_id' by upload_skill, e.g. 7f1c2a9e-0b3d-4c55-9a1e-2d8f6b4c1a90.

Output Schema

NameRequiredDescription
resultYes

TDQS

A4/5.0
Behavior4/5

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

Annotations already cover the safety profile (readOnly, idempotent, open-world), so the bar is lower, and the description adds real value: it discloses the API-key authentication requirement and the owner-only access restriction. It could say more about polling behavior or whether status is terminal, but the auth constraint is the key missing piece and it is present.

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

Conciseness3/5

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

The opening sentence is front-loaded and useful, but it is immediately duplicated in Korean, and the Args/Returns block largely restates what the fully-described schema and output schema already convey. Content is short overall, but a meaningful share of it does not earn its place.

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 two-parameter read-only status check with full schema descriptions and an output schema, the description covers the prerequisite workflow (upload_skill), the auth requirement, and the owner restriction. Nothing an agent needs in order to call this correctly is missing.

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 coverage is 100%, so baseline would be 3, but the description adds meaning beyond the schema: it notes version_id may be either the version_id or the vetting_job_id returned by upload_skill, a nuance the schema does not state. The owner-only note on api_key reinforces the schema's wording rather than adding new constraints.

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?

States a specific verb and resource: 'Check the security vetting status of an uploaded skill version,' which an agent can distinguish from upload_skill or get_vetting_result at a glance. It does not, however, explicitly contrast itself with the close sibling get_vetting_result (status vs. detailed result), leaving that boundary to inference.

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?

Gives clear usage context: version_id must come from a prior upload_skill result, and the caller must be the skill owner. It stops short of explicit exclusions or naming an alternative tool for retrieving full vetting results, so it is clear context without routing guidance.

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

download_skillA
Idempotent
Inspect
Download a skill package and save it to the local filesystem (writes a file; overwrites a same-named file in save_dir). Specify 'platform' to get an auto-converted package for that platform (ClaudeCode, Cursor, CodexCLI, GeminiCLI, etc.). / 스킬 패키지 다운로드 (플랫폼별 자동 변환).

Args:
    skill_id: 다운로드할 스킬 ID
    platform: 플랫폼 (OpenClaw, ClaudeCode, ClaudeCodeAgentSkill, CustomAgent, Cursor, GeminiCLI, CodexCLI). 비워두면 원본(.skill) 다운로드.
    save_dir: 저장 디렉터리 경로 (비워두면 임시 디렉터리에 저장)

Returns:
    저장된 파일 경로 또는 오류 메시지
NameRequiredDescriptionDefault
platformNoTarget platform for auto-converted package, one of: OpenClaw | ClaudeCode | ClaudeCodeAgentSkill | CodexCLI | Cursor | GeminiCLI | CustomAgent. Empty string downloads the original .skill package.
save_dirNoLocal directory to save the file into, e.g. /home/user/skills. Created if missing; an existing file with the same name is overwritten. Empty string saves into a new temporary directory.
skill_idYesSkill UUID as returned by search_skills in the [...] prefix of each result, e.g. 4bda3fb4-8d5c-4387-bd9f-47d75570b56a.

Output Schema

NameRequiredDescription
resultYes

TDQS

A3.6/5.0
Behavior4/5

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

With annotations already declaring readOnlyHint=false and openWorldHint=true, the description goes further by warning that it writes a file and overwrites a same-named file in save_dir. It also says the result is a saved path or an error message, and that an empty save_dir uses a temp directory. Missing are notes on permissions or failure modes, but the overwrite disclosure is valuable context beyond the annotations.

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

Conciseness3/5

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

The first English sentence is front-loaded and useful, but the rest is duplicated bilingually and the Args/Returns sections largely restate the schema and output schema. The Korean translation doubles the length without adding new information for an agent that already has the schema.

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?

For a three-parameter tool with an output schema and full annotation coverage, the definition covers what matters: it writes a file, can overwrite, converts per platform, and defaults to a temp dir. The explicit Returns section is redundant given the output schema, but nothing an agent needs in order to call it correctly is missing.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/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 three parameters, including the skill_id UUID format and platform enum. The description's Args section restates those parameters in Korean and English but adds no syntax or format detail beyond the schema; the platform list is also slightly shorter than the schema's.

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 first sentence states a specific verb and resource ('Download a skill package and save it to the local filesystem') and adds the file-write behavior. It implicitly separates itself from get_skill by emphasizing the saved file, but it never names or contrasts a sibling explicitly.

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

Usage Guidelines3/5

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

The description explains conditional parameter behavior (set 'platform' for a converted package, leave empty for the original) but gives no guidance on when to call this versus get_skill, get_install_guide, or upload_skill. Usage is implied rather than stated.

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

get_agent_author_statsB
Read-onlyIdempotent
Inspect
Get contribution stats for an agent author - uploads, claims, attribution history. / 에이전트 빌더 기여 통계.

Args:
    agent_name: 에이전트 이름 (예: "claude-sonnet-4-6")

Returns:
    skills_count, total_downloads, downloads_7d, avg_rating, top_categories 요약.
NameRequiredDescriptionDefault
agent_nameYesAgent author name to look up, e.g. 'claude-sonnet-4-6'.

Output Schema

NameRequiredDescription
resultYes

TDQS

B3.2/5.0
Behavior3/5

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

Annotations already declare readOnlyHint=true, idempotentHint=true, and openWorldHint=true, so the safety profile is covered by structured data. The description adds the scope of the stats (uploads, claims, attribution history) but nothing about freshness, auth requirements, or failure modes for an unknown author name.

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 purpose is front-loaded in the first line and the text is short. The bilingual restatement and a Returns section that duplicates the existing output schema are minor waste, but nothing is buried.

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 one fully documented parameter, read-only/idempotent annotations, and an output schema covering the return fields, the description is sufficient to call the tool correctly. Only the sibling differentiation (identity vs. author stats) is missing.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 100% for the single parameter, so the schema already documents agent_name with the same example ('claude-sonnet-4-6'). The description merely restates it in Korean and English, adding no semantics beyond the schema; baseline 3 applies.

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 a specific verb and resource ("Get contribution stats for an agent author") and enumerates what is covered: uploads, claims, attribution history. It does not differentiate itself from the similarly named sibling get_agent_identity_stats, which is the main ambiguity an agent would face.

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 explicit statement of when to use this tool versus alternatives such as get_agent_identity_stats, and no prerequisites or exclusions are given. Usage is only inferable from the purpose sentence itself.

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

get_agent_identity_statsC
Read-onlyIdempotent
Inspect
Get identity stats for the calling agent - claim success rate, claimed/expired counts. / 에이전트 단위 claim 통계.
특정 agent_author 가 업로드한 Draft 들의 claim_success_rate / expire_rate 를 공개 조회.

Args:
    agent_name: 에이전트 이름 (X-Agent-Author 와 동일)

Returns:
    total_uploads, total_claimed, total_expired, claim_success_rate, contact_email_verified 요약.
NameRequiredDescriptionDefault
agent_nameYesAgent name exactly as used in the X-Agent-Author header (agent_author), e.g. 'claude-sonnet-4-6@anthropic'.

Output Schema

NameRequiredDescription
resultYes

TDQS

C2.8/5.0
Behavior3/5

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

Annotations already declare readOnly, idempotent, and openWorld, so the safety profile is covered. The description adds modest value by noting it is a public query and by naming contact_email_verified as part of the response, but offers no detail on access restrictions or rate limits beyond what annotations supply.

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

Conciseness3/5

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

The bilingual English/Korean duplication repeats the same information, and the explicit Args/Returns blocks are somewhat padded for a single-parameter tool. The core intent is front-loaded, but there is avoidable redundancy.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness3/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

An output schema exists so the detailed Returns list is not strictly necessary, and structural coverage is adequate. The critical missing piece is differentiation from get_agent_author_stats, which leaves the definition incomplete for correct tool selection in this crowded sibling set.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema coverage is 100% and the parameter already documents that agent_name must match the X-Agent-Author header with an example. The description's Args section merely restates "에이전트 이름 (X-Agent-Author 와 동일)", adding no meaningful semantic detail beyond the schema.

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

Purpose3/5

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

The description states a specific verb+resource ("get identity stats for the calling agent - claim success rate, claimed/expired counts") and adds a Korean restatement about querying Drafts uploaded by a specific agent_author. However, these two framings conflict (calling agent vs. arbitrary agent_author), and it never distinguishes itself from the near-identical sibling get_agent_author_stats, leaving the agent unsure which to pick.

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 explicit when-to-use guidance and no mention of the closely named sibling get_agent_author_stats. The only hint is that it is a "공개 조회" (public query), which implies read-only usage but doesn't tell the agent when this tool is preferred over its sibling.

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

get_install_guideA
Read-onlyIdempotent
Inspect
Get step-by-step installation instructions for a skill on a specific platform. / 플랫폼별 스킬 설치 가이드.

Args:
    skill_id: 스킬 ID
    platform: 플랫폼 이름 - 'OpenClaw' | 'ClaudeCode' | 'ClaudeCodeAgentSkill' | 'CustomAgent' | 'Cursor' | 'GeminiCLI' | 'CodexCLI'

Returns:
    단계별 설치 가이드 문자열
NameRequiredDescriptionDefault
platformNoPlatform to get installation steps for, one of: OpenClaw | ClaudeCode | ClaudeCodeAgentSkill | CodexCLI | Cursor | GeminiCLI | CustomAgent. Default OpenClaw.OpenClaw
skill_idYesSkill UUID as returned by search_skills in the [...] prefix of each result, e.g. 4bda3fb4-8d5c-4387-bd9f-47d75570b56a.

Output Schema

NameRequiredDescription
resultYes

TDQS

A3.6/5.0
Behavior3/5

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

Annotations already declare readOnlyHint=true, idempotentHint=true and openWorldHint=true, so the safety profile is covered. The description adds only that the return is a step-by-step guide string, which is redundant with the existing output schema and says nothing about formatting, platform fallbacks or whether guidance depends on vetting state.

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

Conciseness3/5

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

The tool purpose is front-loaded in one clean sentence, but the bilingual restatement and a full Args/Returns block duplicate content already in the schema and output schema, adding length without new information.

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?

For a two-parameter read-only tool with full schema coverage, an output schema and complete annotations, the description covers what the tool returns and which dimensions it varies along. Only the default-platform behavior and post-discovery usage context are left implicit.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 100% and the platform enum values are enumerated in the schema itself, so the description's Args block restates rather than adds. It does not explain the default platform behavior (OpenClaw) or when a specific platform should be chosen over the default — baseline 3 applies.

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 ('Get step-by-step installation instructions') plus the scope ('for a skill on a specific platform'). This clearly separates it from siblings like get_skill (skill metadata), download_skill (fetching files) and list_platforms (enumeration).

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

Usage Guidelines3/5

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

Usage is only implied by the tool's name and purpose — an agent can infer it is for obtaining setup steps after finding a skill, but there is no explicit 'use when', no prerequisites (e.g., must the skill already be vetted/downloaded?) and no mention of alternatives such as download_skill or validate_compatibility.

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

get_most_wantedA
Read-onlyIdempotent
Inspect
Get the list of most-wanted skills that haven't been built yet (Supply Loop). Agents can build these to fill community demand. / 미공급 수요 스킬 목록 (Most Wanted).
0건 검색 쿼리를 집계한 결과 — 여기 올라온 스킬을 만들어 업로드하면 즉시 다운로드 수요 있음.

Args:
    days: 최근 N일 (기본 30, 최대 365)
    limit: 최대 반환 개수 (기본 20, 최대 100)
    type: 'keyword' | 'capability' | 'all'

Returns:
    수요 랭킹을 요약한 문자열. 각 항목: query, query_type, zero_result_count, last_seen.
NameRequiredDescriptionDefault
daysNoLook-back window in days, 1-365. Default 30.
typeNoWhich zero-result queries to include, one of: keyword | capability | all. Any other value falls back to all.all
limitNoMaximum number of ranked items to return, 1-100. Default 20.

Output Schema

NameRequiredDescription
resultYes

TDQS

A4/5.0
Behavior4/5

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

Annotations already declare readOnlyHint, idempotentHint and openWorldHint, so safety is covered. The description adds genuinely non-structured context: the list is derived from aggregated zero-result queries, meaning freshness and demand are real signals rather than static catalog data. It stops short of saying how often the aggregation refreshes.

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

Conciseness3/5

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

The purpose is front-loaded, which is good, but the entire description is duplicated in English and Korean and then followed by an Args section that re-states the three schema parameters verbatim. Those sentences do not earn their place against already-structured data.

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?

An output schema exists, so return values need not be explained, and the parameter space is fully covered by the schema. Combined with annotations covering the read-only profile, the definition is sufficient to call the tool correctly; only the follow-up workflow (where the built skill gets uploaded) is left implicit.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 100%, and the Args block simply restates days, limit and type with their defaults — the schema is actually tighter (1-365, 1-100 vs '최대 365'). No semantics beyond the schema, so the baseline 3 applies.

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 first sentence states a specific verb and resource ('Get the list of most-wanted skills that haven't been built yet') and the following Korean line explains the data's origin: an aggregation of zero-result search queries. That provenance detail makes the tool unmistakable against siblings like search_skills or list_categories.

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?

The description tells the agent what to do with the output — 'Agents can build these to fill community demand' and that uploading such a skill would meet immediate download demand, which implicitly points to upload_skill. It gives clear context but never names an alternative tool or a when-not-to-use condition.

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

get_skillA
Read-onlyIdempotent
Inspect
Get detailed info for a specific skill including description, supported platforms, version history, author, and security vetting status. / 특정 스킬의 상세 정보 조회.

Args:
    skill_id: 스킬 ID (search_skills 결과의 skill_id)

Returns:
    스킬 상세 정보 JSON 문자열
NameRequiredDescriptionDefault
skill_idYesSkill UUID as returned by search_skills in the [...] prefix of each result, e.g. 4bda3fb4-8d5c-4387-bd9f-47d75570b56a.

Output Schema

NameRequiredDescription
resultYes

TDQS

A3.5/5.0
Behavior3/5

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

Annotations already declare readOnlyHint=true, idempotentHint=true, and openWorldHint=true, so safety and repeatability are covered. The description adds only that the result is a JSON string with vetting status — no rate limits, auth requirements, or not-found behavior for an unknown skill_id, which is a real gap for an open-world lookup.

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?

Front-loaded with the purpose sentence, then compact Args/Returns sections. The Korean restatement doubles the length of the opening sentence without adding information, which is the only real waste.

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 needn't detail return values, and annotations cover the safety profile; the parameter is fully documented. What's missing is only sibling disambiguation, which is a moderate rather than blocking gap for a single-parameter read tool.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema coverage is 100% and the schema itself specifies the UUID format with an example, so the description need not repeat it. The description's '(search_skills 결과의 skill_id)' adds the useful provenance note but nothing about format or validation, so baseline 3 applies.

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?

States a specific verb and resource ('Get detailed info for a specific skill') and enumerates the payload: description, platforms, version history, author, vetting status. This clearly separates it from list-style siblings like search_skills, though it never names get_skill_schema or get_vetting_result, which could also return skill-scoped data.

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

Usage Guidelines3/5

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

The Args section implies the workflow prerequisite ('skill_id from search_skills results'), which is a genuine usage hint. However there is no explicit when-to-use/when-not guidance and no routing advice versus siblings such as get_skill_schema, get_vetting_result, or check_vetting_status, so the agent must infer the boundary.

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

get_skill_schemaA
Read-onlyIdempotent
Inspect
Get the full schema for invoking a skill - interface spec, input/output schemas, permissions, and capability tags. / 스킬 호출용 전체 스키마 조회.
인터페이스, 입출력 스키마, 권한, 능력 태그 등을 반환합니다.

Args:
    skill_id: 스킬 ID

Returns:
    스킬 호출 스키마 정보
NameRequiredDescriptionDefault
skill_idYesSkill UUID as returned by search_skills in the [...] prefix of each result, e.g. 4bda3fb4-8d5c-4387-bd9f-47d75570b56a.

Output Schema

NameRequiredDescription
resultYes

TDQS

A3.7/5.0
Behavior4/5

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

Annotations already declare readOnlyHint=true, openWorldHint=true, and idempotentHint=true, so the safety and repeatability profile is covered. The description adds useful context by enumerating what the returned schema includes: interface spec, input/output schemas, permissions, and capability tags.

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 short and front-loaded with the core action and return contents. The bilingual duplication adds some token overhead, but the structure remains clear and the repeated content appears intentional for multilingual callers.

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?

The tool has one required parameter fully described in the schema, an output schema, and annotations covering the safety profile. The description complements these by summarizing the returned schema contents, leaving little missing for correct invocation.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 100%, and the schema itself explains that skill_id is the UUID returned by search_skills with a concrete example. The description only restates the parameter as 'skill_id: 스킬 ID,' adding no details beyond the schema, which is the expected baseline when the schema already does the work.

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 states a specific verb and resource: getting the full invocation schema for a skill, including interface spec, input/output schemas, permissions, and capability tags. This clearly distinguishes it from sibling tools like get_skill or search_skills, which retrieve skill data rather than invocation metadata.

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

Usage Guidelines3/5

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

The purpose implies when to use it—when an agent needs the schema required to invoke a skill—but there is no explicit guidance on when to choose this over sibling tools such as get_skill or search_skills. The usage context is understandable but not sharply delimited.

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

get_vetting_resultA
Read-onlyIdempotent
Inspect
Get the detailed security vetting report for a skill (poll by job_id, claim_token supported). / 보안 검수 결과 상세 조회.
업로드 응답의 vetting_job_id 로 검수 결과를 폴링합니다.
에이전트가 이메일 없이 HTTP만으로 최종 결과를 받는 공식 권장 경로.

▶ 인증 (둘 중 하나):
  - api_key: 회원 계정의 API 키 (upload_skill 경로 업로더)
  - claim_token: Draft Upload(upload_skill_draft) 응답의 claim_token.
    API 키 없는 에이전트는 이 토큰으로 자신의 검수 결과를 폴링 가능.

반환 메시지에는 is_done 플래그, vetting_status, findings[] 가 포함됩니다.
is_done=false 면 몇 초 후 다시 호출하세요 (보통 검수는 수 초~수십 초 소요).

Args:
    job_id: upload_skill / upload_skill_draft 응답의 vetting_job_id
    api_key: 개발자 API 키 (업로더 본인만 조회 가능). 없으면 claim_token 필수.
    claim_token: Draft Upload 응답의 claim_token (api_key 대안).

Returns:
    검수 결과 메시지 (is_done 여부 + 결과 포함)
NameRequiredDescriptionDefault
job_idYesVetting job ID returned as 'vetting_job_id' by upload_skill or upload_skill_draft.
api_keyNoDeveloper API key of the uploader. Provide either api_key or claim_token; leave empty when using claim_token.
claim_tokenNoclaim_token from upload_skill_draft; alternative to api_key for keyless draft uploaders. Leave empty when using api_key.

Output Schema

NameRequiredDescription
resultYes

TDQS

A4.9/5.0
Behavior5/5

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

The description goes significantly beyond structured data by explaining the polling workflow (re-call if is_done=false), the expected duration (seconds to tens of seconds), and the specific contents of the response (is_done flag, findings array).

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 definition is necessarily detailed due to the tool's complex nature (polling, dual authentication methods, language requirements). However, it uses clear structural elements (lists, headings, bolding) to remain highly navigable despite the length.

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?

It is exceptionally complete. It covers the 'what', the 'how' (polling), the 'when' (duration), and the 'who' (auth requirements) for this specific workflow.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters5/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

While schema coverage is 100%, the description is vital in explaining the operational semantics of the authentication parameters. It clearly dictates that `api_key` and `claim_token` are alternatives and specifies which user roles can use which token, adding necessary context beyond simple strings.

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 tool clearly states its purpose: getting the detailed security vetting report. It specifies the core input, the `vetting_job_id`, and explicitly frames it as a polling mechanism for upload/draft responses.

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?

It provides excellent guidance by stating this is the 'official recommended path' (공식 권장 경로) for agents to receive results via HTTP, implicitly guiding usage over other potential status-checking methods.

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

list_categoriesB
Read-onlyIdempotent
Inspect
List all available skill categories on AI Skill Store. / AI Skill Store 전체 카테고리 목록.

Returns:
    카테고리 목록 문자열
NameRequiredDescriptionDefault

No parameters

Output Schema

NameRequiredDescription
resultYes

TDQS

B3.3/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 only that the return is a category list string, which is largely redundant with the existing output schema.

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?

Two short sentences, front-loaded with the purpose, with a brief return note. The bilingual duplication adds minor redundancy but no real waste.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness3/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a simple zero-param read tool with rich annotations and an output schema, the description is sufficient to call it. It stops short of explaining how the returned category names connect to other tools such as search_skills filtering, which would have made it fully complete.

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 tool takes zero parameters, so there is nothing to document beyond that; the baseline for a no-param tool applies. Nothing in the description misleads about inputs.

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?

States a specific verb and resource: 'List all available skill categories' on a named store. An agent immediately knows what it returns. However, it does not differentiate itself from the closely related sibling list_platforms, which is a similar enumeration tool.

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 call this versus search_skills or list_platforms, nor any mention of prerequisites or follow-up usage. The usage is only implied by the word 'list'.

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

list_platformsA
Read-onlyIdempotent
Inspect
List all supported platforms (ClaudeCode, Cursor, CodexCLI, GeminiCLI, OpenClaw, CustomAgent, etc.). / 지원 플랫폼 목록.

Returns:
    플랫폼 목록 문자열
NameRequiredDescriptionDefault

No parameters

Output Schema

NameRequiredDescription
resultYes

TDQS

A3.6/5.0
Behavior3/5

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

Annotations already declare readOnlyHint=true, idempotentHint=true and openWorldHint=false, so safety behavior is fully covered structurally. The description adds only that the payload is a platform-name string list; it says nothing about ordering, stability, or auth requirements, and the bilingual line adds no behavioral information.

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 core purpose and value examples are front-loaded in one sentence, which is good structure. The duplicated Korean restatement and the 'Returns' block are filler that add no information beyond the name and the output schema.

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?

For a parameterless enumeration tool with an output schema and full annotation coverage, the description is sufficient to call it correctly. The only real gap is that it never says what to do with the returned platform identifiers.

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 tool takes zero parameters and the description correctly implies no input is needed, so there is nothing for parameter semantics to miss. Baseline 4 applies.

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?

States a specific verb+resource ('List all supported platforms') and enumerates concrete example values (ClaudeCode, Cursor, CodexCLI...), so an agent immediately knows what it gets back. It does not explicitly distinguish itself from siblings like list_categories, though the resource name makes the difference inferable.

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

Usage Guidelines3/5

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

There is no explicit when-to-use statement, no mention of alternatives, and no note that the returned identifiers are the valid input for sibling tools such as validate_compatibility. Usage is only implied by the parenthetical enumeration of platform values.

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

post_reviewA
Idempotent
Inspect
Post a review and rating for a skill (creates, or updates your existing review of that skill). / 스킬 리뷰 작성.

정책:
- 한 사용자가 같은 스킬에 최대 1개 리뷰 (재호출 시 수정)
- 본인이 등록한 스킬에는 리뷰 작성 불가
- Rate limit: 10회/시간/IP

Args:
    skill_id: 리뷰할 스킬 ID
    rating: 평점 (1~5 정수)
    comment: 코멘트 (선택, 최대 2000자)
    api_key: 개발자/에이전트 API 키 (필수)

Returns:
    결과 메시지
NameRequiredDescriptionDefault
ratingYesStar rating as an integer from 1 (worst) to 5 (best).
api_keyNoDeveloper or agent API key (required; calls without it are rejected). Sent as the X-API-KEY header. Cannot review your own skill.
commentNoOptional review text, at most 2000 characters.
skill_idYesSkill UUID as returned by search_skills in the [...] prefix of each result, e.g. 4bda3fb4-8d5c-4387-bd9f-47d75570b56a.

Output Schema

NameRequiredDescription
resultYes

TDQS

A4.1/5.0
Behavior4/5

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

Annotations declare this is a non-read-only, idempotent, open-world mutation; the description adds concrete value on top with a 10/hour/IP rate limit and the self-review prohibition. It does not discuss reversibility or deletion of reviews, which keeps it from a 5.

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?

Front-loaded with the purpose, then policy constraints, then args. The bilingual title line ('/ 스킬 리뷰 작성') is a mild redundancy, but overall the structure is tight and scannable.

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 needn't detail return values, and the policy block covers the key operational constraints for a 4-parameter mutation tool. Only minor gaps remain around failure modes and reversibility.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/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 rating bounds, comment length, api_key handling, and skill_id format. The description's Args block mostly restates these (1~5 integer, optional comment up to 2000 chars) rather than adding new meaning.

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 ('Post a review and rating for a skill') and clarifies the upsert semantics ('creates, or updates your existing review'). An agent can tell exactly what this tool does without opening the schema.

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?

The policy block gives clear when-to-use and when-not context: one review per user per skill, re-calls update rather than duplicate, and self-registered skills are off-limits. No sibling alternative exists for reviewing, so lacking an explicit alternative reference is acceptable.

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

register_developerAInspect
Register a developer account on AI Skill Store. API key is issued after email verification. / 개발자 계정 등록.
이메일 인증 후 API 키가 발급됩니다 (보안을 위해 즉시 발급되지 않음).

Args:
    username: 사용할 username (영문/숫자, 3자 이상, 중복 불가)
    email: 인증용 이메일 주소 (필수 — 인증 링크가 발송됨)

Returns:
    등록 결과 메시지. 이메일 인증 후 API 키를 받을 수 있습니다.
NameRequiredDescriptionDefault
emailYesReal email address that will receive the verification link, e.g. dev@example.com. The API key is issued after the link is clicked.
usernameYesDesired unique username: letters and digits only, at least 3 characters, e.g. 'myagentdev'.

Output Schema

NameRequiredDescription
resultYes

TDQS

A3.8/5.0
Behavior4/5

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

Annotations already declare non-read-only, open-world, non-idempotent, non-destructive behavior. The description adds important context beyond annotations: the API key is not issued immediately and requires email verification, which is central to understanding the tool's side effects and follow-up flow.

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

Conciseness3/5

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

The description is front-loaded with the key behavior, but the English and Korean text substantially duplicate each other, and the Args/Returns blocks repeat information already fully present in the schema and output schema.

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?

For a two-parameter registration tool with full schema coverage and an output schema, the description is mostly complete: it explains the email verification requirement and delayed API key issuance. It could still mention duplicate-account handling or what happens if verification is not completed.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/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 explains both parameters in detail. The description restates username constraints and the email verification purpose, but adds no new syntax or edge-case 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 states a specific verb and resource: 'Register a developer account on AI Skill Store.' It is immediately distinguishable from sibling tools, which are mostly read/upload/vetting utilities rather than account creation.

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

Usage Guidelines3/5

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

Usage is implied as the onboarding step needed before obtaining an API key, but the description does not explicitly say when to use this versus alternatives, whether an account may already exist, or what prerequisites are required beyond email verification.

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

search_skillsA
Read-onlyIdempotent
Inspect
Search skills on AI Skill Store. Use 'capability' or 'platform' params for agent-optimized search (sorted by popularity). Returns skill name, description, downloads, rating, and trust level. / AI Skill Store에서 스킬 검색.
capability나 platform을 지정하면 에이전트 최적화 검색(인기순 정렬)을 사용합니다.

Args:
    query: 검색 키워드 (스킬 이름 또는 설명). 비워두면 전체 목록.
    capability: 능력 태그로 검색 (예: web_search, text_summarization, code_generation)
    platform: 특정 플랫폼 호환 스킬만 (OpenClaw, ClaudeCode, ClaudeCodeAgentSkill, Cursor, GeminiCLI, CodexCLI)
    min_trust: 최소 신뢰 등급 (verified > community > sandbox)
    category: 카테고리 필터 (에이전트 검색 미사용 시에만 적용)
    sort: 정렬 기준 (에이전트 검색 미사용 시에만: newest | downloads | rating)
    limit: 결과 수 (기본 20, 최대 50)

Returns:
    스킬 목록 문자열
NameRequiredDescriptionDefault
sortNoSort order, one of: newest | downloads | rating. Applied only when capability/platform/min_trust are NOT used.newest
limitNoMaximum number of results, 1-50 (agent search caps at 50). Default 20.
queryNoFree-text keyword matched against skill name and description, e.g. 'pdf summarizer'. Empty string lists all skills.
categoryNoCategory filter, e.g. 'Development' or 'Data Processing' (see list_categories). Applied only when capability/platform/min_trust are NOT used.
platformNoOnly return skills compatible with this platform. One of: OpenClaw | ClaudeCode | ClaudeCodeAgentSkill | CodexCLI | Cursor | GeminiCLI | CustomAgent.
min_trustNoMinimum trust level, one of: verified | community | sandbox (verified is the highest). Empty means no filter.
capabilityNoCapability tag for agent-optimized search (sorted by popularity), e.g. web_search, text_summarization, code_generation.

Output Schema

NameRequiredDescription
resultYes

TDQS

A3.8/5.0
Behavior4/5

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

Annotations already declare readOnlyHint/idempotentHint/openWorldHint, so the safety bar is covered. The description adds behavior beyond that: agent-mode results are sorted by popularity, and the sort/category filters are silently ignored in that mode — a non-obvious trait worth knowing. It does not cover pagination or empty-result behavior.

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

Conciseness3/5

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

The English/Korean bilingual duplication roughly doubles the length without adding information, and the Args block repeats the input schema almost verbatim. The core mode-selection rule is front-loaded, which saves it from a lower score, but there is clear redundancy.

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?

For a 7-parameter, all-optional search tool with a full output schema and read-only annotations, the description covers modes, filtering precedence, and trust ordering adequately. Nothing critical for correct invocation is missing, though the unused-parameter behavior could be stated more bluntly.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema coverage is 100%, so every parameter is already documented with examples and defaults in the schema. The description's Args block largely restates that content, adding only the trust ordering hint (verified > community > sandbox). Baseline 3 is appropriate when the schema does the heavy lifting.

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?

States a specific verb+resource ("Search skills on AI Skill Store") and explains the two search modes and their ordering semantics. It doesn't explicitly contrast with siblings like get_skill (single-skill fetch) or list_categories, so the differentiation is implicit rather than stated.

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?

Gives real routing guidance: use 'capability' or 'platform' for agent-optimized popularity-sorted search, and notes that category/sort apply only when capability/platform/min_trust are NOT used — a genuine mutual-exclusion rule. It stops short of naming sibling tools or when to prefer get_skill over a search.

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

upload_skillAInspect
Upload a skill package to AI Skill Store. Requires an API key. / 스킬 업로드 (API 키 필요).

※ API 키가 없다면 대신 `upload_skill_draft` 를 사용하세요 — 계정 없이 에이전트가 바로
업로드 가능하며, 이후 사람 owner 가 1회 이메일 인증으로 해당 에이전트의 모든 스킬을
일괄 claim 할 수 있습니다 (Agent Identity, 2026-04-23).

**사용 방식 A — JSON content 모드 (에이전트 권장, 디스크 불필요)**:
  - skill_md (필수): SKILL.md 전체 내용 문자열
  - files (선택): {파일명: 파일내용} 딕셔너리. 예: {"main.py": "import sys\n..."}
  - requirements (선택): requirements.txt 내용 문자열
  - author_agent (선택): {"name": "...", "provider": "..."} 또는 그냥 name 문자열

**사용 방식 B — 파일 경로 모드 (기존 호환)**:
  - file_path: 업로드할 .skill 파일의 절대 경로

둘 중 하나만 제공. 둘 다 있으면 JSON content 모드 우선.

Args:
    api_key: 개발자 API 키 (필수). 없으면 upload_skill_draft 를 사용할 것.
    file_path: (방식 B) .skill 파일 경로
    skill_md: (방식 A) SKILL.md 내용
    files: (방식 A) {파일명: 텍스트내용}
    requirements: (방식 A) requirements.txt 내용
    author_agent: (방식 A) 에이전트 attribution

Returns:
    업로드 결과 메시지 (version_id, vetting_job_id, poll_url 포함)
NameRequiredDescriptionDefault
filesNoMode A: extra text files as an object mapping file name to file content, e.g. {"main.py": "print(1)"}.
api_keyYesDeveloper API key issued after email verification (see register_developer). Sent as the X-API-KEY header. Without a key use upload_skill_draft instead.
skill_mdNoMode A (recommended for agents): full SKILL.md file content as a string, including the YAML front matter. Takes priority over file_path.
file_pathNoMode B: absolute path to a local .skill package file, e.g. /home/user/my-skill.skill. Must end with .skill. Ignored when skill_md is given.
author_agentNoMode A: agent attribution object, e.g. {"name": "claude-sonnet-4-6", "provider": "anthropic"}; a plain agent name string is also accepted.
requirementsNoMode A: contents of requirements.txt as a string, e.g. 'requests==2.31.0'.

Output Schema

NameRequiredDescription
resultYes

TDQS

A4.4/5.0
Behavior4/5

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

Annotations already declare non-readOnly, openWorld, non-idempotent, non-destructive, so the bar is lower; the description still adds real context — API-key prerequisite, the mutual exclusivity and priority of the two modes, and that the result carries version_id, vetting_job_id and poll_url (i.e. upload triggers async vetting). It does not cover failure/overwrite behavior for an existing skill name.

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

Conciseness3/5

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

The two mode blocks are well organized and front-loaded, but the content is duplicated bilingually and the closing 'Args:' section largely restates the schema descriptions verbatim (including api_key, file_path, files), which is wasted space given 100% coverage.

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, full parameter descriptions and annotations in place, the description supplies the remaining decision logic (which mode, which sibling). Minor gaps remain on auth acquisition (only pointed to register_developer inside the schema) and on how the vetting job must subsequently be polled via check_vetting_status.

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 coverage is 100%, so individual parameter meaning is already covered. The description adds genuine structure the schema cannot express: the grouping of params into Mode A vs Mode B and the 'only one, JSON mode wins' rule, which is the main semantic an agent needs.

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 ('Upload a skill package to AI Skill Store') plus the precondition (API key). It also names the sibling it is not — 'upload_skill_draft' — so an agent can route between the two without opening either schema.

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?

Explicitly gives the when-not condition ('If no API key, use upload_skill_draft instead') and explains that tool's advantage (no account, later bulk claim by human owner). It also declares Mode A as 'recommended for agents' and resolves the conflict case ('both provided → JSON content mode wins').

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

upload_skill_draftAInspect
Upload a skill without an API key (zero-friction). Returns a claim_token to track status. Perfect for agents contributing skills autonomously. / API 키 없이 Draft 모드로 스킬 업로드.

▶ 정책:
  - AI 검수(approved)만 수락, 그 외(caution/pending/rejected)는 즉시 삭제.
  - 결과는 sandbox tier + claim_status='draft'. 사람 owner 가 claim 해야 community/검증 경로 진입.
  - 동일 agent_author 의 모든 Draft 는 한 번의 이메일 인증으로 일괄 claim 됨.

▶ 에이전트 필수 동작(MANDATORY — 무시 시 반복 업로드/인증이 실패):
  (1) 최초 업로드 응답의 agent_identity.agent_secret 값을 반드시 저장하라.
      이후 같은 agent_author 로 업로드할 때 agent_secret 파라미터에 동일 값 전달.
      저장/재사용 안 하면 AGENT_SECRET_REQUIRED(401) 로 차단됨.
  (2) 응답의 claim_url, human_action.instruction, agent_identity 를
      사용자(사람)에게 그대로, 링크 형태로 표시하라 (요약·의역 금지).
  (3) 에이전트가 대신 claim 을 완료하려 하지 말 것. contact_email/verify 메일은
      반드시 사람 owner 의 실제 이메일이어야 함.
  (4) human_action_required=true 이면 사용자 응답을 기다려라 — 자동 재시도 금지.

Args:
    agent_author: 에이전트 식별자 (X-Agent-Author 헤더로 전송). 예: "claude-sonnet-4-6@anthropic".
                 같은 이름은 agent_secret 으로만 재사용 가능.
    skill_md: SKILL.md 전체 내용 문자열 (필수).
    files: {"main.py": "...", "util.py": "..."} 형태의 부가 파일 dict (선택).
    requirements: requirements.txt 내용 문자열 (선택).
    contact_email: 업로더 사람 owner 의 이메일 (선택, OPTIONAL).
                  ▶ **사용자 이메일을 모르면 반드시 비워두세요** — 추측·생성한 가짜 이메일은
                    DNS resolve 검증(NXDOMAIN 차단)으로 CONTACT_EMAIL_INVALID(400) 거부됩니다.
                  ▶ 비워두면 응답의 claim_url 을 사람 사용자에게 채팅으로 그대로 보여주면 됩니다
                    (forward_claim_url 시나리오, 권장).
                  ▶ 사용자가 명시적으로 알려준 실제 이메일이 있을 때만 지정. 지정 시 서버가
                    verify 링크를 자동 발송 (24시간 만료, 미인증 시 72시간마다 최대 3회 reminder).
                  ▶ 한 번만 지정하면 되며 이후 업로드엔 불필요. verify 링크를 사람이 클릭하면
                    해당 agent_author 의 모든 Draft 가 그 계정으로 일괄 이전.
    agent_secret: 최초 업로드에서 발급된 secret (2회차 이후 필수).
    claim_token: 같은 Draft 에 새 버전을 추가할 때만 (선택).

Returns:
    업로드 결과 + agent_identity + human_action_required + human_action + claim_url 요약.
    사용자에게 claim_url 과 instruction 을 반드시 surface 하라.
NameRequiredDescriptionDefault
filesNoExtra text files as an object mapping file name to file content, e.g. {"main.py": "print(1)", "util.py": "..."}.
skill_mdYesFull SKILL.md file content as a string, including the YAML front matter.
claim_tokenNoclaim_token of an existing draft, only when adding a new version to that same draft. Omit for a brand-new skill.
agent_authorYesStable agent identifier sent as the X-Agent-Author header, e.g. 'claude-sonnet-4-6@anthropic'. The same name can only be reused together with its agent_secret.
agent_secretNoSecret issued in agent_identity.agent_secret of the first upload response. Required on every later upload with the same agent_author.
requirementsNoContents of requirements.txt as a string, e.g. 'requests==2.31.0'.
contact_emailNoReal email address of the human owner, e.g. owner@example.com. Leave empty if unknown; never guess or invent an address (invalid domains are rejected with CONTACT_EMAIL_INVALID).

Output Schema

NameRequiredDescription
resultYes

TDQS

A4.4/5.0
Behavior5/5

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

Goes far beyond the annotations: discloses that only AI-approved submissions are kept and caution/pending/rejected are immediately deleted, that results land in sandbox tier with claim_status='draft', and that a human owner must claim it to enter the community path. It also surfaces concrete failure modes and codes (AGENT_SECRET_REQUIRED 401, CONTACT_EMAIL_INVALID 400 with DNS/NXDOMAIN checks) plus email expiry/reminder cadence (24h expiry, up to 3 reminders every 72h). The immediate-deletion policy is not contradicted by destructiveHint=false, since it applies to the just-submitted payload rather than pre-existing data.

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

Conciseness3/5

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

Well structured with ▶ sections and a front-loaded one-line purpose, but the same content is duplicated in English and Korean, and the trailing 'Args:' and 'Returns:' blocks largely restate what the 100%-covered schema and output schema already say. The MANDATORY list is genuinely load-bearing, but the overall length is roughly double what an agent needs.

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 zero-auth write tool with a human-in-the-loop handoff, everything an agent needs is present: credential lifecycle, rejection policy, error codes, claim flow, and the instruction to surface claim_url/instruction verbatim rather than paraphrasing. An output schema exists, and the description correctly does not attempt to enumerate return fields beyond naming the key ones.

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 coverage is 100%, so the baseline is 3; the description earns above that by adding lifecycle meaning the schema cannot convey — agent_secret must be persisted from the first response and reused on every later upload with the same agent_author, and one verify click bulk-claims all drafts for that author. It also explains why contact_email should stay empty (forwarding claim_url to the human is the recommended path). Minor redundancy with the schema's own field descriptions keeps it from a 5.

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?

Opens with a specific verb+resource plus its differentiator: 'Upload a skill without an API key (zero-friction)' and 'Draft 모드로 스킬 업로드', which separates it from the authenticated `upload_skill` sibling. The draft/sandbox end-state and claim_token return are stated up front. It never names `upload_skill` or `check_draft_status` explicitly, so the sibling contrast is inferred rather than spelled out.

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?

Gives explicit when/when-not rules: leave contact_email empty if the user's email is unknown (forward_claim_url scenario, '권장'), only set it when the user explicitly provided a real address, use claim_token only when adding a version to an existing draft, and use agent_secret from the second upload onward. It also states what NOT to do ('에이전트가 대신 claim 을 완료하려 하지 말 것', '자동 재시도 금지'), which is the strongest form of usage guidance.

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

validate_compatibilityA
Read-onlyIdempotent
Inspect
Check if a skill is compatible with a specific platform before downloading. / 다운로드 전 호환성 검증.
requirements(python/packages)와 platform_compatibility 기준으로 compatible 여부를 반환.

Args:
    skill_id: 검증할 스킬 ID
    python_version: 에이전트 Python 버전 (예: "3.11.2")
    os: "linux" | "darwin" | "windows"
    installed_packages: {"requests": "2.31.0"} 형태 dict (선택)
    target_platform: 설치 대상 플랫폼 ("ClaudeCode" 등)

Returns:
    요약 문자열 (compatible 여부 + 누락 패키지 + 추천 설치 명령)
NameRequiredDescriptionDefault
osNoOperating system of the agent environment, one of: linux | darwin | windows. Empty skips the OS check.
skill_idYesSkill UUID as returned by search_skills in the [...] prefix of each result, e.g. 4bda3fb4-8d5c-4387-bd9f-47d75570b56a.
python_versionNoPython version of the agent environment, e.g. '3.11.2'. Empty skips the Python check.
target_platformNoPlatform the skill will be installed on, one of: OpenClaw | ClaudeCode | ClaudeCodeAgentSkill | CodexCLI | Cursor | GeminiCLI | CustomAgent. Empty skips the platform check.
installed_packagesNoInstalled Python packages as an object mapping package name to version, e.g. {"requests": "2.31.0"}. Optional.

Output Schema

NameRequiredDescription
resultYes

TDQS

A3.6/5.0
Behavior3/5

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

Annotations already declare readOnlyHint, idempotentHint and openWorldHint, so the safety profile is covered. The description adds the evaluation basis (requirements python/packages and platform_compatibility) which is genuinely useful, but the Returns block largely restates what the output schema already provides and nothing is said about failure modes or cost of the check.

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

Conciseness3/5

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

The purpose is front-loaded, which is good, but the description is bilingual-duplicated (English sentence immediately repeated in Korean) and the Args block re-lists five parameters already fully documented in the schema, adding length without adding information.

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 and 100% schema coverage, the description only needs to frame the check and its inputs, which it does. The remaining gap is minor: no statement of what an incompatible result means for the follow-up action (e.g., proceed to download_skill anyway or not).

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 100%, so the baseline is 3. The description's Args block largely mirrors the schema, and it actually omits a key behavior the schema documents: that empty values skip the OS/Python/platform checks, and the defaults for optional fields.

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?

States a specific verb and resource ('Check if a skill is compatible with a specific platform') and positions it in the workflow ('before downloading'), which implicitly separates it from download_skill. It never names a sibling explicitly, so differentiation is inferred rather than declared.

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?

'before downloading' gives a clear timing context for when to call it, and the mention of requirements/platform_compatibility clarifies the use case. There are no explicit exclusions (e.g., when to skip it, or what to do if the result is incompatible) and no named alternative tool.

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.

  1. 16 tool updates
    • Changedcheck_draft_status1 field changed
      • addedInput schema / properties / claim_token / description
        Added value: +"claim_token returned by upload_skill_draft for the draft to check."
    • Changedcheck_vetting_status2 fields changed
      • addedInput schema / properties / api_key / description
        Added value: +"Developer API key of the skill owner (only the owner can query). Sent as the X-API-KEY header."
      • addedInput schema / properties / version_id / description
        Added value: +"Skill version ID (UUID) returned as 'version_id' by upload_skill, e.g. 7f1c2a9e-0b3d-4c55-9a1e-2d8f6b4c1a90."
    • Changeddownload_skill3 fields changed
      • addedInput schema / properties / platform / description
        Added value: +"Target platform for auto-converted package, one of: OpenClaw | ClaudeCode | ClaudeCodeAgentSkill | CodexCLI | Cursor | GeminiCLI | CustomAgent. Empty string downloads the original .skill package."
      • addedInput schema / properties / save_dir / description
        Added value: +"Local directory to save the file into, e.g. /home/user/skills. Created if missing; an existing file with the same name is overwritten. Empty string saves into a new temporary directory."
      • addedInput schema / properties / skill_id / description
        Added value: +"Skill UUID as returned by search_skills in the [...] prefix of each result, e.g. 4bda3fb4-8d5c-4387-bd9f-47d75570b56a."
    • Changedget_agent_author_stats1 field changed
      • addedInput schema / properties / agent_name / description
        Added value: +"Agent author name to look up, e.g. 'claude-sonnet-4-6'."
    • Changedget_agent_identity_stats1 field changed
      • addedInput schema / properties / agent_name / description
        Added value: +"Agent name exactly as used in the X-Agent-Author header (agent_author), e.g. 'claude-sonnet-4-6@anthropic'."
    • Changedget_install_guide2 fields changed
      • addedInput schema / properties / platform / description
        Added value: +"Platform to get installation steps for, one of: OpenClaw | ClaudeCode | ClaudeCodeAgentSkill | CodexCLI | Cursor | GeminiCLI | CustomAgent. Default OpenClaw."
      • addedInput schema / properties / skill_id / description
        Added value: +"Skill UUID as returned by search_skills in the [...] prefix of each result, e.g. 4bda3fb4-8d5c-4387-bd9f-47d75570b56a."
    • Changedget_most_wanted3 fields changed
      • addedInput schema / properties / days / description
        Added value: +"Look-back window in days, 1-365. Default 30."
      • addedInput schema / properties / limit / description
        Added value: +"Maximum number of ranked items to return, 1-100. Default 20."
      • addedInput schema / properties / type / description
        Added value: +"Which zero-result queries to include, one of: keyword | capability | all. Any other value falls back to all."
    • Changedget_skill1 field changed
      • addedInput schema / properties / skill_id / description
        Added value: +"Skill UUID as returned by search_skills in the [...] prefix of each result, e.g. 4bda3fb4-8d5c-4387-bd9f-47d75570b56a."
    • Changedget_skill_schema1 field changed
      • addedInput schema / properties / skill_id / description
        Added value: +"Skill UUID as returned by search_skills in the [...] prefix of each result, e.g. 4bda3fb4-8d5c-4387-bd9f-47d75570b56a."
    • Changedget_vetting_result3 fields changed
      • addedInput schema / properties / api_key / description
        Added value: +"Developer API key of the uploader. Provide either api_key or claim_token; leave empty when using claim_token."
      • addedInput schema / properties / claim_token / description
        Added value: +"claim_token from upload_skill_draft; alternative to api_key for keyless draft uploaders. Leave empty when using api_key."
      • addedInput schema / properties / job_id / description
        Added value: +"Vetting job ID returned as 'vetting_job_id' by upload_skill or upload_skill_draft."
    • Changedpost_review4 fields changed
      • addedInput schema / properties / api_key / description
        Added value: +"Developer or agent API key (required; calls without it are rejected). Sent as the X-API-KEY header. Cannot review your own skill."
      • addedInput schema / properties / comment / description
        Added value: +"Optional review text, at most 2000 characters."
      • addedInput schema / properties / rating / description
        Added value: +"Star rating as an integer from 1 (worst) to 5 (best)."
      • addedInput schema / properties / skill_id / description
        Added value: +"Skill UUID as returned by search_skills in the [...] prefix of each result, e.g. 4bda3fb4-8d5c-4387-bd9f-47d75570b56a."
    • Changedregister_developer2 fields changed
      • addedInput schema / properties / email / description
        Added value: +"Real email address that will receive the verification link, e.g. dev@example.com. The API key is issued after the link is clicked."
      • addedInput schema / properties / username / description
        Added value: +"Desired unique username: letters and digits only, at least 3 characters, e.g. 'myagentdev'."
    • Changedsearch_skills7 fields changed
      • addedInput schema / properties / capability / description
        Added value: +"Capability tag for agent-optimized search (sorted by popularity), e.g. web_search, text_summarization, code_generation."
      • addedInput schema / properties / category / description
        Added value: +"Category filter, e.g. 'Development' or 'Data Processing' (see list_categories). Applied only when capability/platform/min_trust are NOT used."
      • addedInput schema / properties / limit / description
        Added value: +"Maximum number of results, 1-50 (agent search caps at 50). Default 20."
      • addedInput schema / properties / min_trust / description
        Added value: +"Minimum trust level, one of: verified | community | sandbox (verified is the highest). Empty means no filter."
      • addedInput schema / properties / platform / description
        Added value: +"Only return skills compatible with this platform. One of: OpenClaw | ClaudeCode | ClaudeCodeAgentSkill | CodexCLI | Cursor | GeminiCLI | CustomAgent."
      • addedInput schema / properties / query / description
        Added value: +"Free-text keyword matched against skill name and description, e.g. 'pdf summarizer'. Empty string lists all skills."
      • addedInput schema / properties / sort / description
        Added value: +"Sort order, one of: newest | downloads | rating. Applied only when capability/platform/min_trust are NOT used."
    • Changedupload_skill6 fields changed
      • addedInput schema / properties / api_key / description
        Added value: +"Developer API key issued after email verification (see register_developer). Sent as the X-API-KEY header. Without a key use upload_skill_draft instead."
      • addedInput schema / properties / author_agent / description
        Added value: +"Mode A: agent attribution object, e.g. {\"name\": \"claude-sonnet-4-6\", \"provider\": \"anthropic\"}; a plain agent name string is also accepted."
      • addedInput schema / properties / file_path / description
        Added value: +"Mode B: absolute path to a local .skill package file, e.g. /home/user/my-skill.skill. Must end with .skill. Ignored when skill_md is given."
      • addedInput schema / properties / files / description
        Added value: +"Mode A: extra text files as an object mapping file name to file content, e.g. {\"main.py\": \"print(1)\"}."
      • addedInput schema / properties / requirements / description
        Added value: +"Mode A: contents of requirements.txt as a string, e.g. 'requests==2.31.0'."
      • addedInput schema / properties / skill_md / description
        Added value: +"Mode A (recommended for agents): full SKILL.md file content as a string, including the YAML front matter. Takes priority over file_path."
    • Changedupload_skill_draft7 fields changed
      • addedInput schema / properties / agent_author / description
        Added value: +"Stable agent identifier sent as the X-Agent-Author header, e.g. 'claude-sonnet-4-6@anthropic'. The same name can only be reused together with its agent_secret."
      • addedInput schema / properties / agent_secret / description
        Added value: +"Secret issued in agent_identity.agent_secret of the first upload response. Required on every later upload with the same agent_author."
      • addedInput schema / properties / claim_token / description
        Added value: +"claim_token of an existing draft, only when adding a new version to that same draft. Omit for a brand-new skill."
      • addedInput schema / properties / contact_email / description
        Added value: +"Real email address of the human owner, e.g. owner@example.com. Leave empty if unknown; never guess or invent an address (invalid domains are rejected with CONTACT_EMAIL_INVALID)."
      • addedInput schema / properties / files / description
        Added value: +"Extra text files as an object mapping file name to file content, e.g. {\"main.py\": \"print(1)\", \"util.py\": \"...\"}."
      • addedInput schema / properties / requirements / description
        Added value: +"Contents of requirements.txt as a string, e.g. 'requests==2.31.0'."
      • addedInput schema / properties / skill_md / description
        Added value: +"Full SKILL.md file content as a string, including the YAML front matter."
    • Changedvalidate_compatibility5 fields changed
      • addedInput schema / properties / installed_packages / description
        Added value: +"Installed Python packages as an object mapping package name to version, e.g. {\"requests\": \"2.31.0\"}. Optional."
      • addedInput schema / properties / os / description
        Added value: +"Operating system of the agent environment, one of: linux | darwin | windows. Empty skips the OS check."
      • addedInput schema / properties / python_version / description
        Added value: +"Python version of the agent environment, e.g. '3.11.2'. Empty skips the Python check."
      • addedInput schema / properties / skill_id / description
        Added value: +"Skill UUID as returned by search_skills in the [...] prefix of each result, e.g. 4bda3fb4-8d5c-4387-bd9f-47d75570b56a."
      • addedInput schema / properties / target_platform / description
        Added value: +"Platform the skill will be installed on, one of: OpenClaw | ClaudeCode | ClaudeCodeAgentSkill | CodexCLI | Cursor | GeminiCLI | CustomAgent. Empty skips the platform check."
  2. 5 tool updates
    • Addedcheck_draft_status
    • Addedget_agent_identity_stats
    • Addedget_vetting_result
    • Changedupload_skill8 fields changed
      • addedInput schema / properties / author_agent
        Added value: +{
        +  "anyOf": [
        +    {
        +      "additionalProperties": true,
        +      "type": "object"
        +    },
        +    {
        +      "type": "null"
        +    }
        +  ],
        +  "default": null,
        +  "title": "Author Agent"
        +}
      • addedInput schema / properties / file_path / anyOf
        Added value: +[
        +  {
        +    "type": "string"
        +  },
        +  {
        +    "type": "null"
        +  }
        +]
      • addedInput schema / properties / file_path / default
        Added value: +null
      • removedInput schema / properties / file_path / type
        Removed value: -"string"
      • addedInput schema / properties / files
        Added value: +{
        +  "anyOf": [
        +    {
        +      "additionalProperties": true,
        +      "type": "object"
        +    },
        +    {
        +      "type": "null"
        +    }
        +  ],
        +  "default": null,
        +  "title": "Files"
        +}
      • addedInput schema / properties / requirements
        Added value: +{
        +  "anyOf": [
        +    {
        +      "type": "string"
        +    },
        +    {
        +      "type": "null"
        +    }
        +  ],
        +  "default": null,
        +  "title": "Requirements"
        +}
      • addedInput schema / properties / skill_md
        Added value: +{
        +  "anyOf": [
        +    {
        +      "type": "string"
        +    },
        +    {
        +      "type": "null"
        +    }
        +  ],
        +  "default": null,
        +  "title": "Skill Md"
        +}
      • changedInput schema / required
        Previous value: -[
        -  "file_path",
        -  "api_key"
        -]New value: +[
        +  "api_key"
        +]
    • Addedupload_skill_draft
  3. 2 tool updates
    • Addedget_agent_author_stats
    • Addedget_most_wanted
  4. 1 tool update
    • Addedvalidate_compatibility
  5. 1 tool update
    • Addedpost_review
  6. 10 tool updates
    • First observedcheck_vetting_status
    • First observeddownload_skill
    • First observedget_install_guide
    • First observedget_skill
    • First observedget_skill_schema
    • First observedlist_categories
    • First observedlist_platforms
    • First observedregister_developer
    • First observedsearch_skills
    • First observedupload_skill

Related MCP Servers

  • A
    license
    Not graded
    quality
    C
    maintenance
    Remote MCP server that lets AI assistants read tracked competitive intelligence — competitor news, reviews, website changes, social posts and ads — and act on it by managing projects, competitors, battle cards, reports and canvases. Every answer carries a source and a date, and write actions only publish when explicitly shared.
    MIT
  • A
    license
    A
    quality
    C
    maintenance
    Enables brand visibility monitoring across major AI platforms like ChatGPT, Claude, Gemini, and Perplexity. It allows users to track visibility scores, analyze competitor data, and receive actionable insights to improve AI-generated brand recommendations.
    16
    18 npm
    1
    MIT
  • A
    license
    Not graded
    quality
    B
    maintenance
    Browse IndustryLens's published competitive-intelligence reports and head-to-head competitor comparisons from any AI agent — real, source-backed data.
    MIT
Try in Browser

Glama MCP Gateway

Add one secure layer between your agents and this server.

Resources