Skip to main content
Glama
extentos

extentos

getVoiceCommandGuidance

Analyze voice phrases for UX issues such as length, homophones, digit usage, and Meta wake-word collisions before wiring triggers. Get per-phrase issues and suggestions to prevent ambiguous commands.

Instructions

Analyze proposed voice phrases for UX issues (length, homophones, digit-usage, Meta wake-word collision, ambiguity with existing phrases) before wiring them into a wake trigger. Returns { results, generalGuidance, summary }: results is one entry per input phrase — { phrase, issues: [{ severity: 'error' | 'warning' | 'info', rule, message }], suggestions: [], collisions: [] } — where collisions lists exact-duplicate matches and issues carries per-rule findings (rules: too_short, homophone_risk, digit_usage, punctuation, collision, disambiguation, meta_wake_word_overlap, match_mode_hint). Only collision and meta_wake_word_overlap are error-severity (fix before wiring); everything else is advisory. generalGuidance is cross-phrase advice; summary is a one-line rollup. Applies equally to glasses.voice.onPhrase(phrase) { ... } registrations and direct glasses.audio.transcriptions() consumers — the issues this catches are the same regardless of which API surface dispatches the handler. USE before adding new phrase-match conditions to ANY voice-driven handler. DON'T USE for general voice docs (use searchDocs topic 'voice_integration').

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
phrasesYesThe proposed wake / trigger phrases to analyze (at least one). Each is scored against every rule — e.g. ['take a photo', 'start recording'].
existingPhrasesNoPhrases already wired into the app. Optional — when given, the analyzer also flags exact-duplicate collisions and shared-prefix ambiguity between the new `phrases` and these already-registered ones.
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 exceptionally. It details the return structure (`{ results, generalGuidance, summary }`), the shape of `results` entries, the list of rules, severity levels (`error` vs `warning`/`info`), and which specific issues are error-level. It also discloses that behavior is identical regardless of the API surface used, adding meaningful context beyond the schema.

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 long but every sentence is dense with essential information. It is front-loaded with the primary purpose, then systematically covers return type, rule details, API applicability, and usage guidance. There is no filler or redundancy; the structure makes it easy to parse 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?

The tool returns a complex nested result with no output schema, but the description fully compensates by detailing the entire return structure, including per-phrase issue objects, rule names, and severity semantics. It also covers usage context, exclusions, and alternatives, making the description self-sufficient for an agent to invoke it correctly.

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 input schema already covers 100% of parameters with descriptions, so the baseline is 3. The description adds extra semantic value by explaining how `existingPhrases` influences behavior (flagging exact-duplicate collisions and shared-prefix ambiguity) and by describing the output structure that depends on those parameters. This goes beyond simple schema repetition, justifying a 4.

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 a specific verb ('Analyze') and resource ('proposed voice phrases'), with a defined goal ('for UX issues') and a list of concrete rules. It distinguishes itself from siblings by explicitly naming `searchDocs` as the alternative for general voice docs, making it clear what this tool is for.

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?

The description gives explicit when-to-use ('USE before adding new phrase-match conditions to ANY voice-driven handler'), when-not-to-use ('DON'T USE for general voice docs'), and points to the alternative tool (`use searchDocs topic 'voice_integration'`). It also clarifies applicability across two API surfaces, leaving no ambiguity about the intended invocation context.

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/extentos/mcp-server'

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