Skip to main content
Glama

friction_scan

Scan transcript windows for mirror failure—when an agent stops disagreeing and reflects the user during escalation. Flags low-friction agent turns to expose where the agent lost pushback.

Instructions

Scan a transcript window for the mirror failure mode: the agent has stopped being other and is reflecting the user back, smoothed, WHILE the user is escalating. Model-free and deterministic — no LLM, no egress; it NEVER blocks, it only flags. When a window of agent turns sits below the friction floor during escalation it raises (and persists, deduped) a loud human-facing flag naming where the agent stopped disagreeing.

turns: [{"role": "user"|"agent", "text": str, "ts"?: number}, …] — the recent window, in order. It is a SIGNAL, not a verdict (false-positives happen; a clever mirror can duck it); its value is observability. It MUST be driven from OUTSIDE the watched model (a harness/monitor) — a mirror cannot audit itself; an agent scanning its own turns is theater.

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
floorNo
turnsYes
app_idYes
windowNo
Behavior5/5

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

With no annotations provided, the description carries the full burden and does so admirably. It discloses that the tool is 'model-free and deterministic — no LLM, no egress' and 'NEVER blocks, it only flags.' It also openly addresses limitations: 'It is a SIGNAL, not a verdict (false-positives happen; a clever mirror can duck it); its value is observability.' This level of candor about behavior, persistence, and failure modes is exemplary.

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 description is dense but every sentence earns its place. It front-loads the core purpose, then the parameter schema, followed by critical usage and behavioral caveats. There is no fluff or redundancy; all content directly supports tool selection and correct invocation.

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?

Given the tool's complexity, the description covers behavior, usage constraints, parameters, and limitations thoroughly. The only notable gap is the explicit return value; with no output schema, an agent might need to know exactly what the function returns (e.g., flag ID, status). However, the persistent flag effect is described, so this is a moderate gap, not a fatal one.

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 0%, so the description must compensate. It does so for the 'turns' parameter by providing a detailed schematic: '[{"role": "user"|"agent", "text": str, "ts"?: number}, …]'. It also gives contextual meaning to 'floor' and 'window' by explaining how they affect detection ('sits below the friction floor' and 'window of agent turns'). However, 'app_id' is not explained, leaving a minor gap for that required parameter.

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 opens with a clear verb and resource: 'Scan a transcript window for the mirror failure mode.' It precisely distinguishes itself from sibling tools like nest_scan and friction_flags_list by defining exactly what it detects and how. The specificity of the failure mode and the action (scan and flag) makes the purpose unambiguous.

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

Usage Guidelines4/5

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

The description explicitly states that it 'MUST be driven from OUTSIDE the watched model (a harness/monitor)' and warns that 'an agent scanning its own turns is theater.' This gives clear when-to-use and when-not-to-use guidance. It also clarifies the tool's role as a non-blocking signal, though it does not explicitly name alternative tools for similar monitoring, so it doesn't fully earn a 5.

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

Install Server

Other Tools

Latest Blog Posts

MCP directory API

We provide all the information about MCP servers via our MCP API.

curl -X GET 'https://glama.ai/api/mcp/v1/servers/rudi193-cmd/willow-mcp'

If you have feedback or need assistance with the MCP directory API, please join our Discord server