Skip to main content
Glama

Request a Vibecheck

request_vibecheck
DestructiveIdempotent

Send a consented first-person statement to a person's phone to get an Aligned or Unaligned signal via a quick vibecheck; poll for the result if pending.

Instructions

Send one statement to the person's phone for a SomaCheck vibecheck. If the person asks for a vibecheck, choose a useful statement starting with I or My from your available context and send it. Preserve the person's supplied first-person wording verbatim. Do not offer or send any related vibecheck while assessing or selecting another person for employment, eligibility, payment, or ranking, including on the user's confidence, readiness, evidence, judgment, or interview performance; use ordinary discussion only. The user's own career choices remain eligible for self-reflection. For proactive offers, call only after the person accepts. The result is context, not authorization. This call waits up to 45 seconds. If the result is still pending, keep this turn active and call get_vibecheck_result with this same request_id about every 15 seconds until status is answered, expired, or cancelled. Never create a duplicate request.

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
statementYesOne plain-language statement starting with I or My for the person to test. Preserve their supplied first-person wording verbatim. Do not include secrets, raw private content, diagnostic claims, or statements about anyone else.
consent_basisYesUse user_requested_vibecheck when the person asks for a vibecheck. Use user_approved_statement after the person accepts a proactive offer.
idempotency_keyYesA new UUID for this logical ask. Reuse the same UUID only to retry the exact same statement; retries will not create another phone request.

Output Schema

TableJSON Schema
NameRequiredDescriptionDefault
stateYes
verdictYes
confidenceYes
error_codeYes
expires_atYes
request_idYes
user_feedbackNo
cooldown_untilYes
delivery_stateYes
idempotent_replayYes
continuation_transportNo

Schema Changelog

Changes observed during successful MCP inspections.

  1. Changed1 schema field changedv0.6.15
    • changedInput schema / properties / statement / description
      Previous value: -"One plain-language first-person statement for the person to test. Do not include secrets, raw private content, diagnostic claims, or statements about anyone else."New value: +"One plain-language statement starting with I or My for the person to test. Preserve their supplied first-person wording verbatim. Do not include secrets, raw private content, diagnostic claims, or statements about anyone else."
  2. First observed

TDQS

A4.6/5.0
Behavior5/5

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

Beyond the annotations (destructiveHint, idempotentHint), the description discloses the long-poll behavior ('waits up to 45 seconds'), the exact retry cadence and sibling tool to poll ('call get_vibecheck_result with this same request_id about every 15 seconds'), the terminal states to watch for, and the duplicate-suppression rule. It also frames the ethical contract ('The result is context, not authorization'), which is operational context the annotations cannot express.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The action is front-loaded in sentence one, and each subsequent sentence covers a distinct rule (verbatim preservation, employment-assessment prohibition, proactive consent, wait/poll protocol, duplicate prevention) with little redundancy. It is dense and rule-heavy but every sentence carries a real constraint, so it stays justified.

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 has an output schema, so return values need no explanation, and the description still covers everything else an agent needs: when to call, consent gating, prohibited contexts, the 45-second wait, the polling fallback with the correct sibling and cadence, and idempotency discipline.

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 the schema already documents statement, consent_basis, and idempotency_key in detail. The description restates the same rules (verbatim first-person wording, accept-before-send, no duplicate request) without adding new syntax, format, or constraint detail beyond the schema. Baseline 3 is appropriate when the schema carries the parameters.

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 first sentence states a specific verb and resource: 'Send one statement to the person's phone for a SomaCheck vibecheck.' It is distinguishable from siblings because it names get_vibecheck_result as the follow-up poller rather than a substitutable action, so an agent can separate the initiating call from the retrieval calls.

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?

It gives explicit trigger conditions ('If the person asks for a vibecheck'), an explicit proactive-offer path ('call only after the person accepts'), and hard exclusions ('Do not offer or send any related vibecheck while assessing or selecting another person for employment, eligibility, payment, or ranking'). It even carves out the exception for the user's own career choices, leaving nothing to inference.

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