Skip to main content
Glama

sumo_qa_load_skill_context

Read-onlyIdempotent

Load one skill context slice as JSON—manifest, section, module, full body, or routed bundle—instead of the whole SKILL.md, with content hashes and token estimates.

Instructions

Load just one slice of a skill's context as a JSON string, instead of the whole SKILL.md body.

mode:

  • "manifest" — routing summary + section list + module list;

  • "section" — one section's text (pass section, an id from the manifest);

  • "module" — one module's text (pass module, an id from the manifest);

  • "full" — the entire SKILL.md body, byte-for-byte identical to the existing zero-argument skill tool for skill_name; a body over the host's per-response token cap is returned as an oversize pointer to the manifest/section/module slices instead of failing;

  • "bundle": a routed skill's working context in ONE call: the body (omit with include_body=false when you already hold it), the modules named (comma-separated ids, matched exactly), and for classification (comma-separated ids, kept in request order) its catalogue entries, looked up by exact id (unlike load_catalogue_entry, which also matches case-insensitively and by heading), plus the standards and rules, which equal sumo_qa_load_standards / sumo_qa_load_rules called with the same argument and are returned exactly as those loaders return them, plus the whole catalogues named (comma-separated: techniques, principles, classifications, approaches), each exactly as its sumo_qa_load_<name> loader returns it. Any id or name that matches nothing returns an error envelope; an exception from a loader returns an unreadable envelope.

The section/module/full/bundle slices each return content_hash (sha256 of the returned text) and estimated_tokens. Pass known_hash to ask "has this slice changed since hash X?": a match returns changed=false with the body omitted (saving the re-send), a mismatch returns changed=true with the body. This is derived per call — there is NO hidden session cache, so it is safe across hosts regardless of MCP session identity.

Never raises: an unknown skill_name/mode/section/module, a missing required arg, or a path-traversal attempt returns a JSON error envelope listing the valid choices. Read-only and local-only.

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
modeNo
moduleNo
modulesNo
sectionNo
cataloguesNo
known_hashNo
skill_nameNo
include_bodyNo
classificationNo

Schema Changelog

Changes observed during successful MCP inspections.

  1. Changed1 schema field changedv0.76.0
    • addedInput schema / properties / catalogues
      Added value: +{
      +  "anyOf": [
      +    {
      +      "type": "string"
      +    },
      +    {
      +      "type": "null"
      +    }
      +  ],
      +  "default": null
      +}
  2. Changed3 schema fields changedv0.72.1
    • addedInput schema / properties / classification
      Added value: +{
      +  "anyOf": [
      +    {
      +      "type": "string"
      +    },
      +    {
      +      "type": "null"
      +    }
      +  ],
      +  "default": null
      +}
    • addedInput schema / properties / include_body
      Added value: +{
      +  "default": true,
      +  "type": "boolean"
      +}
    • addedInput schema / properties / modules
      Added value: +{
      +  "anyOf": [
      +    {
      +      "type": "string"
      +    },
      +    {
      +      "type": "null"
      +    }
      +  ],
      +  "default": null
      +}
  3. First observedv0.42.0

TDQS

A4.6/5.0
Behavior5/5

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

Annotations already cover the safety profile (readOnly, idempotent, non-destructive, local-only), and the description adds substantial context beyond them: never raises, error-envelope behavior, oversize-pointer fallback, content_hash/estimated_tokens return fields, and hash-based change detection with no hidden session cache. This is exactly the extra behavioral detail that structured fields cannot convey.

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 core purpose is front-loaded and the mode list is bulleted, which aids scanning. However, the `bundle` bullet is a single run-on sentence with deeply nested parentheticals that is hard to parse, and the overall description is denser than it needs to be.

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 9-parameter read-only tool with no output schema, the description is complete: it explains the modes, the return fields, the hash-dedup mechanism, and the error behavior. An agent has everything needed to invoke it correctly across any mode.

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?

Schema description coverage is 0%, so the description must carry the burden, and it does: every mode is defined, and section, module, modules, classification, catalogues, include_body, and known_hash are each given semantics (comma-separated, exact-match, request order, omission behavior). Only `skill_name` is left implicit, which is minor.

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+resource ('Load just one slice of a skill's context') and immediately differentiates the slices via enumerated modes. It explicitly contrasts itself with the zero-argument skill tool and with `sumo_qa_load_catalogue_entry`, so an agent can place it precisely among its siblings.

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?

Each mode is described with its intended use (manifest for routing, section/module for a single slice, bundle for one-call working context), and it names alternatives such as `load_catalogue_entry` and `sumo_qa_load_standards`/`sumo_qa_load_rules`. It stops short of an explicit 'when not to use this tool' statement, but the routing intent is clear.

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