Skip to main content
Glama

ck_skill_list

Read-onlyIdempotent

List all available AgentSkills for a project with names, descriptions, and scopes so you can discover capabilities to activate and load their full instructions.

Instructions

List all available AgentSkills for this project. Returns names, descriptions, and scopes. Call this to discover capabilities you can activate, then use ck_skill_load to load a skill's full instructions.

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
formatNoResponse format. Use xml to receive an <available_skills> block for system prompt injection.
targetNoOptional compatibility target filter, such as codex or claude-plugin.
project_rootNoAbsolute path to the project root. Omit to use global skills only.
include_duplicate_copiesNoIf true, surface diagnostics for identical duplicate skill copies that MCP hosts may load (token overhead). Defaults to false.

Output Schema

TableJSON Schema
NameRequiredDescriptionDefault
totalNo
skillsNo
targetNo
usage_hintNo
diagnosticsNo
prompt_blockNo
target_familyNo
trusted_project_skillsNo

Schema Changelog

Changes observed during successful MCP inspections.

  1. Changed17 schema fields changedv0.4.13
    • addedOutput schema / properties / diagnostics
      Added value: +{
      +  "type": "array"
      +}
    • addedOutput schema / properties / prompt_block
      Added value: +{
      +  "type": "string"
      +}
    • addedOutput schema / properties / skills / items / properties / allowed_tools
      Added value: +{
      +  "type": "array"
      +}
    • addedOutput schema / properties / skills / items / properties / compatibility
      Added value: +{
      +  "type": "array"
      +}
    • addedOutput schema / properties / skills / items / properties / compatibility_targets
      Added value: +{
      +  "type": "array"
      +}
    • addedOutput schema / properties / skills / items / properties / content_hash
      Added value: +{
      +  "type": "string"
      +}
    • addedOutput schema / properties / skills / items / properties / diagnostics
      Added value: +{
      +  "type": "array"
      +}
    • addedOutput schema / properties / skills / items / properties / install_state
      Added value: +{
      +  "type": "string"
      +}
    • addedOutput schema / properties / skills / items / properties / license
      Added value: +{
      +  "type": "string"
      +}
    • addedOutput schema / properties / skills / items / properties / owner
      Added value: +{
      +  "type": "string"
      +}
    • addedOutput schema / properties / skills / items / properties / path
      Added value: +{
      +  "type": "string"
      +}
    • addedOutput schema / properties / skills / items / properties / required_mcp_tools
      Added value: +{
      +  "type": "array"
      +}
    • addedOutput schema / properties / skills / items / properties / source
      Added value: +{
      +  "type": "string"
      +}
    • addedOutput schema / properties / target
      Added value: +{
      +  "type": "string"
      +}
    • addedOutput schema / properties / target_family
      Added value: +{
      +  "type": "string"
      +}
    • addedOutput schema / properties / trusted_project_skills
      Added value: +{
      +  "type": "boolean"
      +}
    • addedOutput schema / properties / usage_hint
      Added value: +{
      +  "type": "string"
      +}
  2. Addedv0.3.77
  3. Removedv0.3.77
  4. Addedv0.3.55

TDQS

A4.2/5.0
Behavior3/5

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

Annotations already declare readOnlyHint, idempotentHint, and destructiveHint=false, so the safety profile is covered. The description adds that it returns names/descriptions/scopes, but with an output schema present this is not deep behavioral disclosure; it does not discuss auth, rate limits, or pagination.

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?

Three sentences, front-loaded with the core action, then return content, then next-step guidance. No 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?

Complete enough for a read-only list tool: annotations cover safety and output schema covers returns, while the description gives purpose and routing. It could note the project_root/global-skills distinction, but that nuance is already in the schema.

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 all four parameters (format, target, project_root, include_duplicate_copies) are already documented. The description adds no parameter-specific meaning 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?

States the specific verb 'List' and resource 'AgentSkills', specifies project scope, and names ck_skill_load as the follow-up for loading full instructions. This clearly distinguishes it from the load sibling.

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 says to call this to discover capabilities you can activate and then use ck_skill_load for full instructions. It gives a clear sequence and names the alternative for the loading step.

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