Skip to main content
Glama

Un-skip C/C++ build modules

statica_scope_unskip_module
Idempotent

Restore skipped C/C++ build modules to analysis by specifying the project directory and module output paths.

Instructions

C/C++ only: return skipped build modules to analysis.

Tool call template

Replace each placeholder with a value matching the input schema. Only required parameters are included; add optional parameters as needed.

{
  "id": 1,
  "jsonrpc": "2.0",
  "method": "tools/call",
  "params": {
    "arguments": {
      "projectDir": "<projectDir>",
      "paths": "<paths>"
    },
    "name": "statica_scope_unskip_module"
  }
}

Input Schema

NameRequiredDescriptionDefault
pathsYesModule build-output paths (modules[].output).
projectDirYesAbsolute path of the project directory being analyzed (usually the session's working directory).

Schema Changelog

Changes observed during successful MCP inspections.

  1. First observedv0.1.0

TDQS

A3.5/5.0
Behavior3/5

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

Annotations already declare readOnlyHint=false, idempotentHint=true, and destructiveHint=false, so the safety profile is covered by structured data. The description adds the C/C++ restriction and the semantic that this restores modules to the analysis set. It does not disclose behavior for unknown/non-skipped paths, error conditions, or whether the change persists across sessions.

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?

A single front-loaded sentence with the applicability qualifier first and the action second. No filler, no repetition of the title.

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 low-complexity two-parameter state mutation with full schema coverage and no output schema, the definition is workable but thin. It leaves out edge-case behavior (paths not currently skipped, invalid build-output paths) that an agent would want before invoking a mutating scope 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 description coverage is 100% and both parameters are documented there, including the modules[].output path format and the meaning of projectDir. The description adds no parameter-level detail 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.

Purpose4/5

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

States a specific action (return skipped build modules to analysis) on a specific resource, and 'un-skip' clearly reads as the inverse of statica_scope_skip_module. The C/C++ scoping is also stated. It stops short of naming the sibling tool 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 Guidelines3/5

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

'C/C++ only' gives a real applicability constraint, and the inverse-of-skip framing implies the trigger condition (a module was previously skipped and should be analyzed again). However, it never states when to prefer this over statica_scope_include/exclude or what happens if a path was never skipped.

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