Skip to main content
Glama

tengu-firm

Server Details

One MCP key: prices, fundamentals, SEC filings, insider/13F/congressional trades. 336 tools.

Status
Healthy
Last Tested
Transport
Streamable HTTP
URL
Repository
Hlobo-dev/tengu-mcp
GitHub Stars
0
Server Listing
tengu-firm

Glama MCP Gateway

Connect through Glama MCP Gateway for full control over tool access and complete visibility into every call.

MCP client
Glama
MCP server

Full call logging

Every tool call is logged with complete inputs and outputs, so you can debug issues and audit what your agents are doing.

Tool access control

Enable or disable individual tools per connector, so you decide what your agents can and cannot do.

Managed credentials

Glama handles OAuth flows, token storage, and automatic rotation, so credentials never expire on your clients.

Usage analytics

See which tools your agents call, how often, and when, so you can understand usage patterns and catch anomalies.

100% free. Your data is private.
Tool DescriptionsB

Average 4.1/5 across 295 of 336 tools scored. Lowest: 1.5/5.

Server CoherenceC
Disambiguation2/5

With 336 tools, there is substantial overlap. Over a dozen health/status tools share nearly identical 'is the system healthy?' descriptions (e.g., tengu_status, tengu_ready, tengu_ml_health, tengu_v3_system_health, tengu_v3_stream_status), and multiple single-ticker analysis (tengu_ml_predict, tengu_copilot_score_ticker, tengu_v3_intel_ml_prediction) and top-picks (tengu_copilot_top_picks, tengu_ml_top_picks, tengu_v3_trade_setups) tools have poorly defined boundaries. Agents would frequently misselect.

Naming Consistency2/5

The server mixes no-version (tengu_crypto), v2 (tengu_v2_drift), v3 (tengu_v3_intel_*), and copilot (tengu_copilot_*) families, and within families there is inconsistent verb/noun ordering (tengu_v3_research_fetch_url vs tengu_v3_news_summary). While subfamilies like tengu_v3_private_markets_* are internally consistent, the overall naming pattern is chaotic and unpredictable.

Tool Count1/5

336 tools is far beyond any reasonable tool set size, even for an all-in-one financial data platform. This extreme count creates choice paralysis, high latency in tool selection, and makes the server effectively unusable for autonomous agents. The calibration guideline marks 50+ as extreme; this is nearly 7x that threshold.

Completeness4/5

The platform covers a vast domain: equity and crypto prices, fundamentals, insider trading, options, news (including crypto and FX), private markets, streaming data, risk metrics, and execution planning. There are minor gaps (no direct multi-ticker comparison tool, no order placement), but the surface is remarkably comprehensive for an analysis-focused server.

Available Tools

336 tools
tengu_cache_statsAInspect

Cache hit-rate statistics for the data layer. Call when the user asks whether the system/data pipeline is healthy or why data looks stale or slow.

ParametersJSON Schema
NameRequiredDescriptionDefault

No parameters

Behavior3/5

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

No annotations are present, so the description carries the burden. It implies a read-only statistics operation by using 'statistics', but does not explicitly disclose safety, return format, or any behavioral caveats. For a simple zero-parameter tool this is adequate but not rich.

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?

Two concise sentences front-load the core purpose and then give a clear usage trigger. No wasted words or redundant details.

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?

For a zero-parameter, simple stats tool, the description covers what and when. It does not describe the output format, and there is no output schema, but the intent is clear enough for an agent to select and 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 tool has zero parameters, so the baseline is 4. The empty schema and description need not explain parameters; the description adds no parameter semantics, but that's expected here.

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?

The description clearly states the tool returns 'Cache hit-rate statistics for the data layer', a specific verb+resource. It does not explicitly contrast with sibling health/status tools, but the focus on cache performance makes it distinct.

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?

Provides explicit trigger conditions: 'Call when the user asks whether the system/data pipeline is healthy or why data looks stale or slow.' It doesn't name alternative tools or exclusions, but the guidance is clear and actionable.

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

tengu_copilot_decision_reviewAInspect

REVIEW A TRACKED DECISION. Pass the decision_id returned by decision_track. FIRM re-fetches the same verdict shape (ticker_full) and computes a structured DELTA against the original snapshot. Returns thesis_status in {intact, weakening, broken, n/a} based on the score delta projected into the user's side direction. Includes a narrative the chat can render verbatim. Returns 404 if the decision expired (90-day TTL) or was never recorded. Use this for the 'your AAPL position you opened Tuesday is up X% — thesis is tracking' callback shape.

ParametersJSON Schema
NameRequiredDescriptionDefault
decision_idYesPath parameter 'decision_id' (required).
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 of behavioral disclosure, and it excels. It details that the tool re-fetches the verdict shape, computes a delta, returns an enumerated thesis_status, includes a narrative, and returns 404 on expiry (90-day TTL) or missing records. This is unusually thorough and leaves very little hidden behavior.

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?

Every sentence in the description contributes meaningful information: purpose, input source, behavior, output enum, narrative, error case, TTL, and a concrete example use case. It is front-loaded with the core action and remains focused without any filler or redundant restatement.

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?

Given the tool has only one parameter and no output schema, the description fully covers the needed context: how to obtain the input, what the output looks like (thesis_status and narrative), and failure modes (404 for expiry or missing record). The inclusion of the 90-day TTL and the example callback shape makes this complete for an agent to invoke and interpret results.

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 documents the only parameter, decision_id, at 100% coverage. The description adds valuable provenance by telling the agent to pass the decision_id returned by decision_track, which goes beyond the schema's generic 'Path parameter (required)' note. This extra context helps the agent correctly source the value.

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 'REVIEW A TRACKED DECISION,' a specific verb+resource combination that clearly distinguishes this tool from sibling tools like tengu_copilot_score_ticker or tengu_copilot_ticker_full. It further clarifies the purpose by explaining it computes a structured DELTA against the original snapshot and returns thesis_status, leaving no ambiguity about what the tool does.

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 gives an explicit prerequisite: 'Pass the decision_id returned by decision_track,' and a concrete use case: the 'your AAPL position you opened Tuesday is up X% — thesis is tracking' callback shape. It does not explicitly list alternatives or when-not-to-use scenarios, but the context is clear enough for an agent to choose this tool appropriately.

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

tengu_copilot_live_ic_driftAInspect

Live IC drift status — comparison of realised live IC vs training-time IC. The canonical alpha-decay early warning. CALL THIS when the user asks 'is the model still working?', 'any drift?', 'should we trust today's predictions?'. Returns ic_ratio (live / training) per horizon, drift status (green / yellow / red), and a plain-English narrative. Sub-second; refreshed daily after the close. ic_ratio < 0 = sign flip (halt new positions); ic_ratio < 0.3 = severe (retrain ASAP); ic_ratio > 1.0 = model outperforming training expectation.

ParametersJSON Schema
NameRequiredDescriptionDefault

No parameters

Behavior5/5

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

With no annotations provided, the description fully carries the transparency burden. It discloses return contents (ic_ratio per horizon, drift status, plain-English narrative), provides actionable thresholds (ic_ratio < 0 = sign flip and halt new positions, < 0.3 = severe/retrain, > 1.0 = outperforming), and mentions performance ('Sub-second'). This gives the agent a clear behavioral model.

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 front-loaded with the core concept and 'CALL THIS' guidance, then gives return fields and thresholds. Each sentence adds distinct value—definition, use cases, return structure, frequency, and interpretive thresholds—without redundant fluff. It is dense but efficient.

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 zero-parameter status tool with no output schema, the description is exceptionally complete. It explains the metric, what is returned, how to interpret the values, and the refresh cadence. The agent can confidently invoke this tool and interpret results without additional context.

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 tool has 0 parameters, so the baseline is 4. The empty schema fully documents that there are no inputs. The description adds no parameter-specific detail because none is needed; it focuses on the output and interpretation, which aligns with the 0-param baseline.

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 the tool's function: 'Live IC drift status — comparison of realised live IC vs training-time IC.' It identifies the resource (IC drift) and the specific comparison, and positions it as 'the canonical alpha-decay early warning,' distinguishing it from related tools like voter_ic_drift. The use-case phrases ('is the model still working?') further pin down its intent.

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 gives explicit trigger phrases: 'CALL THIS when the user asks...' and lists three concrete user intents. It also notes refresh cadence ('refreshed daily after the close'), which helps the agent decide if the data is fresh enough. However, it does not explicitly mention when not to use it or point to alternative tools (e.g., voter_ic_drift), so it lacks exclusion guidance.

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

tengu_copilot_macro_regimeAInspect

Current macro regime + plain-English interpretation of how strong the model's edge is in this regime. CALL THIS when the user asks about market conditions, regime, 'is it a good time to invest', or how confident the model is right now.

ParametersJSON Schema
NameRequiredDescriptionDefault

No parameters

Behavior3/5

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

No annotations are provided, so the description carries the full burden. It adds useful context about what the tool returns (current regime and edge interpretation) but does not disclose how the regime is determined, data freshness, or any limitations. For a zero-parameter informational tool, this is adequate but not rich; it could mention that it's a snapshot or read-only operation.

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 two sentences, front-loaded with the core purpose, followed by explicit usage triggers. Every word earns its place, and it is neither verbose nor under-specified. Structure is exemplary for a simple query tool.

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 has zero parameters, no output schema, and no annotations, the description covers the main aspects: what it does and when to invoke it. It does not explain the meaning of 'macro regime' or the output format, but for a zero-param tool with clear usage triggers, it is reasonably complete. The plain-English interpretation is highlighted, which addresses the user-facing value.

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 tool has zero parameters, and the schema coverage is 100% (empty schema). The baseline for zero parameters is 4, and the description correctly avoids mentioning parameters since none exist. There is no need to compensate for undocumented parameters.

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?

The description clearly states the tool provides 'Current macro regime + plain-English interpretation of how strong the model's edge is in this regime,' which specifies both the resource (macro regime) and the output type (interpretation). It distinguishes from likely sibling tools like tengu_macro or tengu_regime by emphasizing the plain-English interpretation of model edge, though it does not explicitly name alternatives. The purpose is specific and actionable.

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 gives explicit invocation triggers: 'CALL THIS when the user asks about market conditions, regime, "is it a good time to invest", or how confident the model is right now.' This provides clear context for when to use the tool. It does not mention when not to use it or name specific alternative tools, but the triggers are strong enough to guide selection.

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

tengu_copilot_score_tickerAInspect

Full per-ticker quant analysis. CALL THIS when the user asks about any specific stock (e.g. 'should I buy NVDA', 'what do you think of TSLA'). Returns blended_score, decile, conformal expected-return interval (90% band), 12-voter breakdown, factor tier, regime context, suggested position size, and a self-contained narrative. Use the narrative as a quotable summary; use the structured fields for follow-up questions. NAMESPACE: FIRM's universe is US EQUITIES. Nine tickers (BTC ETH LINK LTC COMP ARB NEAR APT ATOM) are ALSO crypto symbols; for those the response carries a ticker_collision block stating the score describes the US-listed EQUITY. If the user means the CRYPTO asset pass asset_class=crypto, which 404s (no FIRM crypto model yet). NEVER present an equity score as a crypto view.

ParametersJSON Schema
NameRequiredDescriptionDefault
tickerYesPath parameter 'ticker' (required).
asset_classNoequity
Behavior4/5

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

With no annotations, the description carries the behavioral disclosure burden. It transparency discloses that passing asset_class=crypto results in a 404, that certain tickers carry a ticker_collision block, and explicitly warns against misrepresenting equity scores as crypto views. This exceeds typical transparency, though it does not explicitly state it is a read-only operation or describe error behavior for invalid tickers.

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 front-loaded with the most important information (purpose and trigger) and each subsequent sentence adds essential detail: output components, usage instructions, namespace, collision handling, and crypto caveat. No sentence is wasted, and the structure is logical.

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?

Given the tool's moderate complexity (2 parameters), absence of annotations, and absence of an output schema, the description is exceptionally complete. It covers the full set of return fields, output usage, namespace scope, edge-case ticker collisions, and the crypto 404 behavior. The agent is well-equipped to select and invoke this tool correctly.

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 only 50% and the ticker description is generic ("Path parameter"). The description adds substantial meaning: it gives concrete stock examples, lists the nine tickers that cause a collision block, and explains the asset_class parameter's behavior (default equity, crypto triggers a 404). This goes far beyond the structured schema.

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 the tool's purpose with a specific verb ("Full per-ticker quant analysis") and provides an explicit trigger condition ("CALL THIS when the user asks about any specific stock"). It distinguishes itself from likely sibling tools by describing its comprehensive output (blended_score, decile, conformal interval, etc.) and its role as the go-to for individual stock queries.

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 guidance (stock-specific questions with examples) and when-not-to-use guidance (crypto assets 404, never present equity score as crypto view). It also instructs on how to use the output (narrative for summary, structured fields for follow-ups). While alternatives are not named, the strong trigger and warnings provide sufficient direction.

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

tengu_copilot_signal_healthAInspect

CONTRACT C2 — is the alpha signal fit to trade, and do we actually know? CALL THIS BEFORE acting on /top-picks or /score. Returns a closed-vocabulary status (healthy | degraded | do_not_trade | unknown), a tradeable boolean to branch on, decile_convention (10_is_best), the per-horizon live IC, and prose guidance. Fail CLOSED on anything other than healthy — treat it as an empty candidate list. unknown is a real verdict, not a placeholder: it means no BELIEVABLE current measurement exists, which carries the same instruction as red. The contract checks whether the measurement is trustworthy, not merely recent — a drift job that re-stamps a frozen input publishes today's date over old numbers, and this refuses to grade that as fresh.

ParametersJSON Schema
NameRequiredDescriptionDefault

No parameters

Behavior5/5

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

No annotations exist, so the description must carry full weight. It explains the closed-vocabulary statuses, the tradeable boolean, and the crucial nuance that 'unknown' is a real verdict with same instruction as red. It also discloses the trustworthiness check (not merely recency) by describing the drift-job re-stamping scenario. This is thorough, field-level behavioral detail.

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 description is dense and front-loaded with the question and call instruction. It is longer than strictly necessary due to the detailed explanation of 'unknown' and the drift-job scenario, but every sentence adds value by clarifying non-obvious contract behavior. Well-structured with clear separation of return fields, failure policy, and trustworthiness philosophy.

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?

With no output schema, the description must fully define what the tool returns and how to interpret it. It enumerates the statuses, the tradeable boolean, decile_convention, and per-horizon IC. It also explains the fail-closed semantics and why 'unknown' is not a placeholder. This is complete enough for an agent to confidently call this tool and correctly handle its response without guessing.

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 tool takes zero parameters, so the schema has nothing to explain. The baseline for zero-parameter tools is 4, and there is no additional parameter semantics needed. The description focuses on output semantics, which is the correct distribution of effort.

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 immediately answers the core question: it's a pre-trade health check for the alpha signal ('is the alpha signal fit to trade'). It explicitly ties itself to actions on /top-picks and /score, and details the return values (status, tradeable boolean, IC). This distinguishes it from sibling health tools like system_health or live_ic_drift.

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?

Direct instruction to 'CALL THIS BEFORE acting on /top-picks or /score' gives a clear trigger condition. It also defines the fail-closed behavior ('treat it as an empty candidate list'), telling the agent how to branch and what to do on non-healthy statuses. This is explicit, practical guidance with actionable when-to-use.

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

tengu_copilot_ticker_fullAInspect

OMNIBUS aggregation for one ticker — Brain's primary single-stock verdict path. Pulls BOTH the 5-layer transparency cluster AND the 7-layer smartmoney cluster in ONE call (up to 12 underlying tools in parallel inside FIRM). Replaces Brain's 24-72 HTTP-burst fan-out with a single call. Use for 'should I buy X?' / 'what do you think of Y?' / 'verdict on Z' shapes. include_smartmoney and include_transparency flags let comparison views skip clusters they don't need. Cache TTL 60s. Pass cache_max_age_s=0 to bypass cache.

ParametersJSON Schema
NameRequiredDescriptionDefault
tickerYesPath parameter 'ticker' (required).
cache_max_age_sNo
include_smartmoneyNo
candidate_weight_pctNo
include_transparencyNo
Behavior4/5

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

No annotations are provided, so the description carries full burden. It discloses cache TTL (60s), cache bypass option, parallel execution of up to 12 underlying tools, and that it replaces an HTTP-burst fan-out. This provides useful context beyond what annotations would give, though it does not mention potential return size or data structure.

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 description is compact and front-loaded, starting with the core purpose and then adding usage context and parameter notes. Each sentence provides useful information, though the 'Replaces Brain's 24-72 HTTP-burst fan-out' detail is somewhat marketing-oriented but still explanatory.

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 complex tool with no output schema, the description covers purpose, usage, caching, and flags. However, it does not explain what a 'verdict' looks like, what the cluster outputs contain, or clarify candidate_weight_pct. These gaps reduce completeness for an agent trying to interpret and use the response.

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 only 20%, so the description must compensate. It explains include_smartmoney and include_transparency flags and the cache bypass behavior for cache_max_age_s. However, candidate_weight_pct is not mentioned anywhere in the description or schema, leaving a gap. The ticker parameter is self-evident but not enriched.

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 this is an OMNIBUS aggregation for one ticker, pulling both the 5-layer transparency and 7-layer smartmoney clusters in a single call. It identifies the tool's primary role as Brain's single-stock verdict path and differentiates it from sibling tools that focus on individual clusters or other functionalities.

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?

Explicit use cases are provided ('should I buy X?', 'what do you think of Y?', 'verdict on Z'). The description explains that it replaces a 24-72 HTTP-burst fan-out and mentions flags to skip clusters for comparison views. However, it does not explicitly state when to use this vs. the individual cluster tools, though sibling names imply a choice.

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

tengu_copilot_ticker_smartmoneyAInspect

Smart-money aggregation for one ticker — collapses 7 individual tools (sec13f_changes, institutional_ownership, insider_trades, options_flow, darkpool, max_pain, gex) into ONE call. Use when Brain's verdict needs positioning context ('who's accumulating?', 'what is the options market saying?'). Saves 6 HTTP calls per verdict. Same degraded / missing_layers contract as ticker_transparency. Cache TTL 180s — positioning doesn't tick at chat cadence.

ParametersJSON Schema
NameRequiredDescriptionDefault
tickerYesPath parameter 'ticker' (required).
cache_max_age_sNo
Behavior4/5

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

With no annotations, the description carries the full burden and discloses key behaviors: it aggregates multiple sources, has a `degraded`/`missing_layers` contract (partial data possible), and has a cache TTL of 180s. It doesn't detail auth/rate limits, but for a read-only aggregation this is reasonable. The `missing_layers` contract and cache behavior add meaningful transparency 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?

Four sentences, dense with information: aggregation purpose, use-case trigger, efficiency benefit, error contract, and cache TTL. The most critical details are front-loaded (title/purpose first), and every sentence earns its place with no redundancy.

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 moderate complexity (2 params, no output schema), the description explains what data it aggregates, when to use it, what failure states to expect (`degraded`/`missing_layers`), and caching semantics. It doesn't describe the return structure, but the absence of an output schema and the explicit contract reference make this acceptable. A fuller description of the response format would earn a 5.

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 coverage is 50% (only `ticker` has a description, which is minimal). The description adds context for `cache_max_age_s` by mentioning 'Cache TTL 180s', hinting at cache-control semantics, but does not explicitly explain the parameter's purpose or effect. It partially compensates for the schema gap, but leaves interpretation to the agent.

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?

Description states exactly what the tool does: it aggregates smart-money data for one ticker by collapsing 7 specific data sources into a single call. The verb 'aggregates' plus the resource ('smart-money ... for one ticker') and the explicit list of underlying tools clearly distinguish it from individual data-source tools and sibling tools like ticker_full or ticker_transparency.

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?

Provides explicit guidance on when to use: 'Use when Brain's verdict needs positioning context' with concrete example questions. It also names the alternatives (the 7 individual tools) and highlights efficiency ('Saves 6 HTTP calls per verdict'), implying when to prefer the composite over individual calls. This covers when/when-not/alternatives well.

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

tengu_copilot_ticker_transparencyAInspect

ML-transparency aggregation for one ticker — collapses 5 individual tools (ml_drivers, ml_prediction, model_calibration, voter_ic_drift, voter_coverage) into a SINGLE call. Use when Brain's verdict needs the model-transparency layer ('why is the model saying this?'). Saves 4 HTTP calls per verdict. Returns a 5-layer payload + degraded:bool + missing_layers:[...] so partial failures still produce usable output. Cache TTL 60s. Pass cache_max_age_s=0 to bypass cache.

ParametersJSON Schema
NameRequiredDescriptionDefault
tickerYesPath parameter 'ticker' (required).
cache_max_age_sNo
Behavior5/5

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

No annotations are provided, so the description carries the full burden. It discloses the return payload structure ('5-layer payload + `degraded:bool` + `missing_layers:[...]`'), partial failure behavior ('partial failures still produce usable output'), and caching semantics ('Cache TTL 60s. Pass `cache_max_age_s=0` to bypass cache'). This is transparent beyond typical descriptions.

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?

Each sentence carries unique, high-value information: purpose, usage, benefit, return details, degradation handling, and cache control. The list of five collapsed tools is relevant for disambiguation. No filler or redundancy.

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 and lack of output schema, the description provides a strong high-level contract: what it aggregates, returns, partial failure behavior, and cache semantics. It does not detail the internal structure of each of the five layers, but the names and the overall summary are sufficient for an agent to decide and invoke 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?

Schema description coverage is 50% (only `ticker` is described). The description adds valuable semantics for `cache_max_age_s` by explaining the bypass-cache behavior, which the schema does not. `ticker` is self-explanatory and already documented, so the addition is meaningful.

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 states a specific action ('collapses'/'aggregation') with a clear resource ('ML-transparency aggregation for one ticker') and explicitly names the five underlying tools, distinguishing it from sibling tools. The use case ('why is the model saying this?') further clarifies intent.

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?

Provides an explicit when-to-use: 'Use when Brain's verdict needs the model-transparency layer' and quantifies the benefit ('Saves 4 HTTP calls per verdict'). It lists the collapsed tools as a form of alternative but does not explicitly say when not to use this aggregate vs. individual tools.

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

tengu_copilot_top_picksAInspect

Today's top N picks (long or short side). CALL THIS when the user asks 'what should I buy', 'give me trade ideas', 'top picks today', 'daily briefing', or similar list-of-ideas queries. Each pick comes with the same full quant analysis as score_ticker (score, interval, voter breakdown, narrative).

ParametersJSON Schema
NameRequiredDescriptionDefault
nNo
sideNolong
Behavior3/5

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

No annotations are provided, so the description carries the full burden. It discloses that each pick includes the same full quant analysis as score_ticker (score, interval, voter breakdown, narrative), which is useful behavioral context. However, it doesn't mention how picks are ranked, ordering, or any failure/edge-case behavior, leaving it at a minimally viable level.

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 three sentences with no fluff. It front-loads the purpose, then usage triggers, then output details. Every sentence adds value, and the structure is easy to parse.

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 low complexity (2 optional params, no output schema), the description covers the essential aspects: what it returns, when to use it, and what each pick contains. It doesn't describe edge cases or ranking criteria, but those are not critical for making a selection decision here.

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 description coverage is 0%, so the description must explain the parameters. It does: 'top N picks' clarifies the n parameter, and 'long or short side' explains the side parameter. The schema already provides defaults and constraints, but the description adds semantic meaning beyond those.

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 the tool returns today's top N picks with a long or short side, and explicitly provides example user queries that should trigger it. It distinguishes itself from single-ticker analysis by referencing score_ticker, making it clear this is a list-of-ideas tool.

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 gives explicit when-to-use triggers ('CALL THIS when the user asks...') with concrete examples. It doesn't explicitly state when not to use it or name direct alternatives like tengu_ml_top_picks, so it lacks exclusions but provides clear context.

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

tengu_copilot_track_recordAInspect

Out-of-sample model performance — Sharpe, IC, conformal coverage, factor-decomp alpha. CALL THIS when the user asks 'how do I know this works', 'what's your track record', 'is this real alpha vs factor exposure'. Covers out-of-sample backtest, strict-OOS, conformal-validation and factor-decomposition metrics, refreshed weekly.

ParametersJSON Schema
NameRequiredDescriptionDefault

No parameters

Behavior4/5

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

With no annotations provided, the description carries the full burden. It discloses the tool's coverage (out-of-sample backtest, strict-OOS, conformal-validation, factor-decomposition) and refresh cadence ('refreshed weekly'), adding valuable context beyond the name. It does not, however, specify the output format or any potential side effects, though for a read-only performance report this is acceptable.

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 concise and well-structured. It opens with the core concept, then gives actionable trigger phrases in caps, and ends with coverage details and refresh frequency. Every sentence earns its place with no redundancy or fluff.

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?

For a zero-parameter tool with no output schema, the description is nearly complete. It covers what the tool does, when to use it, the specific metrics included, and the refresh interval. The only gap is that it does not explicitly describe the return format, but given the nature of a performance summary, this is a minor omission.

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 tool has zero parameters and an empty input schema, so schema coverage is trivially 100%. The description adds no parameter semantics because there are none to describe. Per the rubric, a zero-parameter tool gets a baseline of 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 the tool's purpose: 'Out-of-sample model performance — Sharpe, IC, conformal coverage, factor-decomp alpha.' It uses a specific noun phrase that identifies the resource and scope, and includes trigger phrases like 'how do I know this works' that pinpoint when an agent should call it. This differentiates it from sibling tools such as tengu_copilot_live_ic_drift or tengu_copilot_decision_review.

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?

Usage guidance is explicit: 'CALL THIS when the user asks...' followed by concrete example questions. This provides clear context for when to invoke the tool. However, it does not mention alternative tools or when not to use it, so it falls short of a 5.

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

tengu_copilot_universeAInspect

The ENTIRE scored universe in one call (limit=0 = all ~13k names), ranked, each with the model's absolute suggested_position_pct AND a relative normalized_weight that sums to ~100% across the returned set. Pass tickers=AAPL,NVDA,… to score+SIZE a specific holdings basket (the per-holding rebalance path); omit it to screen/rank the universe (limit/min_decile/side). Use normalized_weight for rebalance targets.

ParametersJSON Schema
NameRequiredDescriptionDefault
sideNolong
limitNo
tickersNo
normalizeNo
max_weightNo
min_decileNo
Behavior4/5

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

No annotations are provided, so the description carries the burden. It discloses that limit=0 returns all ~13k names, that results are ranked/sorted, that each item includes both absolute suggested_position_pct and relative normalized_weight, and that normalized_weight sums to ~100% across the returned set. It clearly indicates the output structure and how to interpret weights, which is critical for the user. It does not discuss rate limits or performance degradation for large universes, but the core behavioral contract is well covered.

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 three sentences, dense with useful information, and front-loaded with the core purpose. Every sentence adds value: the first states what it returns, the second gives the two usage modes, the third tells the user which output field to use. No fluff or repetition of the tool name.

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?

Given the schema has no parameter descriptions, no annotations, and no output schema, the description is remarkably complete: it covers the two main use cases, the meaning of limit=0, the returned fields (absolute and relative weights), how to interpret normalized_weight, and the relationship between parameters and mode. The tool is more complex than typical list tools because it supports both screening and basket sizing, but the description covers both paths adequately. Minor gaps (e.g., max_weight semantics, sort direction) are acceptable given the constraints.

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 description coverage is 0% and nothing is documented in the schema, so the description must compensate. It explicitly explains limit (0 = all ~13k names, meaning all), tickers (basket path), and implicitly explains min_decile and side via the screening/ranking mode. It also explains the meaning/purpose of normalized_weight as a rebalance target summing to ~100%. It does not explain max_weight, normalize, or min_decile in detail, but the major semantic gaps are filled.

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 uses a strong verb phrase ('return the ENTIRE scored universe'), specifies the resource (scored universe ~13k names), and distinguishes two distinct modes: with tickers (sizing a basket) vs without (screening/ranking). It also names sibling-like concepts (per-holding rebalance path vs screen/rank) which helps differentiate it from related tools.

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 explicitly states when to use each mode: 'Pass tickers=AAPL,NVDA,… to score+SIZE a specific holdings basket (the per-holding rebalance path); omit it to screen/rank the universe (limit/min_decile/side).' It also explains the meaning of limit=0 (all ~13k names), giving concrete usage context and implicating the relevant parameters.

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

tengu_copilot_voter_ic_driftAInspect

Per-voter IC drift breakdown — pinpoints WHICH of the 12 voters in the ensemble is decaying. The blended-IC drift tool tells you IF the ensemble is decaying; this tells you WHICH voter. CALL THIS when the user asks 'which voter is the problem?', 'why did the model decay?', 'should we re-weight?'. Critically distinguishes 'data_silent' (voter source offline → not the voter's fault) from 'real decay' (voter producing scores that no longer predict). Returns per-voter live IC, causal-marginal-ATE baseline, ic_ratio, drift severity, current weight, and operator-suggested weight delta (capped ±0.05 absolute per cycle).

ParametersJSON Schema
NameRequiredDescriptionDefault

No parameters

Behavior5/5

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

With no annotations, the description carries the full burden and does so thoroughly. It explains the key conceptual distinction between 'data_silent' (voter source offline, not the voter's fault) and 'real decay' (voter scores no longer predictive), and enumerates all returned fields including the capped ±0.05 weight delta. This prevents misinterpretation and gives the agent a solid mental model of the output.

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 four dense, information-rich sentences with no filler. It front-loads the core purpose, then covers differentiation, call triggers, and return fields. Every sentence earns its place, and the structure flows logically from what to when to what-you-get.

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?

Despite having no output schema and no annotations, the description is complete for a zero-parameter analytical tool. It lists all key return fields, explains the critical data_silent vs real_decay semantics, and references the sibling tool for contrast. There is no significant missing context that would hinder correct invocation or result interpretation.

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 tool has zero parameters, so schema coverage is trivially 100% and the baseline is 4. The description adds context about the 12-voter ensemble and the per-voter granularity, which helps the agent understand what the no-parameter invocation returns, even though no parameter details are needed.

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 the tool's function: 'Per-voter IC drift breakdown' with a specific focus on identifying which of the 12 voters is decaying. It explicitly distinguishes itself from the blended-IC drift tool by contrasting 'IF the ensemble is decaying' versus 'WHICH voter', making the purpose unambiguous and well-differentiated from a key sibling.

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?

Provides explicit call triggers with real user phrasing ('which voter is the problem?', 'why did the model decay?', 'should we re-weight?') and explicitly names the alternative blended-IC drift tool for the ensemble-level IF question. This gives clear when-to-use and when-not-to-use guidance, going beyond generic context.

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

tengu_cryptoAInspect

Live crypto quote from the market-data feed (real-time entitlement, 439 pairs): last-trade price, 24h change/volume (UTC-day basis), day + prev-day OHLC, optional last-7 daily bars, honest as_of. PRIMARY tool for 'what is BTC at?' — accepts BTC/BTCUSD/X:BTCUSD plus a vs currency (e.g. EUR); unknown symbols return a structured 404.

ParametersJSON Schema
NameRequiredDescriptionDefault
vsNoUSD
seriesNo
tickerYesPath parameter 'ticker' (required).
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 excels: it discloses the real-time entitlement requirement, the 439 pair coverage, the honest as_of timestamp behavior, and error handling via a structured 404 for unknown symbols. It also clarifies the 24h change/volume is UTC-day based, providing essential behavioral context beyond any 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 two sentences, front-loaded with the core purpose ('Live crypto quote'), and every clause adds value: return fields, entitlement, pair count, symbol formats, vs currency, and error behavior. No filler or redundancy.

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?

Given the tool's simplicity, no output schema, and no annotations, the description is complete: it covers the data fields returned, supported inputs, optional bars, timestamp nuance, access entitlement, and error handling. The 'structured 404' note and 'honest as_of' are particularly useful for an agent to set expectations.

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 description coverage is only 33% and the sole entry is unhelpful. The description compensates by explaining ticker formats (BTC/BTCUSD/X:BTCUSD) and the vs currency parameter with an example, while 'optional last-7 daily bars' hints at the series flag. It does not exhaustively describe every parameter behavior, but adds meaningful guidance beyond the schema.

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 identifies the tool as providing live crypto quotes from a market-data feed, listing specific return fields (last-trade price, 24h change/volume, OHLC, optional daily bars, as_of). It explicitly labels itself as the 'PRIMARY tool for what is BTC at?' which distinguishes it from the many sibling tools.

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 states a clear primary use case ('PRIMARY tool for what is BTC at?') and provides accepted symbol formats and the vs currency example (EUR). It does not mention alternatives or explicit when-not-to-use conditions, but the 'PRIMARY' label strongly implies this is the go-to tool for current quotes.

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

tengu_insider_clustersAInspect

Clusters of insider buying across companies: names where multiple distinct insiders bought around the same time. Call it when the user asks 'where are insiders buying?' or wants market-wide insider conviction rather than one company's filings.

ParametersJSON Schema
NameRequiredDescriptionDefault

No parameters

Behavior3/5

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

With no annotations provided, the description carries the full burden of behavioral disclosure. It defines the output conceptually ('names where multiple distinct insiders bought around the same time') but does not mention read-only nature, data freshness, limitations, or any side effects. This is adequate but not rich.

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 two sentences long, front-loaded with the core concept, and provides usage guidance without any waste. Every word earns its place.

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?

For a simple zero-parameter tool with no output schema, the description gives a clear definition and usage context. It could elaborate on the exact return format or the definition of 'around the same time', but the current level is sufficient for an agent to select and invoke the tool 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 tool has zero parameters and schema coverage is trivially 100%, so the baseline is 4. The description adds no parameter-specific information, which is acceptable since there are no parameters to clarify.

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 what the tool does: it clusters insider buying across companies based on multiple distinct insiders buying around the same time. It distinguishes itself from single-company insider tools by explicitly saying 'rather than one company's filings'.

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 provides explicit trigger phrases for when to use this tool ('where are insiders buying?') and a clear exclusion ('rather than one company's filings'). However, it does not name specific alternative sibling tools, which prevents a perfect score.

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

tengu_logsAInspect

Recent service log lines. Call when the user asks whether the system/data pipeline is healthy or why data looks missing/stale and status alone doesn't explain it.

ParametersJSON Schema
NameRequiredDescriptionDefault

No parameters

Behavior2/5

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

No annotations are provided, so the description carries the full burden of behavioral disclosure. It only says logs are 'recent service log lines' and gives a call trigger; it does not disclose output format, verbosity, time window, or any limitations. Since the tool reads logs, it is likely read-only, but that is not stated.

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 two sentences with front-loaded substance: first what the tool returns, then when to use it. Every sentence earns its place, and there is no filler or repetition of schema information.

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?

The tool is simple—zero params and no output schema—but the description leaves operational details vague. It does not specify how 'recent' is defined, how many lines are returned, or whether output is raw text or structured. It provides enough to select the tool appropriately, but not full clarity on what the agent will receive.

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 has zero properties, so there are no parameter semantics to add. With 0 params, the baseline is 4, and the description's 'recent' implies a default time window without needing to document parameters that don't exist.

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 'Recent service log lines,' which clearly identifies the resource and what the tool provides. It also differentiates from sibling status/health tools by framing logs as the diagnostic next step when 'status alone doesn't explain it.'

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 when to call: when the user asks about system/data pipeline health or missing/stale data and status alone is insufficient. It does not name sibling tools or list explicit when-not scenarios, but the condition 'status alone doesn't explain it' implies that status tools should be tried first.

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

tengu_macroAInspect

One-call macro dashboard: VIX, DXY, treasury spreads, fear-greed, and the current regime read. Call it FIRST for any 'how is the overall market / macro backdrop?' question, or to frame a single-name view against market conditions.

ParametersJSON Schema
NameRequiredDescriptionDefault

No parameters

Behavior3/5

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

With no annotations, the description carries the transparency burden. It discloses the tool returns a dashboard of specific macro indicators and a regime read, implying a read-only, one-call aggregation. However, it omits details like data freshness, output format, or limitations of the regime calculation, leaving some behavioral aspects unexplored.

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 a single, compact sentence that front-loads the key indicators and usage instructions. Every word adds value, and it avoids unnecessary elaboration or repetition of schema information.

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?

For a simple, no-parameter, no-output-schema dashboard tool, the description covers the main content and use cases. It explains what data is included and when to call it. It could add output format or interpretation guidance, but given the tool's low complexity, the description is sufficiently complete for selection and invocation.

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 tool takes zero parameters, so the schema is empty. The description doesn't need to explain parameter syntax; instead it clarifies what the tool returns, which is appropriate. The baseline for zero-param tools is 4, and the description provides sufficient context about the tool's scope without needing parameter details.

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 identifies the tool as a macro dashboard with specific indicators (VIX, DXY, treasury spreads, fear-greed, regime read) and positions it as the primary entry point for overall market/macro questions. It distinguishes itself from siblings by emphasizing the 'one-call' comprehensive nature and the 'Call it FIRST' prioritization.

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?

Explicitly states when to use: 'Call it FIRST for any how is the overall market / macro backdrop? question, or to frame a single-name view.' This provides strong usage context. It does not name specific alternative tools or exclusions, but the prioritization instruction effectively guides tool selection.

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

tengu_ml_healthAInspect

ML pipeline freshness probe: has_predictions, has_weights_history, latest_as_of_ts, n_tickers. Call when the user asks whether the ML pipeline is healthy or why predictions look missing/stale.

ParametersJSON Schema
NameRequiredDescriptionDefault

No parameters

Behavior3/5

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

With no annotations, the description must disclose behavior itself. It does list the return fields and implies a read-only probe, but it does not explicitly state safety, side effects, or interpretation of 'healthy' vs 'stale'. The term 'probe' hints at non-mutation, but deeper behavioral context is absent.

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 two sentences: a concise definition with a colon-separated field list, followed by a clear call-condition. It is front-loaded, uses no filler, and every word earns its place.

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?

For a simple no-parameter tool with no output schema, the description is fairly complete: it lists the output fields and gives the trigger context. It does not explain each field's meaning or how to judge health from the values, but the field names are self-descriptive and the tool is minimal.

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 tool has zero parameters, so the description carries no parameter burden. The baseline for 0 params is 4, and the description does not need to add parameter semantics. It does mention fields that are outputs, not inputs.

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 identifies the tool as an 'ML pipeline freshness probe' and lists its specific fields (has_predictions, has_weights_history, latest_as_of_ts, n_tickers). It also states exactly when to use it: 'when the user asks whether the ML pipeline is healthy or why predictions look missing/stale.' This distinguishes it from sibling tools like tengu_ml_predict or tengu_ml_weights.

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 gives explicit usage context: 'Call when the user asks whether the ML pipeline is healthy or why predictions look missing/stale.' This tells the agent when to invoke it, but it does not name alternative tools or specify when not to use it, so it falls short of the highest bar.

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

tengu_ml_predictAInspect

Latest ML ensemble prediction for one ticker: blended_score, conviction, decile rank, and per-voter sub-scores. Call this when the user asks 'what does the model think of X' or wants a quantitative score to weigh against fundamentals.

ParametersJSON Schema
NameRequiredDescriptionDefault
tickerYesPath parameter 'ticker' (required).
Behavior2/5

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

No annotations are provided, so the description carries the full burden of disclosing behavior. It only states what is returned and that it is 'latest,' but gives no details about side effects, permissions, rate limits, error conditions, or data freshness. This is a significant gap for a tool with no annotation support.

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 two concise sentences. The first states the tool's function and key outputs; the second gives usage context. Every word earns its place, with no redundancy or filler.

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?

For a single-parameter tool with no output schema, the description covers the essential components: what it does, what it returns, and when to use it. It lacks a deeper explanation of the output semantics (e.g., what conviction or decile rank mean) and does not clarify how it differs from numerous similar sibling tools, but it is sufficiently complete for simple lookup.

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?

The schema has 100% coverage for the ticker parameter, so the baseline is 3. The description does not add any meaning beyond restating 'ticker' (e.g., no format examples or constraints), so it neither enriches nor detracts from the schema. Thus, it stays at the baseline.

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?

The description clearly states the tool returns the latest ML ensemble prediction for a single ticker, naming concrete outputs (blended_score, conviction, decile rank, per-voter sub-scores). This makes the purpose unambiguous, but it does not explicitly differentiate from sibling tools like tengu_copilot_score_ticker or tengu_v3_intel_ml_prediction, so it falls short of a 5.

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 provides explicit trigger phrases ('what does the model think of X') and a clear use case (quantitative score to weigh against fundamentals). However, it does not mention when not to use it or name alternative tools, so it misses the full 'when/when-not/alternatives' guidance required for a 5.

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

tengu_ml_top_picksAInspect

Top-N ranked tickers from the latest ML ensemble scoring snapshot, optionally floored by min_conviction. PRIMARY tool for 'what are the model's top picks / best-ranked stocks right now'; use tengu_ml_predict for one ticker's detail.

ParametersJSON Schema
NameRequiredDescriptionDefault
limitNo
min_convictionNo
Behavior3/5

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

With no annotations, the description carries the full burden. It adds useful context: data comes from a 'snapshot' (implying not real-time) and mentions the optional min_conviction floor. However, it does not disclose the return format, whether conviction scores are included, or any staleness caveats, leaving important behavioral aspects unspecified.

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?

Two sentences, no filler. The first sentence precisely defines the tool, the second adds usage context and an alternative invocation. Every word earns its place.

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?

The tool is low-complexity and the description covers purpose, usage, and parameters. However, with no output schema, it would benefit from a brief note about the response structure (e.g., list of tickers with scores) to be fully complete. Still, the core context is adequately provided.

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 explains min_conviction as a floor and implies 'Top-N' relates to the limit parameter. This adds meaning beyond the raw schema, though it could be more explicit about limit's role and the meaning of 'conviction'.

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 the tool returns 'Top-N ranked tickers from the latest ML ensemble scoring snapshot' – a specific verb+resource+output combination. It distinguishes itself from the sibling tool by explicitly naming tengu_ml_predict as the alternative for single-ticker detail.

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?

Explicitly states it is the PRIMARY tool for 'what are the model's top picks / best-ranked stocks right now' and directs users to tengu_ml_predict for one ticker's detail. This provides clear when-to-use and when-not-to-use guidance.

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

tengu_ml_weightsAInspect

Current live ML ensemble voter weights (latest history row, broken out per market regime). Call it to know how the ensemble is blending its voters before interpreting a prediction; use tengu_ml_weights_history for drift over time.

ParametersJSON Schema
NameRequiredDescriptionDefault

No parameters

Behavior4/5

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

No annotations exist, so the description carries the transparency burden. It clearly implies a read-only operation ('Call it to know') and describes the current-live nature plus the per-regime breakdown. It doesn't cover potential limitations (e.g., no history, no sorting options), but for a parameterless getter the behavior is well conveyed.

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?

Two focused sentences: the first states what the tool returns, the second gives usage context and points to the history sibling. No fluff, front-loaded with critical information.

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 zero-parameter read-only tool with no output schema, the description provides all needed context: what the tool returns, when to use it, and how to get related time-series data. It is sufficiently complete for an agent to select and invoke this tool 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 tool has zero parameters, so the description bears no obligation to explain parameters. The baseline for 0-param tools is 4, and the description adds useful context about what the returned weights represent (latest row, per market regime), which helps the agent interpret the response.

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?

Description clearly identifies the resource (live ML ensemble voter weights) and the specific scope (latest history row, per market regime). It distinguishes from the sibling tengu_ml_weights_history by pointing to that tool for drift over time, making the unique purpose immediately clear.

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?

States exactly when to use it: before interpreting a prediction, to know how the ensemble is blending voters. Explicitly names the alternative tool (tengu_ml_weights_history) for time-based drift, giving the agent clear selection guidance.

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

tengu_ml_weights_historyAInspect

Time series of ML ensemble voter weights (per regime, newest first; days=1-365, default 30). Call this when the user asks how the model's weighting has drifted or shifted across regimes; use tengu_ml_weights for the current row.

ParametersJSON Schema
NameRequiredDescriptionDefault
daysNo
Behavior4/5

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

With no annotations provided, the description carries the full burden. It discloses ordering (newest first), per-regime granularity, and valid day range (1-365, default 30). It does not explicitly state read-only behavior, but that's reasonably inferred. Misses potential return format or pagination details, but sufficient for this simple read-oriented tool.

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?

Two sentences, front-loaded with core purpose, then usage guideline. Every word earns its place with no redundancy or fluff. Ideal structure for quick agent comprehension.

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 low complexity (single optional param, no output schema), the description is nearly complete. It covers data type, ordering, scope, and usage distinction. Minor gap: it does not specify the return structure, but that is not essential for a time-series query and can be inferred from the description.

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?

The only parameter, 'days', is given a clear range (1-365) and default (30) in the description, which the schema lacks (only type and default). This adds meaning beyond the schema and fully compensates for the 0% schema description coverage.

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 the tool provides a time series of ML ensemble voter weights per regime, with explicit ordering (newest first) and a days parameter. It distinguishes itself from the sibling tool tengu_ml_weights by specifying this is for historical drift/shifts while the sibling covers the current row.

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?

Explicitly instructs when to call this tool ('when the user asks how the model's weighting has drifted or shifted across regimes') and directs to an alternative (tengu_ml_weights for the current row). This provides clear usage context and a named alternative.

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

tengu_readyAInspect

Readiness flags showing which subsystems are up and serving. Call when the user asks whether the system/data pipeline is healthy or why data looks missing/stale.

ParametersJSON Schema
NameRequiredDescriptionDefault

No parameters

Behavior4/5

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

With no annotations provided, the description carries the full transparency burden. It discloses that the output is a readiness flag set indicating subsystem up/serving status and that it can explain missing/stale data. This is useful context, though it could describe the output format or any potential stale-data caveats more explicitly.

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 two sentences long, front-loaded with the core purpose, and the second sentence adds practical usage context. Every word earns its place; no fluff or repetition.

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?

For a simple zero-parameter tool with no output schema, the description covers the essentials: what it returns and when to use it. However, given the large number of sibling health/status tools, a brief note on how it differs from tools like tengu_status or tengu_v3_system_health would make it more complete.

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 tool has 0 parameters, so there is nothing to explain. The schema is empty with 100% coverage, and the description appropriately does not mention any parameters. This aligns with the baseline of 4 for zero-parameter tools.

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?

The description clearly states the tool provides 'readiness flags showing which subsystems are up and serving,' which identifies a specific resource and output. It is distinct from most siblings but does not explicitly differentiate from other health-related tools like tengu_status or tengu_v3_system_health, preventing a perfect score.

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?

It explicitly tells the agent when to call: 'when the user asks whether the system/data pipeline is healthy or why data looks missing/stale.' However, it does not mention when not to use it or offer alternative tools, so it lacks the full explicitness of a 5.

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

tengu_regimeAInspect

Current market regime label plus the model's regime probabilities. Call it when the user asks 'what regime are we in?' or before positioning advice that depends on the prevailing regime; use tengu_v2_regime_forecast for the forward view and tengu_v2_regime_history for the past.

ParametersJSON Schema
NameRequiredDescriptionDefault

No parameters

Behavior3/5

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

No annotations are provided, so the description carries the transparency burden. It discloses what the tool returns (label and probabilities) and that it is a current state, but does not describe any additional behaviors such as data freshness, error conditions, or return structure. For a zero-parameter read tool, this covers the basics but lacks depth.

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 two sentences, with the core purpose in the first sentence and usage guidance in the second. No wasted words.

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 simplicity (no parameters, no output schema), the description covers what it returns and when to use it, with explicit alternatives. It's sufficient for an agent to select and 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 tool has zero parameters, and the schema shows no required fields. The description doesn't need to explain parameters; the baseline score of 4 applies.

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 identifies the tool as providing the current market regime label and model regime probabilities. It also distinguishes from sibling tools by explicitly referencing tengu_v2_regime_forecast and tengu_v2_regime_history for different temporal scopes.

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 provides explicit when-to-use guidance: call when the user asks 'what regime are we in?' or before positioning advice. It also names the alternatives for forward and historical views, giving clear selection criteria.

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

tengu_research_knowledgeDInspect

Research knowledge base

ParametersJSON Schema
NameRequiredDescriptionDefault

No parameters

Behavior1/5

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

No annotations are provided, so the description carries the full burden of behavioral disclosure. It says nothing about read-only vs. mutating behavior, return format, prerequisites, or side effects. The phrase 'Research knowledge base' offers zero transparency about what invoking this tool does.

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

Conciseness2/5

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

The description is extremely short at three words, but this is under-specification rather than appropriate conciseness. It does not earn its place because it provides no useful information beyond the tool name. The structure is minimal but not front-loaded with actionable content.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness1/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

With no annotations, no output schema, and a description consisting only of 'Research knowledge base', the tool is almost entirely unexplained. Given the massive sibling tool set, the description is completely inadequate for an agent to understand what the tool does, what it returns, or when to use it.

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 schema has 0 parameters, so there is no parameter information to document. The baseline for 0 parameters is 4, and the description inevitably adds nothing about parameters because there are none. The schema already fully covers the (empty) parameter set.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose1/5

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

The description 'Research knowledge base' is a noun phrase that merely restates the tool name 'tengu_research_knowledge' without specifying any action or operation. There is no verb indicating what the tool does (e.g., search, retrieve, query), and it does not distinguish itself from the many sibling tools.

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

Usage Guidelines1/5

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

The description provides no guidance on when to use this tool versus alternatives, no context, no exclusions, and no examples. With over 200 sibling tools, an agent has no information to decide when to select this one.

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

tengu_snapshotAInspect

Live price snapshot for one ticker: latest price plus basic trading stats. Call it when the user asks 'where is X trading right now?' or needs a current quote before any single-name analysis. Heavy endpoint — fetch one ticker per call.

ParametersJSON Schema
NameRequiredDescriptionDefault
tickerYesPath parameter 'ticker' (required).
Behavior4/5

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

With no annotations provided, the description discloses that the endpoint is heavy and should be used for one ticker at a time, which adds behavioral context. However, it doesn't specify what 'basic trading stats' include or the exact return structure, leaving some ambiguity.

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 concise, with two sentences and a warning, front-loading the core purpose. No filler words; every clause adds value.

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?

For a simple tool with no output schema and no annotations, the description covers purpose, usage timing, and a performance warning. It lacks specifics on the exact trading stats returned, but given the simplicity, it's largely complete.

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 schema already documents the single 'ticker' parameter at 100% coverage. The description reinforces the single-ticker constraint ('fetch one ticker per call'), which adds minor semantic clarity beyond the schema.

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 defines a live price snapshot for a single ticker with latest price and trading stats, using a specific verb and resource. It distinguishes from siblings by emphasizing one-ticker scope and the current-quote use case.

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 explicitly states when to call: when the user asks where a ticker is trading or needs a current quote before single-name analysis. It also warns that the endpoint is heavy and supports only one ticker per call, implicitly advising against batch calls.

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

tengu_statusAInspect

System status for the service. Call when the user asks whether the system/data pipeline is healthy or why data looks missing/stale.

ParametersJSON Schema
NameRequiredDescriptionDefault

No parameters

Behavior2/5

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

There are no annotations, so the description must disclose behavior. It only says it provides 'system status' without explaining what that includes, response format, or that it is a read-only operation. Minimal behavioral transparency.

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?

Two concise, front-loaded sentences convey purpose and usage without waste.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness2/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

The description covers purpose and usage but lacks output details and clear differentiation from similar status tools (tengu_ready, tengu_v3_system_health). Since no output schema exists, the agent gets no guidance on what the response will contain.

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 tool has zero parameters; the schema is empty. With no params, the baseline is 4, and the description doesn't need to add parameter semantics.

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?

The description clearly identifies the tool as providing system status for the service and gives specific trigger examples (health checks, missing/stale data). However, it lacks an explicit verb and does not distinguish from sibling health/status tools.

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?

It explicitly states when to call: when the user asks about system/data pipeline health or missing/stale data. No exclusions or alternatives are given, but the context is clear.

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

tengu_v2_alpha_discoveriesAInspect

Mined alpha expressions from the research pipeline, filtered to a minimum information ratio (min_ir, default 0.5) and capped at limit (default 25). Call this when the user asks what alpha signals or factor expressions the research engine has actually discovered.

ParametersJSON Schema
NameRequiredDescriptionDefault
limitNo
min_irNo
Behavior3/5

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

No annotations are provided, so the description bears the full burden. It discloses key behavioral traits: filtering by min_ir, capping by limit, and default values. However, it does not explain the output format, ordering, pagination, or any potential side effects, leaving notable gaps in behavioral transparency for a tool with no annotation support.

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 consists of two sentences, both highly informative. It front-loads the core purpose and then specifies usage context without any wasted words or repetition of schema details.

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?

The tool is simple (2 optional parameters, no output schema), and the description covers purpose, parameters, and usage context. It lacks explicit details about the return value structure, which could be helpful given no output schema exists, but the description is otherwise complete for its complexity.

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?

With schema description coverage at 0%, the description compensates by clarifying the meaning of both parameters: 'minimum information ratio (min_ir, default 0.5)' and 'capped at `limit` (default 25)'. This adds semantic value beyond the schema's type and bounds, though it does not fully describe all behavioral nuances of these 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 description clearly states the tool's function: 'Mined alpha expressions from the research pipeline' with specific filtering and capping parameters. It distinguishes itself from sibling tools by explicitly mentioning alpha signals/factor expressions discovered by the research engine, a unique scope among the listed 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?

The description provides a clear when-to-use directive: 'Call this when the user asks what alpha signals or factor expressions the research engine has actually discovered.' It does not name specific alternatives or provide when-not-to-use guidance, so it falls short of a 5, but the usage context is unambiguous.

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

tengu_v2_crash_scenariosAInspect

Historical crash replay through past market crash episodes. Call it when the user asks 'how would this have held up in previous crashes?' or wants tail risk anchored to real historical events; use tengu_v2_stress for hypothetical scenarios.

ParametersJSON Schema
NameRequiredDescriptionDefault

No parameters

Behavior3/5

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

No annotations are present, so the description carries the full burden. It clearly indicates historical replay, implying a read-only operation, but lacks detail on output format or limitations; however, the core behavior is disclosed.

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?

Two sentences, front-loaded with purpose, then usage guidance; no redundancy.

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?

For a zero-parameter tool with no output schema, the description is sufficient for selection and invocation, but could mention what the result looks like to be fully complete.

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 tool takes zero parameters, and the schema is empty (100% coverage trivially). Baseline for zero-param tool is 4; description adds no parameter-specific info but none is needed.

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 uses a specific verb ('replay') and resource ('past market crash episodes'), clearly distinguishing it from hypothetical stress testing via tengu_v2_stress.

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?

Explicitly provides trigger phrases ('how would this have held up in previous crashes?') and names the alternative tool for hypothetical scenarios.

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

tengu_v2_driftAInspect

Feature and prediction drift over a rolling window (default 30 days). Call it when the user asks whether the models are still well calibrated, why predictions look off, or whether model inputs have shifted recently.

ParametersJSON Schema
NameRequiredDescriptionDefault
window_daysNo
Behavior2/5

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

No annotations are provided, so the description carries the full burden. It mentions the rolling window default but does not disclose whether the call is read-only, what the response format is, or any side effects. The description lacks depth on behavior and output.

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 two sentences with no fluff. The first sentence states the core functionality, the second provides usage scenarios. Text is front-loaded and efficient.

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?

The tool is simple with one optional parameter and no output schema. The description covers purpose, usage, and parameter default, but does not explain the response content or edge cases. Given the lack of annotations and output schema, it is adequate but not fully complete.

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?

The schema's only parameter window_days has no description. The description adds meaning by mentioning the rolling window and default of 30 days, but it doesn't explain the effect of varying the window or mention min/max bounds. The schema already provides the numeric constraints.

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?

The description clearly states it provides 'feature and prediction drift' over a rolling window, which is a specific resource. It does not explicitly distinguish from sibling drift-related tools like tengu_copilot_live_ic_drift or tengu_copilot_voter_ic_drift, but the scope is clear.

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 provides three concrete user questions that should trigger this tool: model calibration, predictions looking off, and shifted inputs. This gives clear usage context, though it does not explicitly state when not to use it or name alternatives.

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

tengu_v2_factor_decayAInspect

IC/IR half-life per factor — how fast each factor's predictive power decays. Call it when the user asks which signals are going stale, how long a factor's edge lasts, or before weighting factors in a strategy.

ParametersJSON Schema
NameRequiredDescriptionDefault

No parameters

Behavior3/5

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

No annotations are provided, so the description carries the full burden. It explains what the tool does (decay measurement) but does not disclose output format, data scope (e.g., all factors vs. a selected set), or any limitations. This is adequate but not deeply transparent.

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?

Two sentences, front-loaded with the core function and immediately followed by usage triggers. Every word earns its place; no fluff or repetition.

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?

For a zero-parameter read-only tool with no output schema, the description covers the essential information: what it computes and when to call it. It does not specify the exact response structure, but given the simplicity, it is reasonably complete.

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 tool has zero parameters, and the schema coverage is trivially 100%. Baseline for 0 params is 4. The description correctly implies no input is needed, so it does not need to elaborate on 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 description clearly states the tool's purpose: 'IC/IR half-life per factor — how fast each factor's predictive power decays.' This verb-resource pairing (reports decay) is specific and differentiates it from siblings like tengu_v2_feature_importance or tengu_v2_drift.

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 provides three explicit scenarios: 'when the user asks which signals are going stale, how long a factor's edge lasts, or before weighting factors in a strategy.' It lacks explicit 'when-not' or alternative tool names, but gives clear context for use.

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

tengu_v2_feature_importanceAInspect

Top-N feature importances for the prediction models (default top 50, optionally filtered to one model). Call it when the user asks 'what is the model actually looking at?' or which inputs are driving current predictions.

ParametersJSON Schema
NameRequiredDescriptionDefault
modelNo
top_nNo
Behavior3/5

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

With no annotations, the description carries the full behavioral disclosure burden. It explains the default top 50 and the optional model filter, but does not describe what happens when no model is specified, the format of the returned importances, or whether results are ordered. This is adequate but not rich.

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 two sentences with no filler. The action, default behavior, and usage trigger are all front-loaded, making it highly scannable and useful for an AI agent.

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?

For a simple tool with two optional parameters and no output schema, the description covers the main elements: purpose, defaults, and when to call it. It does not describe the return shape, but the tool name and context make that reasonably inferable. Minor gaps like model filtering behavior are not fully addressed, but overall the description is complete enough for most use cases.

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?

The input schema has no descriptions at all, so the description must compensate. It does explain the top_n default and the model parameter as an optional filter, but it does not clarify what valid model values are or how top_n interacts with the maximum. The schema provides constraints (min/max/default) but the description adds only partial semantic meaning.

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?

The description clearly states the tool returns Top-N feature importances for prediction models, with a specific default (top 50) and an optional model filter. It also provides concrete user-intent phrases ('what is the model actually looking at?') that help distinguish it from generic tools. However, it does not explicitly distinguish itself from sibling tools like tengu_ml_weights or tengu_v3_intel_factor_importance, which may serve similar purposes.

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 says 'Call it when the user asks...', giving clear context for when to use this tool. It lacks when-not-to-use guidance or alternatives, but the provided trigger phrases are strong enough to guide an AI agent in selection.

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

tengu_v2_intervalsAInspect

Conformal prediction intervals for one ticker's forecast: a calibrated lower/upper band at the requested miscoverage alpha (default 0.1 = 90% interval). Call it when the user asks 'how confident is the model?' or wants an uncertainty range around a prediction rather than just a point estimate.

ParametersJSON Schema
NameRequiredDescriptionDefault
alphaNo
tickerYesPath parameter 'ticker' (required).
Behavior3/5

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

With no annotations, the description carries the full transparency burden. It discloses that intervals are calibrated, describes the band output, and explains the alpha default and meaning. However, it does not mention potential failure modes, required preconditions (e.g., existing forecast), or any additional behavior like caching or error handling, leaving some ambiguity for a tool with no structured safety annotations.

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 two sentences, front-loaded with the core function and immediately followed by usage guidance. No redundant phrases, every word earns its place, and it is appropriately sized for the tool's simplicity.

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 simplicity (2 params, no output schema, no annotations), the description is mostly complete: it states output (lower/upper band), key parameter semantics, and usage triggers. It lacks explicit return field names or error conditions, but the 'lower/upper band' phrasing provides a sufficient mental model for an agent. This is adequate but not exhaustive, earning a 4.

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 schema covers 50% of parameters (ticker has a basic path description, alpha lacks description). The description compensates by explaining alpha as 'miscoverage alpha (default 0.1 = 90% interval)' and clarifies ticker's role via 'one ticker's forecast'. This adds meaningful context beyond the schema, though it does not go into detailed format or edge cases.

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 the tool returns conformal prediction intervals (calibrated lower/upper band) for a single ticker's forecast, with specific reference to the miscoverage alpha. It explicitly contrasts with point estimates, distinguishing it from prediction tools, and specifies scope (one ticker). This is a specific verb+resource description that effectively communicates the tool's function.

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 provides explicit when-to-use guidance: 'Call it when the user asks how confident is the model? or wants an uncertainty range around a prediction rather than just a point estimate.' This is clear context, but it does not explicitly name alternative tools or state when not to use it, so it falls short of a 5.

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

tengu_v2_regime_forecastAInspect

Forecast regime probabilities N days ahead (default 21-day horizon). Call it when the user asks 'is the regime about to change?' or wants the forward market-state outlook rather than today's label — use tengu_regime for the current read.

ParametersJSON Schema
NameRequiredDescriptionDefault
horizon_daysNo
Behavior4/5

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

No annotations are provided, so the description carries the full burden. It clearly states the tool's behavior (forecasting probabilities for a future horizon) and implies that it is a read-only operation via the verb 'forecast.' It also provides the default horizon and explicitly contrasts with the current-read sibling, but does not elaborate on output format or additional behaviors. Still, for a simple forecast tool, the description is adequately transparent.

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 two sentences long, front-loaded with the core purpose, and every sentence contributes useful information: the first states what the tool does, the second provides usage guidance and names the alternative. There is no redundant or unnecessary text.

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?

For a tool with one optional parameter, no output schema, and no annotations, the description covers the essentials: what it does, when to use it, and what the parameter means. It also differentiates it from a key sibling. The main minor gap is that it does not describe the exact return shape beyond 'regime probabilities,' but this is sufficient for the tool's simplicity.

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?

The schema has 0% description coverage, so the description must compensate. It fully explains the meaning of the sole parameter: 'N days ahead' and provides the default '21-day horizon.' This adds significant semantic value beyond the raw schema (type, min, max, default), making the parameter's purpose and optionality clear.

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 uses a specific verb and resource: 'Forecast regime probabilities N days ahead' with a clear scope (default 21-day horizon). It also explicitly distinguishes itself from the sibling tool tengu_regime, which provides the current label. This makes the tool's purpose unmistakable and differentiates it from related tools.

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 guidance: 'Call it when the user asks "is the regime about to change?" or wants the forward market-state outlook.' It also names the alternative for the current read: 'use tengu_regime for the current read.' This is exactly the kind of contextual direction an agent needs to choose between the two regime tools.

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

tengu_v2_regime_historyAInspect

Historical regime labels over the last N days (default 180). Call it when the user asks how long the current regime has lasted, when the last regime shift happened, or wants past behavior broken out by regime.

ParametersJSON Schema
NameRequiredDescriptionDefault
daysNo
Behavior3/5

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

With no annotations, the description carries the burden of disclosing behavior. It clearly states it returns historical labels and defaults to 180 days, but does not explicitly confirm it is a read-only operation, describe the output format, or mention any limitations or prerequisites. The nature of the tool implies safety, but the description adds no explicit safety or side-effect context.

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 two concise sentences. The first states the core functionality and default, the second enumerates concrete use cases. Every word earns its place with no fluff or repetition.

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 simplicity (one optional parameter, no output schema) and the rich sibling context, the description covers the essential aspects: purpose, default behavior, and trigger questions. It does not describe the return structure, but the phrase 'regime labels' gives a reasonable hint. Overall, it is adequate and well-scoped for an agent to invoke correctly.

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?

The schema has a single parameter 'days' with full validation (default 180, min 1, max 3650), so the schema itself is informative. The description mentions 'last N days (default 180)', which aligns with the parameter but does not add detail beyond what the schema already provides. Since schema description coverage is 0%, the description only partially compensates, but for this simple parameter it is sufficient.

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 identifies the tool as returning 'Historical regime labels over the last N days', specifying both the resource (regime labels) and scope (historical time range). It implicitly distinguishes itself from sibling tools like tengu_v2_regime_forecast by emphasizing 'historical' and from tengu_regime by implying current vs. historical context. The example use cases further nail down its purpose.

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 when to use the tool: when the user asks about current regime duration, last regime shift, or past behavior by regime. It does not explicitly mention when not to use it or point to alternatives, but the clear trigger conditions provide strong guidance for an agent.

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

tengu_v2_research_datasetsAInspect

Discover the 39 licensed research datasets servable via the research-dataset reader — equity prices (daily/monthly/delistings/distributions/mutual funds), fundamentals (annual/quarterly/segments/customers/supply-chain), analyst estimates (summary/detail/guidance/price-targets/actuals/recs), implied volatility, securities-finance (full-history CDS + short interest), transcripts/ratings/key-developments, board relationships, forensic-audit filings, syndicated loans, ESG ratings, crowd estimates, TRACE bond trades and Fama-French factors. Call FIRST when unsure of a slug; not_ingested lists any slug awaiting a table (currently empty).

ParametersJSON Schema
NameRequiredDescriptionDefault

No parameters

Behavior3/5

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

With no annotations, the description carries the transparency burden. It discloses that the tool lists available datasets and notes the current state of not_ingested ('currently empty'). However, it does not explicitly state that the tool is read-only or side-effect-free, nor describe the return format. For a catalog tool, this is adequate but not rich.

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 description is one dense catalog sentence followed by a short usage directive, packing extensive category detail without filler. The em-dash list structure keeps the long enumeration scannable, and the actionable 'Call FIRST' instruction is clear. It is slightly long, but appropriate for listing 39 datasets.

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?

For a zero-parameter discovery tool with no output schema, the description covers the essential ground: it names the dataset categories, ties them to the research-dataset reader, and instructs when to invoke the tool. It does not describe the exact return shape or explain how slugs map to tengu_v2_research_read, which would strengthen completeness. Overall it is adequate for its simple interface.

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 tool takes zero parameters, so the description cannot add parameter-level detail; the baseline for 0 parameters is 4. The mention of 'slug' and not_ingested adds useful context about how dataset identifiers are resolved and how to determine availability. No contradiction with the empty schema.

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 uses the specific verb 'Discover' and names the exact resource: the 39 licensed research datasets servable via the research-dataset reader. It enumerates categories, making it unmistakably a catalog/discovery tool rather than a data-read tool. The closing instruction 'Call FIRST when unsure of a slug' further distinguishes it from sibling tools like tengu_v2_research_read.

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?

It explicitly tells agents to 'Call FIRST when unsure of a slug,' giving a clear trigger condition for when to use this tool. It also mentions the not_ingested feature for checking pending slugs. It does not explicitly name alternative tools or state when not to use it, but for a zero-parameter discovery tool, the guidance is practical and sufficient.

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

tengu_v2_research_readAInspect

Read any licensed research dataset by slug (discover via tengu_v2_research_datasets). ?ticker= pushes an exact server-side filter down the dataset's own symbol column when it has one; datasets keyed by an internal security id instead state explicitly that ticker was ignored. The implied_vol_by_ticker slug REQUIRES ?ticker= and resolves the symbol to that id automatically before pushdown. The cds_composites slug serves the FULL 2005–2025 spread history. Unfiltered reads are capped at 5000 rows.

ParametersJSON Schema
NameRequiredDescriptionDefault
limitNo
tickerNo
datasetYesPath parameter 'dataset' (required).
Behavior4/5

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

With no annotations, the description carries the full burden and delivers significant value: server-side ticker pushdown, ticker-ignored fallback for internal-id-keyed datasets, required ticker for implied_vol_by_ticker, full history for cds_composites, and the unfiltered read cap. It does not cover auth/rate limits or response format, but the most critical behavioral traits are disclosed.

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?

Three dense sentences with zero filler; the main purpose is front-loaded and each subsequent clause adds a distinct, useful behavioral detail. The description is appropriately sized for the tool's complexity and does not waste words.

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?

For a heterogeneous dataset reader with no output schema, the description covers the essential operational context: discovery path, filtering behavior, special-case slugs, and row cap. It omits output shape and explicit limit semantics, but the most likely causes of agent error are addressed, making it reasonably complete.

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 low (33%) and the dataset description is purely tautological ('Path parameter'), so the description compensates effectively: 'dataset' is explained as a slug, 'ticker' gets extensive behavioral semantics, and 'limit' is implied by the 5000-row cap. The limit parameter still lacks a one-line explanation, but its schema constraints (min/max/default) partially fill that gap.

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 'Read any licensed research dataset by slug' – a specific verb and resource that clearly defines the tool's function. It also distinguishes itself from the sibling discovery tool tengu_v2_research_datasets by explicitly referencing it for discovery, making the read-vs-discover boundary unmistakable.

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 provides concrete usage context: discover datasets via tengu_v2_research_datasets, use ?ticker= for filtering, and be aware of special slugs (implied_vol_by_ticker, cds_composites) and the 5000-row cap. It does not explicitly list alternative read tools, but the guidance is sufficient for an agent to know when this tool is appropriate.

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

tengu_v2_short_interestAInspect

Short interest for one ticker: shares short, days-to-cover (DTC), and fails-to-deliver (FTD). Call it FIRST for any 'is X heavily shorted / squeeze candidate?' question or before evaluating short-side risk in a position.

ParametersJSON Schema
NameRequiredDescriptionDefault
tickerYesPath parameter 'ticker' (required).
Behavior3/5

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

No annotations are provided, so the description carries the full burden of behavioral disclosure. It lists the data fields returned (shares short, DTC, FTD), which is helpful, but it does not mention data freshness, source, or any limitations. For a retrieval tool, this is a moderate transparency gap.

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 exactly two sentences: the first defines the tool's output, the second gives usage guidance. It is front-loaded, efficient, and contains no filler. Every word earns its place.

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?

For a simple one-parameter tool with no output schema and no annotations, the description covers the essential context: what data is returned and when to use it. It does not specify output format or caveats, but given the low complexity, this is largely sufficient.

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% for the single 'ticker' parameter, but the schema description only says 'Path parameter ‘ticker’ (required).' The tool description adds only 'one ticker', which does not meaningfully enhance understanding of the parameter format or expected values. Baseline of 3 applies due to high schema coverage.

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?

The description clearly identifies the tool as providing short interest data for a single ticker, listing specific metrics (shares short, DTC, FTD). It also distinguishes itself by instructing to 'Call it FIRST' for squeeze-related questions. However, it lacks an explicit action verb like 'Retrieve' or 'Get', which prevents a perfect score.

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 second sentence provides explicit guidance on when to use this tool: 'Call it FIRST for any ‘is X heavily shorted / squeeze candidate?’ question or before evaluating short-side risk in a position.' This is clear contextual usage, but it does not mention alternative tools or any when-not-to-use conditions.

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

tengu_v2_signal_correlationAInspect

Correlation matrix across the voter signals feeding the ensemble. Call it when the user asks whether the model's signals are independent or redundant — high pairwise correlation means the vote count overstates conviction.

ParametersJSON Schema
NameRequiredDescriptionDefault

No parameters

Behavior3/5

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

With no annotations, the description carries full behavioral disclosure. It specifies the output (correlation matrix) and adds interpretive meaning, but does not disclose details like data source, freshness, or any side effects. This is adequate but not rich.

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 two sentences long, with each sentence serving a clear purpose: defining the tool and providing usage guidance. No filler or redundancy.

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 zero parameters, no output schema, and no annotations, the description covers the essential aspects: what the tool does, when to use it, and how to interpret the result. It could be slightly more specific about the matrix format, but is complete enough for this simple tool.

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 tool has zero parameters, and the baseline for such cases is 4. There is nothing to document beyond what the empty schema already conveys.

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 the tool produces a correlation matrix across voter signals, which is a specific and distinct resource. It also provides interpretive context (high pairwise correlation means vote count overstates conviction), which disambiguates it from sibling signal tools.

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?

It provides an explicit usage trigger: "Call it when the user asks whether the model's signals are independent or redundant". This gives strong contextual guidance, though it stops short of naming alternative tools or explicit when-not-to-use conditions.

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

tengu_v2_strategy_evolutionAInspect

Strategy genealogy with out-of-sample (OOS) scores — how each evolved strategy variant descends from its parents and how it validated OOS, up to limit entries (default 50). Call this when the user asks how strategies were developed, mutated, or which generations survived validation.

ParametersJSON Schema
NameRequiredDescriptionDefault
limitNo
Behavior3/5

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

No annotations are provided, so the description carries the full burden. It discloses the limit-based result size and the nature of the data (genealogy, OOS scores), but does not explicitly state whether this is a read-only operation, how results are ordered, or what happens if no data exists. It adds some context beyond the schema but is not exhaustive.

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 two sentences long, front-loaded with the key concept, and every word adds value. It covers the core behavior, the limit parameter, and usage guidance without fluff.

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 simplicity (one parameter, no output schema) and lack of annotations, the description provides sufficient context: what the tool returns, how it's scoped by limit, and when to use it. It could mention returned fields but the essence is covered.

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 schema has one parameter 'limit' with 0% description coverage, but the description compensates by explaining 'up to `limit` entries (default 50).' This clarifies the parameter's purpose and provides default behavior, though it does not mention the min/max constraints (already in schema).

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 the tool's function: 'Strategy genealogy with out-of-sample (OOS) scores' and elaborates on how each variant descends from parents and is validated OOS. This specific verb-noun pairing ('genealogy') distinguishes it from sibling tools like tengu_v3_strategies_list or tengu_v3_strategy_metrics.

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 when to call the tool: 'Call this when the user asks how strategies were developed, mutated, or which generations survived validation.' This is clear context, though it does not mention when not to use it or name alternatives.

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

tengu_v2_stressAInspect

Stress-test scenarios from the risk engine. Call it when the user asks 'what happens if things go bad?' before sizing risk; use tengu_v2_crash_scenarios to replay specific historical crashes.

ParametersJSON Schema
NameRequiredDescriptionDefault

No parameters

Behavior2/5

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

With no annotations provided, the description carries the full burden of behavioral disclosure, but it only states the purpose and usage trigger. It does not explain what the stress-test does (e.g., whether it runs simulations, returns risk metrics, or modifies any state), nor does it mention any prerequisites or side effects. The lack of behavioral detail leaves an agent uncertain about the tool's execution model, especially since there is no output schema or parameter documentation to compensate.

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 two sentences, front-loaded with the core purpose and immediately followed by actionable usage guidance. Every sentence earns its place—no fluff or redundancy—making it easy to scan and process.

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?

For a tool with no parameters and no output schema, the description covers purpose, usage timing, and distinguishes an alternative. It would be slightly more complete if it hinted at what the stress-test yields (e.g., a risk assessment or scenario breakdown), but given the tool's simplicity and the strong usage context, it is largely sufficient.

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 tool has zero parameters, so the schema coverage is trivially 100%. With no parameters to clarify, the description does not need to add parameter-level detail. The baseline for a 0-parameter tool is 4, which is appropriate here; the description could have mentioned that the tool runs predefined scenarios without additional inputs, but its absence does not hinder parameter understanding.

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 uses a specific verb ('stress-test') and identifies the resource ('scenarios from the risk engine'), clearly stating the tool's purpose. It also distinguishes itself from the sibling tool tengu_v2_crash_scenarios by explicitly contrasting 'stress-test scenarios' with 'replay specific historical crashes', preventing ambiguity.

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 provides explicit when-to-use guidance ('Call it when the user asks "what happens if things go bad?" before sizing risk') and names the alternative tool (tengu_v2_crash_scenarios) for a different use case. This is exactly the kind of contextual direction an agent needs to select between closely related tools.

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

tengu_v2_varAInspect

Portfolio VaR and CVaR at a chosen horizon and confidence (defaults: 1-day, 99%). Call it when the user asks 'how much could the portfolio lose?' or needs a tail-risk number before sizing or hedging decisions.

ParametersJSON Schema
NameRequiredDescriptionDefault
confidenceNo
horizon_daysNo
Behavior3/5

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

With no annotations, the description carries the full transparency burden. It explains the core output (VaR/CVaR) and defaults but does not disclose return format, methodology, or what portfolio data is used. The description does not contradict any annotations and is harmless but lacks depth on behavior.

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 two sentences, with the core purpose and defaults front-loaded, followed by one sentence of usage guidance. Every word earns its place; no fluff.

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?

For a simple tool with two optional params and no output schema, the description covers purpose, defaults, and a usage signal. It does not explain the output format or whether a portfolio is pre-configured, but those are minor gaps given the tool's simplicity and the extensive sibling list.

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 schema description coverage is 0%, so the description must clarify the parameters. It does so by mapping 'horizon' to horizon_days, 'confidence' to confidence, and stating defaults (1-day, 99%). This gives additional context beyond the raw names, though it stops short of describing ranges or interpretation.

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 the tool provides portfolio VaR and CVaR with configurable horizon and confidence, giving concrete defaults. It includes a specific call signal ('how much could the portfolio lose?') that distinguishes it from the broad sibling list. The verb is implied but the resource and output metric are 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 when to invoke the tool ('when the user asks "how much could the portfolio lose?" or needs a tail-risk number before sizing or hedging decisions'), providing clear context. It does not mention alternatives or exclusions, but the guidance is direct and actionable.

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

tengu_v3_accounting_flagsAInspect

Forensic accounting red flags with plain-language reasons, from the forensic-audit dataset: fraud/SEC-investigation/adverse restatements, auditor resignations, going-concern or disagreement auditor changes, auditor churn, audit-fee swings >50% yoy, and non-audit-fee dominance (independence risk). Each flag carries severity + reason with the evidence rows attached. Call it before trusting reported financials on any name with earnings-quality doubts (e.g. SMCI returns the 2024 EY-resignation cluster); an empty flags list on a covered name is a genuinely clean record.

ParametersJSON Schema
NameRequiredDescriptionDefault
limitNo
tickerYesPath parameter 'ticker' (required).
Behavior3/5

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

With no annotations, the description carries the full burden. It explains the output structure (severity + reason + evidence rows), the types of flags covered, and the interpretation of an empty result as 'genuinely clean'. However, it doesn't disclose behavior for uncovered or invalid tickers, potential errors, or any rate limits, leaving gaps in edge-case handling.

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?

Three dense sentences with no filler. The first sentence is a long, comma-separated list that front-loads the flag types, which is efficient but visually heavy. Overall, each sentence earns its place and the structure follows a logical flow: what, output shape, when to use.

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?

Since there is no output schema, the description does a good job explaining the return format ('severity + reason with the evidence rows attached') and the meaning of an empty list. It also gives usage timing and a named example. Missing are specifics about ticker coverage and error handling, but for a read-oriented data tool this is fairly complete.

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 50%: only 'ticker' gets a bare description in the schema. The description adds real context for the ticker via the SMCI example, but says nothing about the 'limit' parameter, its default, or its meaning. The description only partially compensates for the schema's lack of detail.

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?

The description clearly identifies the resource ('Forensic accounting red flags with plain-language reasons') and covers specific flag types, which distinguishes it from sibling tools. However, it lacks an explicit verb like 'retrieves' or 'lists', so the purpose is conveyed through a noun phrase rather than a direct action statement.

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 gives explicit usage context: 'Call it before trusting reported financials on any name with earnings-quality doubts' and provides a concrete example (SMCI/EY-resignation cluster). It doesn't state when not to use it or name alternative tools, so it misses the exclusion/alternative guidance for a 5.

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

tengu_v3_accuracyAInspect

Realised-vs-predicted accuracy over a rolling window (window_days, default 90) — how well predictions matched what actually happened. Call this when the user asks how accurate the system has been or wants a track record before trusting a new call; use prediction_tracker for individual predictions.

ParametersJSON Schema
NameRequiredDescriptionDefault
window_daysNo
Behavior3/5

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

With no annotations provided, the description must carry the full burden of behavioral disclosure. It does mention the rolling-window behavior and default window size, which is useful, but it does not state whether this is a read-only operation, describe any side effects, or explain the output format. It provides the core behavior but lacks additional context.

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 two sentences with no filler. It packs in the core definition, parameter semantics, usage trigger, and an alternative tool reference. Every clause earns its place.

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?

The tool has one optional parameter and no output schema, so the description should clarify the return value. It explains the metric and when to use it, but it does not specify whether the output is a single accuracy figure, a time series, or the units (e.g., percentage). This is a notable gap for a tool where the output format is not otherwise defined.

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 has no parameter descriptions (0% coverage), so the description must compensate. It does so by explaining that 'window_days' controls the rolling window and noting the default of 90. This gives the parameter meaning beyond the raw schema, though it could go further by explaining allowed ranges or effects of different values.

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 identifies the tool's function: 'Realised-vs-predicted accuracy over a rolling window' and explicitly differentiates it from the sibling tool 'prediction_tracker' by stating 'use prediction_tracker for individual predictions'. This makes the purpose unambiguous and distinct.

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 provides explicit when-to-use guidance: 'Call this when the user asks how accurate the system has been or wants a track record before trusting a new call'. It also names the alternative for individual predictions, giving clear usage boundaries.

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

tengu_v3_agent_latestDInspect

Recent outputs from a named agent

ParametersJSON Schema
NameRequiredDescriptionDefault
limitNo
tickerNo
agent_nameYesPath parameter 'agent_name' (required).
Behavior1/5

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

Annotations are absent, so the description alone should disclose behavioral traits. It only says 'Recent outputs' with no details on pagination, return structure, whether it is a read-only operation, rate limits, or any other runtime behavior. The description provides essentially no additional behavioral insight beyond the tool's name.

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

Conciseness2/5

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

The description is extremely short but not effectively concise—it is a fragmented noun phrase that under-specifies the tool. It lacks a complete sentence structure, and while there is no wasted content, the low information density makes it insufficient for the reader to understand the tool's purpose.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness1/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given a 3-parameter tool with no output schema and no annotations, the description should explain what the output is, how limit and ticker affect results, and what 'outputs' actually refer to. None of this is provided. This falls far short of being complete enough for an AI agent to select and invoke the tool correctly.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters2/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

The description adds minimal meaning: 'named agent' hints that agent_name selects the agent, but this is only partially helpful. The other parameters, limit and ticker, have no descriptions in the schema and are not explained in the tool description. Schema description coverage is only 33%, and the agent_name description itself is tautological ('Path parameter (required).'), so the description does not compensate for the lack of parameter semantics.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose2/5

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

The description 'Recent outputs from a named agent' is a noun phrase with no verb, so it does not explicitly state the action (e.g., retrieve, list). It identifies the resource (recent outputs, named agent) but lacks procedural clarity. It does not differentiate from sibling tools like tengu_v3_agent_status or tengu_v3_agents_list, which could also relate to agent outputs.

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

Usage Guidelines1/5

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

There is no guidance on when to use this tool versus alternatives. The description does not mention context, prerequisites, or exclusions. It fails to point to related tools such as tengu_v3_agents_list for discovering agents or tengu_v3_agent_status for status checks, leaving the AI agent without any direction on appropriate usage.

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

tengu_v3_agents_listAInspect

Catalogue of every agent in the swarm — one entry per agent. Call this when the user asks which agents exist, what the swarm is composed of, or to resolve an agent's name before drilling into its output.

ParametersJSON Schema
NameRequiredDescriptionDefault

No parameters

Behavior4/5

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

With no annotations, the description carries the burden. It discloses that the tool returns a catalogue with one entry per agent, which is a complete behavioral description for a zero-parameter list operation. It could mention output fields or ordering, but for a simple list, this is sufficient.

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?

Two sentences, front-loaded with the core purpose. Each sentence adds value: the first defines the output, the second gives usage context. No wasted words.

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?

For a zero-parameter list tool with no output schema, the description adequately explains what it returns (catalogue of every agent, one entry per agent) and when to call it. It could specify entry fields, but the stated purpose ('resolve an agent's name') implies enough structure for selection.

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?

There are zero parameters, so the baseline is 4. The description correctly omits parameter details; there is nothing to add beyond the empty schema.

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 uses a specific verb ('Catalogue') and resource ('every agent in the swarm'), clearly stating what the tool returns. It also distinguishes itself from sibling tools by noting it is the swarm-wide list, ideal for resolving an agent's name before drilling into its output.

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?

It explicitly states when to use ('when the user asks which agents exist, what the swarm is composed of, or to resolve an agent's name') and implies sequencing ('before drilling into its output'). It lacks named alternatives or explicit when-not-to-use, but the context is clear.

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

tengu_v3_agent_statusCInspect

Latest heartbeat + stats for one agent

ParametersJSON Schema
NameRequiredDescriptionDefault
agent_nameYesPath parameter 'agent_name' (required).
Behavior2/5

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

With no annotations, the description carries full responsibility for behavioral disclosure. It states the tool returns 'heartbeat + stats', but does not clarify whether it is read-only, what a heartbeat signifies, what kind of stats are included, or how errors are handled (e.g., unknown agent).

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 description is ultra-concise, using only six words to convey the essential purpose. It is front-loaded with 'Latest heartbeat' followed by scope. However, it may be underspecified for a complex tool, but for a simple status retrieval it is well-sized.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness2/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

The tool has no output schema, so the description should explain what the returned data includes. 'Heartbeat + stats' is vague, not specifying which stats or how they are structured. Additionally, with many sibling tools, this description lacks the context needed to choose it correctly without further investigation.

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 coverage is 100% for the single required parameter, agent_name, which already provides a basic description. The tool description adds 'for one agent' which aligns with agent_name but does not add syntax, format, or edge-case details beyond the schema.

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?

The description clearly states the resource (agent status) and scope (one agent), using 'Latest heartbeat + stats' to convey a retrieval operation. It somewhat distinguishes from siblings like tengu_v3_agents_list (which lists all agents), but does not explicitly differentiate from tengu_v3_agent_latest, which could be similar.

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

Usage Guidelines2/5

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

No guidance is provided on when to use this tool versus alternatives. The phrase 'for one agent' implies a use case, but there is no explicit mention of exclusions or related tools such as tengu_v3_agents_list or tengu_v3_agent_latest.

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

tengu_v3_alerts_activeDInspect

Currently-active alerts

ParametersJSON Schema
NameRequiredDescriptionDefault
severityNo
Behavior1/5

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

With no annotations provided, the description carries the full burden of behavioral disclosure, but it offers none. It does not mention read-only behavior, response format, pagination, rate limits, or any side effects. The phrase 'Currently-active alerts' merely states the nominal output without explaining what the tool actually does or returns.

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

Conciseness2/5

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

The description is only two words long, but this is under-specification rather than effective conciseness. It lacks any structure such as a sentence with a verb or clear definition. The extreme brevity means it fails to convey necessary information, earning a low score for structure.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness1/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

The tool has no output schema, no annotations, and only a single optional parameter, yet the description is still grossly incomplete. It does not specify what constitutes an 'active' alert, the structure of the returned data, or any limits or filters. Given the large sibling set, the lack of contextual detail makes this tool nearly unusable for an agent.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters2/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

The schema has one optional parameter 'severity' with enumerated values, but schema description coverage is 0%. The description does not mention the parameter at all, so the agent learns nothing about how to filter alerts by severity. While the enum labels themselves are self-explanatory, the description fails to compensate for the missing parameter documentation.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose2/5

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

The description 'Currently-active alerts' essentially restates the tool name 'tengu_v3_alerts_active' without adding specific detail. It fails to clarify what 'alerts' refers to (e.g., system alerts, market alerts, copilot alerts) and does not distinguish this from sibling tools like tengu_v3_stream_alerts or tengu_v3_news_alerts. This is a tautology-level restatement.

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

Usage Guidelines2/5

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

The description provides no guidance on when to use this tool versus alternatives. There are no hints about context, prerequisites, or exclusions. The agent is left without any information to decide between this and other alert-related tools in the sibling list.

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

tengu_v3_api_quotasAInspect

Per-feed external API quota usage and cap status (news, news-analytics, market-data, alt-data). Call when the user asks whether the system/data pipeline is healthy or why data looks missing/stale.

ParametersJSON Schema
NameRequiredDescriptionDefault

No parameters

Behavior3/5

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

No annotations are provided, so the description carries the burden. It implies a read-only diagnostic check but does not explicitly state side effects, output format, or that it does not mutate anything. The link to data missing/stale adds some context.

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?

Two sentences, front-loaded with purpose and followed by usage guidance. No wasted words; every part earns its place.

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?

For a zero-parameter tool with no output schema, the description covers what it does and when to use it. It could briefly mention what 'cap status' entails or output fields, but overall it is sufficiently complete.

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?

With 0 parameters, the baseline is 4. The description adds the 'per-feed' scope, clarifying what the data covers, which is helpful despite no parameters existing.

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 the tool reports per-feed external API quota usage and cap status, naming the specific feeds (news, news-analytics, market-data, alt-data). This is specific and distinguishes it from status/health tools like tengu_status or tengu_system_health by focusing on API quotas.

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?

Explicitly says 'Call when the user asks whether the system/data pipeline is healthy or why data looks missing/stale.' This provides clear context but does not mention alternatives or exclusions, stopping short of a full 5.

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

tengu_v3_backtest_run_detailDInspect

Detail for a single backtest run

ParametersJSON Schema
NameRequiredDescriptionDefault
run_idYesPath parameter 'run_id' (required).
Behavior1/5

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

There are no annotations, so the description must convey behavioral traits such as read-only nature, output format, error conditions, or side effects. It discloses nothing beyond the fact that it returns detail for one run, leaving the agent unable to infer safety or expected behavior.

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

Conciseness2/5

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

The description is only one sentence, yet it is under-specified rather than concise. It restates the name and offers no actionable information, so it does not earn its place despite its brevity.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness2/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a detail-fetch tool with a single parameter, a complete description should mention what 'detail' includes (e.g., performance metrics, status, etc.) or any usage caveats. The description omits all such context, leaving the agent guessing about the response and overall utility.

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 coverage is 100% for the single parameter 'run_id' (with a minimal description 'Path parameter run_id (required)'), so the baseline of 3 applies. The tool description adds no extra meaning about what run_id represents or how to format it, but the schema is present and adequate enough to avoid a lower score.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose2/5

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

The description 'Detail for a single backtest run' is essentially a tautological restatement of the tool name 'tengu_v3_backtest_run_detail'. It does not specify what kinds of details are returned or the exact scope, and it does not differentiate this tool from closely related siblings like tengu_v3_backtest_runs.

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

Usage Guidelines1/5

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

No guidance is provided on when to use this tool versus alternatives. The description offers no comparison to sibling tools, no context for selection, and no mention of prerequisites or complementary tools.

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

tengu_v3_backtest_runsBInspect

List recent backtest runs

ParametersJSON Schema
NameRequiredDescriptionDefault
limitNo
Behavior2/5

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

No annotations are provided, so the description carries full responsibility for behavioral disclosure. 'List recent backtest runs' gives minimal information: it does not specify what 'recent' means, sorting order, pagination behavior, or what fields are returned. This is a significant gap for a tool with no annotation safety profile.

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 a single, short sentence with no filler words. It is front-loaded and every word earns its place, making it highly concise and well-structured.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness2/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a list tool with no output schema and no annotations, this description is incomplete. It does not explain what a backtest run is, what fields are returned, how the limit parameter affects results, or how this relates to the detail tool. The 'recent' qualifier is vague, leaving the agent uncertain about the response format and tool behavior.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters2/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

The sole parameter 'limit' is not mentioned in the description, and the schema provides no descriptive text (0% coverage). While the schema gives type, default, min, and max, the description adds no meaning. The parameter name is somewhat self-explanatory, but the description does not compensate for the lack of schema descriptions.

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 'List recent backtest runs' clearly states a specific action (list) and resource (backtest runs), with a temporal qualifier ('recent'). It distinguishes from sibling tools like tengu_v3_backtest_run_detail, which presumably retrieves details of a single run.

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?

The description does not explicitly mention when to use this tool versus alternatives such as tengu_v3_backtest_run_detail. However, the verb 'list' and the resource name imply enumeration, and the sibling name suggests detail retrieval. This is implied usage rather than explicit guidance.

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

tengu_v3_believabilityDInspect

Calibrated trust per signal source

ParametersJSON Schema
NameRequiredDescriptionDefault
limitNo
sourceNo
Behavior1/5

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

No annotations are provided, so the description must carry the full burden. It discloses nothing about behavior: no pagination, rate limits, side effects, return format, or operational constraints. 'Calibrated trust' hints at a score but lacks any behavioral detail.

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

Conciseness2/5

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

The description is extremely short, but under-specification is not conciseness. It is a fragment without a sentence structure, lacking the minimal details needed to be useful. It does earn slight credit for brevity but fails to provide substance.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness1/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

With no output schema, no annotations, and zero parameter descriptions, the description is wholly inadequate for an agent to safely invoke the tool. It does not clarify whether this is a read operation, what data it returns, or how to use the source parameter.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters1/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 0%, meaning the schema only gives types (integer/string) and a default. The description does not explain what 'source' refers to, what 'limit' controls, or any expected value formats. It adds no meaning beyond the schema.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose3/5

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

The description 'Calibrated trust per signal source' is a noun phrase, not a clear verb+resource statement. It vaguely suggests a metric or rating related to signal source trust, but does not specify what action the tool performs (e.g., retrieve, calculate, list) and does not distinguish it from similar sibling tools like tengu_v3_intel_model_calibration.

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

Usage Guidelines1/5

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

The description provides no guidance on when to use this tool versus alternatives. There is no mention of exclusions, prerequisites, or alternative tools. It is a bare label with no contextual instructions.

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

tengu_v3_briefing_dailyAInspect

Daily briefing for a given user_id: regime, overnight futures, earnings_today, macro_today, watchlist_signals, news_highlights, risk_exposure, top_movers. ALWAYS returns a briefing — served from a precomputed cache (~5ms) when available, else built on demand (~3s, no LLM calls). The response carries '_source': 'precomputed' or 'computed:request_time' so callers can tell which path served them. Pass precompute_only=true ONLY when you specifically need to know whether the cron has already run (e.g. monitoring scripts) — that path returns 404 instead of building.

ParametersJSON Schema
NameRequiredDescriptionDefault
dateNo
user_idYes
fallback_buildNo
precompute_onlyNo
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 of behavioral disclosure. It reveals the cache vs on-demand behavior (~5ms vs ~3s), the absence of LLM calls during on-demand builds, the presence of a '_source' field in responses, and the 404 behavior for precompute_only when the cron hasn't run. These are non-obvious behaviors that an agent needs to understand for correct invocation and response interpretation.

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 description is somewhat long but every sentence carries meaningful information: content list, cache behavior, response marker, and special parameter guidance. It is front-loaded with the core purpose and then supplies necessary behavioral details. The length is justified given the tool's complexity, though it could be slightly tightened.

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?

The description covers the essential invocation context: what the tool returns, the two execution paths, response disambiguation, and when to use the special parameter. However, it leaves gaps around the 'date' and 'fallback_build' parameters, and does not mention any potential error cases beyond the 404. Given the lack of an output schema, this is still a fairly complete picture for an agent to use the tool correctly.

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?

The input schema has 0% description coverage, so the description must compensate. It provides detailed meaning for precompute_only and implies user_id is the target user for the briefing. However, it does not explain the 'date' or 'fallback_build' parameters at all, leaving their purpose ambiguous. The description adds value for some parameters but not all, so a middle score is appropriate.

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 identifies the tool as a daily briefing for a given user_id and enumerates the exact contents (regime, overnight futures, earnings_today, macro_today, watchlist_signals, news_highlights, risk_exposure, top_movers). This is a specific verb+resource combination and distinguishes the tool from siblings like tengu_v3_briefing_status by focusing on the briefing content rather than status.

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 explicitly states when to use the tool (daily briefing for a user) and provides clear usage constraints for the precompute_only parameter: 'Pass precompute_only=true ONLY when you specifically need to know whether the cron has already run (e.g. monitoring scripts)'. This gives concrete when-to-use and when-not-to-use guidance, and also explains the two serving modes (cache vs on-demand) without needing to consult alternatives.

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

tengu_v3_briefing_statusAInspect

Presence check for today's briefing payload for a user/date. Call when the user asks whether the daily briefing was generated or why it looks missing.

ParametersJSON Schema
NameRequiredDescriptionDefault
dateNo
user_idYes
Behavior3/5

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

No annotations are provided, so the description must carry the behavioral disclosure burden. 'Presence check' implies a read-only boolean-like query, but it does not specify the exact output (e.g., true/false, payload object), error behavior, or whether side effects are absent. It adds some context but is not fully transparent.

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 two sentences, front-loaded with the core purpose and then a clear usage direction. Every word earns its place, with no redundancy or filler.

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 simple presence-check tool with 2 parameters and no output schema, the description covers the primary use case but leaves the return format and behavior on missing payloads undefined. It does not explain what a negative presence result looks like or how to interpret 'why it looks missing', which could be ambiguous.

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 coverage is 0%, so the description must compensate. It mentions 'for a user/date', identifying the two parameters conceptually, but it does not explain formats, defaults, or that user_id is required. The parameter names are simple enough to infer, but the description does not fully annotate their semantics.

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 the tool's function as a 'Presence check for today's briefing payload', using a specific verb (check) and resource (briefing payload). It also distinguishes itself from the sibling tool tengu_v3_briefing_daily by focusing on status/availability rather than generation or retrieval.

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 provides explicit usage context: 'Call when the user asks whether the daily briefing was generated or why it looks missing.' This gives a clear when-to-use scenario, though it does not explicitly name alternative tools to avoid or state when-not-to-use conditions.

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

tengu_v3_copilot_thesis_alertsAInspect

EMPTY UNTIL FIRST USE — not broken. Tracked decisions live in Redis and a row is appended ONLY on a state CHANGE, so this populates the FIRST time a tracked decision transitions. Say that to the user rather than reporting an outage. Alerts from the tracked-decision monitor: thesis intact/weakening/broken transitions, earnings-imminent, interval breaches — poll after decision_track. The 2x/day monitor job sweeps every tracked decision and appends a row ONLY on state change (deduped), so every alert here is a NEW transition worth surfacing. alert_type in {status_change, earnings_imminent, interval_breach, stale_decision}; each row carries entry/last price, realised return, score_original → score_current delta, prev_status → thesis_status, severity and a render-ready narrative. Filter with ?ticker= and ?since_hours= (default 72).

ParametersJSON Schema
NameRequiredDescriptionDefault
limitNo
tickerNo
since_hoursNo
Behavior5/5

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

With no annotations, the description carries full behavioral disclosure. It explains that rows are appended only on state change (deduped), the monitor runs 2x/day, and it details the alert_type enum and row fields. This gives the agent a clear model of what the tool returns and avoids false outage reports.

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 description is a dense, multi-clause paragraph that covers many aspects but lacks clear sectioning. It is front-loaded with a surprising 'EMPTY UNTIL FIRST USE' notice before stating the core purpose, and the structure could be improved with bullet points or short sentences. Still, every sentence contains useful information.

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?

Given the absence of an output schema and annotations, the description compensates by listing the alert types, row fields, filter parameters, and the empty-state behavior. It is comprehensive enough for an agent to invoke the tool and interpret results 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?

Schema coverage is 0%, so the description must explain parameters. It clarifies ticker and since_hours as filters and provides the default for since_hours, but it does not mention limit. The schema itself provides default/min/max for limit, so the gap 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?

The description identifies the tool as alert output from the tracked-decision monitor, listing specific alert types (status_change, earnings_imminent, interval_breach, stale_decision) and describing the data rows. This clearly distinguishes it from other alert tools like tengu_v3_alerts_active or tengu_v3_stream_alerts by scoping it to thesis transitions.

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?

It explicitly tells the agent to poll after decision_track (when the underlying decisions are updated) and instructs how to handle an empty result ('EMPTY UNTIL FIRST USE — not broken... Say that to the user rather than reporting an outage'). It does not name alternative tools but gives enough contextual cues for when to use it.

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

tengu_v3_cost_estimateAInspect

Pre-trade expected execution cost for a ticker: spread, market impact, and commission for a given qty (default 100) and side (buy/sell). Call it to know what a trade will actually cost before sizing or routing it; use twap_plan/vwap_plan for the execution schedule itself.

ParametersJSON Schema
NameRequiredDescriptionDefault
qtyNo
sideNobuy
tickerYesPath parameter 'ticker' (required).
Behavior4/5

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

With no annotations, the description carries the full burden. It discloses that the tool produces an estimate (not a guarantee), names the cost components, and implies a read-only, pre-trade nature. It could add context about data sources or units, but for a simple estimator this is adequate. It does not contradict anything.

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?

Two sentences, front-loaded with the core purpose, followed by a usage tip. No filler, every clause adds value. This is a model of concise, structured description.

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?

The tool has no output schema, so the description must convey return value and workflow context. It lists the three cost components (spread, impact, commission) and states when to call it ('before sizing or routing'). It doesn't specify units or return format, which would be nice, but for its simplicity the coverage is strong. It also complements the execution-plan siblings.

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 only 33% (only ticker has a description). The description compensates by explaining qty (default 100) and side (buy/sell), including defaults and the meaning of the side parameter. It does not add detail on qty bounds beyond defaults, but the schema covers those. The description adds meaningful semantic context beyond the bare schema.

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 the tool computes 'pre-trade expected execution cost' for a ticker, listing specific components: spread, market impact, and commission. This is a specific verb+resource with a clear output scope. It also distinguishes itself from sibling tools twap_plan/vwap_plan, which is exemplary.

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?

Explicitly says 'Call it to know what a trade will actually cost before sizing or routing it' and directs to 'use twap_plan/vwap_plan for the execution schedule itself.' This gives both when-to-use and alternative tools, making the decision boundary crystal clear.

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

tengu_v3_creditAInspect

One-call credit snapshot for a company — call FIRST for any 'how risky is this company's debt?' question: latest securities-finance 5Y CDS spread (bps) with ~90-quote trend + market-implied default probability, current S&P rating with the last upgrade/downgrade action, a recent FINRA TRACE bond yield/volume summary, and the syndicated-loan-facility count. Blocks degrade independently (a missing dataset returns an error field in its block, never a failed call). Drill down with the credit bonds/cds/ratings/loans tools.

ParametersJSON Schema
NameRequiredDescriptionDefault
tickerYesPath parameter 'ticker' (required).
Behavior4/5

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

With no annotations, the description carries the full burden. It discloses that blocks degrade independently and that missing data returns an error field instead of failing the call—a valuable behavioral trait. It doesn't mention authentication or side effects, but for a read-only snapshot this is less critical, and the degradation behavior adds significant transparency.

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 three sentences, front-loaded with the purpose, then lists contents, behavioral nuance, and related tools. Each sentence earns its place with no redundancy or filler.

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?

For a single-parameter snapshot tool with no output schema, the description communicates the return content, use case, degradation behavior, and related tools. It could slightly elaborate on the output envelope (e.g., response structure), but it is sufficiently complete for an agent to call and interpret the result.

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?

The only parameter is 'ticker', whose schema description merely says 'Path parameter (required)'. The tool description doesn't elaborate on the ticker format or examples, but the phrase 'for a company' makes its meaning obvious. Baseline of 3 applies because schema coverage is 100%, even though the schema description is thin.

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 explicitly states it provides a 'credit snapshot' and enumerates precisely what data it returns (CDS spread, default probability, S&P rating, bond yield/volume, loan count). It is clearly positioned as the first call for credit risk questions, and the 'Drill down' sentence distinguishes it from the more specific credit_bonds/cds/ratings/loans tools.

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 gives an explicit usage trigger ('call FIRST for any how risky is this company's debt? question') and names the alternative drill-down tools. It doesn't explicitly state when NOT to use it, but the 'call FIRST' framing strongly implies it is the entry point and that more granular tools are for follow-up.

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

tengu_v3_credit_bondsAInspect

FINRA TRACE corporate-bond trade prints for one issuer — individual OTC trades (price, yield, volume, buy/sell side) showing where the company's bonds ACTUALLY trade (realised credit spreads, not quotes). Matched by the FINRA bond-symbol prefix of the equity ticker; window spans at most 90 days (422 beyond). TRACE on licensed-research lags realtime by months — when the default recent window is empty the response includes latest_available; page backwards from it.

ParametersJSON Schema
NameRequiredDescriptionDefault
endNo
limitNo
startNo
tickerYesPath parameter 'ticker' (required).
Behavior5/5

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

No annotations are provided, so the description carries the full burden. It discloses key behavioral traits: the maximum 90-day window, potential data lag of months, the fallback to 'latest_available' when the default window is empty, and the need to page backwards. This is beyond what the schema provides and is highly actionable.

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 packs dense, relevant information into three tightly structured sentences: purpose/content, matching/window, and lag/paging behavior. Every clause adds value; no filler or redundancy.

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?

Given there is no output schema and no annotations, the description is remarkably complete: source (FINRA TRACE), scope (one issuer), content (price, yield, volume, side), matching logic, time window, data lag, fallback, and pagination guidance. An agent can reasonably invoke this tool and interpret responses without additional external knowledge.

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 low (25%), with only 'ticker' described. The description compensates by explaining the matching mechanism (FINRA bond-symbol prefix), the window span (at most 90 days), and the paging behavior ('page backwards from latest_available'). This adds meaningful context for start/end and limit, though it doesn't detail exact date formats.

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 the tool's purpose: it provides FINRA TRACE corporate-bond trade prints for one issuer, with specific data fields (price, yield, volume, buy/sell side). It distinguishes itself from sibling credit tools by emphasizing realized credit spreads on actual OTC trades rather than quotes, and the matching mechanism via FINRA bond-symbol prefix.

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 implies when to use this tool: when you need actual bond trade prints and realized credit spreads for a specific issuer, contrasting with 'not quotes'. It also provides operational guidance on the 90-day window and lag, but it doesn't explicitly name alternative tools or state explicit exclusion criteria, so a slight gap remains.

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

tengu_v3_credit_cds_historyAInspect

Daily 5Y single-name CDS spread history: composite par spreads (raw + bps), market-implied default probability, average/implied agency rating. Call it for how default risk has trended (tengu_v3_credit is the one-call snapshot). Coverage 2005 to end-2025, 5Y tenor; tickers match the equity symbol for liquid US names (F, T, GE...).

ParametersJSON Schema
NameRequiredDescriptionDefault
endNo
limitNo
startNo
tickerYesPath parameter 'ticker' (required).
Behavior3/5

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

With no annotations, the description carries the disclosure burden. It lists returned metrics and coverage, but does not describe output structure, pagination, or handling of missing data. It adds useful context but leaves notable behavioral aspects undisclosed.

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?

Two sentences, each carrying distinct value: first lists data contents, second provides usage, coverage, and ticker guidance. No redundancy or fluff, and it is front-loaded with the most important information.

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?

The description is sufficient for tool selection but incomplete for correct invocation. It does not specify date formats, whether start/end are inclusive, the meaning of the limit parameter, or the exact response shape. More detail would be expected given 4 parameters and no output schema.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters2/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema coverage is only 25% (ticker only). The description mentions the default coverage range but does not explain how start/end or limit parameters behave, their format, or defaults (beyond limit's schema default). This is a significant gap for a history tool with a date range.

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 identifies the tool as a daily 5Y single-name CDS spread history, listing specific output fields (par spreads, default probability, rating). It explicitly distinguishes itself from the snapshot sibling by noting 'tengu_v3_credit is the one-call snapshot', which eliminates ambiguity.

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 usage guidance: 'Call it for how default risk has trended' and provides the alternative snapshot tool. It also includes coverage details (2005 to end-2025, 5Y tenor) and ticker matching rules for liquid US names, which informs when the tool is applicable.

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

tengu_v3_credit_indicesAInspect

Credit-index composites — the credit market's VIX-equivalents: CDX (NA IG/HY) + iTraxx (Europe/Asia/SovX) daily composite spreads and prices by series/version/tenor, 2018 to T-2. Call it for credit-market risk appetite, spread-widening episodes, or cross-asset stress context. FRESHNESS IS T-2 (daily composite) — never present as realtime.

ParametersJSON Schema
NameRequiredDescriptionDefault
daysNo
limitNo
familyNo
index_tickerNo
Behavior4/5

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

With no annotations provided, the description carries the full burden. It discloses a key non-obvious behavior: data is T-2 daily composite and must never be presented as realtime. This is essential to prevent agent errors. It does not cover other behaviors like output format or pagination, but the most critical caveat is explicitly highlighted.

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 three dense sentences: what the tool is, when to use it, and a key caveat. The freshness warning is effectively highlighted with capital letters. Every sentence adds value and there is no filler.

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?

The description covers the main purpose and the most important caveat, which is good given the absence of an output schema. However, it leaves parameter usage vague (especially days and limit) and does not specify what the response will look like. For a simple data retrieval tool this is acceptable but not fully complete.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters2/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 compensate. It partially explains the family parameter by connecting CDX/iTraxx to geographies, but it does not explain the days, limit, or index_ticker parameters. The phrase 'by series/version/tenor' hints at index_ticker meaning but lacks concrete syntax or defaults. This is insufficient for a 4-parameter tool with no schema descriptions.

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 identifies the resource as 'Credit-index composites' and specifies the exact components (CDX NA IG/HY, iTraxx Europe/Asia/SovX), data type (daily composite spreads and prices), and date range (2018 to T-2). This distinguishes it from sibling tools like credit_bonds or credit_cds_history, with a specific verb 'Call it for' and clear scope.

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 when to use the tool: 'Call it for credit-market risk appetite, spread-widening episodes, or cross-asset stress context.' It also provides a critical usage caution about freshness ('never present as realtime'). However, it does not name alternative tools or explicitly state when not to use it, so it falls just short of a 5.

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

tengu_v3_credit_loansAInspect

Syndicated loan book for one borrower: per-facility size, type (revolver/term), maturity, security/seniority, all-in drawn/undrawn spread bps, covenants; include_lenders adds recent-facility syndicate allocations. Private-credit complement to the TRACE bond tape; call for leverage, facility or covenant questions; match on borrower ticker.

ParametersJSON Schema
NameRequiredDescriptionDefault
limitNo
tickerYesPath parameter 'ticker' (required).
include_lendersNo
Behavior4/5

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

With no annotations, the description carries the full burden. It adds meaningful behavioral context by describing the data content and explaining that include_lenders adds syndicate allocations. It stops short of explicitly addressing read-only status, pagination, or output format, but the static 'loan book' phrasing and safe data-query nature are reasonably conveyed.

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 two sentences with dense, relevant information. The first sentence front-loads the core resource and fields; the second provides positioning and usage. Every clause earns its place, with no filler or repetition.

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 absence of an output schema, the description does a good job telling the agent what data to expect (facility-level details, covenants, optional lender allocations). It also supplies context about how it fits with the bond tape. Minor gaps exist around API-specific behaviors like limit semantics and possible empty results, but overall it is substantially complete.

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 coverage is low (only ticker has a tautological description). The description compensates by clarifying that ticker is a borrower ticker and explaining that include_lenders adds recent-facility allocations. However, the limit parameter is left entirely undocumented, meaning the agent receives no semantic guidance for it.

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 identifies the resource as a syndicated loan book for a single borrower, enumerating the specific data fields (facility size, type, maturity, security/seniority, spreads, covenants). It distinguishes itself from sibling credit tools by explicitly positioning as a private-credit complement to the TRACE bond tape, making its scope unambiguous.

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 explicitly states when to use this tool ('call for leverage, facility or covenant questions') and contrasts it with the bond tape (tengu_v3_credit_bonds). It also specifies the matching mechanism ('match on borrower ticker'), giving the agent clear criteria for tool selection.

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

tengu_v3_credit_ratingsAInspect

Full S&P rating-action history for one issuer's debt — every licensed institutional action (new rating, upgrade, downgrade, outlook/creditwatch change) with from/to symbols, newest first. Use when asked what a company is rated or when/why it was up/downgraded. Equity ticker is resolved to the issuer CUSIP-6 via the fundamentals security master; actions are instrument-level, so several rows can share a date.

ParametersJSON Schema
NameRequiredDescriptionDefault
limitNo
tickerYesPath parameter 'ticker' (required).
Behavior4/5

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

With no annotations, the description carries the transparency burden. It discloses sorting (newest first), issuer resolution via CUSIP-6, instrument-level actions that can share dates, and the licensed-action scope. It doesn't describe response shape or limit/pagination behavior, but it provides meaningful non-obvious context.

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?

Three dense, front-loaded sentences cover purpose, use cases, and resolution mechanics without filler. Each sentence earns its place.

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?

For a low-complexity two-parameter tool with no output schema, the description covers purpose, trigger, ordering, scope, and non-obvious resolution logic. Remaining gaps are output-field detail and explicit limit semantics, but these are minor for correct invocation.

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 coverage is only 50%; `ticker` has a tautological schema description and `limit` has no prose. The description adds real meaning to `ticker` by explaining equity-ticker-to-CUSIP-6 resolution, but it never clarifies `limit` behavior or its default. Partial compensation for the schema's weak coverage.

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 names a specific resource—'Full S&P rating-action history for one issuer's debt'—and lists the exact event types (new rating, upgrade, downgrade, outlook/creditwatch change) with from/to symbols and ordering. This clearly distinguishes it from credit-related siblings like bond, CDS, or calendar tools.

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?

Provides explicit trigger guidance: 'Use when asked what a company is rated or when/why it was up/downgraded.' It does not name alternative tools or state when not to use it, but the use cases are concrete enough to guide an agent.

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

tengu_v3_earnings_nextAInspect

Use when: the user asks for a specific ticker's next earnings date, when a company reports, the earnings calendar entry for a name, or anything of the form "when is X's next earnings?". This is the CANONICAL multi-source consensus tool — fans out to market-data, market-data, newswire, news, and web search in parallel; reconciles via primacy-weighted majority; returns a single canonical answer with per-source breakdown, deduplicated citations, and a vendor_coverage_alert when paid vendors silently lack data the web confirms. _meta.confidence is high (≥2 sources agree, or 1 primary source = market-data|web_search), medium (1 secondary source), or low (no confirmed date — projections demoted to _meta.next_earnings_date_projection_only). Top-level summary field for FE rendering. 15-min cache.

ParametersJSON Schema
NameRequiredDescriptionDefault
tickerYesPath parameter 'ticker' (required).
Behavior5/5

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

No annotations are present, so the description carries the full burden. It discloses multi-source fan-out, reconciliation via primacy-weighted majority, per-source breakdowns, deduplicated citations, vendor_coverage_alert, confidence level definitions, the projection-only flag, and 15-min caching. This is exemplary transparency.

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 front-loaded with usage guidance, and every clause in the two sentences adds value. There is no repetition or filler; it efficiently packs operational detail into a compact form.

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?

It thoroughly covers the return structure (summary, per-source breakdown, citations), confidence semantics, data quality alert, caching, and the low-confidence edge case with projection-only flag. This equips an agent to both invoke and interpret results without an output schema.

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?

The schema has a single parameter 'ticker' with a trivial description ('Path parameter'). The description adds no additional meaning about ticker format or examples. Schema coverage is 100%, so the baseline of 3 applies.

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 'Use when' and explicitly defines the query intent ('next earnings date', 'when a company reports'), followed by a clear statement that it returns a single canonical answer. It distinguishes itself from siblings by labeling itself the 'CANONICAL multi-source consensus tool' and specifying the exact resource (next earnings date for a ticker).

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?

It provides concrete usage triggers, including the natural language form 'when is X's next earnings?', and positions itself as canonical. However, it does not explicitly name alternative tools or state when not to use it, though the canonical label implies preference over other earnings-related tools.

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

tengu_v3_earnings_next_streamAInspect

STREAMING variant of tengu_v3_earnings_next — same consensus contract, delivered as Server-Sent Events (text/event-stream). Emits two events: partial when paid vendors reach consensus (~500ms first paint with is_projected=false, confidence=high based on paid alone) and result when web_search has verified (~2-3s; updates vendor_coverage_alert if web disagrees). Use when a consumer can render incrementally and wants the fastest possible first paint — chat surfaces and live tickers. Synchronous consumers should keep using tengu_v3_earnings_next (cost-aware: skips the web_search call entirely when paid agrees).

ParametersJSON Schema
NameRequiredDescriptionDefault
tickerYesPath parameter 'ticker' (required).
Behavior4/5

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

Even though no annotations are present, the description compensates well by disclosing key behavioral details: it emits partial and result events, first paint latency (~500ms with is_projected=false and confidence=high), the 2-3s verified result timing, and the vendor_coverage_alert flag when web consensus disagrees. It doesn't cover all potential failure modes or stream teardown behavior, but the core event-driven behavior is clearly disclosed.

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 compact yet information-dense, covering purpose, transport, event types, timing, confidence semantics, use cases, and a comparative alternative in two sentences. No filler or redundant restatement of the schema. Highly effective front-loading with the STREAMING variant headline.

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 streaming variant with one simple parameter and no output schema, the description fully explains the event contract, latency characteristics, and alternative tool. It tells the agent everything needed to decide between streaming and synchronous calls and interpret the two events. Complete for its complexity class.

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 schema has 100% coverage for the single required ticker parameter, so the baseline is 3. The description adds contextual meaning beyond the schema by implying the parameter is used to scope the earnings next consensus stream for a specific ticker. While it doesn't elaborate on validation or formatting, the parameter's purpose is obvious from the tool's description.

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 'STREAMING variant of tengu_v3_earnings_next' and states it delivers earnings consensus via Server-Sent Events. It clearly names the two emitted events (partial and result), their semantics, and timing, making the tool's purpose and scope unmistakable. This distinguishes it from its sibling tengu_v3_earnings_next while preserving the shared consensus contract.

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 explicitly states when to use this streaming variant — 'when a consumer can render incrementally and wants the fastest possible first paint' — and specifically cites chat surfaces and live tickers. It also provides a direct exclusion: 'Synchronous consumers should keep using tengu_v3_earnings_next', naming the alternative and explaining the cost-aware tradeoff.

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

tengu_v3_eventsAInspect

Company corporate-event history from a licensed events feed (41.9M events, 1990-2026): M&A, guidance changes, buybacks, exec changes, activism, offerings, index adds/drops + 100 more types, newest-first dated headlines + summaries. PRIMARY tool for 'what happened at COMPANY'; filter type= (see /api/v3/events/types), since/until.

ParametersJSON Schema
NameRequiredDescriptionDefault
typeNo
limitNo
sinceNo
untilNo
tickerYesPath parameter 'ticker' (required).
Behavior4/5

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

With no annotations provided, the description carries the full burden of behavioral disclosure. It reveals the data source (licensed feed), date range (1990-2026), ordering (newest-first), and output content (dated headlines + summaries), which are useful behavioral traits. However, it does not mention response format, pagination, error behavior, or rate limits, though for a read-only history tool this is reasonably transparent.

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 two dense sentences, front-loaded with the core purpose and followed by usage positioning and filter hints. Every clause adds value: data source, size, event examples, output format, primary use case, and filter parameters. No wasted words.

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 moderate complexity (5 params, no output schema, no annotations), the description covers the essential context: data scope, event taxonomy, ordering, output style, and filtering. It does not describe the exact response structure or pagination behavior, but it is sufficient for an agent to understand what the tool returns and when to invoke it. The completeness is strong but not exhaustive.

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 description coverage is low (20%), so the description compensates by explaining the meaning and filtering usage of 'type', 'since', and 'until' ('filter type=..., since/until'). It does not explicitly describe 'limit' or 'ticker', but 'ticker' is self-evident from the context and 'limit' is standard. The description meaningfully adds semantics beyond the bare schema.

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 that this tool provides company corporate-event history from a licensed feed, enumerating event types (M&A, guidance changes, buybacks, etc.) and output format (newest-first dated headlines + summaries). It also explicitly differentiates itself as the 'PRIMARY tool for what happened at COMPANY', which distinguishes it from news or other event-related siblings. While it lacks a strong imperative verb, the intent is unmistakable.

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 positions this as the primary tool for a specific use case ('what happened at COMPANY') and gives concrete guidance on filtering by type, since, and until. It does not explicitly name alternatives or state when not to use the tool, but the 'PRIMARY' designation provides strong situational context. The pointer to /api/v3/events/types for valid type values is helpful.

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

tengu_v3_events_typesAInspect

Legend of the 105 licensed institutional KeyDev corporate-event types: id, human label, and the slug accepted by the type= filter of /api/v3/events/{ticker}. Static — call once to discover valid event-type filters.

ParametersJSON Schema
NameRequiredDescriptionDefault

No parameters

Behavior4/5

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

With no annotations provided, the description carries the full burden. It discloses that the tool is static and intended for one-time discovery of valid filters, implying read-only, safe usage. It also reveals the nature of the output (id, label, slug), though it doesn't explicitly discuss side effects or return format. This is reasonable disclosure for a static reference tool.

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 extremely concise, consisting of two sentences that deliver all essential information upfront. It uses specific terms ('105 licensed institutional KeyDev corporate-event types', 'slug accepted by the type= filter') without waste, making it easy to parse quickly.

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 tool with no parameters and no output schema, the description is complete. It explains what the tool returns (id, human label, slug), how it relates to the events API, and when to use it. The low complexity of a static reference list means no additional details are necessary.

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 has zero parameters, so the baseline is 4. The description adds semantic context by explaining what the output contains (id, human label, slug) and its relationship to the type= filter. Even though there are no parameters to document, this helps the agent understand the tool's utility.

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 identifies the tool as a legend/reference of 105 licensed institutional KeyDev corporate-event types, listing id, human label, and slug. It explicitly states the purpose: to discover valid event-type filters for /api/v3/events/{ticker}. This distinguishes it from sibling event-related tools by pinpointing the exact use case.

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 advises to 'call once to discover valid event-type filters', which tells the agent when to use the tool. It also notes the tool is 'Static', implying no repeated calls are needed. While it doesn't name alternatives, the context is clear enough for correct selection among many sibling tools.

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

tengu_v3_factor_characteristic_historyAInspect

Monthly time series of ONE factor characteristic for a stock (e.g. mom_12m, bm, mktcap, realized_vol, sue, turnover), newest first. Call it to chart how an anomaly signal evolved for a name or to compare signal drift across names; a typo in char returns 422 with the full list of valid column names.

ParametersJSON Schema
NameRequiredDescriptionDefault
endNo
charNo
limitNo
startNo
tickerYesPath parameter 'ticker' (required).
Behavior4/5

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

With no annotations, the description must carry the full burden. It discloses ordering ('newest first'), the single-characteristic constraint ('ONE factor characteristic'), and a specific error behavior (typo in `char` returns 422 with valid column names). It does not mention date-range defaults or pagination, but the disclosed traits are useful and beyond what the schema provides.

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?

Two sentences deliver the core data definition, use case, and error behavior with no wasted words. The structure is front-loaded with the resource and scoping, making it easy to scan.

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?

The description covers the essential purpose, use cases, ordering, and error handling. Given the tool's simplicity and no output schema, it is fairly complete. Minor gaps remain around start/end parameter semantics and limit behavior, but those are inferable from schema names and defaults.

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 low (20%), so the description must compensate. It adds meaning for `char` by listing example values and the 422 error condition, and `ticker` is self-evident from the name. However, start/end/limit are not explained beyond their schema names and defaults, leaving important semantics (e.g., date format, range limits, default behavior) to inference.

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 specifies the resource: 'Monthly time series of ONE factor characteristic for a stock', with concrete examples (mom_12m, bm, mktcap, etc.) and ordering ('newest first'). It also implicitly distinguishes from sibling tools by using '_history' and explicitly from the non-history variant through the singular 'ONE factor characteristic' and use cases for charting evolution.

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?

It provides concrete when-to-use guidance: 'Call it to chart how an anomaly signal evolved for a name or to compare signal drift across names'. However, it does not explicitly name alternative tools or state when not to use it, leaving room for ambiguity.

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

tengu_v3_factor_characteristicsAInspect

Latest monthly firm-characteristic vector from the academic firm-characteristic panel (~460 columns incl. the 102 published anomaly characteristics — size, book-to-market, momentum, liquidity, accruals, analyst coverage, plus macro interactions). Call it when you need the full quant feature set for one stock, or a point-in-time vector via as_of. Ticker is resolved to its internal security key automatically.

ParametersJSON Schema
NameRequiredDescriptionDefault
as_ofNo
tickerYesPath parameter 'ticker' (required).
Behavior3/5

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

No annotations are provided, so the description carries the full burden. It adds some behavioral context: 'Latest monthly' indicates data frequency, 'Ticker is resolved to its internal security key automatically' discloses resolution behavior, and 'via as_of' explains the point-in-time capability. However, it does not discuss response format, potential large payloads, error behavior, or any access constraints, which limits transparency.

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 three sentences, each earning its place: purpose, usage, and a resolution note. It is front-loaded with the core function and contains no redundant text.

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?

For a simple retrieval tool with only two parameters and no output schema, the description adequately covers content, usage, and a key behavior. It does not specify the return shape or data availability, but given the tool's straightforward nature and absence of an output schema, the description is largely complete.

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?

The description adds meaning to both parameters: 'for one stock' clarifies the ticker's scope, and 'point-in-time vector via as_of' gives purpose to the optional parameter. It also notes automatic ticker resolution. However, the as_of date format is unspecified, and schema coverage is only 50%, so the description only partially compensates for the missing schema details.

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 what the tool does: returns the latest monthly firm-characteristic vector from an academic panel, with specific content details (~460 columns, 102 published anomalies). It distinguishes from siblings by noting it returns the full feature set for a single stock and supports point-in-time via as_of, contrasting with historical or exposure-focused tools.

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 provides usage context: 'Call it when you need the full quant feature set for one stock, or a point-in-time vector via as_of.' It clearly implies when to use this tool, though it does not explicitly name alternatives or exclusions. The guidance is sufficient for an agent to select it appropriately.

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

tengu_v3_factor_exposuresAInspect

Rolling factor betas (Fama-French 5 + momentum) for one stock: beta_mkt/smb/hml/rmw/cma/umd with alpha, idiosyncratic/total volatility and regression R², plus the monthly history of those loadings. Call it to know what factor bets a position actually carries before hedging or sizing it.

ParametersJSON Schema
NameRequiredDescriptionDefault
limitNo
tickerYesPath parameter 'ticker' (required).
Behavior4/5

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

There are no annotations, so the description carries the burden. It discloses the analytical nature, the rolling/monthly time-series behavior, and the exact metrics returned, making clear this is a read-only query. It does not explicitly state safety, but the language strongly implies no side effects.

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?

Two dense sentences, front-loaded with the output specification and ending with a practical use case. Every word earns its place; no redundancy or filler.

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?

The description covers the output content and a compelling use case, and it does not have an output schema to rely on. It is mostly complete, but it leaves some ambiguity around the 'limit' parameter and the rolling window length, which would help full invocation confidence.

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?

The description clarifies that 'ticker' refers to a single stock, but it does not explain the 'limit' parameter beyond its schema default and range. With 50% schema coverage, the description only partially compensates; the monthly-history phrase hints at limit's role but does not make it explicit.

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 states a specific verb and resource: 'Rolling factor betas (Fama-French 5 + momentum) for one stock' and lists exact output components (beta_mkt/smb/hml/rmw/cma/umd, alpha, volatilities, R², monthly history). This clearly distinguishes it from sibling factor tools by focusing on rolling betas and monthly loadings.

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 gives an explicit context: 'Call it to know what factor bets a position actually carries before hedging or sizing it.' However, it does not mention alternatives or when not to use this tool, so it lacks the full when/when-not/alternatives guidance.

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

tengu_v3_factor_predictorsAInspect

academic open-source predictor panel for one stock — a compact vector of 13 replicated accounting anomalies (Sloan accruals, Cooper-Gulen-Schill asset growth, Titman capital investment, Novy-Marx gross profitability, Fama-French operating profitability, cash-to-assets, leverage change, earnings consistency, revenue growth, positive-NI/positive-CFO flags, current ratio, net share issuance) at monthly grain. Call it for a ready-made feature vector when you don't need the full ~460-column factor panel. Returns the series newest-last, or with latest=true only the single most-recent row as a name->value map; with no start/end it serves the LATEST AVAILABLE rows (lagged quarterly archive) and reports the actual window. Ticker is resolved to its internal security key automatically (the table has no ticker column).

ParametersJSON Schema
NameRequiredDescriptionDefault
endNo
limitNo
startNo
latestNo
tickerYesPath parameter 'ticker' (required).
Behavior4/5

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

With no annotations, the description carries the full burden and does a solid job: it reveals series ordering (newest-last), the latest=true single-row map, the default window behavior when start/end are omitted, the lagged quarterly archive, and automatic ticker-to-internal-key resolution. It doesn't mention rate limits, errors, or data coverage, but it provides substantial non-obvious behavior context.

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 description is a single dense paragraph, but every sentence contributes distinct value: content definition, usage guidance, return behavior, and ticker resolution. It is well-structured and appropriately sized for the tool's complexity, though a bit dense for quick parsing.

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?

The description covers the full factor list, data grain, return formats (series vs. map), default window behavior, and ticker resolution. For a tool with no output schema and no annotations, it gives a strong picture of expected results and edge cases. It doesn't detail the exact JSON shape of the series, but the description is nonetheless quite complete.

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 only 20% (only ticker has a description, and it just says required). The description adds meaning for 'latest' (single-row map) and start/end (default window behavior), but it does not explain the 'limit' parameter or the expected date format for start/end. It partially compensates for the schema gap but leaves several parameters semantically unaddressed.

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 the tool provides a compact 13-factor predictor panel for one stock, enumerating the specific accounting anomalies (Sloan accruals, asset growth, gross profitability, etc.). It also distinguishes it from the full ~460-column factor panel, which differentiates it from sibling tools and identifies the exact resource being served.

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 says to call it for a ready-made feature vector when you don't need the full ~460-column factor panel, providing clear when-to-use context with an implied alternative. It also explains behaviors for no start/end and the latest=true flag, but it does not name sibling tools directly or elaborate on when to avoid this tool.

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

tengu_v3_features_catalogueAInspect

FEATURE-STORE CATALOGUE — the derived research panels this platform computes for its own models: what exists, how much of it there is, how far back it goes, and how fresh it actually is. Every entry carries MEASURED coverage (rows, symbols, distinct observation dates, history window) and a measured freshness block. freshness.status is current when the producer is inside twice its own declared cadence, or archival when the producer has stopped but the dataset is a genuine historical panel — an archival dataset is still readable and EVERY read of it says so. A second, independent flag, stale_for_its_own_cadence, fires when the newest observation is old relative to the table's own typical gap: it catches a panel rewritten nightly whose data still ends months ago because the upstream licence lags. Datasets whose producer stopped and which are NOT panels are listed under withheld with the measurement that disqualified them and have NO route at all; excluded lists live datasets deliberately not sold here, with the reason. Live-measured 2026-08-02: 19 servable datasets totalling 17,062,613 rows — 14 current, 5 archival (spanning 1962, 1970, 2000, 2025-05 and 2026-05 forward) — plus 5 withheld and 2 excluded. Call it first: it is the only place the slugs for /api/v3/features/{dataset} are published.

ParametersJSON Schema
NameRequiredDescriptionDefault

No parameters

Behavior4/5

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

With no annotations, the description carries the disclosure burden and is unusually detailed: it defines freshness.status values, archival readability with explicit read-time messaging, the independent stale_for_its_own_cadence flag, withheld/excluded categories, and route availability. It stops short of stating authentication/rate-limit behavior, but for a zero-parameter read catalogue this is thorough.

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 clause adds operational meaning: purpose, freshness semantics, stale flag, category meanings, live measured counts, and the call to action. It is front-loaded with the catalogue purpose and uses parallel structure effectively; no filler or repetition.

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 parameterless catalogue with no output schema, this is complete: it specifies what fields each entry carries (coverage and freshness blocks), how the freshness statuses behave, what withheld/excluded mean for routability, and even gives current dataset/row counts. An agent can decide to call it and know what to expect without additional structured metadata.

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 has zero properties, so the 0-parameter baseline of 4 applies. The description focuses on what the catalogue returns rather than parameter syntax, which is appropriate because there are no parameters to document.

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 identifies the tool as the feature-store catalogue for derived research panels, enumerating exactly what it exposes (existence, row counts, history depth, freshness). It also distinguishes it from sibling tools by stating it is the only place slugs for /api/v3/features/{dataset} are published, so an agent can immediately route to it.

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?

It gives explicit usage guidance: 'Call it first' and notes it is the sole publisher of dataset slugs. This tells an agent when to invoke it before feature-specific calls. It does not name alternative tools for exclusions, but for a catalogue the 'first' and 'only place' guidance is strong.

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

tengu_v3_features_datasetAInspect

READ ONE DERIVED FEATURE PANEL — the model-ready research features this platform computes for itself: price/return and liquidity features, monthly fundamentals, analyst-estimate dynamics, options and volatility-surface features, insider and institutional-ownership features, news-sentiment features, betas, regime and macro features. Discover the slugs via /api/v3/features/datasets — they are product names, not table names. With ?ticker= you get that symbol's observations newest first; without it you get the LATEST cross-section (every symbol on the most recent observation date), which is bounded by construction rather than by sorting the whole panel. Symbols resolve through the shared security resolver first and identity.identity_verified states whether the read was keyed on an authoritative identifier or on the resolved security's symbol; an ambiguous symbol is refused, never guessed. Every response carries the dataset's measured coverage (rows_total, symbols_total, observation_dates, history window) and its freshness, so an empty rows array arrives beside the count of symbols that DO have rows and can never be read as a dead upstream — result is the machine-readable outcome (rows, no_rows_for_symbol, no_rows_in_window). Five of the 19 servable datasets are archival: their producer has stopped, they are served for their history, and every response says so rather than implying currency. An unknown or withheld slug is a 404 and an unreadable store is a 503 — both refunded, because a billed 200 over an empty array is the defect this endpoint exists to remove.

ParametersJSON Schema
NameRequiredDescriptionDefault
limitNo
sinceNo
untilNo
tickerNo
datasetYesPath parameter 'dataset' (required).
Behavior5/5

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

With no annotations, the description carries full responsibility and does an excellent job. It discloses response structure (coverage fields, result values), edge cases (empty rows vs. symbols_with_rows), archival dataset behavior, and error handling with refunds (404/503). It also explains that ambiguous symbols are refused, never guessed.

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 description is a dense single paragraph that front-loads the main purpose. While long, nearly every sentence adds valuable operational detail (coverage, freshness, errors, archival). It could be better structured with breaks, but it is appropriately sized for the complexity.

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 no output schema, the description thoroughly explains the response envelope: coverage fields, freshness, result outcomes, row arrays, and error codes. It also covers the two data retrieval modes and the archival distinction. The only significant gap is the lack of explanation for limit/since/until, which are part of the input schema.

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 only 20%, so the description must compensate. It explicitly explains the dataset parameter (slugs are product names, discoverable via /api/v3/features/datasets) and the ticker parameter (two modes). However, it does not address the limit, since, or until parameters at all, leaving their semantics to inference.

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: 'READ ONE DERIVED FEATURE PANEL' and then enumerates the feature families (price/return, liquidity, fundamentals, etc.). It distinguishes this from siblings by emphasizing 'model-ready research features' and directing to /api/v3/features/datasets for slug discovery, clarifying this is the read endpoint for feature panels.

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?

It provides clear usage context: with ?ticker= you get per-symbol observations newest first; without it you get the latest cross-section. It also explains how to discover valid dataset slugs. However, it does not explicitly compare to alternatives or state when not to use this tool, though the purpose is distinct enough.

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

tengu_v3_framework_listAInspect

Lightweight catalogue of all registered frameworks — one row per framework with framework_id + intent + 1-line applies_when + version. Useful for discovery / debugging without parsing the full library. For the actual decision template, call tengu_v3_framework_lookup.

ParametersJSON Schema
NameRequiredDescriptionDefault

No parameters

Behavior4/5

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

With no annotations, the description carries the transparency burden. It discloses the output structure (one row per framework with specific fields), the lightweight nature, and the use case. It does not explicitly state read-only behavior, but that is strongly implied for a catalogue/list tool, and the absence is not a significant gap for this simple operation.

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?

Two sentences, zero waste. The first sentence defines the output, the second explains the use case and points to the more detailed alternative. Front-loaded and efficient.

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?

Given the tool has no parameters, no output schema, and no annotations, the description fully covers what an agent needs: what the list contains, why to use it, and when to defer to the lookup tool. No critical information is missing for this simple catalogue tool.

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 tool has zero parameters, so there is nothing for the description to add beyond the schema. Per the rubric, the baseline is 4 for 0-parameter tools, and the description appropriately does not attempt to invent parameter details.

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 this is a 'lightweight catalogue of all registered frameworks' with a one-row-per-framework format, listing specific fields. It also distinguishes itself from the related lookup tool, making its 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 Guidelines5/5

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

It explicitly says when to use this tool ('for discovery / debugging') and when not to use it ('for the actual decision template'), even naming the alternative tool (tengu_v3_framework_lookup). This is explicit when/when-not guidance.

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

tengu_v3_fundamentals_ai_analyzeAInspect

AI-generated company analysis for one ticker — summary, strengths, concerns, peer comparison and a quality score. Call this when the user wants a synthesized qualitative read rather than raw numbers. Premium: metered at 100 credits/mo.

ParametersJSON Schema
NameRequiredDescriptionDefault
tickerYesPath parameter 'ticker' (required).
Behavior4/5

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

With no annotations, the description carries the transparency burden. It discloses that the output is 'AI-generated' (non-raw, synthesized) and mentions the premium credit metering ('100 credits/mo'), which is a key usage constraint. It doesn't disclose things like data latency or that conclusions may be subjective, but the core behavioral traits are covered.

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 two sentences, front-loaded with the core functionality, then usage guidance, then cost. No filler or redundant restatement of the tool name. Every sentence earns its place.

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 one parameter, no output schema, and no annotations, the description is adequately complete: it explains what the tool returns, when to use it, and notes the credit meter. It could also mention output format or whether the analysis is real-time, but the key decision-making context is present.

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 schema offers only a tautological 'Path parameter ticker (required).' The tool description compensates by stating 'for one ticker' and 'company analysis,' which clarifies the parameter is a company ticker symbol. For a single obvious parameter, this meets the baseline without needing extensive documentation.

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 it produces an 'AI-generated company analysis for one ticker' and enumerates the output components: summary, strengths, concerns, peer comparison, and quality score. This specific verb and resource list distinguishes it from sibling tools that return raw fundamental data (e.g., tengu_v3_fundamentals_metrics) or other analysis tools like tengu_v3_intel_ml_prediction.

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?

Explicitly says 'Call this when the user wants a synthesized qualitative read rather than raw numbers,' which provides clear when-to-use guidance and implicitly excludes raw-data scenarios. However, it doesn't name specific alternative tools or list when-not-to-use cases beyond 'raw numbers,' so it stops short of full alternative differentiation.

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

tengu_v3_fundamentals_allAInspect

All three financial statements — income, balance sheet, and cash flow — for a ticker in one round-trip (default quarterly, last 4 periods). Call this when the user wants a full fundamental picture of a company instead of three separate statement calls.

ParametersJSON Schema
NameRequiredDescriptionDefault
limitNo
periodNoquarterly
tickerYes
Behavior3/5

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

With no annotations, the description carries the burden of behavioral disclosure. It reveals key defaults (quarterly, last 4 periods) and the efficiency of one round-trip. However, it does not disclose the output structure, potential large payload, error handling, or any limitations regarding data completeness for the three statements. This is a moderate disclosure level.

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 two sentences, front-loaded with the primary function and defaults, and the second sentence provides usage context. Every sentence adds value without redundancy or irrelevant details. It is exemplary in conciseness.

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?

Given the absence of an output schema and annotations, the description should ideally explain the return structure or any caveats. It covers the core purpose, defaults, and usage, but does not describe what the combined response looks like (e.g., how the three statements are organized) or any edge cases. This leaves the agent with some uncertainty about the output format.

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?

The description adds meaning to 'period' and 'limit' by stating 'default quarterly, last 4 periods,' which directly explains the default behavior of these two parameters. However, it does not elaborate on the range of 'limit' or the full enum of 'period' beyond the default, and 'ticker' is only implied. Schema coverage is low, so the description partially compensates but not fully.

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 the tool's function: it returns all three financial statements (income, balance sheet, cash flow) for a ticker in a single round-trip. It also specifies the default quarterly frequency and last 4 periods. The phrase 'instead of three separate statement calls' explicitly distinguishes it from sibling tools that provide individual statements.

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 provides explicit when-to-use guidance: 'Call this when the user wants a full fundamental picture of a company instead of three separate statement calls.' This clearly differentiates it from individual statement tools. However, it does not explicitly state when not to use it (e.g., if only one statement is needed), leaving that to implication.

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

tengu_v3_fundamentals_balance_sheetsAInspect

SEC EDGAR balance sheets for a ticker — assets, liabilities, and equity line-items per period, quarterly or annual (default quarterly, last 8 periods). Call this when the user asks about cash on hand, debt load, or book value straight from reported filings.

ParametersJSON Schema
NameRequiredDescriptionDefault
limitNo
periodNoquarterly
tickerYes
Behavior4/5

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

No annotations are provided, so the description carries the full burden. It adds key behaviors: default quarterly, last 8 periods, and source from SEC EDGAR. It doesn't discuss output format or the ttm period option, but provides solid context for a read-only data tool.

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?

Two sentences: first defines the data content, second defines when to use it. No filler, front-loaded with the core purpose.

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 low complexity and no output schema, the description covers essential purpose, defaults, and use cases. Minor gaps include the ttm period and response structure, but overall it's sufficient for an agent to select and invoke the tool correctly.

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?

The schema has zero description coverage, so the description must compensate. It explains ticker (implicit), period (quarterly or annual, default quarterly), and limit (last 8 periods). However, it omits the 'ttm' enum value and the limit range (1-200), leaving some parameter semantics unresolved.

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 it returns SEC EDGAR balance sheets with assets, liabilities, and equity line-items per period. This specific verb+resource (balance sheets for a ticker) distinguishes it from sibling tools like cash_flow_statements and income_statements.

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?

It explicitly instructs to call when the user asks about cash on hand, debt load, or book value straight from reported filings. This is an explicit 'when' clause, though it doesn't mention alternatives or exclusions.

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

tengu_v3_fundamentals_cash_flow_statementsAInspect

SEC EDGAR cash-flow statements for a ticker — operating, investing, and financing flows per period, quarterly or annual (default quarterly, last 8 periods). Call this when the user asks about cash generation, capex, buybacks, or how earnings convert to actual cash.

ParametersJSON Schema
NameRequiredDescriptionDefault
limitNo
periodNoquarterly
tickerYes
Behavior2/5

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

With no annotations provided, the description must fully disclose behavioral traits. It only states the data content and defaults, but omits any mention of read-only nature, potential data latency or limitations (e.g., SEC EDGAR filing delays), or response format. An agent cannot infer side effects or edge cases from this description.

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 two sentences, each earning its place. The first sentence concisely defines the tool's purpose and defaults; the second gives actionable usage guidance. No redundant or vague wording.

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?

With no output schema and no annotations, the description should explain return structure and limitations. It covers the core content (operating/investing/financing flows) and usage scenarios, but lacks mention of the 'ttm' period option, potential data availability issues, or response format. Adequate for a simple data-retrieval tool, but with clear gaps.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters2/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 compensate. It mentions 'quarterly or annual' and 'last 8 periods,' which partially mirrors the schema defaults, but does not explain the 'ttm' enum option, nor does it define the meaning or constraints of 'limit' or 'ticker' beyond the obvious. The omission of 'ttm' could mislead the agent into thinking only two period values exist.

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 identifies the tool as retrieving SEC EDGAR cash-flow statements, listing the specific components (operating, investing, financing flows) and period options. This distinguishes it from sibling tools like balance sheets or income statements, and the verb 'cash-flow statements for a ticker' is precise.

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 gives explicit usage scenarios ('Call this when the user asks about cash generation, capex, buybacks, or how earnings convert to actual cash'). However, it does not provide any 'when not to use' guidance or mention alternative tools, which would push it to a 5.

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

tengu_v3_fundamentals_company_factsAInspect

Static company profile for one ticker — sector, industry, CIK, exchange, market cap and employee count. Call it to know what a company is and how big it is before deeper analysis. Not the XBRL corpus — that discovery lives at /fundamentals/companyfacts/{ticker}.

ParametersJSON Schema
NameRequiredDescriptionDefault
tickerYes
Behavior4/5

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

No annotations are provided, so the description carries the full burden. It discloses that the profile is 'static' and enumerates the contained fields, which effectively communicates a read-only, snapshot-like behavior. While it doesn't discuss auth, rate limits, or data freshness, the static nature of the tool is a meaningful behavioral trait for a simple lookup.

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 two sentences, front-loaded with the core purpose, and includes only essential additional context. The second sentence adds valuable exclusion guidance without any fluff. Every word earns its place.

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 there is no output schema, the description does well to enumerate the returned fields. It provides usage context, distinguishes from the XBRL corpus, and explains the input parameter. It could mention data freshness or that it returns a one-off snapshot, but 'static' already implies this. For a low-complexity single-parameter tool, this is complete enough.

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% since the description doesn't repeat the parameter schema, but it compensates well by saying 'for one ticker' and listing the returned profile attributes. The only parameter, 'ticker,' is self-explanatory from the tool name and description, and the description adds the notion that this is a single-ticker operation, clarifying scope.

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 and resource: 'Static company profile for one ticker' followed by an explicit list of fields (sector, industry, CIK, exchange, market cap, employee count). It also distinguishes itself from the XBRL corpus by pointing to the alternative endpoint, making it unmistakable what this tool does.

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?

Provides clear usage context: 'Call it to know what a company is and how big it is before deeper analysis.' This implies a pre-analysis step and gives a clear 'when to use.' It also excludes the XBRL corpus, which serves as a partial alternative reference. It does not name a specific sibling tool but the guidance is sufficient.

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

tengu_v3_fundamentals_companyfactsAInspect

Directory of every as-reported XBRL concept (us-gaap/dei/ifrs-full) a company has filed — unit(s), observation count and period coverage — from the in-house SEC EDGAR companyfacts corpus. Call it FIRST to find the concept tag for /fundamentals/xbrl/{ticker}/{concept}. Point-in-time, no vendor restatement.

ParametersJSON Schema
NameRequiredDescriptionDefault
limitNo
searchNo
tickerYesPath parameter 'ticker' (required).
Behavior3/5

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

With no annotations provided, the description carries the transparency burden. It discloses data provenance ('in-house SEC EDGAR companyfacts corpus'), data state ('Point-in-time, no vendor restatement'), and the response shape ('unit(s), observation count and period coverage'). However, it does not mention pagination, rate limits, or other behavioral traits such as how search/limit affect results.

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 concise and dense, with no wasted words. It fronts the core purpose, then the call-first workflow, then the data provenance note, all in three sentences. Every sentence adds value.

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?

The description covers the tool's core purpose and return contents, but no output schema exists. It omits details on the optional parameters (search, limit) and their behavior, and does not describe the overall response structure beyond listing included fields. For a discovery/directory tool with one required parameter, it is adequate but incomplete.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters2/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is only 33%: only 'ticker' has a description in the schema. The description does not explain the 'search' or 'limit' parameters at all, nor does it add detail on how 'ticker' should be formatted. Given low schema coverage, the description should compensate but does not.

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 the tool's purpose: it is a directory of XBRL concepts filed by a company, with specific attributes (unit(s), observation count, period coverage). It distinguishes itself by explicitly positioning it as the first call to find a concept tag for the XBRL endpoint, which sets it apart from sibling tools like company_facts or xbrl.

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 instructs to 'Call it FIRST to find the concept tag for /fundamentals/xbrl/{ticker}/{concept}', which is clear when-to-use guidance. It does not provide explicit when-not-to-use or alternative tool comparisons, but the directive is strong and actionable.

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

tengu_v3_fundamentals_company_fullAInspect

One-call company snapshot — info + TTM + ratios + growth + MRQ balance (fundamentalsapi.com)

ParametersJSON Schema
NameRequiredDescriptionDefault
tickerYesPath parameter 'ticker' (required).
Behavior3/5

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

No annotations are provided, so the description carries the full burden. It discloses that the tool aggregates multiple data sections (info, TTM, ratios, growth, MRQ balance) and names the underlying API source (fundamentalsapi.com), but it does not mention response size, rate limits, authorization, or other potential caveats. Some behavioral context is added beyond the name, but it is not deep.

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 a single, front-loaded sentence that lists the data categories in a scannable format. It is concise with no redundancy or filler, achieving high efficiency.

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?

For a tool with one parameter and no output schema or annotations, the description provides a useful summary of the return contents (info, TTM, ratios, growth, MRQ balance) and the source, which is largely sufficient for an agent to understand the tool's scope. It could mention limitations (e.g., coverage, data frequency) but remains adequately complete for basic invocation.

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?

The schema provides complete coverage for the single parameter 'ticker' with a description ('Path parameter ticker (required)'). The tool description adds no additional parameter semantics, such as ticker format, examples, or context, so it remains at the baseline for full schema coverage.

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 articulates that this tool provides a 'one-call company snapshot' and enumerates the specific data components (info, TTM, ratios, growth, MRQ balance), which distinguishes it from more granular sibling fundamentals tools. It identifies the resource (company full) and the scope of data returned.

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?

The description implies usage for obtaining a comprehensive company snapshot in a single call, but it does not explicitly state when to choose this over alternative fundamentals endpoints (e.g., tengu_v3_fundamentals_growth or tengu_v3_fundamentals_balance_sheets) or provide any exclusions/alternatives. No when-not-to-use guidance is given.

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

tengu_v3_fundamentals_dividendsAInspect

Dividend profile per ticker — DPS, payout ratio, consecutive-growth streak and 10Y history; accepts comma-separated tickers. Call this for any dividend-safety, income or 'how long has X raised its dividend' question.

ParametersJSON Schema
NameRequiredDescriptionDefault
tickersYes
Behavior3/5

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

With no annotations, the description carries the full burden. It adds useful behavioral context: it accepts comma-separated tickers and provides 10Y history. However, it does not disclose any side effects, permissions, or rate limits. Since this is a query tool, the lack of explicit read-only or safety statements makes it only partially transparent.

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 two sentences with no redundancy. It front-loads the core purpose, lists key outputs, then input format, then use cases. Every phrase adds value.

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?

For a simple tool with one parameter and no output schema, the description covers the main return fields (DPS, payout ratio, streak, 10Y history), the input format, and the intended use cases. It does not describe the exact response structure or edge cases, but it is largely sufficient for an agent to select and invoke the tool.

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 schema only lists 'tickers' as a string with no description (0% coverage). The description compensates by stating 'accepts comma-separated tickers,' which is essential parameter semantics, and 'per ticker' clarifies granularity. This gives the agent enough to construct a valid invocation.

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 identifies the tool as providing a 'Dividend profile per ticker' with specific data points (DPS, payout ratio, consecutive-growth streak, 10Y history). The clear verb 'Call this for' and the focus on dividend-safety and income questions distinguish it from sibling tools like fundamentals_growth or fundamentals_metrics.

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 when to use the tool: 'Call this for any dividend-safety, income or "how long has X raised its dividend" question.' This gives clear context for use, though it does not mention alternatives or when not to use it, so it stops short of a full 5.

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

tengu_v3_fundamentals_earnings_press_releasesAInspect

Full text of a company's earnings press releases, including guidance language (default limit 8). Call this when the user asks what management said or guided in an earnings release, or wants exact announcement wording.

ParametersJSON Schema
NameRequiredDescriptionDefault
limitNo
tickerYes
Behavior3/5

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

No annotations exist, so the description carries the burden. It discloses the main behavior (full text, includes guidance language) and notes a default limit, but the default limit is already in the schema. It does not state whether it returns only the latest release or multiple, or how results are ordered. This is adequate but leaves room for more.

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?

Two sentences with no fluff. The first sentence gives the core content, the second provides usage guidance. Every word earns its place, and the description is front-loaded with purpose.

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?

For a simple tool with just two parameters and no output schema, the description is mostly complete: it tells what the tool returns and when to use it. However, it does not clarify the meaning of the 'limit' parameter or any output format details, though the context of 'earnings press releases' and the schema parameters make the tool usable without much guesswork.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters2/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 0%, and the description does not explain the 'ticker' parameter at all, only implying it via 'a company.' It mentions 'default limit 8' but merely repeats the schema default without explaining that 'limit' controls the number of press releases returned. The description adds minimal value beyond the schema.

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 the tool provides 'Full text of a company's earnings press releases, including guidance language.' The verb is implied ('returns full text') but specific, and the resource is unambiguous. It distinguishes from siblings like news press releases or transcripts by focusing on earnings press releases and guidance.

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 tells when to use the tool: 'Call this when the user asks what management said or guided in an earnings release, or wants exact announcement wording.' This is clear context, though it does not mention when not to use it or name alternative tools.

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

tengu_v3_fundamentals_fullAInspect

One-shot fundamentals bundle for a ticker — metrics snapshot, TTM income, latest balance sheet and cash-flow, company facts, recent insider trades and top institutional holders, fetched in parallel. PRIMARY tool for 'give me the full fundamental picture of X' — call it instead of assembling the pieces one by one.

ParametersJSON Schema
NameRequiredDescriptionDefault
tickerYesPath parameter 'ticker' (required).
Behavior4/5

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

With no annotations provided, the description conveys that data is fetched in parallel and returned as a single bundle, listing the exact data categories. However, it does not explicitly state that this is a read-only operation with no side effects, nor does it disclose potential limitations like partial data availability for illiquid tickers. Still, the behavioral traits disclosed (parallel fetch, bundle composition) are useful and go beyond the name.

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?

Two sentences: the first enumerates the bundle contents and the parallel fetch behavior, the second delivers the primary-use directive. Every word earns its place, no filler, and the key information is front-loaded.

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?

For a tool with one parameter and no output schema, the description covers the essential context: what data is included and when to use it. It could mention that the response is read-only or that some bundles may lack data for certain tickers, but given the simplicity and list of components, the description is nearly complete.

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?

The input schema already documents the single 'ticker' parameter (100% coverage), so the baseline is 3. The description only reiterates 'for a ticker' and adds no extra meaning about formatting (e.g., ticker symbol vs. company name), case sensitivity, or accepted exchanges. It essentially relies on the schema's minimal description.

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 states a specific action ('One-shot fundamentals bundle for a ticker') and enumerates exact included components (metrics snapshot, TTM income, balance sheet, cash-flow, company facts, insider trades, institutional holders). It clearly distinguishes itself from sibling tools that fetch individual pieces, making 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 Guidelines5/5

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

Explicitly identifies the primary use case: 'PRIMARY tool for "give me the full fundamental picture of X"' and instructs to call it instead of assembling pieces individually. This provides clear when-to-use guidance and implicitly excludes scenarios where only a specific data slice is needed.

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

tengu_v3_fundamentals_growthAInspect

Growth metrics — YoY, 3Y CAGR, 5Y CAGR and margin trends; accepts comma-separated tickers for one-call bulk comparison. Call this when the user asks how fast a company is growing, whether margins are trending up, or to compare growth across several names.

ParametersJSON Schema
NameRequiredDescriptionDefault
limitNo
tickersYes
Behavior3/5

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

With no annotations, the description carries the full burden. It discloses batch behavior via comma-separated tickers and the nature of the metrics, but lacks details on output structure, time periods, or how the limit parameter affects results. Moderate transparency.

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 compact: one clause listing the metrics, one clause on ticker format, and one usage trigger. It is front-loaded and every sentence adds value.

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?

For a 2-parameter tool with no annotations or output schema, the description provides the essential purpose, the key metrics returned, and usage triggers. It lacks explicit output structure, but the metrics are named, giving enough context for most growth questions. It is reasonably complete.

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 coverage is 0%, but the description explains that tickers are comma-separated and intended for bulk comparison, adding meaning beyond the schema's plain 'string' type. However, the 'limit' parameter is not explained in the description, leaving a gap.

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 identifies the tool as providing growth metrics (YoY, 3Y CAGR, 5Y CAGR, margin trends), which is a specific resource and differentiates it from the many other fundamentals tools. The verb is implicit but the resource is well-defined.

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 when to use it: 'when the user asks how fast a company is growing, whether margins are trending up, or to compare growth across several names.' It provides clear context but does not mention alternatives or when not to use, so a 4 rather than a 5.

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

tengu_v3_fundamentals_historicalAInspect

Multi-decade historical financial statements for one ticker from SEC EDGAR — income, balance, and cash-flow, filterable by statement_type and start_year/end_year, annual by default with include_quarterly opt-in. Call this when the user asks how fundamentals have trended over many years, not just the latest print.

ParametersJSON Schema
NameRequiredDescriptionDefault
tickerYesPath parameter 'ticker' (required).
end_yearNo
start_yearNo
statement_typeNoall
include_quarterlyNo
Behavior3/5

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

With no annotations provided, the description carries the full burden. It discloses the source (SEC EDGAR), annual default, quarterly opt-in, and filtering options, adding useful context beyond the schema. However, it does not mention return format, pagination, data coverage limitations, or read-only status, leaving some behavioral aspects undisclosed.

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 two sentences, front-loaded with the core function, followed by a clear usage directive. Every clause adds value—source, scope, filtering, defaults, and when to invoke—without redundancy or fluff.

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?

The description covers the tool's purpose, source, data types, filters, and default behavior, which is solid given no output schema. However, it lacks details on return structure, coverage depth, or edge cases (e.g., what happens for tickers with sparse history), and no output schema exists to fill that gap. For a tool with 5 parameters and no annotations, this is workable but not fully complete.

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 description coverage is only 20% (ticker's path description), so the description must compensate. It does: 'filterable by statement_type and start_year/end_year, annual by default with include_quarterly opt-in' explains what these parameters control and clarifies the default behavior. This adds meaningful semantic guidance beyond the raw schema, although ticker itself is not further described beyond being required.

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 the tool provides 'multi-decade historical financial statements for one ticker from SEC EDGAR' covering income, balance, and cash-flow. It identifies the exact resource (financial statements), scope (one ticker, multi-decade), and source (SEC EDGAR), and distinguishes this from siblings by focusing on historical trends rather than the latest print.

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 gives explicit usage guidance: 'Call this when the user asks how fundamentals have trended over many years, not just the latest print.' This clarifies the intended use case and contrasts with alternative tools for recent data, though it does not name specific sibling tools or explicitly state when not to use it.

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

tengu_v3_fundamentals_income_statementsAInspect

SEC EDGAR income statements (P&L line-items, revenue through net income/EPS) for a ticker — quarterly, annual, or TTM (default quarterly, last 8 periods). Call this when the user asks about revenue or earnings trends and wants the actual reported statements.

ParametersJSON Schema
NameRequiredDescriptionDefault
limitNo
periodNoquarterly
tickerYes
Behavior3/5

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

With no annotations, the description carries the full burden. It discloses the data source (SEC EDGAR) and the nature of the data (actual reported statements), but does not mention rate limits, data freshness, or formatting details, leaving some behavioral aspects unclear.

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 two sentences, front-loaded with the resource and period options, followed by a usage trigger. No unnecessary words or repetition.

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?

The description covers purpose, usage, and key parameter semantics. It does not describe the return structure, but with no output schema and a simple data retrieval operation, it is adequately complete for correct invocation.

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%, but the description compensates by explaining that 'limit' refers to the number of periods (default last 8) and that 'period' supports quarterly, annual, or TTM values, adding meaning beyond the schema's enums and defaults.

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 identifies the tool as retrieving SEC EDGAR income statements, listing specific line items (P&L, revenue through net income/EPS) and available periodicities (quarterly, annual, TTM). It distinguishes from sibling tools like balance sheets and cash flow statements by name and content.

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 final sentence provides an explicit trigger: 'Call this when the user asks about revenue or earnings trends and wants the actual reported statements.' This is clear context, though it does not enumerate alternatives or when-not-to-use scenarios.

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

tengu_v3_fundamentals_insider_tradesAInspect

Form-4 insider transactions for one ticker — officer and director buys and sells (default limit 50). Call this when the user asks whether insiders are buying or selling a stock, or wants insider-conviction evidence for a name.

ParametersJSON Schema
NameRequiredDescriptionDefault
limitNo
tickerYes
Behavior3/5

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

With no annotations, the description carries the burden of disclosing behavior. It mentions the default limit (50) and the nature of transactions (officer/director buys and sells), but does not disclose result ordering, date range, or other limitations. It adds some context but lacks rich behavioral detail, warranting a 3.

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 concise and well-structured: the first sentence specifies what the tool returns, and the second sentence provides the intended use case. Every sentence contributes value without redundancy.

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?

For a straightforward single-ticker data retrieval tool, the description covers the core functionality and typical user intent. It could benefit from describing the output format given the absence of an output schema, but overall it is reasonably complete for its simplicity.

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 0%, so the description must clarify parameters. It explains 'ticker' via 'for one ticker' and 'limit' via 'default limit 50,' but does not explicitly state that limit controls the number of results or its range. It adds partial meaning, but not enough to compensate fully for the lack of schema descriptions.

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?

The description clearly states it provides 'Form-4 insider transactions for one ticker' with 'officer and director buys and sells,' identifying the specific resource and scope. It does not explicitly differentiate from the similarly named sibling 'tengu_v3_intel_insider_trades,' so it falls short of a 5.

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 gives explicit guidance: 'Call this when the user asks whether insiders are buying or selling a stock, or wants insider-conviction evidence for a name.' This indicates clear trigger use cases, though it doesn't mention alternatives or exclusions, so it earns a 4 rather than a 5.

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

tengu_v3_fundamentals_institutional_ownershipAInspect

13F institutional holdings for one ticker, itemized by holding institution (default limit 50). Call this when the user asks which institutions or funds own a stock or how concentrated institutional ownership is.

ParametersJSON Schema
NameRequiredDescriptionDefault
limitNo
tickerYes
Behavior3/5

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

The description mentions the default limit of 50 and that data is itemized by institution, which adds behavioral context. However, with no annotations or output schema, it doesn't disclose whether holdings are current/historical, the coverage of 13F filings, or any limitations. This gap justifies a 3.

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 two sentences, with the first stating the tool's function and the second providing usage context. It is front-loaded and free of fluff, earning a 5.

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?

The tool is simple, but the large sibling toolset includes similar ownership-related tools like mutual_fund_ownership and intel_top_shareholders. The description provides a 'when to use' hint but does not differentiate from these siblings or describe the output structure. With no output schema, this is a noticeable gap, so a 3 is warranted.

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 description coverage is 0%, so the description must explain the parameters. It states 'for one ticker' and 'default limit 50,' which clarifies both ticker and limit semantics. This is adequate but not elaborate, so a 4 is appropriate.

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?

The description clearly identifies the tool as returning 13F institutional holdings for a single ticker, itemized by institution. It uses a noun phrase rather than a verb, but the meaning is unambiguous. It distinguishes from siblings by specifying '13F' and 'itemized by holding institution,' though it doesn't explicitly contrast with related tools like mutual fund ownership.

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?

It provides an explicit 'Call this when the user asks which institutions or funds own a stock or how concentrated institutional ownership is.' This is clear guidance on when to use it, but it does not mention alternatives or exclusions, earning a 4 rather than a 5.

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

tengu_v3_fundamentals_metricsAInspect

Derived financial-metric rows per period for a ticker — P/E, ROE, margins, FCF yield, debt ratios — quarterly, annual, or TTM (default quarterly, last 4 periods). Call this when the user asks about valuation or quality ratios and their trend without needing raw statement line-items.

ParametersJSON Schema
NameRequiredDescriptionDefault
limitNo
periodNoquarterly
tickerYes
Behavior4/5

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

With no annotations provided, the description carries the full behavioral disclosure burden. It discloses the output nature (derived metric rows, ratio examples, period options, default last 4 periods) and the 'trend' aspect, giving the agent a solid understanding of what to expect. It does not add details like pagination or edge cases, but for a simple read-only tool the description is sufficiently transparent.

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 two sentences, front-loaded with the core purpose and followed by usage guidance. Every word earns its place; there is no redundancy or filler. It efficiently communicates the tool's purpose, output examples, defaults, and when to invoke it.

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?

For a three-parameter, read-only tool with no output schema, the description adequately covers the main aspects: what data is returned, the alternative period frequencies, default window, and the intended use case. It does not explain the exact return shape or pathioning, but that is not necessary given the absence of an output schema and the simplicity of the tool. It is slightly less complete than ideal because it does not explicitly explain how 'limit' influences results, but it is sufficient for correct invocation.

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 schema has zero description coverage, so the description compensates by explaining period values ('quarterly, annual, or TTM') and the default limit ('last 4 periods'). The ticker parameter is self-evident from the tool name and description. A slight gap is that 'limit' is only implied as a default count rather than explained as a configurable maximum, but the description goes beyond the schema's bare types/enums.

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 identifies the tool as returning derived financial-metric rows (P/E, ROE, margins, FCF yield, debt ratios) per period for a ticker. It distinguishes this from raw statement tools by explicitly mentioning derived ratios and contrasting with 'raw statement line-items.' The verbs and scope are specific, and the mention of 'trend' implies a time series, which differentiates it from snapshot tools.

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?

It provides an explicit call condition: 'Call this when the user asks about valuation or quality ratios and their trend without needing raw statement line-items.' This gives clear context for when to use, but it does not name specific alternative tools or state explicit 'when not to use' scenarios beyond the raw statement contrast. Sibling tools like fundamentals_income_statements are implied but not named.

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

tengu_v3_fundamentals_metrics_snapshotAInspect

Latest financial-metrics snapshot for a ticker — a single TTM row of valuation and quality ratios. Call this for a quick 'what's the P/E, how profitable is X right now?' check; use fundamentals_metrics when the user needs the per-period history.

ParametersJSON Schema
NameRequiredDescriptionDefault
tickerYes
Behavior4/5

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

With no annotations provided, the description carries full burden for behavioral disclosure. It explains that the tool returns a 'single TTM row'—indicating a bounded, read-only result—and describes the content as 'valuation and quality ratios,' giving the agent a clear expectation of what to deliver. However, it omits potential edge cases like missing data or symbol validation, but these are not critical for such a simple read operation.

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 two concise sentences. The first sentence defines the tool's output clearly and the second provides usage and alternative. Every sentence earns its place with no fluff or repetition. Highly front-loaded with the essential information.

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?

Given the tool's simplicity—one parameter, no output schema, no annotations—the description is remarkably complete. It states the exact output structure ('a single TTM row'), the content type ('valuation and quality ratios'), and gives concrete examples ('P/E, profitability'), while also covering when to use it vs. the alternative. An agent can confidently select and invoke this tool based on this description alone.

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?

The schema has one parameter 'ticker' with 0% description coverage, so the description must compensate. It does mention 'for a ticker' in the first sentence, which minimally clarifies the parameter's role, but it does not add format details (e.g., uppercase, exchange suffix) or constraints. For a single self-explanatory parameter, this is adequate but does not go beyond what the schema suggests.

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 the tool's purpose with a specific verb and resource: 'Latest financial-metrics snapshot for a ticker — a single TTM row of valuation and quality ratios.' It explicitly differentiates itself from the sibling tool 'fundamentals_metrics' by contrasting snapshot vs. per-period history, making it distinguishable.

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 provides explicit when-to-use guidance: 'Call this for a quick "what's the P/E, how profitable is X right now?" check.' It also names the alternative tool to use for different needs: 'use fundamentals_metrics when the user needs the per-period history.' This fully meets the usage guideline criteria.

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

tengu_v3_fundamentals_newsAInspect

Curated news articles for one ticker from the fundamentals market-data feed, with start_date/end_date filtering (default 50). Call it for ticker-scoped headlines while working inside fundamentals; it is distinct from the primary news surface — use the news tools for broad or breaking coverage.

ParametersJSON Schema
NameRequiredDescriptionDefault
limitNo
tickerYes
end_dateNo
start_dateNo
Behavior4/5

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

With no annotations, the description carries the burden of behavioral disclosure. It reveals that the tool returns curated articles from a specific feed, is scoped to a single ticker, supports start_date/end_date filtering, and has a default limit of 50. This provides meaningful behavioral context, though it omits output format and potential error handling.

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 two sentences and front-loaded with the core function. It wastes no words, and every clause adds value by clarifying source, scope, filtering, and usage distinctions.

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?

The tool has no annotations and no output schema, so the description must fully cover what an agent needs. It provides purpose, usage, and filtering guidance, but does not describe the return structure (e.g., fields, ordering) or error behavior, leaving a notable gap for effective use.

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 0%, so the description must compensate. It mentions start_date/end_date filtering and the default 50, but does not explain the date format, the meaning of 'limit' beyond the default, or the expected ticker format. The ticker itself is implied by the tool name and first sentence, but coverage is only partial.

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 the tool returns 'Curated news articles for one ticker from the fundamentals market-data feed' with date filtering and a default limit. It explicitly distinguishes itself from the primary news surface and news tools, making the purpose and scope unambiguous.

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 provides explicit guidance: 'Call it for ticker-scoped headlines while working inside fundamentals' and tells the agent to 'use the news tools for broad or breaking coverage.' This clearly states when to use the tool and names the alternative tool category.

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

tengu_v3_fundamentals_peersAInspect

Same-industry comparables for a ticker, ranked by revenue, margins and ROE (default 10). Call this when the user asks who a company's competitors are or how it stacks up against peers — fetch it before any relative-valuation take.

ParametersJSON Schema
NameRequiredDescriptionDefault
limitNo
tickerYesPath parameter 'ticker' (required).
Behavior3/5

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

With no annotations, the description carries the full burden of behavioral disclosure. It communicates read-only intent and ranking criteria (revenue, margins, ROE) plus a default count, but it does not describe the return shape, edge cases such as no peers, or any market/sector coverage limitations.

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?

Two sentences, each earning its place: the first states the tool's function and ranking basis, the second gives explicit usage timing. No filler or repetition.

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?

For a simple two-parameter list tool, the description supplies purpose, ranking basis, default count, and when to use it. It does not describe the output structure or prerequisites, and there is no output schema, but it is still adequate for an accurate selection.

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 50%: ticker is documented as a required path parameter, while limit has no description. The description only restates the default of 10, adding no new meaning to the limit parameter beyond the schema's min/max/default. It does little to compensate for the undocumented limit.

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 'Same-industry comparables for a ticker, ranked by revenue, margins and ROE' – a specific verb+resource+result. This clearly distinguishes it from sibling fundamentals_* tools, which are about standalone metrics, screener, or financial statements.

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?

It explicitly says 'Call this when the user asks who a company's competitors are or how it stacks up against peers' and advises fetching it before relative-valuation takes. This is clear context, but no exclusions or alternative tool names are given, so it doesn't reach a 5.

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

tengu_v3_fundamentals_pitAInspect

WHAT THE MARKET ACTUALLY KNEW on a given date — as-FIRST-REPORTED quarterly financials for a ticker as they stood on as_of: for each fiscal period, the latest published version whose knowledge date is on or before that day. Later restatements are excluded BY CONSTRUCTION, which is what makes this safe to backtest on — the ordinary financials endpoints serve the restated view and will leak look-ahead. Each period also reports whether it has been restated since and what the figure reads today, so you are never silently handed a stale number. Omit as_of for the current view. Figures are in MILLIONS of each filing's own reporting currency (carried per period) — never assume USD.

ParametersJSON Schema
NameRequiredDescriptionDefault
as_ofNo
consolNo
indfmtNo
popsrcNo
tickerYesPath parameter 'ticker' (required).
datafmtNo
periodsNo
Behavior5/5

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

With no annotations provided, the description carries the full disclosure burden. It reveals key behavioral traits: exclusion of later restatements by construction, reporting of whether each period has been restated and its current value, and the currency assumption (millions of filing's own reporting currency). These go beyond simple 'returns financials' and are critical for safe usage.

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 a single dense paragraph with each sentence serving a purpose. It front-loads the core purpose, then explains the restatement avoidance, current view behavior, and currency handling. No superfluous words.

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?

The tool has 7 parameters and no output schema. The description covers the main use case (backtesting), as_of semantics, restatement disclosure, and currency. However, it does not explain the remaining parameters or the return structure beyond the restatement flags. Given the complexity, this is a minor gap; overall context is adequate.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters2/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is only 14% (only ticker has a description). The description adds meaning only for as_of ('Omit as_of for the current view') but leaves consol, indfmt, popsrc, datafmt, and periods entirely unexplained. Given the low schema coverage, the description should compensate more, but it does not.

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 the tool returns 'as-FIRST-REPORTED quarterly financials for a ticker' as of a given date, using a specific verb ('returns') and resource. It distinguishes itself from ordinary financials endpoints that serve restated views, which is a clear sibling differentiation.

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 explicitly states when to use this tool: 'safe to backtest on' because restatements are excluded. It also contrasts with 'ordinary financials endpoints' that 'will leak look-ahead', providing a clear when-not. Additionally, it gives a usage instruction: 'Omit as_of for the current view.'

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

tengu_v3_fundamentals_pit_coverageAInspect

The honest bounds of the point-in-time primitive: how many published versions are held, for how many companies, the span of KNOWLEDGE dates (which is what an as_of query can answer) and the span of fiscal periods covered. Call it before trusting an as_of earlier than the archive starts — outside the knowledge span the answer is 'not knowable here', not 'no data'. Pass a ticker for per-company bounds.

ParametersJSON Schema
NameRequiredDescriptionDefault
tickerNo
Behavior4/5

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

With no annotations, the description carries the full burden. It adds valuable behavioral context: the distinction between knowledge-date span and fiscal-period span, and the semantic warning about results outside the archive's knowledge range. It does not explicitly state read-only status, but the coverage-monitoring nature is clear.

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 three sentences, front-loaded with the core concept ('honest bounds of the point-in-time primitive'), and uses every sentence to add value: scope, proper usage, and parameter behavior. No redundancy or filler.

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?

Given the tool's simplicity (one optional parameter, no output schema), the description is remarkably complete. It explains what the tool reports, the subtle as_of semantics, and how to get per-company bounds. The lack of a formal output schema is offset by the detailed prose listing of return information.

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 coverage is 0%, so the description must compensate for the lone 'ticker' parameter. It does so directly: 'Pass a ticker for per-company bounds,' which also implies that omitting it returns aggregate bounds. This is sufficient parameter-level meaning for a simple optional string.

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 defines the tool's purpose: to report coverage bounds for the point-in-time primitive, including version counts, company counts, knowledge-date span, and fiscal-period span. It uses specific language ('honest bounds', 'call it before trusting an as_of') that distinguishes it from data-query tools like tengu_v3_fundamentals_pit.

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 gives explicit guidance on when to call the tool ('before trusting an as_of earlier than the archive starts') and explains the critical interpretation ('not knowable here', not 'no data'). It does not name alternative tools, but the 'coverage' framing and sibling names make the use case clear.

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

tengu_v3_fundamentals_pit_vintagesAInspect

THE RESTATEMENT TRAIL for one fiscal quarter — every published version of the period in order, each with the day it became the live view, the day it was superseded, and exactly WHICH line items changed from the previous version. Call it to check whether a figure you are relying on has been quietly revised, and by how much: a quarter can be restated several times, and only the trail shows it. The still-current version reports a null supersede date rather than a far-future sentinel. Omit datadate for the most recent quarter held.

ParametersJSON Schema
NameRequiredDescriptionDefault
consolNo
indfmtNo
popsrcNo
tickerYesPath parameter 'ticker' (required).
datafmtNo
datadateNo
Behavior4/5

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

With no annotations provided, the description takes on full responsibility for behavioral disclosure. It reveals key details like the ordering of versions, the meaning of null supersede date versus a far-future sentinel, and the ability to get the latest quarter by omitting datadate. It does not mention rate limits or authentication, but those are not necessary for basic transparency.

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 description is four sentences, each providing useful information: the tool's purpose, when to call it, the null sentinel behavior, and a parameter usage tip. It is slightly longer than strictly necessary but remains well-structured and free of padding.

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 there is no output schema, the description does a good job describing the return concept (version trail with dates and line item changes) and key edge cases (current version null supersede date). However, it does not elaborate on the meaning of the unnamed parameters, so completeness is not perfect.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters2/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is only 17% (only ticker is minimally described). The description adds meaning to the datadate parameter by noting it can be omitted for the most recent quarter, but it does not explain consol, indfmt, popsrc, or datafmt, leaving most parameters ambiguous.

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 identifies the tool as 'THE RESTATEMENT TRAIL for one fiscal quarter' and specifies exactly what it returns: every published version, effective dates, superseded dates, and line item changes. This distinguishes it from sibling fundamentals tools by focusing on restatement history.

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?

It explicitly instructs users to call it to check whether a relied-upon figure has been quietly revised, and mentions omitting datadate for the most recent quarter. However, it does not name alternative tools or state when not to use it, so it lacks explicit exclusions.

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

tengu_v3_fundamentals_pricesAInspect

Historical OHLCV bars for one ticker at second/minute/hour/day/week/month granularity (interval_multiplier for e.g. 5-minute bars; start_date/end_date window, default limit 1000). Call this when the user asks for price history, returns over a window, or intraday bars; for the latest quote use /fundamentals/price_snapshot. CRYPTO: pass asset_class=crypto for BTC/ETH/SOL/LTC/LINK etc. Several crypto symbols are ALSO US-listed equity tickers (BTC is a Grayscale trust at ~$29; LINK is Interlink Electronics), so a bare ticker returns the EQUITY. Never use an equity price for a crypto asset.

ParametersJSON Schema
NameRequiredDescriptionDefault
limitNo
tickerYes
end_dateNo
intervalNoday
start_dateNo
asset_classNoequity
interval_multiplierNo
Behavior5/5

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

With no annotations, the description carries full burden and excels: it explains the interval_multiplier example, default limit, window behavior, and the crucial crypto-equity ticker ambiguity (e.g., BTC and LINK examples). This prevents a serious mis-invocation, far exceeding minimal behavioral disclosure.

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?

Every sentence earns its place. The description is dense but avoids fluff, using semicolons and a distinct CRYPTO section to separate main purpose, usage triggers, and a critical warning. It remains scannable despite its 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?

Given the tool's complexity (7 params, no output schema, no annotations), the description is complete enough for correct invocation: it defines what it returns, when to use it, how to handle ambiguous tickers, and the key param semantics. No critical gaps remain for agent decision-making.

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?

Although the schema has 0% description coverage, the description semantically covers all 7 parameters: interval/granularity, interval_multiplier (5-minute example), start_date/end_date window, default limit, and asset_class for crypto. It adds examples and catches edge cases that the bare schema cannot.

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 it returns 'Historical OHLCV bars for one ticker' with granularity options, and explicitly contrasts with the sibling tool for latest quotes. This makes the tool's purpose and scope immediately unambiguous.

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 when-to-use guidance ('Call this when the user asks for price history, returns over a window, or intraday bars') and names the alternative ('for the latest quote use /fundamentals/price_snapshot'). The crypto handling instructions are also specific and actionable.

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

tengu_v3_fundamentals_price_snapshotAInspect

Latest quote for one ticker — last trade plus the current daily bar. Call this when the user asks what the price is now or how the stock is moving today; for history use /fundamentals/prices. CRYPTO: pass asset_class=crypto for BTC/ETH/SOL/LTC/LINK etc. Several crypto symbols are ALSO US-listed equity tickers (BTC is a Grayscale trust at ~$29; LINK is Interlink Electronics), so a bare ticker returns the EQUITY. Never use an equity price for a crypto asset. Check is_stale before using the price.

ParametersJSON Schema
NameRequiredDescriptionDefault
tickerYes
asset_classNoequity
Behavior5/5

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

With no annotations, the description carries full transparency burden and succeeds. It discloses the critical ambiguity that several crypto symbols are also US-listed equity tickers, warns that a bare ticker returns the equity, and instructs the agent to 'Check is_stale before using the price'. These are substantial behavioral details not present in 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 front-loaded with the core purpose and then flows into usage triggers, history alternative, crypto handling, and staleness check. Every sentence earns its place with high signal and no repetition or filler.

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?

Given no annotations and no output schema, this description is complete: it explains what the tool returns, when to use it, which alternative covers history, how to avoid the crypto/equity trap, and what to check before trusting the price. An agent has everything needed to select and invoke it correctly.

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%, but the description compensates exceptionally. It explains the asset_class parameter with examples ('pass asset_class=crypto for BTC/ETH/SOL/LTC/LINK'), and clarifies the default equity behavior of bare tickers, adding crucial meaning to both ticker and asset_class beyond the raw enum/default.

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 'Latest quote for one ticker — last trade plus the current daily bar', which clearly identifies the resource (one ticker), the action (quote), and the return content. It also distinguishes itself from history-related siblings by explicitly sending those requests to /fundamentals/prices.

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 provides direct usage triggers: 'Call this when the user asks what the price is now or how the stock is moving today' and names the alternative for history. It also includes crypto-specific instructions, telling the agent to pass asset_class=crypto and never use an equity price for a crypto asset.

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

tengu_v3_fundamentals_screenerAInspect

Multi-filter stock screener combining profitability (ROE, ROA, net margin), growth (revenue, EPS), financial-health (debt/equity, current ratio) and dividend filters, with sector/industry scoping and sort control. PRIMARY tool for 'find me stocks that…' asks; ready-made strategies live in /fundamentals/screener/presets.

ParametersJSON Schema
NameRequiredDescriptionDefault
pageNo
limitNo
sectorNo
roa_minNo
roe_maxNo
roe_minNo
sort_byNo
industryNo
sort_orderNodesc
eps_growth_minNo
net_margin_minNo
payout_ratio_maxNo
current_ratio_minNo
debt_to_equity_maxNo
revenue_growth_minNo
years_dividend_growth_minNo
Behavior2/5

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

No annotations are provided, so the description carries the full burden of explaining behavior. It mentions input filtering capabilities but does not disclose return format, pagination behavior, read-only nature, or any side effects. The agent is left without knowledge of what the tool returns or how it behaves beyond the filter inputs.

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 concise and well-structured: two sentences, front-loaded with the core purpose, and efficiently lists filter categories. The pointer to presets adds useful routing information without unnecessary length.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness2/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given the tool has 16 parameters, no output schema, and no annotations, the description is incomplete. It covers input filtering well but omits return value structure, pagination behavior, default settings, and how it relates to other fundamental tools beyond presets. This is a significant gap for a tool of this complexity.

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?

With 0% schema description coverage, the description effectively compensates by grouping parameters into meaningful categories (profitability, growth, financial-health, dividends) and mapping them to the schema fields. It omits units or value ranges (e.g., percentages vs decimals), but it adds substantial semantic meaning for most 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 description clearly identifies this as a multi-filter stock screener and lists specific filter categories (profitability, growth, financial-health, dividends) plus sector/industry scoping and sort control. It also distinguishes itself from sibling tools by declaring it the PRIMARY tool for 'find me stocks that…' queries.

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 when to use this tool ('find me stocks that…' asks) and points to ready-made strategies in /fundamentals/screener/presets as an alternative. However, it does not contrast with other fundamental data tools like search or company_full, so the guidance is clear but not exhaustive.

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

tengu_v3_fundamentals_screener_presetsAInspect

Catalog of pre-built screener strategies — Aristocrats, Cash Cows, Value, Quality and more. Call it when the user asks for a named strategy screen or wants screening ideas before composing /fundamentals/screener filters.

ParametersJSON Schema
NameRequiredDescriptionDefault

No parameters

Behavior3/5

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

With no annotations, the description carries the full burden. It states the tool is a 'catalog of pre-built screener strategies,' which implies a read-only listing, but it does not explicitly disclose the return format, whether it requires any input (though schema shows none), or any other behavioral details such as pagination or filtering. The description provides basic clarity but lacks explicit transparency about what the tool outputs.

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 two sentences, front-loaded with the core content ('Catalog of pre-built screener strategies'), followed by a brief usage guideline. Every sentence contributes meaningful information without redundancy or filler.

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 zero parameters and no output schema, the description adequately covers the tool's purpose and usage context. It names example presets and explains when to invoke it. It could be more explicit about the return value being a list of preset names or their details, but for a simple catalog tool, the description is sufficiently complete.

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 tool has zero parameters, so the baseline is 4. The description adds semantic value by explaining that this is a catalog of presets for screening, which helps the agent understand the tool's purpose. There are no parameter details needed since the schema contains no properties.

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 identifies the tool as a catalog of pre-built screener strategies with specific examples (Aristocrats, Cash Cows, Value, Quality). It also distinguishes it from the related tengu_v3_fundamentals_screener by positioning it as a source of ideas before composing filters. The verb 'catalog' and resource 'screener strategies' are specific and non-tautological.

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 when to use: 'when the user asks for a named strategy screen or wants screening ideas before composing /fundamentals/screener filters.' This provides clear context and implies the alternative (composing filters via the screener). However, it does not explicitly state when NOT to use it or name alternative tools beyond the /fundamentals/screener reference.

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

tengu_v3_fundamentals_sec_filingsAInspect

SEC filings list for a ticker — 10-K, 10-Q, 8-K, S-1 and more, with an optional form_type filter (default limit 20). Call this when the user asks what a company has filed or wants to locate a specific filing type.

ParametersJSON Schema
NameRequiredDescriptionDefault
limitNo
tickerYes
form_typeNo
Behavior3/5

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

With no annotations, the description carries the full burden. It discloses the default limit of 20 and the optional form_type filter, but does not describe the return format, ordering, or valid form_type values. This is a minimal but acceptable level of transparency for a read-only list operation.

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 two sentences, front-loaded with the tool's purpose and followed by usage guidance. Every word earns its place; there is no redundancy or fluff.

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?

Given no annotations and no output schema, the description lacks details about the return structure, pagination, or how to adjust the limit beyond the default. It is sufficient for selecting the tool, but not fully complete for understanding what the agent will receive.

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 description coverage is 0%, so the description must compensate. It adds meaning to form_type (optional filter) and limit (default 20), while ticker is implied through 'for a ticker.' It does not specify exact form_type syntax or limit semantics beyond the default, but enough is provided for correct invocation.

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 the tool returns an SEC filings list for a ticker, specifying the form types (10-K, 10-Q, 8-K, S-1) and an optional filter. This distinguishes it from sibling tools like tengu_v3_sec_filing_extract, which would handle extracting filing contents.

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?

It explicitly tells the agent when to call the tool ('Call this when the user asks what a company has filed or wants to locate a specific filing type'). This gives clear context, though it does not mention when not to use it or point to alternatives.

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

tengu_v3_fundamentals_segmentsAInspect

Business + geographic SEGMENT breakdown for one company — decomposes a fiscal period into reportable segments by line of business, geography, ASC-280 operating segment and US state, each with sales, revenue, operating income and SIC, grouped by segment type. Call it to see WHERE a company earns: revenue mix by region (e.g. Greater China share) or which line of business carries the margin. Internally keyed (the ticker is resolved via the point-in-time name master, most-recent row); the archive lags, so with no year/date it returns the LATEST available period and reports the datadate served. Values are in the reported currency, fundamentals's millions convention.

ParametersJSON Schema
NameRequiredDescriptionDefault
dateNo
yearNo
limitNo
stypeNo
tickerYesPath parameter 'ticker' (required).
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 of behavioral disclosure and exceeds expectations. It reveals internal keying via the point-in-time name master, the archive lag, the default to latest available period when no year/date is supplied, and the reported currency/millions convention. These are non-obvious behaviors not inferable from 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.

Conciseness4/5

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

The description is information-dense with no filler. It is front-loaded with the core purpose and use cases, followed by key behavioral details. While it is somewhat verbose (four sentences with multiple clauses), every sentence contributes meaning, so it remains effectively concise.

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?

Despite lacking an output schema and annotations, the description covers most operationally critical context: what data is returned, how ticker resolution works, date default behavior, and value conventions. It falls short only on clarifying 'stype' parameter values and the exact output grouping format, but for tool selection/invocation it is largely complete.

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 only 20% (only 'ticker' is described). The tool description adds semantic value for 'date' and 'year' by explaining that omitting them returns the LATEST available period, but it does not explain 'stype' (segment type?) or 'limit' beyond schema defaults. Since coverage is low, more compensation was needed, though the descriptions provided are genuinely useful.

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 the tool's function: 'Business + geographic SEGMENT breakdown for one company' and details what it decomposes (fiscal period, line of business, geography, ASC-280 operating segment, US state) with accompanying metrics. It also provides concrete examples of when to use it ('revenue mix by region... which line of business carries the margin'), making the purpose unambiguous and distinct from sibling fundamentals tools.

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 instructs when to invoke the tool: 'Call it to see WHERE a company earns...' and gives example use cases. However, it does not mention alternatives or exclusions relative to other tools (e.g., when NOT to use it), so it stops short of full usage-guideline coverage.

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

tengu_v3_fundamentals_tickersAInspect

Paged listing of the full covered ticker universe, filterable to S&P 500 membership or one sector (limit/page paging). Call it when the user wants all the stocks in a sector or an index-membership list to feed a screen.

ParametersJSON Schema
NameRequiredDescriptionDefault
pageNo
limitNo
sectorNo
is_sp500No
Behavior3/5

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

With no annotations provided, the description carries the burden of disclosing behavior. It mentions paging and filters, but does not describe the return format, field contents, pagination semantics (e.g., max limit, default page), or any potential rate limits or auth requirements. It is adequate but not rich in behavioral detail.

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 exactly two sentences with no wasted words. It front-loads the core function and then provides a clear use-case signal. The structure is ideal for quick agent comprehension.

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?

Given that there is no output schema and no annotations, the description could be more complete about what fields each listed ticker includes, how pagination behaves, and what filters combine. It covers the basics well but leaves some gaps for a tool that is meant to feed a screen.

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 description coverage is 0%, so the description must compensate. It effectively explains the meaning of all four parameters: 'limit/page paging' covers page and limit, 'S&P 500 membership' covers is_sp500, and 'one sector' covers sector. This adds semantic beyond the bare schema, though it does not detail specific accepted values or defaults.

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 identifies the tool as a paged listing of the full covered ticker universe with filters for S&P 500 membership or sector. It uses a specific verb ('listing') and resource ('ticker universe'), and the mention of filters distinguishes it from related tools like screeners or single-ticker lookups.

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 guidance explicitly states when to call the tool: 'when the user wants all the stocks in a sector or an index-membership list to feed a screen.' It provides clear context but does not explicitly mention when not to use it or name alternative tools, which keeps it slightly below a perfect score.

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

tengu_v3_fundamentals_xbrlAInspect

One XBRL concept's as-reported history — period, value, fiscal year/period, SEC form, accession, filed date — from the in-house SEC EDGAR companyfacts corpus. Call it for exact as-filed fundamentals: as_of= for point-in-time (no restatement look-ahead), history=true for all restatements; find tags via /fundamentals/companyfacts.

ParametersJSON Schema
NameRequiredDescriptionDefault
endNo
formNo
unitNo
as_ofNo
limitNo
startNo
tickerYesPath parameter 'ticker' (required).
conceptYesPath parameter 'concept' (required).
historyNo
taxonomyNo
Behavior4/5

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

With no annotations, the description carries the full burden. It discloses important behavioral traits: as-reported data, point-in-time semantics via as_of, restatement handling via history, and the data source. It also lists returned fields (period, value, fiscal year/period, SEC form, accession, filed date). Lacks details on auth, rate limits, or error behavior, but the core behavior is transparent.

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 three sentences, front-loaded with the core definition, followed by usage guidance and a pointer to the tag search endpoint. Every sentence adds value with no fluff.

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?

With 10 parameters and no output schema, the description gives a solid overview and key parameter semantics, but omits details on six parameters and does not describe return structure or edge cases. It is adequate for an experienced user but not fully complete.

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 only 20%, so the description must compensate. It adds meaningful semantics for as_of and history, explaining their effect on restatement look-ahead. However, it leaves start, end, form, unit, limit, and taxonomy unexplained. Partial compensation for the low schema coverage, but significant gaps remain.

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 the tool's function: providing one XBRL concept's as-reported history from the SEC EDGAR companyfacts corpus. It uses a specific verb ('history') and resource, and distinguishes itself from sibling tools by emphasizing exact as-filed fundamentals and referencing /fundamentals/companyfacts for tag discovery.

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?

It gives explicit guidance on when to use the tool ('Call it for exact as-filed fundamentals') and explains the key parameters as_of= for point-in-time (no restatement look-ahead) and history=true for all restatements. However, it does not explicitly name alternative tools or state when not to use it.

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

tengu_v3_funds_mutual_fund_ownershipAInspect

Which mutual funds hold a stock — each fund's percent_tna, shares and market value, largest first, plus report_dt and n_funds, from the survivor-bias-free holdings archive (coverage 2002-2021; no date = latest lagged quarter-end). Call it for mutual-fund demand base or holder concentration; for 13F institutional holders use /intel/sec13f.

ParametersJSON Schema
NameRequiredDescriptionDefault
topNo
dateNo
tickerYesPath parameter 'ticker' (required).
min_market_valNo
Behavior4/5

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

With no annotations, the description carries the burden and does well: it discloses the data source (survivor-bias-free archive), coverage window (2002-2021), and default date behavior (no date = latest lagged quarter-end). This adds meaningful context beyond the schema, though it omits potential nuances like pagination or error behavior.

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 a single dense sentence followed by a short usage directive. Every clause adds value, with no filler or redundancy, and the key purpose is front-loaded.

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 no output schema and four parameters, the description covers the core purpose, output fields, data provenance, and default date behavior. It falls slightly short of full completeness by not explaining all parameters, but the tool's behavior is reasonably inferable.

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 coverage is low (25%, only ticker described). The description explains the 'date' parameter's default behavior and the output ordering, but it does not clarify the 'top' or 'min_market_val' parameters, leaving agents to infer their semantics from names and schema constraints.

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 the tool identifies mutual fund holdings for a given stock, specifying output fields (percent_tna, shares, market value, report_dt, n_funds) and ordering (largest first). It distinguishes from the 13F tool, making 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 Guidelines5/5

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

Explicitly says to use for 'mutual-fund demand base or holder concentration' and directs the agent to '/intel/sec13f' for 13F institutional holders, providing clear when-to-use and alternative guidance.

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

tengu_v3_governanceAInspect

One-call corporate-governance dossier: board size + composition (independent vs executive directors, current members, from board-relationship), director interlocks with other boards, restatement record, auditor-change history, and the latest year's executive compensation (CEO/CFO and top-5 named officers, from executive-compensation). Call it for any management-quality, board-oversight or comp question; blocks degrade independently. For graded forensic red flags use /api/v3/intel/accounting_flags.

ParametersJSON Schema
NameRequiredDescriptionDefault
tickerYesPath parameter 'ticker' (required).
Behavior4/5

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

With no annotations provided, the description carries the full burden of behavioral disclosure. It adds useful context: 'blocks degrade independently' (partial data availability) and specifies data provenance ('from board-relationship', 'from executive-compensation'). It does not explicitly declare safety (read-only) or return format, but for a data-aggregation tool, the disclosed behavior goes beyond a bare description, warranting a high score.

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 packs a significant amount of information into two well-organized sentences. The first sentence lists the datasource contents with parentheses for clarity, and the second provides usage and exclusion guidance. No filler or redundancy; every clause earns its place.

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 moderate complexity and lack of an output schema, the description covers the key content areas and usage context. It lists all data components, mentions 'blocks degrade independently', and points to an alternative for adjacent needs. It stops short of detailing the exact response envelope or error behaviors, but for a one-parameter retrieval tool, this is sufficient to set expectations.

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?

The schema has 100% coverage for the single 'ticker' parameter, so the baseline is 3. The description does not add extra meaning about ticker formats, case sensitivity, or examples. Since the schema itself sufficiently describes the parameter (required path parameter), the description earns the baseline but no more.

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, specific verb-resource combination: 'One-call corporate-governance dossier'. It enumerates exact contents (board size, composition, interlocks, restatement record, auditor-change history, executive compensation) and explicitly differentiates from alternatives via the red-flag alternative reference. This unambiguously identifies the tool's purpose and scope.

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 provides explicit usage guidance: 'Call it for any management-quality, board-oversight or comp question'. It also gives a direct alternative for a different use case: 'For graded forensic red flags use /api/v3/intel/accounting_flags'. This covers both when to use and when to avoid, exceeding baseline expectations.

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

tengu_v3_hedgingAInspect

Index hedge proposals (SPY/QQQ/IWM) computed from live dealer positioning — protective puts when dealers are short gamma and IV rank is cheap, collars when the 25-delta risk reversal shows calls rich, plus IV term-structure context

ParametersJSON Schema
NameRequiredDescriptionDefault

No parameters

Behavior4/5

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

With no annotations, the description carries the full burden. It discloses the computation source ('live dealer positioning'), the strategy triggers, and that the output includes 'IV term-structure context.' It does not mention side effects or return format in detail, but the read-only, proposal-generation nature is evident from the wording.

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 a single dense sentence that front-loads the core purpose ('Index hedge proposals') and then efficiently explains the logic. Every clause adds meaningful information: indices, dealer positioning, protective put conditions, collar conditions, and term-structure context. No filler or redundancy.

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 no output schema and no parameters, the description provides a fairly complete picture: it names the indices, explains the inputs ('live dealer positioning'), and gives concrete examples of generated proposals. It could be more explicit about the response structure, but the low complexity and zero-parameter design make this sufficient.

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 tool has zero parameters, so there is nothing for the description to add beyond what the schema already shows. Baseline for 0 parameters is 4; no parameter semantics are needed.

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 the tool produces 'Index hedge proposals (SPY/QQQ/IWM)' computed from 'live dealer positioning,' giving a specific verb+resource scope. It distinguishes itself from sibling tools by focusing on hedging and options-based strategy logic rather than generic data retrieval or analytics.

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 provides clear context for when the tool's outputs apply: 'protective puts when dealers are short gamma and IV rank is cheap' and 'collars when the 25-delta risk reversal shows calls rich.' It does not explicitly name alternatives or exclusions, but the conditions and index scope imply the appropriate use case.

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

tengu_v3_intel_analyst_consensusAInspect

Analyst consensus: rating_label (Strong Buy…Strong Sell), rating_score (1-5), bucket counts, price_target_avg/high/low/count, recent_actions[] (upgrades/downgrades/PT changes, firm+analyst+from→to; recent_action_limit). Call for 'what do analysts say about X?' / price targets. Actions from newswire (client-side ticker filter). 1h cache.

ParametersJSON Schema
NameRequiredDescriptionDefault
tickerYesPath parameter 'ticker' (required).
recent_action_limitNo
Behavior4/5

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

No annotations provided, so description bears full burden. It discloses that actions come from newswire with a client-side ticker filter and that data is cached for 1 hour. This is valuable behavioral information 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.

Conciseness4/5

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

Packed into a single dense paragraph with all key information front-loaded. No wasted words; each clause adds meaning.

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?

No output schema, but description enumerates all major return fields: rating_label, rating_score, bucket counts, price_target avg/high/low/count, and recent_actions with structure. Covers data source and caching; adequate for selection and basic invocation.

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 covers ticker as a required path parameter (50% coverage). Description adds semantics for recent_action_limit by connecting it to recent_actions[], but doesn't explain limits or defaults. Ticker semantics are obvious from context.

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?

Description clearly states the tool provides analyst consensus data including rating_label/score, bucket counts, price_target values, and recent actions. It distinguishes itself from generic data tools by specifying the exact output fields and the use case for 'what do analysts say about X?'.

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?

Explicitly states 'Call for "what do analysts say about X?" / price targets' which tells the agent when to use this tool. Does not name alternative tools but provides a clear query context.

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

tengu_v3_intel_borrow_costAInspect

Securities-lending borrow cost (annualized fee %, rebate, utilization, shares available) — LIVE. Source chain, first hit wins (see source): 1) options-flow shorts feed (intraday) + recent SEC fails-to-deliver enrichment; 2) licensed-research securities-finance Securities Finance latest archived daily row; 3) implied-vol option-implied borrow. is_stale flags prints older than 48h (warehouse rows trail on the licensed-research refresh lag). data_source_pending=true ONLY when all three sources miss — then fall back to /intel/short_interest as the squeeze proxy. Use /intel/borrow_cost_history for the daily series. 15-min cache.

ParametersJSON Schema
NameRequiredDescriptionDefault
tickerYesPath parameter 'ticker' (required).
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 of behavioral disclosure. It reveals the live nature, the multi-tier source chain with 'first hit wins' logic, the freshness threshold for the is_stale flag (older than 48h), the data_source_pending condition, and the 15-minute cache. This is exceptionally transparent about how the tool behaves under various data availability scenarios.

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 description is a dense single paragraph that front-loads the core purpose and metric list, then elaborates on sources, freshness, and fallbacks. Each clause adds meaningful information, but the structure could be improved by using list formatting or shorter sentences. The content earns its place, though it reads as slightly run-on.

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?

For a simple one-parameter data tool with no output schema, the description covers all critical operational context: source chain, data recency expectations, stale flag semantics, fallback behavior, and caching. It does not describe the exact response shape or field names beyond the metrics listed in parentheses, but given the tool's simplicity and the absence of an output schema, it is sufficiently complete.

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?

The schema already documents the single 'ticker' parameter with 100% coverage, so the description need not repeat its format. It does not add details about ticker formatting or constraints, but the parameter is simple and self-explanatory. The description's focus on output semantics (borrow cost components) indirectly clarifies what the ticker is used for. Baseline 3 is appropriate since the schema does the heavy lifting.

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 the tool provides securities-lending borrow cost metrics (annualized fee %, rebate, utilization, shares available) in a LIVE context. It distinguishes itself from sibling tools by specifying the source chain and explicitly pointing to /intel/borrow_cost_history for daily series and /intel/short_interest as a fallback, making its unique 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 Guidelines5/5

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

The description provides explicit usage guidance: it names the alternative tool for historical daily series ('Use /intel/borrow_cost_history for the daily series'), explains the fallback to /intel/short_interest when data_source_pending=true, and describes the cache behavior (15-min). This clearly communicates when to use this tool versus its siblings and what to expect under different data conditions.

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

tengu_v3_intel_borrow_cost_historyAInspect

Daily securities-lending borrow-cost HISTORY for one ticker from the licensed-research warehouse (default: last 90 days of coverage; max 365-day window). Primary source securities-finance Securities Finance (~50M rows 2010->latest licensed-research drop): annualized fee_pct / rebate_pct, utilization_pct and on-loan/lendable share quantities — the institutional squeeze-watch series (rising fee + utilization = tightening borrow). Falls back to implied-vol option-implied borrow (shortest tenor per day) when securities-finance lacks the name. licensed-research refreshes on a lag — check as_of before treating the newest row as current; use /intel/borrow_cost for the live snapshot. 1h cache.

ParametersJSON Schema
NameRequiredDescriptionDefault
endNo
limitNo
startNo
tickerYesPath parameter 'ticker' (required).
Behavior5/5

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

With no annotations, the description carries full burden and delivers: primary vs fallback data sources, refresh lag requiring as_of checks, 1h cache, and the specific fields returned. It even highlights the squeeze-watch interpretation (rising fee + utilization), which is valuable behavioral context beyond a simple read.

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 description is dense but organized, front-loading the main purpose and then adding necessary details about sources, fallback, lag, and cache. Each sentence contributes useful information, though the string of clauses in the middle could be more readable. Still, it is appropriately sized for the tool's complexity.

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 and absence of an output schema, the description covers data source, fallback, time range, lag/cache, and how to interpret the data. It misses explicit parameter format details (start/end/limit), which slightly reduces completeness, but overall it provides strong contextual grounding for an agent to invoke the tool correctly.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters2/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is only 25% (only ticker has a minimal description). The description adds context about time windows but does not clarify start/end format or limit semantics, and introduces ambiguity: says 'max 365-day window' while schema allows limit up to 2000, leaving the relationship between time window and row limit unclear. This does not adequately compensate for the low schema coverage.

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 this returns daily securities-lending borrow-cost history for one ticker from a specific warehouse. It explicitly contrasts with the live snapshot tool by saying 'use /intel/borrow_cost for the live snapshot', thereby distinguishing from the sibling tool tengu_v3_intel_borrow_cost. The scope, source, and data fields are all specified.

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 usage guidance: default 90-day coverage, max 365-day window, fallback to implied-vol when primary data is missing, and lag/cache warnings. It names the alternative tool for live snapshots, making when-to-use vs when-not-to-use clear.

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

tengu_v3_intel_calendar_conference_callsAInspect

newswire: upcoming earnings conference-call schedule. Returns ticker, company, date, start_time, period (Q1/Q2/...), webcast_url, phone_num, international_num, access_code, and importance (5 = mega-cap market-mover). Distinct from /calendar/earnings — this carries the call logistics analysts need to attend.

ParametersJSON Schema
NameRequiredDescriptionDefault
limitNo
date_toNo
tickersNo
date_fromNo
importanceNo
Behavior3/5

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

With no annotations provided, the description must carry the behavioral disclosure burden. It adds value by listing return fields and defining the importance scale (5 = mega-cap market-mover), which is useful response-shape context. However, it does not explicitly mention read-only behavior, potential limitations, auth requirements, or rate limits, leaving room for more transparency.

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 concise: two sentences that front-load the core purpose, list output fields compactly, and add a differentiator. No filler or redundant content; every element earns its place.

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?

Given the absence of an output schema, the description provides a useful list of return fields and a source label. However, it omits parameter details, date formats, and any behavioral constraints, leaving an agent uncertain about filter semantics. It is adequate for a simple calendar tool but not fully complete.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters2/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

The schema has 0% parameter description coverage, so the description must compensate. It only explains the meaning of the `importance` scale (5 = mega-cap market-mover) and does not clarify semantics for `limit`, `date_from`, `date_to`, or `tickers`. With four of five parameters still undefined, this is insufficient compensation.

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 identifies the tool as an upcoming earnings conference-call schedule and enumerates the specific return fields (ticker, company, date, start_time, period, webcast_url, phone_num, international_num, access_code, importance). It also explicitly distinguishes it from /calendar/earnings by noting it carries call logistics, making the intent 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 statement 'Distinct from /calendar/earnings — this carries the call logistics analysts need to attend' provides a clear when-to-use signal: use this when you need conference-call access details. It implies the alternative '/calendar/earnings' is for those who do not need logistics, but it does not explicitly name siblings from the provided list or spell out exclusion cases, so it's slightly below the most explicit standard.

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

tengu_v3_intel_calendar_economicsAInspect

Macro economic-release calendar from the newswire — CPI, NFP, FOMC, GDP, retail sales and more, filterable by ISO-3 country (USA, CAN, DEU) and date range; importance 5 = market-moving. Call this when the user asks what macro events or data releases are coming up or could move markets this week.

ParametersJSON Schema
NameRequiredDescriptionDefault
limitNo
countryNo
date_toNo
date_fromNo
importanceNo
Behavior3/5

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

No annotations are provided, so the description carries the full burden. It adds useful context like 'importance 5 = market-moving' and the newswire source, but it does not disclose return format, default limit behavior, or whether historical events are included. The description is informative but incomplete for a read-oriented tool.

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 two sentences, front-loaded with the tool's core function, and then immediately lists supported indicators and filters. Every sentence earns its place with no redundant or vague wording.

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?

For a simple calendar query tool with no output schema, the description covers the essential use case, key filters, and the importance scale. It lacks details about response content or default limit, but these are not critical for the agent to invoke the tool correctly.

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 0%, so the description must compensate. It explains country as ISO-3 with examples, date range as a filter, and the meaning of importance=5. However, it omits the limit parameter entirely and does not give date format syntax, so it only partially compensates for the schema gap.

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 the tool provides a macro economic-release calendar from the newswire, listing specific indicators (CPI, NFP, FOMC, GDP) and explicitly names the filter dimensions. This distinguishes it from sibling calendars like conference_calls and ratings, and the final sentence gives a concrete use case.

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 says when to call: 'when the user asks what macro events or data releases are coming up or could move markets this week.' This provides clear context, but it does not mention when not to use the tool or alternatives, which would earn a 5.

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

tengu_v3_intel_calendar_ratingsBInspect

Analyst rating actions and price-target changes from the newswire: analyst_firm, analyst_name, action_company (Maintains/Initiates), action_pt (Raises/Lowers), pt_current, pt_prior, pt_pct_change, rating_current/prior. Call this when the user asks about upgrades, downgrades, or price-target moves on a ticker.

ParametersJSON Schema
NameRequiredDescriptionDefault
limitNo
actionNo
date_toNo
tickersNo
date_fromNo
Behavior2/5

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

There are no annotations, so the description must fully explain behavior. It only states the data source (newswire) and lists output fields, but says nothing about whether the operation is read-only, how results are sorted/paginated, date-range handling, or any side effects. This leaves significant ambiguity for an agent.

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 description is a single sentence followed by a comma-separated field list. It is reasonably concise but the field list makes it a bit dense. The primary purpose and usage hint are front-loaded, so it loses little time for readers.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness2/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given no annotations, no output schema, and 5 unannotated parameters, the description needs to fill many gaps. It provides clear purpose and usage context, but lacks parameter explanations, behavior details, and return-format guidance. It is sufficient only for a high-level understanding, not for reliable invocation.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters2/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

The input schema has 5 parameters with 0% coverage from the description. The description mentions 'ticker' and upgrades/downgrades, hinting at the `tickers` and `action` parameters, but does not map these to actual parameter names or clarify formatting (e.g., date formats, comma-separated tickers, enum values). The field list in the description pertains to output, not input parameters, adding limited semantic value.

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 the tool reports 'Analyst rating actions and price-target changes from the newswire', which is specific about the resource and verb. It also enumerates key output fields, distinguishing it from related tools like consensus or news ratings. The phrase 'upgrades, downgrades, or price-target moves' directly addresses typical user intents.

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 gives an explicit 'when to use' directive: 'Call this when the user asks about upgrades, downgrades, or price-target moves on a ticker.' However, it does not mention when not to use it or point to alternatives, so it lacks the fuller guidance expected for a top score.

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

tengu_v3_intel_cftc_cotAInspect

CFTC Commitments-of-Traders report — futures positioning by cohort (producers/hedgers, money managers, other reportables, non-reportables). Polled weekly on Fridays at 18:00 ET, the CFTC's standard publication window. Without filter: returns top-10 money-manager longs and shorts across all contracts on the latest report — the institutional-spec directional bets. With ?contract=GOLD (substring match, also accepts WTI, NATGAS, SP500-EMINI, BITCOIN-MICRO, 10Y-NOTE, etc.) returns the matched contract's 5-week positioning history with cohort net positions, % of OI, and a 4-week net delta. Extreme money-manager longs at the top of a rally historically mark exhaustion; commercial-hedger net longs at the bottom historically mark reaccumulation — leading indicator. 4h cache (CFTC publishes weekly so the data is stale-by-design).

ParametersJSON Schema
NameRequiredDescriptionDefault
contractNo
Behavior5/5

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

With no annotations provided, the description carries full burden and handles it thoroughly. It discloses the weekly publication schedule, the 4-hour cache with the 'stale-by-design' caveat, the substring matching semantics of the contract parameter, and exactly what output fields to expect (net positions, % of OI, 4-week net delta). No contradictions with annotations exist.

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 clause serves a purpose: what the report is, publication timing, the unfiltered default behavior, the filtered behavior with examples, output components, a trading interpretation heuristic, and caching behavior. There is no fluff, and the structure flows logically from overview to usage to caveats.

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 tool with a single optional parameter and no output schema, the description is unusually complete. It covers default vs. filtered behavior, the fuzzy matching of the parameter, the exact output fields, the data's staleness, and even suggests use cases. There is no meaningful gap that would leave an agent unsure about what this tool does or returns.

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?

The schema provides zero description for the 'contract' parameter, but the description fully compensates: it explains that it's a substring match, gives multiple concrete examples (GOLD, WTI, NATGAS, etc.), specifies the behavior when omitted, and details the output structure for the filtered case. This is exactly the kind of parameter semantics the description should add.

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 identifies the tool as the CFTC Commitments-of-Traders report showing futures positioning by cohort, with specific detail on what is returned both globally and per-contract. It distinguishes itself from the many sibling intel tools by its explicit focus on COT data and cohort breakdowns.

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 explains two clear usage modes: without a filter (top-10 money-manager positions across all contracts) and with a contract filter (5-week history for a specific contract). It also provides interpretive guidance (extreme money-manager longs as exhaustion signal) which implies when an agent would want this data. However, it does not explicitly mention alternatives or when NOT to use this tool, so it falls short of a 5.

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

tengu_v3_intel_chartAInspect

Candlestick chart with optional RSI/MACD/Bollinger overlays — returns a base64 PNG in a standard image envelope plus an OHLCV summary block (interval minute|hour|day|week|month, default day; 120 bars). Call this when the user asks to see a chart; powers chart-emitting skills (TA Master, Trading Plan, Apex Equity Intel).

ParametersJSON Schema
NameRequiredDescriptionDefault
barsNo
tickerYesPath parameter 'ticker' (required).
intervalNoday
indicatorsNorsi,macd,bb
Behavior4/5

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

With no annotations provided, the description carries the full burden of disclosing behavior. It details the output format (base64 PNG, OHLCV summary), supported intervals, default bar count, and optional indicators. This gives a clear picture of the call's outcome, though error handling or data limitations are not mentioned.

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 two sentences, front-loaded with the core function and output, followed by usage context. Every clause contributes essential information without redundancy.

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 absence of an output schema and annotations, the description covers the key aspects: when to use, what is returned, the interval options, and the default bar count. It omits details about the 'standard image envelope' structure and potential error cases, but for a chart tool this is sufficiently complete to guide correct invocation.

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?

The schema only documents the ticker, so the description adds value by enumerating intervals, specifying the default bar count, and mentioning the RSI/MACD/Bollinger overlays for the indicators parameter. However, it does not explain the exact syntax for the indicators list or the meaning of the bars parameter beyond the default, leaving partial gaps.

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 the tool produces a candlestick chart with optional technical overlays and returns a base64 PNG plus an OHLCV summary. It explicitly positions itself as the go-to chart tool with 'Call this when the user asks to see a chart,' distinguishing it from the many data-lookup 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?

It provides an explicit when-to-use directive ('Call this when the user asks to see a chart') and notes that it powers chart-emitting skills. It does not explicitly mention when not to use it or name alternative tools, but the context is unambiguous given the large tool landscape.

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

tengu_v3_intel_commoditiesAInspect

REAL-TIME spot prices for the macro commodities (oil WTI/Brent, gold, silver, nat-gas, copper). AUTHORITATIVE source for any numeric commodity claim — call this BEFORE quoting a price level. QUOTE 'spot' DIRECTLY — it's the live commodity price (FRED's last published close anchored to the live commodity-tracking ETF's cumulative return since that date, so it reflects today's market not FRED's T+1..T+5 publish lag). 'unit' tells you the dimension (USD/barrel for oil, USD/MMBtu for natgas, USD/metric-ton for copper). Response fields per item: 'spot' (live number — quote this), 'unit' (dimension), 'spot_basis' ('live_etf_bridged' = FRED+ETF bridge | 'fred_close' = FRED only, no ETF available | 'etf_share_price' = FRED dead, falling back to ETF SHARE price [unit reads 'USD per share of {ETF}'] — DO NOT claim $/oz when basis is etf_share_price), 'spot_time' (timestamp of the live observation), 'live_spot_estimate' (same as spot when bridged, else null), 'live_basis' (transparent arithmetic, e.g. 'FRED WTI $99.89 (2026-04-27) × (USO 142.80 / 134.72)'), 'bridge_return_pct' (ETF return applied to FRED), 'official_close' + 'official_close_as_of' (FRED audit value — quote ONLY if user explicitly asks for the last settlement / closing price), 'change_pct_1d/5d/30d' (FRED-window returns), 'history_5d' (last 6 FRED observations newest-first), 'fred_days_stale' + 'is_stale' (publish-lag flags — informational; spot is still live regardless), 'etf_proxy_quote' (the underlying ETF snapshot used for the bridge; for transparency only). 'symbol=oil' returns both WTI and Brent; default 'all' returns all six.

ParametersJSON Schema
NameRequiredDescriptionDefault
symbolNoall
Behavior5/5

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

With no annotations, the description carries the full burden and delivers. It explains the FRED+ETF bridging mechanism, spot_basis variants, fallback to etf_share_price, and warns not to claim $/oz when basis is etf_share_price. It also discloses staleness flags and the meaning of live_basis arithmetic. This is highly transparent about the tool's behavior and quirks.

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 description is quite long, but it is front-loaded with the core purpose and usage rules, and the subsequent field-by-field breakdown is necessary given the absence of an output schema. It could be split into clearer sections, but every sentence serves a functional purpose.

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?

Since there is no output schema, the description meticulously documents all response fields, their meanings, and example values (e.g., live_basis format). It also covers symbol behavior and fallback scenarios, making the description fully self-contained for an agent to invoke the tool and interpret its result correctly.

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?

Despite 0% schema description coverage, the description explicitly explains the 'symbol' parameter: 'symbol=oil returns both WTI and Brent; default all returns all six.' This adds crucial meaning beyond the bare enum, telling the agent the effective default and grouped behavior for 'oil'.

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 'REAL-TIME spot prices for the macro commodities (oil WTI/Brent, gold, silver, nat-gas, copper)', which is a specific verb+resource statement. It further declares itself the 'AUTHORITATIVE source for any numeric commodity claim', distinguishing it from any potential price-related siblings.

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?

Explicit guidance is provided: 'call this BEFORE quoting a price level', 'QUOTE spot DIRECTLY', and for 'official_close' only if the user explicitly asks for the last settlement/closing price. This tells the agent exactly when and how to use the tool, including what to quote.

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

tengu_v3_intel_congressAInspect

Congressional stock trades from two coverage sources — a realtime cross-ticker feed (provider=options_flow, default) or a bulk alternative-data feed (provider=alternative_data) — with an optional ticker filter. Call this when the user asks what Congress members have been buying or selling, market-wide or in a specific name.

ParametersJSON Schema
NameRequiredDescriptionDefault
limitNo
tickerNo
providerNooptions_flow
Behavior3/5

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

With no annotations provided, the description carries the full burden of behavioral disclosure. It adds useful context by distinguishing a 'realtime cross-ticker feed' from a 'bulk alternative-data feed' and noting the default provider. However, it does not discuss output format, pagination, data coverage limitations, or any potential side effects, leaving gaps for an agent to discover at runtime.

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 two sentences, with the main subject and scope front-loaded. Every clause adds value: data source, provider options, default, ticker filter, and explicit usage context. No fluff or redundancy.

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?

Given the tool has no annotations and no output schema, the description reasonably covers purpose, usage, and two of three parameters. Yet it omits the meaning of 'limit' and does not describe the shape of the returned trade records (e.g., fields like date, amount, party), which would be useful for an agent to set expectations. It is adequate for selection but slightly incomplete for full invocation understanding.

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 has no property descriptions (0% coverage), so the description must compensate. It does so by explaining the provider parameter with its enum values ('options_flow' realtime, 'alternative_data' bulk) and by clarifying that ticker is an optional filter. However, the limit parameter is not explained in the description, leaving its purpose to be inferred from the schema's min/max/default values.

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 the tool returns congressional stock trades from two named coverage sources, with an optional ticker filter. It identifies the specific resource (congressional stock trades) and implicitly the function (retrieval), distinguishing it from sibling tools like tengu_v3_intel_politicians by focusing on trade transactions.

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 says 'Call this when the user asks what Congress members have been buying or selling, market-wide or in a specific name.' This gives a clear trigger condition. However, it does not mention when not to use it or name alternative tools for related queries (e.g., political contribution data), so it lacks explicit exclusions or alternatives.

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

tengu_v3_intel_corporate_donorsBInspect

Corporate-PAC donations linked to the ticker's parent company (alternative-data): candidate, committee, amount, transaction_date, cycle — a campaign-finance influence signal. Call this when the user asks who a company donates to or about its political exposure.

ParametersJSON Schema
NameRequiredDescriptionDefault
limitNo
tickerYesPath parameter 'ticker' (required).
Behavior2/5

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

No annotations are provided, so the description carries full burden. It labels the data as 'alternative-data' and a 'campaign-finance influence signal', which adds some interpretive context, and it lists the output fields. However, it does not disclose any limitations, data freshness, access requirements, or how parent-company mapping works. This is too thin for a tool with zero annotation support.

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 two sentences, front-loaded with the core data scope and fields, then a direct usage trigger. Every word earns its place with no repetition or filler.

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?

Given no output schema and no annotations, the description provides a reasonable overview: it names the data type, key fields, and use cases. However, it omits practical operational details like whether the data covers multiple cycles, how the limit parameter works, or any caveats about coverage or lag. It is minimally viable but not fully complete for an agent to anticipate output shape and behavior.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters2/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

The schema provides weak descriptions: ticker is only 'Path parameter (required)' and limit has none. The description adds meaning for ticker by explaining it maps to the parent company, but the `limit` parameter is never mentioned. With 50% schema coverage and little compensation, the parameter semantics remain under-specified.

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?

The description clearly identifies the resource: Corporate-PAC donations tied to the ticker's parent company, and lists the fields returned (candidate, committee, amount, transaction_date, cycle). It distinguishes this from sibling tools like lobbying or congress by focusing on PAC donations and political influence. However, it lacks an explicit verb like 'retrieve' or 'list', relying on the noun phrase to imply the action.

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?

It explicitly states when to call: 'when the user asks who a company donates to or about its political exposure.' This is clear context for use. It does not mention alternative tools to prefer or exclusions, but the trigger covers the primary scenarios.

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

tengu_v3_intel_darkpool_historyAInspect

Historical dark-pool (off-exchange) prints for one ticker — the per-print warehouse capture behind the live /intel/darkpool tool. Call to find WHEN large blocks hit and whether they printed at bid/mid/ask. Each row is an individual execution: executed_at, price, size, premium (USD), market center + the NBBO at print time; newest first, plus total premium/size summary. REQUIRES date OR start(+end), max 7 days per request (422 otherwise); coverage begins 2026-05-10. 5-min cache.

ParametersJSON Schema
NameRequiredDescriptionDefault
endNo
dateNo
limitNo
startNo
tickerYesPath parameter 'ticker' (required).
min_premiumNo
Behavior4/5

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

No annotations exist, so the description carries the burden. It discloses the per-print nature, required date constraints, max range error behavior, data availability start date, and cache duration. However, it does not explicitly state whether this is a read-only operation or describe the output size/format beyond field listings, though the field listing and summary mention provide good context.

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 description is relatively compact and front-loaded with the core purpose in the first sentence. It packs constraints, coverage start, and cache info into a few sentences. However, it is somewhat dense with many clauses in one sentence; could be slightly better structured but is mostly efficient.

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 no output schema, the description compensates by listing returned fields (executed_at, price, size, premium, market center, NBBO) and summary totals. It also covers key constraints (date requirement, max range, cache). Gaps: no explicit explanation of min_premium semantics, no pagination behavior beyond default limit, and no details on how the 5-min cache affects data freshness, but overall it is reasonably complete for an agent to use the tool correctly.

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 only 17% (ticker is documented), but the description explains date/start/end requirements and mentions limit 1000 default implicitly? no. It does not explain parameters like min_premium or limit's exact behavior. The description adds value by specifying required date semantics and the max 7-day window, but leaves min_premium unexplained and does not describe the limit parameter beyond the schema's default/max.

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 this tool returns historical dark-pool prints for one ticker, using a specific verb ('Call to find') and resource ('per-print warehouse capture'). It distinguishes itself from the live /intel/darkpool tool by explicitly positioning itself as the historical counterpart, which helps differentiate it among the many sibling tools.

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 provides explicit usage conditions: REQUIRES date OR start(+end), max 7 days per request (422 otherwise), coverage begins 2026-05-10, and 5-min cache. This tells the agent exactly when and how to use it, including error cases and constraints. It also names the related live tool, providing alternative context.

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

tengu_v3_intel_darkpool_recentAInspect

Most recent dark-pool prints across all tickers from the options-flow feed (default 50). Call this when the user asks about market-wide dark-pool or block activity — 'any big dark-pool prints today?'; use tengu_v3_intel_darkpool_ticker for a single name.

ParametersJSON Schema
NameRequiredDescriptionDefault
limitNo
Behavior3/5

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

With no annotations provided, the description carries the transparency burden. It discloses the data source (options-flow feed) and the default limit, but does not elaborate on return format, sorting, latency, or any potential side effects. This is adequate for a simple read-only list but not rich.

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 two sentences, front-loaded with the core purpose in the first sentence and usage guidance in the second. Every word earns its place, with no redundancy or filler.

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?

For a simple tool with one optional parameter and no output schema, the description covers purpose, scope, and usage context effectively. It could add a note about what fields are returned, but given the tool's simplicity and the clarity of 'prints', it is sufficiently complete.

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?

The input schema has a single 'limit' parameter with default/min/max but no description. The description mentions '(default 50)' which reinforces the schema's default but does not explicitly explain that limit controls the number of prints. For such a self-explanatory parameter, this is sufficient but not exceptional.

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 the tool returns the most recent dark-pool prints across all tickers from the options-flow feed, with a default of 50. It also differentiates itself from the ticker-specific sibling tool by noting the market-wide scope.

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?

Explicitly provides when to use the tool ('when the user asks about market-wide dark-pool or block activity') and gives a concrete example query. It also directs users to the alternative tool for single-ticker queries, making the selection decision unambiguous.

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

tengu_v3_intel_darkpool_tickerAInspect

Dark-pool prints for one ticker from the options-flow feed (default 50). Call this when the user asks whether large blocks are crossing off-exchange in a specific name; use tengu_v3_intel_off_exchange for daily aggregate off-exchange volume instead of individual prints.

ParametersJSON Schema
NameRequiredDescriptionDefault
limitNo
tickerYesPath parameter 'ticker' (required).
Behavior4/5

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

No annotations are provided, so the description carries the burden. It discloses the source (options-flow feed), granularity (one ticker), and default output size (50). It does not mention ordering or data freshness, but for a simple read-only data retrieval the description is reasonably transparent.

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?

Two compact sentences: the first states the resource and default behavior, the second provides usage guidance and an alternative. Every sentence earns its place with no redundancy.

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?

For a simple two-parameter list tool with no output schema, the description adequately covers what the tool does, when to use it, and the default limit. It does not describe the fields of the returned prints or ordering, but those are return-value details that would typically belong in an output schema; the core usage context is complete.

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?

The schema already documents ticker as a required path parameter and limit with type, default, minimum, and maximum. The description reinforces the default 50 but does not add substantial meaning beyond the schema's constraints. It does clarify that the result is per ticker, which slightly supports the ticker 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 opening phrase 'Dark-pool prints for one ticker from the options-flow feed' clearly identifies the resource, scope, and data source. It also distinguishes this tool from tengu_v3_intel_off_exchange by contrasting individual prints with daily aggregate volume.

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 explicitly states when to use the tool: 'Call this when the user asks whether large blocks are crossing off-exchange in a specific name.' It also names an alternative tool (tengu_v3_intel_off_exchange) for the aggregate case, providing a clear exclusion condition.

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

tengu_v3_intel_earnings_historyAInspect

Last N quarters of earnings for a ticker — report date, EPS estimate vs actual, surprise %, and the day-of-report intraday price move %. Used by the verdict prompt to anchor 'stock typically moves ±X% on earnings' claims in real numbers. Composite (newswire + market-data). 6h cache.

ParametersJSON Schema
NameRequiredDescriptionDefault
tickerYesPath parameter 'ticker' (required).
lookback_quartersNo
Behavior4/5

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

With no annotations provided, the description carries the burden. It discloses the data source ('Composite (newswire + market-data)'), caching behavior ('6h cache'), and the specific output fields. It does not explicitly state it is read-only or cover edge cases, but it provides meaningful behavioral 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 three sentences, front-loaded with the primary function and output fields, followed by usage context and data attributes. Every sentence adds value with no redundancy or filler.

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?

Although there is no output schema, the description lists the key return fields and provides source, cache, and usage rationale. It could mention parameter constraints or limitations (e.g., supported tickers), but it is sufficient for an agent to understand what the tool does and why to use it.

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 50%—only ticker has a description, which is tautological ('Path parameter'). The main description adds meaning for lookback_quarters by referring to 'Last N quarters', but it does not elaborate on ticker format or parameter constraints beyond what the schema already shows.

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 specifies 'Last N quarters of earnings for a ticker' and lists the exact fields returned (report date, EPS estimate vs actual, surprise %, intraday price move %). This distinguishes it from sibling tools like tengu_v3_earnings_next or tengu_v3_intel_street_estimates.

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 states it is 'Used by the verdict prompt to anchor... claims in real numbers', giving a clear context for when to use this tool. It does not explicitly name alternatives or provide when-not-to-use guidance, but the intended use case is well-defined.

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

tengu_v3_intel_etf_holdingsAInspect

alternative-data: ETF composition or inverse-lookup. Pass ?etf=SPY for full holdings of an ETF, OR ?ticker=NVDA for every ETF that holds the stock (with weight). At least one is required; when both are passed, etf takes precedence.

ParametersJSON Schema
NameRequiredDescriptionDefault
etfNo
limitNo
tickerNo
Behavior4/5

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

With no annotations, the description carries the full behavioral burden. It discloses the precedence behavior ('when both are passed, etf takes precedence') and adds output detail ('with weight'), which is beyond the schema. It does not mention return format or side effects, but for a read-only data lookup the key traits are covered.

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?

Two crisp sentences with no redundancy. The description front-loads the purpose ('alternative-data: ETF composition or inverse-lookup') then gives precise parameter instructions. Every sentence earns its place.

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?

The tool has two modes and three parameters, and the description covers both modes, the required condition, and the precedence. Since there is no output schema, the description partially explains outputs ('full holdings', 'with weight') but does not give a detailed return structure. For a lookup tool, this is adequate but not exhaustive.

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 compensates by explaining etf and ticker with concrete examples and their purposes. The limit parameter is left to the schema, but its default and min/max are self-explanatory. The precedence rule further clarifies the relationship between etf and ticker.

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 the tool's function: 'ETF composition or inverse-lookup' and explains both modes with concrete examples (?etf=SPY and ?ticker=NVDA). This distinguishes it from sibling tools like tengu_v3_intel_etf_summary by specifying full holdings vs holding lookups.

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?

Provides explicit usage instructions for each parameter mode and states the requirement 'At least one is required' along with precedence behavior. However, it does not explicitly compare against alternatives like the ETF summary tool or state when not to use this tool, so it lacks a small part of usage guidance.

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

tengu_v3_intel_etf_summaryAInspect

One-call ETF intelligence rollup — top holdings + commodity exposure + which other v3 tools work for this ticker. Returns top constituents by weight (holdings provider), and for commodity-tracking ETFs (USO/BNO/GLD/IAU/SGOL/SLV/SIVR/UNG/BOIL/CPER) the linked FRED spot + live proxy price. CALL THIS BEFORE saying 'no data' on any ETF question — most ETFs have rich underlying-level intel even when the wrapper itself doesn't trade analyst targets / insider flow.

ParametersJSON Schema
NameRequiredDescriptionDefault
tickerYesPath parameter 'ticker' (required).
Behavior4/5

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

With no annotations provided, the description carries the full burden of behavioral disclosure. It discloses specific behaviors: returns top constituents by weight, includes FRED spot and proxy prices for a specific list of commodity ETFs, and provides tool recommendations. It does not mention limitations, error handling, or response format, but the described behavior is quite detailed for a rollup tool.

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 description is front-loaded with a concise summary phrase ('One-call ETF intelligence rollup') and then expands with necessary detail. The second sentence is long with a ticker list, but every part serves a purpose (explaining commodity handling and usage admonition). It is not overly verbose for the richness of information conveyed.

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?

In the absence of an output schema, the description outlines the main return components: top holdings, commodity spot/proxy prices, and tool recommendations. It also provides contextual guidance for when to use it. It could be more complete by addressing non-commodity ETF behavior explicitly, but the implications are clear from the context.

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 schema only says 'Path parameter ticker (required)' which is tautological. The description adds meaningful semantics by indicating the ticker should be an ETF and listing specific commodity ETF tickers that trigger additional data (FRED spot, proxy price). This goes beyond the schema's empty description, though it could be more explicit about expected input format.

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 the tool's purpose: a one-call ETF intelligence rollup providing top holdings, commodity exposure, and tool recommendations. It uses a specific verb 'returns' and distinguishes from sibling tools like tengu_v3_intel_etf_holdings and tengu_v3_intel_commodities by emphasizing the rollup nature and the 'which other v3 tools work' feature.

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 explicitly instructs to call this tool before saying 'no data' on any ETF question, providing a clear when-to-use directive. It also contrasts with tools that lack coverage (analyst targets/insider flow), implying when alternatives may not be appropriate. This gives strong usage guidance beyond just stating what it does.

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

tengu_v3_intel_exec_compensationAInspect

Annual executive compensation history for a ticker (alternative-data): CEO + named officers with name, role, year, salary, bonus, stock_option_awards, total_compensation. Call this when the user asks 'how much is the CEO paid?' or wants pay-vs-performance context.

ParametersJSON Schema
NameRequiredDescriptionDefault
limitNo
tickerYesPath parameter 'ticker' (required).
Behavior3/5

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

No annotations exist, so the description carries the full burden for behavioral disclosure. It clearly implies a read operation and highlights the data fields, but does not disclose potential gotchas like historical coverage depth, data update frequency, pagination behavior, or permission requirements. It adds some context ('alternative-data', CEO + named officers) but lacks rich behavioral detail expected without annotations.

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 two sentences long, front-loaded with the core purpose, and every phrase adds value. It efficiently lists the return fields and gives usage examples without unnecessary fluff. No redundancy or irrelevant details.

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?

There is no output schema, so the description must explain return values; it does so by listing all expected fields (name, role, year, salary, etc.). For a simple list retrieval tool with one required param and one optional param, this level of detail is quite complete. Minor gaps like output format (array/object) or historical depth limits exist, but not enough to knock it below a 4.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters2/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 50%: only 'ticker' has a description, and that description is generic ('Path parameter'). The description reinforces that a ticker is needed ('for a ticker') but says nothing about the 'limit' parameter, its default, or its purpose. Since coverage is below 80%, the description needed to compensate, and it only partially does for ticker while ignoring limit entirely.

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 the tool provides annual executive compensation history for a ticker, specifying CEO plus named officers and the exact fields returned (name, role, year, salary, bonus, stock_option_awards, total_compensation). It uses a specific resource ('executive compensation history') and differentiates itself from siblings like insider trades or governance tools. The phrase 'alternative-data' adds context that this is a distinct data source.

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 gives explicit usage triggers: 'Call this when the user asks "how much is the CEO paid?" or wants pay-vs-performance context.' This provides clear 'when to use' guidance. However, it does not mention when not to use or name alternative tools, falling short of the full 'when/when-not/alternatives' guidance for a top score.

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

tengu_v3_intel_factor_importanceAInspect

What drives the model: Fama-French 5-factor loadings showing which systematic factors explain the strategy's returns, plus the ensemble's Bayesian voter posteriors ranking which signals it trusts most (top_n, default 50). PRIMARY tool for 'why does the model like this?' and 'what is the strategy actually betting on?' questions.

ParametersJSON Schema
NameRequiredDescriptionDefault
top_nNo
Behavior3/5

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

With no annotations, the description carries the full burden of behavioral disclosure. It explains the two output components (factor loadings and voter posteriors) but does not clarify whether the tool is read-only, what strategy scope it applies to, or any potential rate limits. This leaves gaps beyond what the name and schema imply.

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?

Two well-structured sentences lead with a concept, list the outputs, and end with clear example use cases. There is no redundant wording, and the description is appropriately sized for the tool's simplicity.

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?

For a single-optional-parameter tool with no output schema, the description covers the key aspects: what it returns and when to use it. It could note that the analysis is for the global strategy (no strategy parameter exists), but the essential information is present and it is likely sufficient for an agent to select this tool 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 schema has no property descriptions (coverage 0%), so the description's mention that top_n controls 'ranking which signals it trusts most' adds genuine meaning. It also restates the default (50), reinforcing the parameter's purpose and limits.

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 defines the tool's purpose: it returns Fama-French 5-factor loadings and Bayesian voter posteriors to explain model behavior. It explicitly states it is the 'PRIMARY tool' for 'why does the model like this?' and 'what is the strategy actually betting on?'—specific verbs and resources that distinguish it from sibling tools like tengu_v2_feature_importance and tengu_v3_intel_voter_attribution.

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 gives clear context for when to use it via 'PRIMARY tool for...' questions, which is strong guidance. However, it does not mention any alternative tools or explicitly state when not to use it, so it misses the 'when-not' part of a perfect score.

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

tengu_v3_intel_gexAInspect

Aggregate gamma exposure (GEX) and delta exposure for one ticker from the options-flow feed. Call this when the user asks about dealer positioning or gamma levels, or whether options exposure could dampen or amplify moves in a name; pair with tengu_v3_intel_max_pain for expiry pin levels.

ParametersJSON Schema
NameRequiredDescriptionDefault
tickerYesPath parameter 'ticker' (required).
Behavior3/5

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

No annotations are provided, so the description carries the burden. It adds context about the data source (options-flow feed) and aggregation scope, but does not disclose return format, real-time vs historical nature, or any data availability caveats. This is useful but not comprehensive, warranting a score of 3.

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?

Two sentences, front-loaded with the core function, followed by usage guidance. No redundancy or fluff.

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?

For a simple one-parameter tool with no output schema, the description covers what, when, and how to combine with a sibling. It lacks explicit mention of return values, but the aggregation verb implies the output. Missing exclusions for other siblings is a minor gap.

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 covers the single required parameter with a basic description. The description adds meaning by specifying 'one ticker' and the options-flow feed context, clarifying scope and source. Although schema coverage is 100%, the description enriches the parameter's purpose.

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?

Description opens with 'Aggregate gamma exposure (GEX) and delta exposure for one ticker from the options-flow feed,' clearly stating verb, resource, and scope. It distinguishes from siblings like tengu_v3_intel_max_pain by referencing pairing for expiry pin levels, and the 'one ticker' scope differentiates from history tools.

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?

Explicitly says 'Call this when the user asks about dealer positioning or gamma levels, or whether options exposure could dampen or amplify moves in a name; pair with tengu_v3_intel_max_pain for expiry pin levels.' This provides when-to-use and a complementary tool, though it doesn't explicitly list exclusions.

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

tengu_v3_intel_gex_historyAInspect

Historical dealer gamma-exposure (GEX) for one ticker — daily per-strike snapshots behind the live /intel/gex tool. Call for 'how did dealer positioning shift into OPEX / earnings?'. Default returns ONE ROW PER TRADING DAY (call/put/net GEX totals, strike count, max-gamma strike); pass per_strike=true for the full strike ladder (gamma/charm/vanna + call/put GEX per strike). REQUIRES date OR start(+end), max 30 days per request (422 otherwise); coverage begins 2026-05-10. 10-min cache.

ParametersJSON Schema
NameRequiredDescriptionDefault
endNo
dateNo
limitNo
startNo
tickerYesPath parameter 'ticker' (required).
per_strikeNo
Behavior5/5

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

With no annotations provided, the description carries full behavioral disclosure. It covers output granularity (one row per trading day vs. full strike ladder), required input constraints (date OR start+end), error condition (422 for >30 days), data coverage start, and cache duration (10-min). This is comprehensive for a read-only historical data tool.

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?

Five sentences, each with a distinct purpose: what it is, when to call it, what it returns by default vs. per_strike, required parameters and limits, and cache behavior. Front-loaded with the core purpose, efficient and information-dense with no filler.

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 no output schema, the description explains returned fields well for both modes. It includes constraints, error condition, and coverage start. Missing details like the 'limit' parameter, date format (e.g., YYYY-MM-DD), and whether date conflicts with start/end leave minor gaps, but overall it is highly usable for an agent to invoke the tool 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?

Schema coverage is only 17%, so the description must compensate. It explains date, start, end (as an OR requirement), per_strike (default vs. true behavior), and implicitly ticker. However, it omits the 'limit' parameter entirely (default 10000, max 50000), leaving its purpose unclear. The described constraints and options add significant meaning beyond the bare schema, but the gap on limit prevents a 5.

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 'Historical dealer gamma-exposure (GEX) for one ticker', clearly stating the resource and temporal scope. It explicitly distinguishes itself from the live /intel/gex tool and provides a concrete use case ('how did dealer positioning shift into OPEX / earnings?'), which removes ambiguity for agent selection.

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 names the live counterpart tool ('behind the live /intel/gex tool'), letting agents choose history vs. live. It also gives a specific invocation scenario ('Call for ...') and explains the default vs. per_strike=true modes, which is practical guidance for when to use each option.

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

tengu_v3_intel_gov_contractsAInspect

Federal government contracts awarded to one ticker's company from the alternative-data feed (limit, default 50). Call this when the user asks how much government business a company wins or whether contract awards are accelerating; pair with tengu_v3_intel_lobbying for the lobbying-spend side.

ParametersJSON Schema
NameRequiredDescriptionDefault
limitNo
tickerYesPath parameter 'ticker' (required).
Behavior2/5

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

With no annotations provided, the description carries the full burden for behavioral disclosure. It mentions the data source ('alternative-data feed') and the default limit, but does not state whether this is a safe read operation, what the response contains, whether results are sorted chronologically, or any pagination or rate-limit behavior. This is a notable gap for a data-retrieval tool.

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 two sentences long, front-loaded with the core function, followed by concrete usage guidance. Every clause contributes value, and there is no redundant filler.

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?

The description explains the tool's purpose and when to call it, which is adequate for a simple two-parameter retrieval. However, since there is no output schema or annotations, it would benefit from mentioning the response shape (e.g., contract amounts/dates) or how the data supports detecting acceleration. It also leaves ambiguity against the sibling gov_contracts_live 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?

The schema documents the required ticker and the limit constraints (default, min, max), but only ticker has a schema description. The description adds the meaning that the ticker refers to 'one ticker's company' and mentions the default limit, but it mostly restates what the schema already provides. With 50% schema coverage, the description offers marginal extra value.

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?

The description clearly states the tool returns federal government contracts awarded to a given ticker's company, using a specific verb ('awarded') and resource scope. It also pairs it with tengu_v3_intel_lobbying to distinguish the complementary data, though it does not explicitly differentiate from the similarly named sibling tengu_v3_intel_gov_contracts_live.

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 gives explicit use cases: 'when the user asks how much government business a company wins or whether contract awards are accelerating.' It also recommends pairing with tengu_v3_intel_lobbying for the lobbying-spend side, which is clear guidance. It lacks 'when not to use' exclusions, so it stops short of a 5.

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

tengu_v3_intel_gov_contracts_liveAInspect

Quarterly cross-ticker federal-contracts feed (alternative-data) — top-line award totals only, lighter than per-ticker tengu_v3_intel_gov_contracts (no agency or description fields). Call this for 'which companies win government money?' screens; use tengu_v3_intel_gov_contracts for line-items.

ParametersJSON Schema
NameRequiredDescriptionDefault
limitNo
tickerNo
Behavior3/5

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

With no annotations, the description carries the full burden of behavioral disclosure. It does add useful context: the data is quarterly, cross-ticker, top-line totals only, and lacks agency/description fields. However, it does not clarify key operational traits such as whether the 'ticker' parameter is accepted or ignored, update frequency or 'live' semantics, or any rate limits or return format. The description is partially transparent but leaves important behavioral gaps.

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 exceptionally concise: two sentences deliver the data cadence, scope, granularity, sibling comparison, and usage guidance. Every clause earns its place, with no filler or repetition.

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 simple 2-parameter tool with no output schema, the description provides enough context for high-level tool selection and even names the alternative. However, it omits parameter semantics and precise return-shape details, so an agent would need to infer or guess how to invoke it correctly. This leaves it at the minimum viable level but not complete.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters2/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 0%, and the description does not directly explain the 'limit' or 'ticker' parameters. The phrase 'cross-ticker' implies the ticker may be optional or not the primary filter, but this is not spelled out. The tool name and standard parameter names provide some implicit meaning, but the description fails to compensate for the missing schema descriptions, leaving ambiguity about how to set 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 description clearly identifies a specific verb+resource: a quarterly cross-ticker federal-contracts data feed providing top-line award totals. It explicitly differentiates itself from the sibling tool 'tengu_v3_intel_gov_contracts,' which is described as per-ticker with line-items, making the tool's scope unambiguous.

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 provides explicit usage guidance: 'Call this for "which companies win government money?" screens; use tengu_v3_intel_gov_contracts for line-items.' This directly states when to use this tool versus the alternative, satisfying the highest bar for usage guidelines.

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

tengu_v3_intel_insider_flowAInspect

INSIDER TRANSACTIONS SPLIT BY WHETHER THE TRADE WAS PRE-SCHEDULED — Form 4/5 activity for one company with the metadata free feeds drop: the Rule 10b5-1 flag and the filing lag. Sales made under a 10b5-1 plan were scheduled in advance and carry NO view, so they are aggregated separately from discretionary trades and never blended into one 'net insider flow'; a third bucket holds rows with no plan flag, which is unknown, not discretionary. Only open-market buys and sells enter the flow buckets — grants, option exercises and tax-withholding are counted apart. Use as_of to reproduce what was PUBLIC on a date: it filters on the filing date, the only correct as-of key for insider data (a trade-date filter leaks late-filed trades).

ParametersJSON Schema
NameRequiredDescriptionDefault
endNo
as_ofNo
limitNo
startNo
tickerYesPath parameter 'ticker' (required).
record_typeNo
Behavior5/5

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

With no annotations, the description carries full burden and excels. It discloses that 10b5-1 trades are aggregated separately, that only open-market buys/sells enter flow buckets, that grants/options/tax-withholding are excluded, and that as_of uses filing date rather than trade date. This is rich behavioral context beyond what any schema could provide.

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 efficient: four sentences, each earning its place. It is front-loaded with the main purpose, then explains bucketing semantics, inclusion rules, and as_of guidance. No wasted words.

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?

For a tool with no output schema or annotations, the description covers the most critical selection and invocation nuances: grouping logic, excluded transaction types, and correct as-of usage. However, it omits response structure (aggregated vs row-level) and how start/end/limit/record_type interact, leaving minor gaps.

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?

Only 17% of schema params have descriptions. The description provides excellent semantics for as_of (filing-date filter, reproducibility, trade-date leak warning), but says nothing about start, end, record_type, or limit. The record_type enum is self-explanatory to some degree, but the description does not address it.

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 it returns 'INSIDER TRANSACTIONS SPLIT BY WHETHER THE TRADE WAS PRE-SCHEDULED' for Form 4/5 activity for one company, naming the key metadata fields (10b5-1 flag, filing lag). This is specific and distinguishes it from sibling tools like tengu_v3_intel_insider_trades or tengu_v3_intel_insider_flow_coverage.

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 gives clear context: it explains that 10b5-1 sales are pre-scheduled and carry no view, that the no-flag bucket is unknown rather than discretionary, and that as_of should filter on filing date to avoid leaking late-filed trades. However, it does not explicitly name alternative tools or state 'use this instead of X'.

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

tengu_v3_intel_insider_flow_coverageAInspect

What insider history exists, for which dates, and how much of it carries a Rule 10b5-1 plan flag — rows by record type, distinct filers, the transaction- and filing-date spans, and the share of rows that actually carry the plan flag. Call it before reading a plan split as complete: rows without the flag are unknown, and this says how many there are. Pass a ticker for per-company coverage.

ParametersJSON Schema
NameRequiredDescriptionDefault
tickerNo
Behavior4/5

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

With no annotations, the description carries full burden. It transparently discloses the key behavioral nuance: rows without the plan flag are unknown, and the tool reports how many such rows exist. It also enumerates what the response will contain (record type rows, distinct filers, date spans, share flagged), going beyond a simple 'list' statement. It stops short of discussing pagination, ordering, or data freshness, but for a coverage-introspection tool this is sufficient.

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 three sentences, front-loaded with the answer to 'what does this do', followed by when-to-use and how to scope. Every sentence earns its place with no filler or redundancy.

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 single-optional-parameter coverage tool with no output schema, the description fully covers the return content, the meaning of the plan flag limitation, and how to narrow the query. It is complete enough for an agent to decide when to invoke it and what to expect, without needing to infer details from sibling tools.

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 schema provides only a bare 'ticker' string with zero description. The tool description compensates by explaining that passing a ticker gives per-company coverage, which implicitly defines the no-ticker case as aggregate coverage. This adds meaningful context beyond the raw schema and is adequate for a single optional 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 clearly states what the tool does: reports insider history coverage by date, record type, filer counts, date spans, and the proportion of rows with a Rule 10b5-1 plan flag. It distinguishes itself from the related insider tools by explicitly telling the agent to call it before treating a plan split as complete, making its purpose and scope unmistakable.

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 gives explicit when-to-use guidance: call this before reading a plan split as complete, because rows without the flag are unknown and this tool quantifies them. It also explains the optional ticker parameter. It lacks explicit alternatives or when-not-to-use scenarios, but the trigger condition is clear and actionable.

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

tengu_v3_intel_insider_form144AInspect

INSIDER INTENT-TO-SELL NOTICES — supply before it hits the tape. Form 144 is filed BEFORE a sale of restricted or control stock, so it is forward-looking: who intends to sell, roughly how many shares, through which broker, at what notified market value, and how the stock was acquired. Call it to see overhang building ahead of the completed sales, which only show up later in the Form-4 flow. A notice is an INTENT — it may be executed smaller, later, or not at all, so never treat notified value as realised selling.

ParametersJSON Schema
NameRequiredDescriptionDefault
endNo
limitNo
startNo
tickerYesPath parameter 'ticker' (required).
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 an excellent job. It discloses the key behavioral trait: 'A notice is an INTENT — it may be executed smaller, later, or not at all, so never treat notified value as realised selling.' This adds crucial context beyond a simple 'gets Form 144 data' statement.

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 front-loaded with a punchy summary ('INSIDER INTENT-TO-SELL NOTICES — supply before it hits the tape'), then explains the Form 144 context, when to use it, and a critical caveat. Every sentence earns its place; no fluff.

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?

The description provides a thorough explanation of the data returned (who, shares, broker, market value, acquisition method) and the intent-versus-execution nuance, which is essential for correct interpretation. However, the lack of parameter semantics (start/end/limit) leaves a gap in understanding how to scope the query, preventing a perfect score.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters2/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema coverage is only 25% (only ticker has a description). The description does not explain the start, end, or limit parameters at all, and doesn't even mention that the tool takes a ticker. The agent is left to guess how to filter by date or control result count, with no compensatory information in the description.

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 identifies the tool as providing 'INSIDER INTENT-TO-SELL NOTICES' for Form 144 filings, with a specific focus on forward-looking intent rather than completed trades. It distinguishes itself from Form-4 flow, making the purpose unambiguous and distinct from sibling tools.

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 explicitly states when to use the tool: 'Call it to see overhang building ahead of the completed sales, which only show up later in the Form-4 flow.' It also cautions against treating intent as realised selling, providing a clear alternative context (Form-4 flow for completed sales).

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

tengu_v3_intel_insidersAInspect

Live cross-ticker Form-4 insider-transaction feed (alternative-data, last ~20k rows): name, transaction_code, shares, price_per_share, value_usd, shares_owned_following. Call this when the user asks 'are insiders buying or selling?' — one name or market-wide. Optional ticker filter is applied client-side.

ParametersJSON Schema
NameRequiredDescriptionDefault
limitNo
tickerNo
Behavior3/5

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

With no annotations provided, the description carries the full burden for behavioral disclosure. It usefully discloses the data window (~20k rows), the returned fields, and the client-side ticker filter behavior. However, it does not explicitly state read-only semantics, pagination/limit behavior, or any error/availability caveats, leaving gaps for a data feed with no annotation safety signals.

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 description is compact and front-loaded, starting with the core offering, then listing useful fields, and closing with a clear usage trigger. It avoids unnecessary fluff, though the field enumeration adds some length.

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?

Given two optional parameters and no output schema, the description covers the main purpose, basic fields, and the ticker behavior, which is enough for simple selection. It omits details about the limit parameter, sort order, or output shape, and the client-side filtering note hints at potential performance considerations that are not fully explained.

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 0%, so the description must compensate. It adds meaning for the ticker parameter by noting it is optional and applied client-side, but it says nothing about the limit parameter (default 50, max 500), leaving its semantics to the schema alone.

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?

The description clearly identifies a live cross-ticker Form-4 insider-transaction feed and lists the key fields, making the resource and purpose explicit. It does not explicitly compare against sibling insider tools like tengu_v3_intel_insider_trades or tengu_v3_intel_insider_flow, so it falls short of full differentiation.

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?

Provides a concrete trigger: 'Call this when the user asks 'are insiders buying or selling?' — one name or market-wide.' This gives clear context for when to use the tool, but it does not mention when not to use it or name any alternative tools for similar insider data requests.

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

tengu_v3_intel_insider_tradesBInspect

SEC Form 4 insider trades for one ticker — recent buys and sells by officers, directors, and large holders (default 25). Call this when the user asks 'are insiders buying or selling X?' or wants to check insider conviction before acting on a name.

ParametersJSON Schema
NameRequiredDescriptionDefault
limitNo
tickerYesPath parameter 'ticker' (required).
Behavior2/5

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

No annotations exist, so the description carries the full burden. It discloses the roles covered and the default record count, but does not define 'recent' (time window or count), describe the return structure, or mention error/edge cases. This is insufficient for a data retrieval tool.

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 two sentences with no filler; the first sentence defines the data source and scope, the second gives usage triggers. Information density is high and it is front-loaded with the core purpose.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness2/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

With no output schema and no annotations, the description should explain what the response contains and any relevant limits. It only covers the high-level purpose and a couple of invocation scenarios, omitting return fields, sorting, time range, and error conditions, which makes it incomplete for an agent to anticipate results.

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?

The schema covers only the ticker param with a placeholder description; the limit param has no description. The tool description adds 'for one ticker' to clarify the ticker argument, and mentions 'default 25' for limit, but does not explain that limit controls the number of trades returned or its range, leaving the limit semantics largely implicit.

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?

The description clearly identifies the tool as returning SEC Form 4 insider trades for a single ticker, specifying the population (officers, directors, large holders) and default count. It implicitly distinguishes itself from aggregate or multi-ticker insider tools via 'for one ticker', though it doesn't name 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?

The second sentence provides explicit user intents for invoking the tool ('are insiders buying or selling X?' and 'check insider conviction before acting on a name'). It does not mention when not to use it or name alternative tools, so it stops short of full exclusion guidance.

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

tengu_v3_intel_iv_analyticsAInspect

LIVE implied-volatility analytics in one call: IV RANK (current IV + its 1-year percentile — the standard 'is vol cheap or rich' gauge, with a plain-language verdict), SKEW (risk-reversal per delta — put-vs-call demand / crash premium), and TERM STRUCTURE (IV per expiry + option-implied move, labelled backwardation vs contango). Use for 'should I buy or sell premium on X', earnings-vol setups, and hedging cost. Omit date for the latest session. Each block degrades independently. NOT the same as /intel/vol_surface, which serves the lagged academic surface.

ParametersJSON Schema
NameRequiredDescriptionDefault
dateNo
limitNo
tickerYesPath parameter 'ticker' (required).
Behavior4/5

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

With no annotations, the description carries the burden and does well by disclosing that each block 'degrades independently' and that the data is 'LIVE' versus the sibling's 'lagged academic surface'. It also defines what the verdicts mean (plain-language verdict, labelled backwardation vs contango). A small gap remains: no mention of error behavior if a block fails or rate limits, but the independent-degradation note is valuable.

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?

Three dense sentences with zero filler: the first front-loads the tool's content, the second gives use cases, and the third clarifies date and sibling distinction. Every clause earns its place and the capitalization/labels aid scanning.

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 3 simple params, no output schema, and no annotations, the description covers the main semantics (live data, independent degradation, use cases, legacy alternative). It is slightly light on output structure (e.g., rows, expiry count) but is otherwise complete for a data-snapshot tool with straightforward parameters.

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 low (33%: only ticker is described as a path parameter; date and limit lack descriptions). The description compensates with the 'Omit date for the latest session' usage hint for date, but limit's meaning (max number of expiries/rows) is not explained either in schema or description, leaving that parameter under-specified.

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 'LIVE implied-volatility analytics in one call' and enumerates the three delivered blocks: IV RANK, SKEW, and TERM STRUCTURE, each with a one-phrase definition. It explicitly distinguishes itself from /intel/vol_surface ('NOT the same as...'), making the tool's scope unmistakable.

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?

Use cases are explicit: 'should I buy or sell premium on X', 'earnings-vol setups', and 'hedging cost'. It also gives a clear alternative exclusion ('NOT the same as /intel/vol_surface') and states the date behavior ('Omit date for the latest session'), providing concrete when-to-use and when-not-to-use guidance.

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

tengu_v3_intel_lobbyingAInspect

Quarterly corporate lobbying spend for one ticker from the alternative-data feed (limit, default 50). Call this when the user asks how much a company spends lobbying or whether its policy exposure is growing; pair with tengu_v3_intel_gov_contracts for the government-contract side of the same story.

ParametersJSON Schema
NameRequiredDescriptionDefault
limitNo
tickerYesPath parameter 'ticker' (required).
Behavior3/5

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

No annotations are provided, so the description must carry the behavioral transparency burden. It discloses the quarterly frequency, one-ticker scope, and default limit, which adds context beyond the raw schema. However, it does not describe the exact response structure, historical depth, or any coverage/rate limitations, leaving key behavioral details unspecified.

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 concise and front-loaded: the first sentence states what the tool returns, and the second gives usage guidance and a sibling pairing. Every sentence serves a purpose with no redundant filler.

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?

This is a simple two-parameter tool with no output schema, so the description needs to set expectations about the return value. It covers what, when, and a related alternative, but it omits the output form (list vs single value) and any data-coverage caveats. Given the absence of an output schema and annotations, this is a notable gap.

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 only 50% (ticker has a boilerplate path-parameter note, limit has no description). The description adds some meaning by clarifying that the tool operates on one ticker and mentioning the default limit of 50, but it does not explain parameter syntax, value formats, or additional constraints beyond what the schema already provides.

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 identifies the tool as returning quarterly corporate lobbying spend for a single ticker from the alternative-data feed, including the default limit. It also distinguishes itself from the sibling tool tengu_v3_intel_gov_contracts by explicitly pairing them as complementary, which helps differentiate purpose.

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 explicitly states when to call the tool: 'when the user asks how much a company spends lobbying or whether its policy exposure is growing.' It also recommends pairing with a sibling tool, giving clear context and an alternative for related but different needs.

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

tengu_v3_intel_macro_snapshotAInspect

NOW WITH a credit block: CDX IG/HY on-the-run 5Y composite spreads + 1-session delta (T-2 by source, cadence-aware staleness; full series at /api/v3/credit/indices). Cross-asset macro composite returning REAL underlying values, all real-time where the data source permits. Fields: vix (real-time spot), ten_year_yield_pct (FRED DGS10, %), usd_index_narrow_dxy (computed from FRED 6-pair basket via the standard geometric weighted formula — the institutional standard ~99), usd_index_trade_weighted_broad (FRED DTWEXBGS — Fed's broader policy measure ~118), wti_oil_usd_bbl (FRED DCOILWTICO, $/bbl), gold_usd_oz (real-time forex spot, $/oz), sp500 (real-time index; SPY×10 emergency fallback), nasdaq100 (real-time index; QQQ×41 emergency fallback), djia (real-time index; null when unavailable — no ETF proxy emitted), russell2000 (real-time index; IWM×10 emergency fallback). Every numeric field is gated by a plausibility guard — out-of-band values are nulled with an error.implausible_value field rather than served, so the chat Brain never cites a wrong number with the [macro_snapshot] tag. Includes vol_regime (low_vol/normal/elevated/stress per VIX bucket), data_freshness timestamp, and a sources block with the series reference for each indicator. 60s cache.

ParametersJSON Schema
NameRequiredDescriptionDefault

No parameters

Behavior5/5

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

With no annotations provided, the description carries full transparency burden and excels: it discloses emergency fallbacks (SPY×10, QQQ×41), plausibility guards that null out-of-band values with an error field, cadence-aware staleness, 60s cache, and vol_regime buckets. This goes far beyond basic disclosure and gives the agent critical context about data reliability.

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 description is dense and long, with a run-on style. It starts with 'NOW WITH a `credit` block', which reads like a changelog entry rather than a purpose statement. While every sentence adds value, the structure could be improved with bullet points or clearer separation between core functionality and detailed field specifications.

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?

Since there is no output schema, the description must fully explain return values, and it does: it lists all fields with units, data sources, emergency fallbacks, plausibility guard behavior, vol_regime categories, data_freshness, sources block, and caching. This is comprehensive for a complex macro snapshot tool with no parameters.

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 is empty with zero parameters, so the description has no parameter semantics to explain. Baseline 4 is appropriate because there is nothing to compensate for; the description's extensive field documentation belongs to output semantics, not input 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 description clearly states the tool's purpose: 'Cross-asset macro composite returning REAL underlying values' and specifies the resource (macro snapshot). It lists the exact fields returned, making it unambiguous and distinguishing it from other macro tools like tengu_macro or tengu_v3_macro_treasury_curve.

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

Usage Guidelines2/5

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

The description provides no explicit guidance on when to use this tool versus sibling tools. It mentions the full credit series endpoint but not alternative tools. There is no 'use this for X' or 'use that for Y', leaving the agent to infer usage from the field list alone.

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

tengu_v3_intel_max_painAInspect

Max-pain price per options expiration for one ticker from the options-flow feed. Call this when the user asks where a stock is likely to pin into expiry or what the max-pain level is; pair with tengu_v3_intel_gex for aggregate gamma/delta exposure.

ParametersJSON Schema
NameRequiredDescriptionDefault
tickerYesPath parameter 'ticker' (required).
Behavior4/5

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

With no annotations provided, the description carries the full burden. It discloses the data source ('from the options-flow feed'), the output granularity ('per options expiration'), and the scope constraint ('one ticker'). While it doesn't explicitly state read-only nature or return format, these are implied strongly, and the added context about the feed and pairing adds meaningful behavioral insight beyond the name and 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 two sentences, front-loaded with the core purpose, and includes usage guidance without any fluff. Every sentence earns its place, and the structure is highly efficient.

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 no output schema and no annotations, the description covers the essential context: what it returns (max-pain price per expiration), the source (options-flow feed), when to use it, and how it relates to a specific sibling. It doesn't detail the response structure or limitations, but for a one-parameter lookup, the context is largely sufficient.

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?

The schema has one parameter 'ticker' with minimal description ('Path parameter (required)'). Schema coverage is 100%, so baseline is 3. The description does slightly enrich the parameter by specifying 'one ticker' and referring to a stock, but it doesn't add format or examples. It provides marginal added meaning beyond the schema.

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 defines the tool as returning max-pain price per options expiration for a single ticker from the options-flow feed. It uses a specific resource ('max-pain price') and scope ('one ticker', 'per options expiration'), and distinguishes it from the sibling tool tengu_v3_intel_gex by noting the latter provides aggregate gamma/delta exposure.

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?

Explicit usage instructions are provided: 'Call this when the user asks where a stock is likely to pin into expiry or what the max-pain level is' and it recommends pairing with tengu_v3_intel_gex for aggregate gamma/delta exposure. This clearly indicates when to use this tool versus alternatives.

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

tengu_v3_intel_ml_driversAInspect

Top-N SHAP feature attributions for the ML ensemble score on a ticker: drivers[] ranked by |SHAP| with feature (e.g. beta_cma, vol_21d), signed shap_value, direction (bullish/bearish/neutral). PRIMARY tool for 'why is the model bullish/bearish on X?'. Nightly run; default top=5, max 20; available:false outside the ML universe. 5min cache.

ParametersJSON Schema
NameRequiredDescriptionDefault
topNo
tickerYesPath parameter 'ticker' (required).
Behavior4/5

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

With no annotations, the description carries the full burden of behavioral disclosure. It discloses the ranking mechanism (by |SHAP|), output fields, default and maximum limits, update frequency (nightly), availability limitation (ML universe only), and caching (5 minute). These details go well beyond a minimal description and give the agent realistic expectations.

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 appropriately sized and front-loaded. The first sentence states the core purpose and output structure, followed by concise operational notes. Every phrase adds value with no redundancy or filler.

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?

For a simple read-only retrieval tool with no output schema and no annotations, the description is quite complete. It covers input (ticker), output structure (drivers[] with feature, shap_value, direction), limits, freshness, availability, and cache. The absence of explicit error handling or auth requirements is a minor gap, but not critical for this 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?

The description adds critical meaning to the 'top' parameter by specifying 'default top=5, max 20', which the schema omits entirely. It also confirms 'ticker' as the subject. However, the schema types 'top' as string while the description implies a numeric count, creating ambiguity. The 50% schema coverage is only partially compensated.

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 'Top-N SHAP feature attributions for the ML ensemble score on a ticker', a specific verb+resource phrase. It clearly states the output structure (drivers[] ranked by |SHAP| with feature, signed shap_value, direction) and identifies itself as the 'PRIMARY tool for why is the model bullish/bearish on X?', distinguishing it from sibling ML tools.

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 frames its primary use case: 'PRIMARY tool for why is the model bullish/bearish on X?'. It also provides operational constraints: 'Nightly run; default top=5, max 20; available:false outside the ML universe; 5min cache.' While no alternatives are named, the primary designation and constraints offer strong contextual usage guidance.

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

tengu_v3_intel_ml_predictionAInspect

Latest ensemble ML prediction for the ticker, with full conformal interval + 19-voter decomposition. Sourced from the nightly ensemble scoring run (refreshed nightly Mon-Fri, ~13K tickers scored per cycle). Returns prediction block (predicted_return_pct, blended_score, conviction, decile, rank, percentile_rank, n_universe), conformal_interval block (lo/hi/half_width/method + stated_coverage 0.90 + realised_coverage_recent from live calibration table), voter_decomposition (per-voter contribution across the 19 voters — e.g. ml_ensemble, regime_hmm, technical_advanced, sentiment_finbert, macro_context, fundamental, options_flow, insider_flow, analyst_revisions, futures_macro, congress_trading, short_pressure), context (voter_coverage, confluence, feature_coverage), plus model_version, tier (small/mid/large universe), regime, sector. When a ticker isn't in the latest scoring universe, returns available: false with reason. 5min cache. NAMESPACE: predictions are US-EQUITY only. Nine crypto tickers collide with equities (BTC, ETH, LINK, LTC, COMP, ARB, NEAR, APT, ATOM) — such responses carry a ticker_collision note; for the crypto asset pass asset_class=crypto (fails closed 404: no crypto model yet). NEVER present an equity prediction as a crypto view.

ParametersJSON Schema
NameRequiredDescriptionDefault
tickerYesPath parameter 'ticker' (required).
asset_classNoequity
Behavior5/5

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

With no annotations, the description carries the full burden and excels. It discloses all return blocks (prediction, conformal_interval, voter_decomposition, context), edge cases (ticker not in universe returns available:false with reason), caching (5min), namespace (US-EQUITY only), and the crypto collision behavior with exact ticker names. This is exemplary behavioral disclosure.

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 provides unique value: return structure, refresh cadence, universe size, cache, namespace, collision list, and usage warning. It is well-organized with clear blocks and no repetition. Complex tool, appropriately detailed.

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?

Given the complexity (multiple named return blocks, edge cases, no output schema), the description is complete. It covers the prediction, interval, voter decomposition, context fields, unavailable scenario, cache, US-equity scope, crypto collision handling, and the fail-closed 404. No critical information is missing for an agent to select and invoke the tool correctly.

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 only 50% (ticker has a generic description, asset_class has none). The description compensates fully: it explains asset_class is an enum with default equity, defines the crypto collision scenario, and clarifies that ticker refers to US-equity tickers within the namespace. This adds critical meaning beyond the schema.

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 the tool's purpose: 'Latest ensemble ML prediction for the ticker, with full conformal interval + 19-voter decomposition.' It specifies the resource (ticker) and the exact output structure, distinguishing it from related sibling tools like tengu_ml_predict or tengu_v3_intel_ml_drivers by emphasizing the conformal interval and voter decomposition.

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?

Provides clear context for when to use: it's the US-equity prediction tool, refreshed nightly, and explicitly warns against using it for crypto (with asset_class handling and failure mode). However, it does not explicitly name alternative tools or contrast with tengu_ml_predict, so it stops short of full when/when-not alternatives guidance.

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

tengu_v3_intel_model_calibrationAInspect

Live conformal-coverage telemetry: how often the model's stated 90% intervals actually contain the realised 5d returns. Built nightly over the trailing 30 days of prediction-outcome pairs. Returns stated_coverage (target, typically 0.90), realised_coverage (actual, e.g. 0.78), coverage_delta (gap, negative = under-covering), status (red/amber/green), n_pairs (sample size, ~110K typical), mean_interval_width_pct, mean_predicted_return_pct, mean_realised_return_pct, and an interpretation string. Treat status=red as a verdict-grade caveat — chat should attach 'model intervals currently under-covering' to any ml_prediction citation when this returns red. 1h cache.

ParametersJSON Schema
NameRequiredDescriptionDefault

No parameters

Behavior4/5

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

With no annotations provided, the description carries the full burden of behavioral disclosure. It covers update cadence ('Built nightly over the trailing 30 days'), caching ('1h cache'), and the meaning of status values ('red/amber/green'). It also explains that the tool returns an interpretation string. It does not explicitly state that the tool is read-only, but given the telemetry nature, this is implicit and not a critical gap.

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 information-dense but well-structured: it starts with a one-sentence definition, then states the build frequency, then lists return fields with examples, and ends with actionable behavioral guidance. No sentence is redundant; the length is justified by the need to explain a telemetry tool with no output schema.

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?

Since there is no output schema, the description fully enumerates all return fields with meanings and example values ('stated_coverage', 'realised_coverage', 'coverage_delta', 'status', 'n_pairs', etc.). It also provides operational context (nightly build, 30-day window, cache) and an interpretation rule. For a parameterless tool, this is a complete and self-sufficient description.

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 has zero parameters, so per the rubric the baseline is 4. The description does not need to explain parameters; it goes further by describing the output fields in detail, which is beyond the parameter dimension.

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 the tool's purpose: 'Live conformal-coverage telemetry: how often the model's stated 90% intervals actually contain the realised 5d returns.' This is a specific verb+resource (telemetry for model calibration) and distinguishes it from siblings like tengu_v3_accuracy or tengu_v3_believability by focusing on interval coverage. It also gives concrete metrics and sample numbers.

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 provides a clear usage directive: 'Treat status=red as a verdict-grade caveat — chat should attach "model intervals currently under-covering" to any ml_prediction citation when this returns red.' This tells the agent when and how to act on the result. However, it does not explicitly mention when not to use this tool or compare alternatives among the many sibling tools, so it misses the full 'when/when-not/alternatives' guidance.

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

tengu_v3_intel_news_cryptoAInspect

Newswire 'Crypto' channel — crypto news stream covering BTC, ETH, exchanges, regulation, miners. Call this when the user asks about crypto news; pair with coin-stock proxies (COIN, MSTR, RIOT, MARA) to fuse the equity-side reaction. 60s cache.

ParametersJSON Schema
NameRequiredDescriptionDefault
bodyNo
limitNo
tickersNo
Behavior3/5

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

With no annotations, the description carries the full burden. It discloses a '60s cache', which is a useful behavioral trait, but does not mention response format, rate limits, or other operational details. Minimal but present behavioral context.

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 two sentences: the first states the tool's purpose and scope, the second provides usage guidance and cache behavior. Every sentence adds value with no redundancy.

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?

The tool has no annotations, no output schema, and schema descriptions are absent. The description gives a solid overview and usage context, but omits parameter semantics and return value information, making it incomplete for a fully informed agent.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters1/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 0%, and the description does not explain any of the three parameters (body, limit, tickers). It fails to compensate for the missing schema descriptions, leaving the agent to guess the meaning of each 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 clearly identifies the tool as a crypto news stream ('Newswire Crypto channel') and specifies the covered topics (BTC, ETH, exchanges, regulation, miners). This is a specific verb-resource pairing that distinguishes it from other news tools.

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 when to use it: 'Call this when the user asks about crypto news' and provides a pairing recommendation with coin-stock proxies. It lacks explicit alternatives or when-not-to-use guidance, so it doesn't reach a 5.

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

tengu_v3_intel_news_headlinesAInspect

MARKET-WIDE ONLY — never for one ticker's news (that is tengu_v3_news_summary). Live cross-publisher newswire headlines: headline, publisher, tickers, is_major flag, feed-supplied sentiment; seconds-fresh, 120s cache. For 'what's happening in the market right now?' scans and cross-ticker sweeps.

ParametersJSON Schema
NameRequiredDescriptionDefault
limitNo
tickerNo
Behavior4/5

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

With no annotations provided, the description carries the full burden of behavioral disclosure. It reveals live streaming, a 120-second cache, the exact data fields (headline, publisher, tickers, is_major flag, sentiment), and notes the sentiment is feed-supplied. This goes beyond a simple statement of purpose. It does not describe error behavior or rate limits, but the key operational traits are covered.

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 compact and efficiently structured. It front-loads the most critical constraint ('MARKET-WIDE ONLY') in caps, provides a brief list of returned fields, and states freshness and cache behavior in a single, readable sentence. No unnecessary words or repetition.

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 absence of annotations and output schema, the description provides a solid overview of the tool's data contents, freshness, and use cases. The main gap is the unexplained 'ticker' parameter and lack of explicit mention of whether results are sorted or how many are returned (though the schema gives a limit). For a news headline tool with many siblings, this is mostly complete but not exhaustive.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters2/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 explain the parameters. It does not explain the 'ticker' parameter at all, and its 'MARKET-WIDE ONLY' statement creates ambiguity about whether ticker is for filtering or should be left unused. The 'limit' parameter is self-explanatory from the schema, but the description adds no clarity to the semantics of the remaining parameter and even introduces contradiction with the market-wide claim.

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 the tool's function: 'Live cross-publisher newswire headlines.' It explicitly defines the market-wide scope and distinguishes itself from the sibling tool 'tengu_v3_news_summary' for per-ticker news. The verb and resource are specific and unambiguous.

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 explicitly states when to use this tool ('MARKET-WIDE ONLY') and when NOT to use it ('never for one ticker's news'), pointing to the alternative ('that is tengu_v3_news_summary'). It also provides concrete use cases ('what's happening in the market right now?' scans and cross-ticker sweeps), making the decision boundary crystal clear.

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

tengu_v3_intel_news_moversAInspect

Newswire 'Movers' channel — coverage of stocks making the biggest intraday moves (gainers, losers, halts, breakouts). Call this for 'biggest movers today' questions and end-of-day 'what moved' recaps; pass tickers to narrow. 60s cache.

ParametersJSON Schema
NameRequiredDescriptionDefault
bodyNo
limitNo
tickersNo
Behavior3/5

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

No annotations are provided, so the description carries the burden. It mentions a 60s cache, which is useful behavioral context, but it doesn't disclose return format, response structure, or whether it's read-only. For a simple news-fetching tool, this is adequate but not detailed.

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 two sentences, front-loaded with the core purpose, and includes concise usage guidance plus a cache note. Every word earns its place, with no redundancy or unnecessary detail.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness2/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

With no annotations, no output schema, and incomplete parameter explanations, the description is insufficient for a 3-parameter tool. While usage context is clear, the missing body parameter semantics and lack of return-value description leave important gaps.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters2/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

The schema has 0% description coverage, so the description must explain the parameters. It only explains 'tickers' via 'pass tickers to narrow.' The 'limit' and 'body' parameters are completely unexplained, leaving significant ambiguity for the agent.

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 identifies the tool as a 'Newswire Movers channel' covering stocks with the biggest intraday moves, listing specific categories (gainers, losers, halts, breakouts). This distinguishes it from sibling news tools like intel_news_headlines or intel_news_why_moving.

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?

It explicitly tells the user to call this for 'biggest movers today' questions and end-of-day 'what moved' recaps, and to pass tickers to narrow results. It doesn't name alternatives or exclusions, but the usage context is clear and actionable.

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

tengu_v3_intel_news_press_releasesAInspect

newswire 'Press Releases' channel — corporate press releases on the newswire (PR Newswire, Business Wire, GlobeNewswire). Use when the user asks for the company's own announcements rather than analyst/journalist coverage. 60s cache.

ParametersJSON Schema
NameRequiredDescriptionDefault
bodyNo
limitNo
tickersNo
Behavior3/5

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

No annotations are provided, so the description carries the full burden. It discloses a 60s cache, which is a useful behavioral trait, but it does not mention rate limits, authentication, or the structure of returned data. This is adequate but leaves notable gaps.

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 compact and front-loaded. It conveys purpose, usage context, and a cache note in three short clauses. Every sentence earns its place with no redundancy.

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 relatively simple tool with no output schema and no parameter descriptions, the description covers the primary use case but leaves important context missing—such as what the response looks like or how parameters affect the result. It is minimally adequate but not thorough.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters2/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 0% and the tool description does not explain any of the three parameters (body, limit, tickers). While parameter names are somewhat self-explanatory, the lack of explicit descriptions makes it ambiguous—especially for 'body', which could mean several things.

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 identifies the tool as a newswire 'Press Releases' channel, specifies it covers corporate press releases, and names concrete sources (PR Newswire, Business Wire, GlobeNewswire). This specific verb+resource framing distinguishes it from sibling news tools like headlines or analyst coverage.

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 when to use the tool: when the user asks for the company's own announcements rather than analyst/journalist coverage. This provides clear context and implies when not to use it, though it does not name a specific alternative tool.

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

tengu_v3_intel_news_proAInspect

Real-time newswire stories — cross-ticker, ticker-filtered (comma-separated), or by channel: id, title, teaser, url, ticker(s), channels, tags, created (ISO-8601); body=true adds full HTML (slower, larger). Call this when the user wants themed or full-text news beyond headlines. Confirmed-working channels (probed 2026-04-30; exact case + apostrophe matter): "Press Releases", "Crypto", "Movers", "Why It's Moving", "Earnings", "Earnings Beats", "Earnings Misses", "Guidance", "Top Stories", "Tech", "Markets", "Analyst Color", "Federal Reserve", "Government", "ETFs", "Forex", "Commodities", "Treasuries", "Futures", "Emerging Markets", "Eurozone", "Asia", "Global", "Equities", "Bonds", "Trading Ideas", "After-Hours Center".

ParametersJSON Schema
NameRequiredDescriptionDefault
bodyNo
limitNo
tickersNo
channelsNo
Behavior4/5

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

With no annotations, the description carries the full burden. It discloses the body=true trade-off ('slower, larger'), lists the exact return fields, and warns about channel case sensitivity. It stops short of discussing rate limits or error behavior, but the core behavioral traits are well covered.

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 description front-loads core functionality and usage before diving into the channel list. The confirmed-channels list is long but is operationally necessary for a channel-filter endpoint since the schema lacks enums. The structure is organized with semicolons and no redundant sentences.

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?

The description provides return fields, filters, and a usage directive, which covers the basics. However, given the many sibling news tools (e.g., tengu_v3_intel_news_headlines, tengu_v3_intel_news_crypto), it does not clarify when to use this 'pro' tool over those specialized ones, nor does it mention pagination or error handling. The lack of an output schema increases the need for completeness, which is only partially met.

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?

The description explains ticker-filtering (comma-separated), channels, and body=true, which maps to three of the four parameters. However, it does not mention the 'limit' parameter (default 25, max 100) or its semantics. With schema coverage at 0%, this partial compensation is useful but leaves a notable gap.

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?

The description clearly identifies the tool as returning 'Real-time newswire stories' with flexible scoping (cross-ticker, ticker-filtered, or by channel) and lists the return fields. It distinguishes itself from headline-only tools by stating 'beyond headlines', but does not explicitly name sibling alternatives, so it falls short of a 5.

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?

It provides an explicit usage directive: 'Call this when the user wants themed or full-text news beyond headlines.' It also offers concrete channel examples and notes case/apostrophe sensitivity. However, it does not specify when not to use this tool or explicitly reference dedicated alternatives like the headline- or crypto-specific tools.

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

tengu_v3_intel_news_why_movingAInspect

MOVER-EXPLANATION ONLY — for 'why is X moving / what's driving X right now?' questions; never for generic 'latest news on X' (that is tengu_v3_news_summary). Newswire 'Why It's Moving' channel: short explainers for stocks making notable intraday moves. 60s cache.

ParametersJSON Schema
NameRequiredDescriptionDefault
bodyNo
limitNo
tickersNo
Behavior3/5

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

With no annotations, the description carries the burden of disclosing behavior. It mentions the 60s cache and short explainer format, which are useful. However, it does not explicitly state that this is a read-only operation, nor does it discuss rate limits or content structure beyond being 'short'.

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 extremely concise, packing the core purpose, exclusions, and cache behavior into two sentences. The 'MOVER-EXPLANATION ONLY' label front-loads the intent, and every phrase adds value with no filler.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness2/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

The tool is simple but the description still leaves critical gaps. Without output schema or annotations, an agent does not know the response structure or how to construct the 'body' parameter. It also lacks clarity on whether 'tickers' accepts a single value or a list. The description handles purpose and guidance well but falls short on operational details.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters2/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 compensate. It does not explain what 'body', 'limit', or 'tickers' mean or their expected formats. While the tool's purpose implies tickers are relevant, there is no concrete parameter guidance, leaving the agent to guess.

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 explicitly states the tool is for 'why is X moving / what's driving X right now?' questions and clearly differentiates itself from tengu_v3_news_summary by saying 'never for generic latest news on X'. It also identifies the specific resource as the Newswire 'Why It's Moving' channel.

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 ('why is X moving') and when-not-to-use ('never for generic latest news on X') guidance, and even names the alternative tool (tengu_v3_news_summary). This is exactly the level of direction an agent needs.

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

tengu_v3_intel_off_exchangeAInspect

Daily off-exchange (dark pool + ATS) volume for one ticker from the alternative-data feed (default 30 days). Call this when the user asks how much of a stock's volume trades off-exchange or how dark-pool share is trending; use tengu_v3_intel_darkpool_ticker for individual prints.

ParametersJSON Schema
NameRequiredDescriptionDefault
limitNo
tickerYesPath parameter 'ticker' (required).
Behavior4/5

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

With no annotations, the description carries the full burden, and it delivers: it discloses the data source (alternative-data feed), frequency (daily), scope (one ticker), and default time window (30 days). It does not describe the return format (e.g., series vs. single value) or any rate limits, but for a read-only data-query tool these are less critical.

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?

Two sentences, front-loaded with the core purpose, followed by usage guidance and sibling distinction. Every word earns its place; no redundancy or filler.

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?

For a simple tool with 2 parameters and no output schema, the description covers purpose, usage, parameter meanings, and alternatives. The only minor gap is the exact nature of the returned data (absolute volume vs. market share, and whether it is a time series), but the phrasing 'how dark-pool share is trending' strongly implies a daily series.

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 schema only describes 'ticker' as a path parameter and 'limit' has no description beyond defaults/constraints. The description adds semantic meaning: 'one ticker' implies the stock identifier, and 'default 30 days' clarifies that limit controls the number of daily data points. This compensates for the sparse schema coverage.

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 the tool returns 'Daily off-exchange (dark pool + ATS) volume for one ticker' with a default 30-day lookback. It also distinguishes from the sibling tool by explicitly directing to 'tengu_v3_intel_darkpool_ticker for individual prints', making its specific role unambiguous.

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?

Provides explicit when-to-use guidance: 'Call this when the user asks how much of a stock's volume trades off-exchange or how dark-pool share is trending.' It also names an alternative tool for a different scenario, which is exactly the kind of differentiation expected.

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

tengu_v3_intel_options_chainAInspect

Options-chain snapshot for a ticker: every contract with Greeks (delta/gamma/theta/vega), implied volatility, open interest, last quote/trade; filter by expiry or call/put side. PRIMARY tool for 'where's the gamma / IV smile / max pain by strike'. Pair with options_volume (flow) and gex (dealer positioning). 60s cache.

ParametersJSON Schema
NameRequiredDescriptionDefault
limitNo
tickerYesPath parameter 'ticker' (required).
contract_typeNo
expiration_dateNo
Behavior2/5

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

With no annotations, the description carries full transparency burden. It discloses a 60s cache and the included data fields, which is useful. However, it claims 'every contract' while the schema includes a limit parameter (max 250), creating ambiguity about response size. It also does not disclose output structure, pagination, rate limits, or authentication needs.

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?

Three sentences, front-loaded with the core purpose, followed by data details, use cases, and the cache note. Every sentence adds value and there is no redundancy or fluff.

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?

No output schema exists, so the description must convey return value shape. It lists what data is included (Greeks, IV, OI, quote/trade) and primary use cases, which gives a good sense of the output. However, it doesn't describe the response structure, how the limit parameter affects results, or the 'every contract' vs limit discrepancy, leaving gaps for a complex options-chain 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 only 25% and the ticker description is trivial ('Path parameter'). The description adds meaning for contract_type ('call/put side') and expiration_date ('expiry'), but limit is not explained at all. It partially compensates for low schema coverage but leaves the limit parameter (with default and max) semantically empty.

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 states a specific action and resource: 'Options-chain snapshot for a ticker' with detailed data fields (Greeks, IV, open interest, last quote/trade). It clearly differentiates from siblings by declaring itself the 'PRIMARY tool' for gamma, IV smile, and max pain analysis, and by naming complementary tools like options_volume and gex.

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?

Provides explicit context for when to use: 'PRIMARY tool for where's the gamma / IV smile / max pain by strike'. Also names related tools ('Pair with options_volume (flow) and gex (dealer positioning)'), giving clear guidance on selection. Lacks an explicit 'when not to use' statement but the primary-tool framing implies exclusions.

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

tengu_v3_intel_options_flowAInspect

Recent unusual options-flow alerts across the whole market from the options-flow feed, filtered to trades above min_premium (default $50k). Call this when the user asks 'what is the smart money buying today?' or wants market-wide unusual options activity; use tengu_v3_intel_options_flow_ticker for a single name.

ParametersJSON Schema
NameRequiredDescriptionDefault
limitNo
min_premiumNo
Behavior3/5

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

With no annotations, the description carries the transparency burden. It discloses the feed source, market-wide filtering, and min_premium threshold, but does not define 'unusual', describe the return format, or mention pagination/rate limits. Basic behavior is clear, but important specifics are absent.

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?

Two sentences that front-load the core purpose and immediately follow with use cases and an alternative. Every sentence adds value, with no redundant or vague filler.

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?

For a simple two-parameter list tool, the description covers purpose, key filtering, use cases, and sibling distinction. However, without an output schema, the return payload is left vague ('alerts'), and the limit parameter is not explained. Still, it's sufficient for basic invocation.

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 0%, so the description must compensate. It explains min_premium (default $50k) and its filtering role, but does not mention the limit parameter at all, leaving the agent to infer its meaning from the name and schema constraints. Partial coverage.

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 the tool returns recent unusual options-flow alerts across the whole market from the options-flow feed, with a default min_premium filter. It also distinguishes itself from the sibling tengu_v3_intel_options_flow_ticker by contrasting market-wide vs single-name scope.

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?

Explicit when-to-use guidance is provided: 'Call this when the user asks "what is the smart money buying today?" or wants market-wide unusual options activity.' It also names the alternative tool for single-name queries, making the decision unambiguous.

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

tengu_v3_intel_options_flow_historyAInspect

Historical options-flow aggregates for one ticker — the ~60s warehouse capture behind the live /intel/options_flow tool. Call when you need how flow EVOLVED (e.g. 'was NVDA flow bullish before the earnings pop?') rather than the current snapshot. Rows: as_of_ts, polarity (-1..1 net bullish/bearish score), n_alerts, premium_total (USD) + a window summary (total premium, avg polarity, bullish/bearish snapshot counts). REQUIRES date OR start(+end), max 7 days per request (422 otherwise); warehouse coverage begins 2026-05-10. 5-min cache.

ParametersJSON Schema
NameRequiredDescriptionDefault
endNo
dateNo
sideNo
limitNo
startNo
tickerYesPath parameter 'ticker' (required).
min_premiumNo
Behavior5/5

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

With no annotations available, the description carries the full burden and exceeds it: it reveals the ~60s warehouse capture source, row structure, required date parameters, max 7-day window with 422 error, coverage start date, and 5-min cache. This is rich behavioral context beyond what annotations would typically provide.

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 packs purpose, usage guidance, output schema, constraints, and caching into one dense but well-structured paragraph. Every sentence adds value, and the information is front-loaded with the most important details first.

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?

Despite 7 parameters, no output schema, and no annotations, the description is highly complete: it covers input requirements (ticker, date range), output structure (rows + window summary), error behavior (422 for >7 days), data availability start, and caching. It is fully self-sufficient for an agent to select and invoke 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?

Schema description coverage is only 14% (only ticker described), so the description must compensate. It does so by explaining the critical 'date OR start(+end)' requirement, the 7-day max window, and the meaning of output fields (polarity, premium_total, window summary). It does not detail side/limit/min_premium, but those are partially self-evident from enums and names.

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 identifies the tool as 'Historical options-flow aggregates for one ticker' and explicitly contrasts it with 'the live /intel/options_flow tool' for current snapshots. This distinguishes it from sibling options_flow tools and provides a specific verb+resource+scope.

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 explicitly states 'Call when you need how flow EVOLVED' with a concrete example ('was NVDA flow bullish before the earnings pop?'), and clarifies it is for historical evolution rather than the current snapshot. It also notes the required date/start+end parameters, giving clear when-to-use guidance.

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

tengu_v3_intel_options_flow_tickerAInspect

Unusual options-flow alerts for one ticker from the options-flow feed (default 25). Call this when the user asks 'any unusual options activity in X?' or wants the large options bets hitting a specific name; use tengu_v3_intel_options_flow for the cross-market view.

ParametersJSON Schema
NameRequiredDescriptionDefault
limitNo
tickerYesPath parameter 'ticker' (required).
Behavior3/5

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

No annotations are provided, so the description carries the full burden for behavioral disclosure. It adds useful context by mentioning the feed source and the default of 25, but does not describe output format, sorting, time window, or any rate limits. This is adequate for a read-only alert feed but lacks depth.

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 only two sentences, front-loaded with the core function and immediately followed by use-case examples and an alternative. Every word adds value, with no redundancy or filler.

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?

With no output schema, the description explains the conceptual output ('alerts') and provides strong selection context including the ticker-specific scope and sibling differentiation. It omits details like time window or ordering, but for a simple single-ticker alert feed the description is sufficiently complete for correct tool selection.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters2/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

The schema covers only one of two parameters (ticker), leaving limit without a description. The description repeats 'default 25' but does not explain how limit controls the number of alerts returned or any other behavioral nuance, so it fails to compensate for the 50% schema description coverage.

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 uses a specific verb and resource: 'Unusual options-flow alerts for one ticker from the options-flow feed.' It clearly distinguishes from the sibling tool tengu_v3_intel_options_flow by noting 'for one ticker' vs. 'cross-market view,' making 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 Guidelines5/5

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

The description provides explicit when-to-use guidance: 'Call this when the user asks "any unusual options activity in X?" or wants the large options bets hitting a specific name.' It also names the alternative tool for cross-market cases, so the agent knows exactly when to select this tool over its sibling.

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

tengu_v3_intel_options_volumeAInspect

Daily options volume and put/call ratio per day for one ticker from the options-flow feed (default 30 days). Call this when the user asks whether options activity or put/call skew is elevated versus recent days, or how bullish/bearish the options tape has been trending.

ParametersJSON Schema
NameRequiredDescriptionDefault
limitNo
tickerYesPath parameter 'ticker' (required).
Behavior3/5

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

No annotations are provided, so the description carries the full burden. It usefully discloses the data source ('options-flow feed'), granularity ('per day'), and default lookback ('default 30 days'). However, it does not describe the response structure, pagination, or any caveats about historical data availability, leaving some transparency gaps for a tool with no output 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 two sentences, front-loaded with the tool's core function followed by usage guidance. Every word earns its place, with no filler or redundancy.

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 no output schema and no annotations, the description covers purpose, source, default lookback, and when to use. It could be more explicit about return format, but the first sentence already implies a daily series. It is sufficiently complete for a straightforward options data endpoint.

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 coverage is low (only ticker is described as a path parameter). The description adds that the data is per-day with a default 30-day window, implying the limit parameter controls the number of days, and 'per day' clarifies the output granularity. This partially compensates for the sparse schema but does not explicitly define limit's semantics beyond the default.

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?

The description clearly states the tool provides 'daily options volume and put/call ratio per day for one ticker from the options-flow feed.' It identifies the resource and scope well, distinguishing it from sibling options tools like options_chain or options_flow by focusing on volume/ratio daily series for a single ticker. However, it lacks an explicit verb like 'retrieves' or 'returns,' so it falls just short of a 5.

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 says 'Call this when the user asks whether options activity or put/call skew is elevated versus recent days, or how bullish/bearish the options tape has been trending.' This provides clear triggering context. It does not name alternatives or exclusions, but the guidance is sufficiently specific to guide tool selection.

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

tengu_v3_intel_patentsAInspect

Issued USPTO patents tagged to one ticker — date, title, IPC class, claim count, and abstract for each (default 25). Call this when the user asks what a company is patenting or wants an innovation-velocity read on its R&D pipeline.

ParametersJSON Schema
NameRequiredDescriptionDefault
limitNo
tickerYesPath parameter 'ticker' (required).
Behavior3/5

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

With no annotations, the description carries the full burden of behavioral disclosure. It states the returned fields and the default limit (25), but does not mention that the operation is read-only, how results are ordered, what happens with no patents found, or any rate limits. This is adequate but not fully transparent.

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 two sentences long, front-loaded with the core action and return fields, and ends with a precise usage trigger. Every sentence earns its place with no redundancy or fluff.

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?

The tool is simple (2 parameters, no output schema), and the description covers the return fields and default limit, which is sufficient for basic use. It could mention the upper limit of 200 (available in schema) or pagination, but that is not critical given the simplicity and schema coverage.

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?

The description repeats the default limit (25) which is already in the schema, and clarifies that only one ticker is used. It does not add detail about the ticker format or possible values, and the schema's own description of ticker is minimal. With 50% schema coverage, the description only partially compensates.

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 identifies the tool as retrieving issued USPTO patents for a specific ticker, listing the output fields (date, title, IPC class, claim count, abstract). It distinguishes itself from sibling tools by focusing specifically on patents, which is unique among the many intel tools.

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 provides an explicit usage trigger: 'Call this when the user asks what a company is patenting or wants an innovation-velocity read on its R&D pipeline.' However, it does not mention when not to use it or name any alternative tools, so it stops short of the highest score.

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

tengu_v3_intel_pnl_attributionAInspect

Daily PnL track record for the paper book, Carhart 4-factor-decomposed. Snapshotted nightly. Returns rows[] of trading days with per-row gross/net return in basis points, transaction cost, turnover, plus the Carhart factor contributions (MKT-RF, SMB, HML, UMD) and residual alpha — the institutional skill measure that strips market/size/value/momentum beta. Window aggregate: mean daily bps, hit rate, annualised Sharpe, cumulative net + alpha. Default 30 trading days; query ?days=N (bounded to 365). Use this to ground any track-record claim the chat makes — e.g. 'our paper book made +29 bps yesterday, +111 bps alpha contribution'. 1h cache.

ParametersJSON Schema
NameRequiredDescriptionDefault
daysNo
Behavior4/5

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

With no annotations provided, the description carries the full burden of disclosing behavior. It covers freshness ('Snapshotted nightly'), caching ('1h cache'), data scope (rows of trading days, window aggregates), and constraints (days bounded to 365). This gives a solid behavioral picture for a read-only tool, though it omits potential edge cases like error handling or auth requirements.

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 information-dense but efficient, covering purpose, output details, aggregates, defaults, and usage in ~5 sentences. Every sentence adds value, and the structure flows logically from what it is to what it returns to how to use it.

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?

For a complex tool with no output schema, the description thoroughly describes the return content (per-row fields, factor contributions, aggregates) and the query parameter. It could be slightly more explicit about the exact format of the aggregate object, but overall it is complete enough for an agent to select and invoke this tool correctly.

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 coverage is 0%, so the description must fully explain the one parameter, and it does: 'Default 30 trading days; query ?days=N (bounded to 365)'. This adds meaning beyond the schema's bare 'days' string, specifying default, syntax, and upper bound, fully compensating for the schema's lack of description.

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?

The description clearly states this is a daily PnL track record for the paper book, decomposed via the Carhart 4-factor model. It identifies a specific verb+resource+scope ('Daily PnL track record', 'Carhart 4-factor-decomposed', 'snapshotted nightly'), which distinguishes it from generic track-record tools, though it does not explicitly name a sibling alternative like tengu_copilot_track_record.

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?

Explicit guidance is given: 'Use this to ground any track-record claim the chat makes' with a concrete example. It also notes the default window and query parameter, providing clear context. However, it does not explicitly state when not to use this tool or mention alternatives, stopping short of a 5.

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

tengu_v3_intel_politiciansAInspect

Full US Congress roster (House + Senate, alternative-data) with disclosed trade counts per member. Call it to resolve a politician name to a BioGuideID before pulling their trades, or for 'most-active disclosed traders in Congress' lists. Heavy full-roster pull.

ParametersJSON Schema
NameRequiredDescriptionDefault
limitNo
Behavior4/5

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

With no annotations, the description discloses that this is a 'Heavy full-roster pull,' which is a critical behavioral warning about load/performance. It also clarifies the data scope (House + Senate, alternative-data). It doesn't detail response size or rate limits, but for a simple read-only roster pull, this is sufficient.

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 two sentences, front-loaded with the core purpose, and each clause adds value: what it returns, use cases, and a warning. No filler or redundancy.

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?

The description covers the main functionality and warns about the heavy pull, but it leaves the `limit` parameter ambiguous and provides no output schema or detail on the return format. For a simple one-parameter tool without annotations, this is a gap in completeness, making it only barely adequate.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters2/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

The input schema has one parameter `limit` with no description, and the tool description doesn't explain it. The phrase 'Full US Congress roster' conflicts with a default limit of 100 (less than the full 535 members), creating confusion about whether the limit truncates the roster or applies only to the 'most-active' list. This ambiguity is not addressed, so the description fails to compensate for the missing schema description.

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 the tool provides a 'Full US Congress roster (House + Senate, alternative-data) with disclosed trade counts per member.' This is a specific verb+resource and distinguishes it from sibling tools like tengu_v3_intel_congress by emphasizing the roster and ID resolution purpose.

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?

It gives explicit usage scenarios: 'resolve a politician name to a BioGuideID before pulling their trades' and for 'most-active disclosed traders in Congress' lists. It also warns this is a 'Heavy full-roster pull,' implying it should be used with caution. However, it doesn't explicitly name the alternative tool for pulling trades, so it stops short of a 5.

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

tengu_v3_intel_risk_free_rateAInspect

Current US T-bill yields + parked-cash quick-reference. Use this for capital-allocation responses — the model needs to compare risky vs risk-free expected return ('T-bills currently yield X% — the equity allocation must clear that hurdle'). Returns 1m/3m/2y/10y yields, parked_yield_example showing annual coupon on $10k principal across tenors, and curated T-bill ETF references (SGOV, BIL, SHV) with expense ratios + use-case so the model has something specific to cite. Sourced from FRED. 5-min cache.

ParametersJSON Schema
NameRequiredDescriptionDefault

No parameters

Behavior4/5

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

With no annotations provided, the description carries the full burden. It discloses the data source (FRED), a 5-minute cache, and precisely what the tool returns: yields across tenors, a parked-yield example on $10k principal, and curated ETF references with expense ratios and use-cases. This is solid behavioral disclosure for a read-only data fetch.

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 adds value: it front-loads the core purpose, provides a concrete use-case example, enumerates the return payload, and ends with source and cache details. No filler or redundant phrasing.

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 no-parameter tool without an output schema, the description covers all essential information: why to use it, when to use it, what data comes back, and data provenance. It is fully self-contained for invocation.

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 tool has zero parameters and an empty schema, so there are no parameter specifics to explain. The description instead clarifies the output structure and contents, which is appropriate. Baseline for 0-param tools is 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 identifies the tool as providing current US T-bill yields and a parked-cash quick-reference for capital-allocation comparisons. It explicitly distinguishes the tool's niche (risk-free vs risky return comparison) with a concrete usage quote, setting it apart from sibling yield-curve tools.

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?

It gives explicit guidance: 'Use this for capital-allocation responses' and explains the comparative reasoning needed. However, it does not name alternative tools or state when not to use it, so it falls just short of a 5.

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

tengu_v3_intel_sec13fAInspect

Recent 13F position snapshots (alternative-data, cross-fund/cross-ticker, last ~10k rows): fund, ticker, shares, value_usd, report_period — the institutional-ownership signal. Call this when the user asks 'which funds hold X?' or 'what does fund Y own?'; filter by ticker and/or fund (substring match).

ParametersJSON Schema
NameRequiredDescriptionDefault
fundNo
limitNo
tickerNo
Behavior4/5

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

With no annotations, the description carries the transparency burden. It discloses several key behaviors: returns recent snapshots, limits to roughly 10k rows, supports substring matching on ticker and fund, and provides alternative-data institutional ownership. It does not mention pagination or ordering, but that is a minor gap for a simple lookup tool.

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 two sentences, front-loaded with the core purpose and output fields, followed by a concrete use-case and filtering guidance. Every phrase adds value with no filler or restatement of the tool name.

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?

Despite no output schema, the description compensates by listing returned fields and explaining row-cap and filtering semantics. It does not discuss how this tool relates to sibling sec13f tools or the exact behavior of the limit parameter, but the core query scenario is well covered and sufficiently complete for an agent to use 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 schema has no parameter descriptions, so the description adds meaning by explaining that ticker and fund are filters with substring matching. While the limit parameter is not elaborated, its name and schema constraints (default 50, max 500) make it self-explanatory, and the description covers the two most behaviorally important filters.

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 identifies the tool as retrieving recent 13F position snapshots and enumerates the output fields (fund, ticker, shares, value_usd, report_period). It differentiates from related tools by emphasizing 'cross-fund/cross-ticker' and 'last ~10k rows', and ties the purpose to concrete user queries like 'which funds hold X?' and 'what does fund Y own?'.

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 provides explicit usage triggers with natural-language examples, making it clear when to invoke this tool. It does not explicitly name alternative tools such as sec13f_changes or sec13f_history, but the focus on 'recent snapshots' and 'cross-fund/cross-ticker' implicitly differentiates its scope.

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

tengu_v3_intel_sec13f_changesAInspect

Quarter-over-quarter 13F position deltas (alternative-data), sign preserved: positive = added, negative = trimmed. Call this when the user asks 'are institutions adding or dumping X?'; set min_pct (absolute change fraction, e.g. 0.5 = 50%) to drop noise.

ParametersJSON Schema
NameRequiredDescriptionDefault
fundNo
limitNo
tickerNo
min_pctNo
Behavior3/5

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

With no annotations provided, the description carries full responsibility for behavioral disclosure. It does add value by explaining the sign convention (positive = added, negative = trimmed) and the QoQ time period, and it hints at noise reduction via min_pct. But it omits key traits such as what the output structure looks like, whether all parameters are optional, and any pagination/filtering behavior, leaving meaningful gaps.

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 description is two sentences long and front-loaded with the core meaning, followed by the usage trigger and parameter guidance. Every sentence contributes; there is minimal fluff. The parenthetical '(alternative-data)' is slightly extraneous but does not detract. It could be slightly tighter, but it is well-structured.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness2/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

There is no output schema, so the description should explain what the tool returns, but it does not. It also does not clarify the role of fund vs ticker, the default limit, or how optional parameters interact. For a tool with four optional parameters, the description only covers the core semantic and one parameter, leaving an agent uncertain about expected call patterns and response format.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters2/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 0% for all 4 params, so the description must compensate. It does explain min_pct with a concrete example ('0.5 = 50%') and its purpose (drop noise), which is helpful. However, it does not explain the ticker, fund, or limit parameters at all; the reference to 'X' is only an implicit hint. With only one of four params clarified, the compensation is insufficient.

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 specific and precise statement: 'Quarter-over-quarter 13F position deltas (alternative-data), sign preserved: positive = added, negative = trimmed.' This clearly identifies the tool as a deltas/changes endpoint for 13F holdings, and the sign semantics remove any ambiguity. It also gives a concrete trigger question ('are institutions adding or dumping X?'), making the purpose unmistakable and distinct from raw 13F or history tools.

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 provides an explicit usage trigger: 'Call this when the user asks "are institutions adding or dumping X?"' and gives actionable guidance for min_pct ('set min_pct ... to drop noise'). However, it does not mention when not to use this tool or name alternative tools (e.g., tengu_v3_intel_sec13f or sec13f_history), so it falls short of the highest bar for alternatives/exclusions.

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

tengu_v3_intel_sec13f_historyAInspect

Institutional-holder history — a holder × quarter matrix of 13F positions (shares per quarter-end + latest value) from the institutional-holdings 13F archive. Call it to track when funds built or exited a stock across quarters; for only the latest snapshot use /intel/sec13f.

ParametersJSON Schema
NameRequiredDescriptionDefault
topNo
tickerYesPath parameter 'ticker' (required).
quartersNo
Behavior3/5

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

With no annotations provided, the description carries the full burden of behavioral disclosure. It does describe the output shape (holder × quarter matrix, shares per quarter-end, latest value) and the source archive. However, it omits details like pagination, ordering, limits (e.g., that the 'top' parameter caps the number of holders), or any error conditions. This is adequate but not rich.

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 a single, well-structured sentence. It front-loads the core concept ('Institutional-holder history'), uses a dash to introduce the matrix definition, and ends with an actionable usage directive. Every phrase earns its place without waste.

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?

Given the lack of annotations, output schema, and minimal parameter descriptions, the description provides a useful high-level overview but falls short of full completeness. It explains the data structure and use case, but not the role of the 'top' and 'quarters' parameters, the exact response format, or potential limitations. It is sufficient for a basic understanding but not for advanced invocation.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters2/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is only 33% (ticker has a boilerplate description; top and quarters have none). The description adds no parameter-specific meaning—it mentions quarters generally but does not explain how 'top' or 'quarters' control the output. This is a clear gap for a 3-parameter tool, and the description fails to compensate for the schema's lack of detail.

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 the tool's function: 'Institutional-holder history — a holder × quarter matrix of 13F positions' and explicitly contrasts it with the sibling tool: 'for only the latest snapshot use /intel/sec13f.' The verb 'Call it to track when funds built or exited a stock' provides a specific use case, distinguishing it from related 13F tools.

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 direct guidance: 'Call it to track when funds built or exited a stock across quarters' and specifies when NOT to use it: 'for only the latest snapshot use /intel/sec13f.' This explicitly names an alternative tool for a different scenario, meeting the highest bar for this dimension.

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

tengu_v3_intel_short_interestAInspect

FINRA bi-monthly short interest: short_interest_shares, short_interest_pct_of_float, days_to_cover, short_interest_change_pct_30d (vs prior settlement), avg_daily_volume_at_settlement. Call for 'how shorted is X?' / squeeze questions. borrow_fee_pct_annualized is null — see /intel/borrow_cost. Market-data FINRA re-publish; 6h cache.

ParametersJSON Schema
NameRequiredDescriptionDefault
tickerYesPath parameter 'ticker' (required).
Behavior4/5

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

With no annotations provided, the description carries the burden of behavioral disclosure. It discloses that the data is a FINRA re-publish, bi-monthly in frequency, and cached for 6 hours, and it explicitly notes that borrow_fee_pct_annualized is always null. It does not mention rate limits or whether multiple tickers can be requested, but the disclosures given are valuable and clear.

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 compact and information-dense: fields, use case, null behavior, alternative tool, data source, and cache all in three short sentences. No wasted words, and the most important information is front-loaded.

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 there is no output schema, the description lists the return fields, which is helpful for an agent. It also notes the null field and cache behavior. It is complete enough for a simple single-ticker tool, but could briefly mention that it returns data for one ticker and that the value is as of the most recent settlement date.

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?

The schema has 100% coverage for the single parameter (ticker) with a basic description, so the baseline is 3. The tool description does not add any extra meaning about the ticker format, validation, or behavior beyond what the schema states.

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 identifies the tool as providing FINRA bi-monthly short interest data and enumerates the specific fields returned. It also distinguishes itself from siblings by noting that borrow fee is null and directing to a separate tool, and by providing example use cases like 'how shorted is X?' and squeeze questions.

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 gives explicit use cases ('Call for how shorted is X? / squeeze questions') and points to an alternative tool for borrow cost, which counts as when-not-to-use. It does not explicitly contrast with short_interest_history but the context clues are sufficient for an agent to differentiate.

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

tengu_v3_intel_short_interest_historyAInspect

Deep short-selling history — daily off-exchange short-volume series (short vs total shares across FINRA venues + short ratio, back to 2006) plus the official bi-monthly short-interest series from the securities-finance/licensed-research archive. Call it for multi-year squeeze setups or shorting pressure around events; for today's borrow cost use /intel/short_interest.

ParametersJSON Schema
NameRequiredDescriptionDefault
endNo
limitNo
startNo
tickerYesPath parameter 'ticker' (required).
Behavior3/5

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

With no annotations, the description carries the full burden. It does add meaningful behavioral context by detailing the data sources (FINRA venues, licensed-research archive) and historical depth (back to 2006). However, it does not disclose return format, pagination behavior, or how parameters like start/end/limit affect results, which are relevant for an agent.

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 description is concise and front-loaded, with the core purpose stated first and supporting details following. The second sentence provides usage guidance and an alternative in an efficient manner. Minor issue: the final pointer is slightly convoluted, but it does not add unnecessary length.

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?

Given the lack of annotations and output schema, the description provides a reasonable overview of what the tool returns and when to use it. However, it does not cover parameter behavior (start/end/limit), output shape, or potential limitations like data gaps or update frequency, leaving some uncertainty for an agent.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters2/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema coverage is only 25% (only ticker has a description). The description does not explain the date parameters (start, end) or limit, and there is no compensation for this gap in the schema. While the phrase 'back to 2006' implies date-range capability, it does not clarify formats or semantics.

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 the tool's purpose: 'Deep short-selling history' with explicit data composition (daily off-exchange short-volume series, FINRA venues, short ratio, back to 2006; plus official bi-monthly short-interest series). It distinguishes itself from likely siblings like tengu_v3_intel_short_interest by emphasizing historical depth and multi-year setups.

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?

It provides explicit when-to-use guidance: 'Call it for multi-year squeeze setups or shorting pressure around events.' It also suggests an alternative for today's borrow cost. However, the alternative is misnamed—'/intel/short_interest' is not the borrow cost tool (that would be /intel/borrow_cost)—which slightly weakens the guidance.

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

tengu_v3_intel_street_estimatesAInspect

Street consensus EPS + options-implied expected move per earnings event, with beat_rate_pct and 8-quarter surprise history (est vs actual vs surprise_pct). Call this for 'what does the Street expect?' or 'how big a move is priced in?'. report_date_basis 'estimation' = projected date, NOT confirmed — cross-check tengu_v3_earnings_next.

ParametersJSON Schema
NameRequiredDescriptionDefault
tickerYesPath parameter 'ticker' (required).
Behavior4/5

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

No annotations are provided, so the description carries the full disclosure burden. It adds a meaningful behavioral caveat about report_date_basis 'estimation' being a projected date, and it explains the data composition. However, it does not mention authentication, rate limits, or return envelope details, which would make it even more transparent.

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 three sentences: the first lists the data content, the second gives explicit use cases, and the third provides a caveat and cross-reference. It is appropriately sized, front-loaded with the core functionality, and every sentence contributes value.

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 simple single-parameter tool with no output schema, the description covers the return fields (consensus EPS, expected move, beat rate, history), usage context, and a data reliability caveat. It also names a complementary sibling tool for cross-checking, making it complete for the agent's decision-making.

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?

The schema has 100% coverage with a description for the single parameter (ticker), but that description is minimal ('Path parameter ticker (required)'). The tool description adds no additional parameter semantics. The baseline of 3 applies because schema coverage is high, even though the schema description is not very informative.

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 states exactly what the tool returns: Street consensus EPS, options-implied expected move, beat_rate_pct, and 8-quarter surprise history. It clearly distinguishes from siblings like earnings_next by focusing on expectations and priced-in moves per earnings event.

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 explicitly says 'Call this for...' with two clear use cases, and provides an exclusions/caveat: report_date_basis 'estimation' means the date is projected and not confirmed, directing the user to cross-check with tengu_v3_earnings_next. This provides both when-to-use and when-not-to-use guidance.

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

tengu_v3_intel_street_estimates_guidanceAInspect

Management guidance history — every company-issued guidance range (measure, period, low/high, announce date, street consensus at that date) from the analyst-estimate Guidance archive. Call it to compare what management promised vs what the street expected, or to study guidance-cut reactions.

ParametersJSON Schema
NameRequiredDescriptionDefault
limitNo
startNo
tickerYesPath parameter 'ticker' (required).
measureNo
Behavior3/5

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

No annotations are provided, so the description must carry the full burden. It describes the data scope ('every company-issued guidance range') and provides context about the content, but it does not disclose potential limitations such as pagination, data freshness, or whether all guidance types are covered. It also does not explicitly state that it is a read-only operation, though that is implied. This is adequate but not rich.

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 two sentences, front-loaded with the core concept ('Management guidance history') and immediately followed by the detailed contents. The second sentence provides actionable use cases. There is no redundant or filler text, and every phrase adds value.

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?

Given the lack of output schema and annotations, the description does help by enumerating the data fields and use cases. However, it leaves key implementation details unexplained, such as how to filter by 'measure' or 'start', and what the 'limit' parameter controls. This is a fairly simple query tool, but the missing parameter guidance creates a gap for agents trying to invoke it correctly.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters2/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is only 25% (only ticker is described). The description does not explain the optional parameters 'limit', 'start', or 'measure'. It lists 'measure' as a field in the response, but does not clarify that it is also a query parameter. With low schema coverage, the description needed to compensate but did not, leaving agents without guidance on how to use these parameters effectively.

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 identifies the resource as 'Management guidance history' and specifies the exact content: 'every company-issued guidance range (measure, period, low/high, announce date, street consensus at that date)'. It distinguishes this tool from sibling tools like tengu_v3_intel_street_estimates by emphasizing 'company-issued' and the 'Guidance archive', making it clear this is about management guidance, not analyst estimates.

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 provides explicit use cases: 'Call it to compare what management promised vs what the street expected, or to study guidance-cut reactions.' This clearly indicates when to use the tool. However, it does not explicitly mention when not to use it or recommend alternative tools (e.g., street_estimates), so it falls short of a 5.

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

tengu_v3_intel_street_estimates_historyAInspect

Analyst-level estimate revision timeline — every individual broker estimate (announce/revision dates, analyst id, fiscal period, value, realised actual) from the analyst-estimate detail archive back to 1980. Call it to reconstruct how the street walked numbers up or down before a print; for the consensus snapshot use /intel/street_estimates.

ParametersJSON Schema
NameRequiredDescriptionDefault
daysNo
limitNo
tickerYesPath parameter 'ticker' (required).
measureNoEPS
Behavior3/5

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

No annotations are provided, so the description carries the full disclosure burden. It provides useful context about the data's historical depth ('back to 1980') and granularity ('every individual broker estimate'), and it lists the fields returned. However, it does not mention possible large result sets, pagination, or any rate limits, which would be important for this kind of detailed archive query.

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 two sentences that are densely informative without wordiness. The first sentence establishes the resource and scope; the second provides usage guidance and a sibling reference. No sentence is wasted.

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?

The description covers purpose, scope, and usage, and lists the returned fields, which is helpful without an output schema. However, it omits parameter semantics (days, limit, measure) and does not indicate whether the results are sorted or how large a response might be. For a detailed historical archive tool, this leaves some gaps in an agent's ability to predict behavior.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters2/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema coverage is only 25%, with only 'ticker' described. The description does not clarify the 'days', 'limit', or 'measure' parameters; while their names are somewhat self-explanatory, 'measure' could be ambiguous (e.g., EPS vs. revenue) and the interaction of 'days' with 'back to 1980' is unclear. The description offers no parameter-level guidance to compensate.

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 'Analyst-level estimate revision timeline' which is a specific verb+resource, and then enumerates the fields ('announce/revision dates, analyst id, fiscal period, value, realised actual') making it clear what data is returned. It also distinguishes itself from the consensus snapshot by saying 'for the consensus snapshot use /intel/street_estimates.' This 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 Guidelines5/5

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

The description explicitly states when to call it: 'reconstruct how the street walked numbers up or down before a print.' It also names the alternative: 'for the consensus snapshot use /intel/street_estimates.' This provides clear guidance on tool selection.

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

tengu_v3_intel_top_shareholdersAInspect

Top institutional / fund / insider shareholders for a ticker (alternative-data), as two lists — ownership (shares) and ownership_options (contracts) — because options exposure reads differently from equity holdings. Call this when the user asks 'who owns X?' or wants the largest holders.

ParametersJSON Schema
NameRequiredDescriptionDefault
tickerYesPath parameter 'ticker' (required).
Behavior3/5

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

With no annotations, the description carries the behavioral disclosure burden. It reveals the output structure (two lists: shares and options contracts) and rationale for the split. However, it does not disclose data freshness, pagination, or what 'top' means in terms of count or ranking criteria.

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 two well-structured sentences. The first packs the resource, output split, and rationale; the second gives a clear trigger phrase. There is zero wasted verbiage.

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?

For a one-parameter tool with no annotations or output schema, the description explains the two-list output and provides usage guidance. It lacks detail on data coverage window or how 'top' is determined, but given the tool's simplicity, this is largely complete.

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 coverage is 100% for the single ticker parameter, so the description need only add context. It does say the data is 'for a ticker' and explains the return format, but it does not add format details or constraints beyond the schema. This is the baseline expected score.

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 the tool returns top institutional/fund/insider shareholders for a ticker, and specifies the output as two lists (ownership and ownership_options). It distinguishes from siblings by noting alternative-data and the shares-vs-contracts distinction.

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?

Explicit usage guidance is given: 'Call this when the user asks who owns X? or wants the largest holders.' This clearly frames when to use the tool. It does not mention exclusions or alternatives, but the context is sufficient for selection among siblings.

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

tengu_v3_intel_top_shareholders_coverageAInspect

How much institutional-ownership history has actually landed — per quarter: rows, securities and distinct holders held right now, plus a flag on any quarter still loading. Call it BEFORE treating a quarter-on-quarter change as a real position change: during a backfill a newly-opened quarter is incomplete, and a naive comparison makes every name look like it lost most of its holders. Pass a ticker for per-company coverage.

ParametersJSON Schema
NameRequiredDescriptionDefault
tickerNo
Behavior4/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 discloses a critical behavioral trait: during backfill, newly-opened quarters are incomplete and flagged as still loading, preventing naive misinterpretation of QoQ changes. It does not describe the exact output format or return response, but the key behavioral nuance is well covered.

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 front-loaded with the core purpose in the first sentence and adds the crucial caveat and parameter guidance in the second. Every sentence provides valuable information with no fluff or repetition.

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?

Given the tool is a simple coverage/status tool with one optional parameter and no output schema, the description fully equips an agent: it explains what is returned per quarter, how to detect incomplete data, when to call it, and how to scope it by ticker. The critical use-case warning about backfill makes it complete for correct invocation.

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 schema has zero description coverage, so the description must compensate. It explicitly explains the only parameter, ticker, as a way to get per-company coverage, implying it is optional and affects scope. This adds meaningful meaning beyond the bare schema field, though it does not specify ticker format or the default aggregate behavior in detail.

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 the tool reports 'how much institutional-ownership history has actually landed' per quarter, with specific metrics (rows, securities, distinct holders) and a loading flag. This distinctly positions it as a coverage/status tool versus actual holdings tools like tengu_v3_intel_top_shareholders or tengu_v3_intel_top_shareholders_current.

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?

It explicitly instructs to call it 'BEFORE treating a quarter-on-quarter change as a real position change' and explains the backfill incompleteness risk, which is strong when-to-use guidance. It also tells the agent to pass a ticker for per-company coverage, but it does not explicitly contrast with alternative tools or state when not to use it.

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

tengu_v3_intel_top_shareholders_currentAInspect

CURRENT INSTITUTIONAL HOLDERS of a company, largest first — holder-level positions with shares, market value (USD), percent of shares outstanding (percent, 0-100) and the change against the prior report, so new, increased, decreased and exited positions are visible. This is the FRESH ownership view; /intel/top_shareholders and /intel/sec13f serve the older archive. The archive is being backfilled, so the response lists every quarter it actually holds with its holder count, defaults to the most COMPLETE quarter and flags any quarter still loading rather than serving a half-loaded snapshot as fact. A 'new_position' can also be a renamed or re-coded holder entity, which the response says explicitly.

ParametersJSON Schema
NameRequiredDescriptionDefault
limitNo
tickerYesPath parameter 'ticker' (required).
min_pctNo
quarterNo
Behavior4/5

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

With no annotations, the description carries the full burden for behavioral disclosure. It reveals important traits: the archive is being backfilled, the tool defaults to the most complete quarter, flags quarters still loading, and notes that a 'new_position' may be a renamed or re-coded entity. It does not mention pagination or data freshness specifics, but it covers the key behavioral nuances that matter to an agent.

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 description is front-loaded with the key purpose in all caps, followed by data fields, freshness distinction, and archive behavior. While a bit dense, each sentence contributes a distinct and useful piece of information, and it remains compact given the behavioral complexity it covers.

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?

The description is strong on output semantics and freshness behavior but lacks essential contextual details about parameters (limit, min_pct, quarter) and does not mention response structure or pagination. Without an output schema or annotations, these omissions leave the tool only partially specified for an agent to use confidently.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters1/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is only 25% (just a trivial 'Path parameter ticker' note), and the description does not meaningfully elaborate any of the parameters. It never explains the 'limit', 'min_pct', or 'quarter' parameters, nor does it mention how they affect the response. This is a critical gap for a 4-parameter tool with mostly undocumented 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 description clearly states the tool's function: it returns CURRENT INSTITUTIONAL HOLDERS of a company, largest first, with shares, market value, percent outstanding, and changes versus the prior report. It explicitly distinguishes itself from sibling tools by branding itself as the 'FRESH ownership view' versus the older archive served by /intel/top_shareholders and /intel/sec13f.

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 provides explicit use versus alternative guidance: 'This is the FRESH ownership view; /intel/top_shareholders and /intel/sec13f serve the older archive.' It also explains the backfill context and how the tool defaults to the most complete quarter, helping the agent decide when this tool is appropriate.

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

tengu_v3_intel_twitterAInspect

Daily Twitter mention volume and follower count for one ticker from the alternative-data feed (default 60 days). Call this when the user asks how much social buzz a name has or whether attention is spiking; pair with tengu_v3_intel_wsb for the r/wallstreetbets read.

ParametersJSON Schema
NameRequiredDescriptionDefault
limitNo
tickerYesPath parameter 'ticker' (required).
Behavior3/5

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

No annotations are provided, so the description carries the full burden. It adds context by naming the data source ('alternative-data feed'), daily granularity, and the default 60-day window. However, it does not disclose the response structure, potential data gaps, rate limits, or explicitly state that it is a read-only operation. The added context is useful but not exhaustive.

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 entire description is two sentences with no filler. The first sentence states functionality and default behavior, while the second provides usage context and a sibling recommendation. Every word earns its place.

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?

For a simple two-parameter data retrieval tool with no output schema, the description covers what data is returned (mention volume, follower count), the source, default window, and intended use case. It omits the exact return format (e.g., time series structure), but the mention of 'daily' implies a time-based series and the described metrics are sufficient for an agent to set expectations.

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 50% (ticker is described, limit is not). The description compensates by clarifying that the tool works for one ticker and by stating 'default 60 days', which implies the limit parameter controls the lookback window. It does not explicitly name the limit parameter, but together with the schema's min/max, the meaning is inferable.

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 'Daily Twitter mention volume and follower count for one ticker', clearly specifying the verb (get), resource (Twitter alternative-data), and scope (one ticker). It effectively distinguishes itself from sibling tools by naming Twitter-specific metrics and explicitly referencing tengu_v3_intel_wsb as a separate WSB-focused tool.

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?

It explicitly states when to call the tool ('when the user asks how much social buzz a name has or whether attention is spiking') and recommends pairing with tengu_v3_intel_wsb for WallStreetBets. It does not provide an explicit 'when not to use' statement, but the context is clear enough to avoid misrouting.

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

tengu_v3_intel_vol_surfaceAInspect

standardized implied-vol SURFACE for a company, joined from a plain equity ticker (resolves the symbol to the surface's internal id via the link table). Returns the standardized surface grid: for each maturity (days = 30/60/91/182/365) and delta node, per call/put the interpolated implied volatility and its dispersion — the clean vol skew + term structure behind risk-reversals, butterflies and the ATM vol term structure. Use to read a name's vol smile or how implied vol changes across expiries. Omit date for the latest-available surface (lagged academic archive — currently the 2011 slice, 3,956 names); pass date=YYYY-MM-DD for a specific session and days= to pin one maturity. Standardized grid, NOT the raw chain — for live per-contract quotes use /intel/options_chain.

ParametersJSON Schema
NameRequiredDescriptionDefault
dateNo
daysNo
limitNo
tickerYesPath parameter 'ticker' (required).
Behavior4/5

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

With no annotations provided, the description carries the full burden. It discloses the lagged academic archive (2011 slice, 3,956 names), the standardized interpolation nature of the data, and the default behavior of omitting date. It also notes resolution via the link table. While it doesn't cover rate limits or error conditions, it provides meaningful behavioral context beyond the tool name and 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 dense but every sentence earns its place: purpose, return format, use case, parameter semantics, and sibling differentiation. It front-loads the key identity ('standardized implied-vol SURFACE') and wastes no words. Despite its length, it remains scannable and actionable.

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?

With no output schema, the description is responsible for conveying return semantics. It does so conceptually: 'for each maturity and delta node, per call/put the interpolated implied volatility and its dispersion.' It also covers default date behavior and the difference from the raw chain. However, it stops short of describing the exact response structure (field names, nesting), and it omits the limit parameter's effect, leaving minor gaps in a otherwise complete picture.

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 description coverage is low (25%—only ticker has a description). The description compensates by explaining the date parameter ('omit date for the latest-available surface... pass date=YYYY-MM-DD') and the days parameter with explicit allowed values (30/60/91/182/365). It does not explain the limit parameter, but the schema provides defaults and bounds, making this a reasonable, if not complete, compensation.

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 the tool returns a standardized implied-vol surface for a company, resolving a ticker to an internal ID. It specifies the exact deliverable (per maturity and delta node, per call/put IV and dispersion) and explicitly distinguishes itself from the raw chain sibling tool, /intel/options_chain. This is a specific verb+resource+scope definition.

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 explicitly says when to use this tool—'to read a name's vol smile or how implied vol changes across expiries'—and provides an exclusion: 'Standardized grid, NOT the raw chain — for live per-contract quotes use /intel/options_chain.' It also explains the optional date and days parameters for controlling the surface, making usage context clear.

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

tengu_v3_intel_voter_attributionAInspect

Causal attribution for a voter's score on a ticker. Instrumented voters: insider_flow (EDGAR Form-4 + insider feed, deduped by name/date/value; CEO/CFO 2x, officer 1.5x, director 1.2x weighting; contribution amounts + reconstructed score); options_flow (options-flow alerts with direction inferred from option_type+side: CALL@ASK=+1, PUT@ASK=-1, CALL@BID=-1, PUT@BID=+1; weighted by premium/median); fundamental (metadata mode — surfaces which 4 ratios the voter consumes + how to interpret). Transforms scores into EVIDENCE rather than a number. Remaining voters (sentiment, analyst_revisions, regime_hmm, technical, ml_ensemble) pending instrumentation. Optional ?voter=insider_flow|options_flow|fundamental, ?days_back=30. 15min cache.

ParametersJSON Schema
NameRequiredDescriptionDefault
voterNo
tickerYesPath parameter 'ticker' (required).
days_backNo
Behavior5/5

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

With no annotations to rely on, the description carries the full burden and excels: it details deduplication logic, role-based weighting, direction inference rules (CALL@ASK=+1, etc.), metadata mode for fundamental, the 'EVIDENCE rather than a number' output philosophy, and a 15min cache. This is rich behavioral disclosure.

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 description is a dense paragraph, but every sentence contributes useful information. It front-loads the purpose and then provides detailed operational specifics. While a bulleted structure might improve readability, the content is appropriately sized for the complexity.

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?

For a complex 3-parameter tool with no output schema or annotations, the description covers a lot: voter modes, calculation logic, output philosophy, pending voters, and cache. Gaps include unspecified behavior for unsupported voters and limited elaboration on days_back semantics, but these are minor given the overall detail.

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 only documents the ticker path parameter. The description adds complete enumeration for voter (insider_flow|options_flow|fundamental) with detailed operational meaning for each, and provides a default example for days_back (?days_back=30). This significantly compensates for the low schema coverage, though days_back semantics are implied rather than fully specified.

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 'Causal attribution for a voter's score on a ticker,' a specific verb+resource statement. It enumerates the three instrumented voters and explains the transformation of scores into evidence, distinguishing it from sibling tools like voter_coverage or voter_ic_drift.

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 clearly states which voters are supported and explicitly notes that remaining voters are 'pending instrumentation,' providing an exclusion. It also mentions optional parameters (?voter, ?days_back) and cache behavior. However, it does not explicitly name alternative tools for other use cases, though the context is fairly clear.

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

tengu_v3_intel_voter_coverageAInspect

Per-ticker accounting for every voter in the 19-voter ensemble. For each voter returns the current score, baseline weight, status (firing | silent_data | shadow | no_signal), and a human-readable why explaining each silent voter's upstream data source so an operator can chase the gap. The coverage_summary block reports weight_firing (effective ensemble weight in use) vs weight_silent_live (paid-for but silent). Use this when a model_prediction shows low voter_coverage — it tells you exactly which data pipelines to wake up. 5min cache.

ParametersJSON Schema
NameRequiredDescriptionDefault
tickerYesPath parameter 'ticker' (required).
Behavior4/5

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

No annotations are provided, so the description carries the full burden. It discloses the output structure, the meaning of silent statuses, the coverage_summary fields, and the 5min cache. It implies a read-only operation without stating side effects, which is acceptable for a read tool, but it doesn't explicitly mention authorization or error behaviors.

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 three sentences plus a cache note, each sentence delivering specific, non-redundant information. It is front-loaded with the primary purpose and then adds details about output and usage. No wasted words.

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?

Given the tool's simplicity (one parameter, no output schema), the description fully covers the return values: per-voter fields, statuses, the why explanation, coverage_summary contents, and the 5min cache. It also provides a clear trigger for use, making it complete for an agent to select and invoke correctly.

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?

The input schema already provides a description for the single 'ticker' parameter (100% coverage). The tool description adds no further parameter semantics beyond the phrase 'Per-ticker,' which is also in the name. Baseline 3 applies because the schema does the heavy lifting.

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 identifies the tool's purpose: per-ticker accounting for every voter in the 19-voter ensemble, returning score, baseline weight, status, and a why explanation for silent voters. It distinguishes itself from sibling tools like voter_attribution and voter_ic_drift by focusing on coverage statuses and upstream data pipelines.

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 provides explicit usage context: 'Use this when a model_prediction shows low voter_coverage — it tells you exactly which data pipelines to wake up.' It tells the agent when to use it but does not explicitly mention alternatives or when not to use, so it falls short of a 5.

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

tengu_v3_intel_voter_ic_driftAInspect

Per-voter information-coefficient drift vs baseline for all 19 voters, recomputed daily: live_ic vs baseline_ic, ic_ratio (sign-flip flagged at <0), drift_status (green/yellow/red), sorted by absolute drift severity. Call it before leaning on a verdict — reduce confidence in any voter with red drift_status. 60min cache.

ParametersJSON Schema
NameRequiredDescriptionDefault

No parameters

Behavior4/5

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

With no annotations, the description carries full burden. It discloses recomputation cadence (daily), caching behavior (60min), sign-flip flagging threshold (<0), and the meaning of red status, adding behavioral 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?

Two sentences pack the core purpose, key fields, sorting, usage guidance, and cache behavior. Every word contributes; there is no redundancy or filler.

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 zero-parameter tool, the description fully covers what the agent needs to know: what data is returned, how it's organized, when to call, and how to act on results. It is self-sufficient.

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 tool has zero parameters, and the description appropriately focuses on output semantics rather than input syntax. Baseline for 0-param tools is 4; the description adds value by explaining the data fields and their interpretation.

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 states exactly what the tool does: reports per-voter information-coefficient drift vs baseline for all 19 voters, including specific fields (live_ic, baseline_ic, ic_ratio, drift_status) and sorting. This is a specific verb+resource+scope that distinguishes it from broader voter tools.

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?

It clearly instructs when to use the tool ('Call it before leaning on a verdict') and what action to take based on results ('reduce confidence in any voter with red drift_status'). It doesn't explicitly name alternatives or exclusions, but the context is clear.

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

tengu_v3_intel_wsbAInspect

Daily r/wallstreetbets mention count and sentiment for one ticker from the alternative-data feed (default 60 days). Call this when the user asks whether retail is piling into a name or how retail buzz is trending; pair with tengu_v3_intel_twitter for the Twitter-side social read.

ParametersJSON Schema
NameRequiredDescriptionDefault
limitNo
tickerYesPath parameter 'ticker' (required).
Behavior4/5

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

With no annotations provided, the description carries the full burden of behavioral disclosure. It reveals key behaviors: data is daily, comes from an alternative-data feed, has a default window of 60 days, and targets a single ticker. However, it does not disclose the output format, pagination, or any filtering constraints beyond scope, which leaves some behavioral ambiguity for a read operation without an output 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 two sentences with no redundancy. The first sentence delivers the core function and key parameters, while the second provides targeted usage guidance and points to a complementary tool. Every clause earns its place, making it highly efficient and easy to parse.

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?

This is a simple two-parameter data query with no output schema and no annotations. The description covers the data source, metric, default window, single-ticker scope, and usage context, which is sufficient for a basic retrieval tool. It falls short only in not describing the exact return shape or any edge cases like holiday handling or data lag, which would be valuable given the absence of an output schema.

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 schema documents ticker (with a minimal path-parameter note) and limit (with default/min/max), but only 50% of parameters have meaningful descriptions. The tool description compensates by explaining 'default 60 days' for the limit parameter and 'for one ticker' for the ticker parameter, adding context beyond the bare schema. It does not, however, clarify ticker format or how limit translates to days beyond the default.

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 explicitly states the tool provides 'Daily r/wallstreetbets mention count and sentiment for one ticker from the alternative-data feed'. This clearly identifies the data source, the metric, the unit of analysis, and the time window. It also distinguishes itself from related tools by naming tengu_v3_intel_twitter as the complementary source, leaving no ambiguity about its purpose.

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 provides explicit when-to-use guidance: 'Call this when the user asks whether retail is piling into a name or how retail buzz is trending'. It also names a specific alternative/complement (tengu_v3_intel_twitter) and explains how to combine them. The 'for one ticker' constraint implies a boundary (not for multi-ticker or alternative sources), making the usage context clear.

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

tengu_v3_intel_yield_curveAInspect

Live US Treasury yield curve + recession-watch spreads + breakeven inflation. Returns DGS1MO/3MO/2/5/10/30 yields, the 10Y-2Y and 10Y-3M spreads (with 'inverted' flags — classic recession signal), 5Y/10Y breakeven inflation, and the trade-weighted USD index. Quote these numbers verbatim — DO NOT recall yields from training data, which is months stale. 5-min cache. For a focused short-end + cash-park view, use tengu_v3_intel_risk_free_rate.

ParametersJSON Schema
NameRequiredDescriptionDefault

No parameters

Behavior4/5

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

With no annotations, the description carries the full transparency burden. It discloses that data is live, that the 5-min cache means slight delays, and that the tool provides 'inverted' flags as recession signals. It also explicitly instructs the agent to quote numbers verbatim and not rely on training data, which is a critical behavioral caveat. It doesn't mention rate limits or permissions, but for a read-only data tool the disclosed details are substantial.

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 concise yet information-dense. It starts with a high-level summary, lists all returned fields, provides a critical usage warning, mentions cache behavior, and points to an alternative—all in three sentences. No word is wasted, and the structure front-loads the purpose.

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 parameterless, schema-less, annotation-less tool, the description fully compensates: it lists all expected return fields, explains the recession-signal flags, warns about data freshness, and offers a sibling alternative. There is no ambiguity about what the tool returns or when to use it.

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 tool has zero parameters, so there is no parameter semantic to clarify. The schema is empty (100% coverage), and the baseline for 0-param tools is 4. The description adds clarity about output semantics instead, which is appropriate.

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 'Live US Treasury yield curve + recession-watch spreads + breakeven inflation,' which precisely names the resource and the data type. It enumerates the exact series returned (DGS1MO/3MO/2/5/10/30, 10Y-2Y, 10Y-3M, breakeven inflation, USD index), making it unmistakably distinct from other tools. It also differentiates from a sibling by directing users to tengu_v3_intel_risk_free_rate for a narrower view.

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 explicitly states when to use this tool versus an alternative: 'For a focused short-end + cash-park view, use tengu_v3_intel_risk_free_rate instead.' It also implies usage for broader curve and recession-watch analysis, and warns against using stale training data—clear guidance on when this live tool is appropriate.

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

tengu_v3_kelly_uncertaintyAInspect

Uncertainty-discounted Kelly fraction for one ticker — the bet size after haircutting full Kelly for estimation error. Call this when the user asks 'how much should I bet on X?' or to know how large a position the evidence actually supports before sizing a trade.

ParametersJSON Schema
NameRequiredDescriptionDefault
tickerYesPath parameter 'ticker' (required).
Behavior4/5

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

With no annotations provided, the description carries the full burden for behavioral disclosure. It transparently explains the key behavior: the Kelly fraction is discounted for estimation error, and it operates on one ticker. It does not mention return type or edge cases, but the core methodology and scope are well disclosed.

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 a single, well-structured sentence followed by an actionable usage clause. It front-loads the purpose, uses an em dash to explain the concept efficiently, and contains no filler or redundant information. Every element earns its place.

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?

For a simple one-ticker compute tool with no annotations and no output schema, the description covers the purpose, methodology, and trigger scenarios. It falls slightly short by not explicitly stating the return format (e.g., decimal fraction) or handling edge cases like unavailable data, but it is sufficiently complete for practical use.

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 100% (only 'ticker'), but the schema description is minimal ('Path parameter ticker (required)'). The tool description adds meaning by explicitly linking 'ticker' to 'X' in the user query and scoping it to 'one ticker', helping agents understand what value to supply. This elevates it above the baseline 3.

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 the tool returns an uncertainty-discounted Kelly fraction for a single ticker, explaining the core concept ('haircutting full Kelly for estimation error'). It distinguishes itself from siblings by focusing on single-ticker bet size and positions the tool with specific user queries like 'how much should I bet on X?'.

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 says when to call the tool ('when the user asks how much should I bet on X' or for position sizing) but does not mention alternatives or when not to use it. This provides a clear trigger condition but lacks exclusions or sibling comparisons, placing it at a 4 rather than 5.

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

tengu_v3_lab_deploymentsCInspect

Live lab deployments (paper/tiny-cap)

ParametersJSON Schema
NameRequiredDescriptionDefault

No parameters

Behavior2/5

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

With no annotations provided, the description carries the full burden of behavioral disclosure. It only hints that data is 'live' and limited to 'paper/tiny-cap', but does not state whether it is a read-only operation, what it returns, or any other behavioral traits.

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 description is extremely short and front-loaded, wasting no words. However, it is a noun phrase rather than a complete sentence, and the terseness contributes to ambiguity about the tool's function.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness2/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a zero-parameter tool with no output schema, the description should clarify what 'lab deployments' means and what the tool actually provides. The current description is too vague for an agent to decide when to use this tool over siblings and what result to expect.

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 tool has zero parameters, so the baseline is 4. The description adds context about the data scope (live, paper/tiny-cap) but this is not parameter-related; no parameter explanation is needed.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose3/5

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

The phrase 'Live lab deployments (paper/tiny-cap)' identifies the resource (lab deployments) and scope (paper/tiny-cap), but lacks a clear verb (e.g., get, list, monitor). It vaguely distinguishes from siblings like tengu_v3_lab_strategies by naming 'deployments' specifically, but does not convey the exact action.

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

Usage Guidelines2/5

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

No guidance is given on when to use this tool versus alternatives. There is no mention of exclusions, prerequisites, or contexts where another tool would be more appropriate.

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

tengu_v3_lab_strategiesDInspect

Strategies in the sandbox lab

ParametersJSON Schema
NameRequiredDescriptionDefault
limitNo
Behavior1/5

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

No annotations are provided, so the description carries the full burden for behavioral disclosure. It does not mention read/write behavior, side effects, return format, or any other runtime behavior. The description is entirely opaque about what happens when the tool is invoked.

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

Conciseness2/5

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

The description is extremely short but under-specified rather than concise. It is a noun phrase fragment that provides no structural information, such as what data is returned or how the limit parameter behaves. It does not earn its place because it contributes almost no useful information.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness1/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given the tool has one optional parameter, no output schema, and no annotations, the description is completely inadequate. It does not explain the tool's purpose, input semantics, result shape, or relationship to sibling tools, leaving an agent unable to use it effectively.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters1/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

The input schema has one 'limit' parameter with defaults and bounds but no schema description (0% coverage). The tool description does not mention the parameter or explain how it affects results, so it adds no semantic value beyond the parameter name.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose2/5

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

The description 'Strategies in the sandbox lab' is a tautology of the tool name, providing no verb or action word to indicate what the tool does. It does not distinguish itself from sibling tools like tengu_v3_strategies_list, which likely lists strategies. The purpose is vague and could refer to listing, retrieving, or managing strategies.

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

Usage Guidelines2/5

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

There is no guidance on when to use this tool versus alternatives or any exclusions. The description lacks context for when an agent should select this tool over the many strategy-related siblings, such as tengu_v3_strategies_list or tengu_v3_strategy_metrics.

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

tengu_v3_macro_treasury_curveAInspect

Live US Treasury yield curve (market-data feed, T+1): 1m-30y tenor points, per-tenor 1-day change (bps), computed 2s10s and 3m10y spreads with inversion flags. Call this when the user asks about rates, curve shape, or inversion. Honest as_of = the feed's record date.

ParametersJSON Schema
NameRequiredDescriptionDefault

No parameters

Behavior4/5

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

With no annotations provided, the description carries the transparency burden. It discloses that this is a market-data feed with T+1 timing, includes per-tenor changes and computed spreads, and clarifies that the 'as_of' timestamp is the feed's record date. It does not mention update frequency or potential limitations, but the provided context is substantial for a zero-parameter tool.

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 three concise sentences that front-load the core functionality. Each sentence adds value: the first specifies the data contents, the second gives usage guidance, and the third clarifies the as_of semantics. No wasted words.

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?

For a tool with no parameters and no output schema, the description covers the essential return contents (tenors, changes, spreads, flags), usage timing, and data freshness. It lacks explicit return format details, but this is not a major gap given the simplicity of the tool.

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 tool has zero parameters, so the baseline is 4. The input schema is empty with 100% coverage, and the description does not need to explain parameters since there are none.

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 the tool provides a live US Treasury yield curve with specific tenor points (1m-30y), per-tenor 1-day changes in bps, and computed spreads (2s10s, 3m10y) with inversion flags. It uses a specific verb 'call this' and distinguishes itself from siblings by explicitly mentioning usage for rates, curve shape, or inversion.

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 says 'Call this when the user asks about rates, curve shape, or inversion,' giving clear context for when to use it. However, it does not mention alternatives or provide when-not-to-use guidance, so it falls short of a 5.

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

tengu_v3_market_events_catchupBInspect

Finite catch-up page for retained market events after a Redis stream id; use after reconnect and preserve each event's source freshness fields.

ParametersJSON Schema
NameRequiredDescriptionDefault
limitNo
sinceNo
symbolsNo
Behavior3/5

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

With no annotations, the description carries the full burden. It discloses that the page is finite, that events are retained, and that source freshness fields are preserved, which are useful behavioral traits. Yet it omits details such as pagination behavior, ordering, error conditions, or return format, leaving gaps in transparency.

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 description is a single, front-loaded sentence with no wasted words. It conveys the core purpose and a usage hint efficiently. However, the heavy use of jargon ('Redis stream id', 'source freshness fields') makes it slightly less accessible than a fully plain-language description.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness2/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

The tool has three optional parameters, no output schema, and no annotations, yet the description does not cover parameter semantics, return format, or operational details. It mentions the reconnect scenario but leaves too much unspecified for an agent to reliably invoke it without additional context.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters2/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 0%, and the description fails to explain any of the three parameters. The only hint is 'after a Redis stream id', which likely maps to the 'since' parameter, but no explicit mapping or meaning is given for 'limit' or 'symbols'. This is a significant gap.

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?

The description identifies the tool as a 'Finite catch-up page for retained market events after a Redis stream id', which clearly states the function (retrieve a finite page) and the resource (retained market events). It also implies usage for stream recovery, but it does not explicitly contrast with the sibling streaming tools, so it stops short of full differentiation.

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 provides a specific usage context: 'use after reconnect'. This is a clear signal for when to invoke the tool. However, it does not explicitly state when not to use it or name alternative tools for live streaming or historical queries, so it lacks explicit exclusions.

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

tengu_v3_market_universeCInspect

Cross-process shared warm-set catalog plus the dedicated US-equity producer heartbeat, research-universe count, capacity and effective readiness. Warm means requested, not provider-confirmed.

ParametersJSON Schema
NameRequiredDescriptionDefault

No parameters

Behavior2/5

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

The description adds one behavioral disclosure: 'Warm means requested, not provider-confirmed,' implying the data may be unconfirmed. However, with no annotations, it fails to state whether the operation is read-only, cached, or has side effects, and it does not explain the nature of the 'heartbeat' or 'readiness' metrics.

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 description is two sentences with no filler. The first sentence is dense with domain terms but efficient, and the second sentence clarifies a key concept. It is front-loaded and appropriately sized.

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?

With no output schema and no annotations, the description is the sole guide. It lists the main data areas but leaves terms like 'capacity' and 'effective readiness' undefined, and it does not differentiate from adjacent status/universe tools. It is minimally adequate for a no-argument status tool.

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?

There are zero parameters, and the schema is empty, so the baseline is 4. The description correctly does not attempt to explain parameters that do not exist.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose3/5

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

The description identifies the tool as providing a 'warm-set catalog' plus producer heartbeat, research-universe count, capacity, and readiness, but it lacks an explicit action verb like 'get' or 'report.' It avoids being a tautology and is richer than the name alone, yet it does not clearly distinguish itself from sibling tools such as `tengu_v3_universe_scan` or `tengu_v3_stream_universe_status`.

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

Usage Guidelines2/5

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

No guidance is given on when to use this tool versus alternatives, and no use cases or exclusions are mentioned. The only additional sentence defines 'warm' but does not help with tool selection.

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

tengu_v3_memory_recallCInspect

Recall memory items by free-text query

ParametersJSON Schema
NameRequiredDescriptionDefault
limitNo
queryNo
Behavior2/5

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

With no annotations provided, the description must carry the full burden of behavioral disclosure. It does not state whether the operation is read-only, what the return format is, whether pagination applies, or any side effects. 'Recall' implies reading but is insufficiently explicit.

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 description is a single concise sentence with no wasted words. It is front-loaded and easy to read, but the brevity comes at the cost of important details, which are addressed in other dimensions.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness2/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given no output schema, no annotations, and zero parameter descriptions, the description is too thin to be operationally complete. It fails to explain the output structure, limit behavior, or any prerequisites, leaving the agent under-informed for a 2-parameter tool.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters2/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 compensate. It clarifies that 'query' is a free-text query, but it does not explain the 'limit' parameter, its default, or how query matching works. The description adds minimal meaning beyond the schema's bare property names.

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?

The description uses a specific verb ('recall') and resource ('memory items') and specifies the method ('free-text query'). This distinguishes it from many sibling tools, though the meaning of 'memory items' is not elaborated.

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

Usage Guidelines2/5

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

There is no guidance on when to use this tool versus alternatives like tengu_v3_memory_reflections or tengu_research_knowledge. No context or exclusions are provided.

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

tengu_v3_memory_reflectionsDInspect

Post-trade reflections journal

ParametersJSON Schema
NameRequiredDescriptionDefault
limitNo
Behavior1/5

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

With no annotations provided, the description carries the full burden of disclosing behavior, but it discloses none. It does not state whether the tool is read-only, what the response contains, whether it accepts filters beyond limit, or any side effects. 'Post-trade reflections journal' describes a resource, not behavior.

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

Conciseness2/5

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

The description is only four words and is front-loaded, but this is under-specification rather than effective conciseness. It lacks essential operational information and does not earn its place as a useful tool description.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness1/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

This is a simple tool with one optional parameter and no output schema, so the description must explain what the tool returns and how the limit works. It does neither, making the tool effectively unusable for an agent without external knowledge. The presence of dozens of sibling tools further increases the need for contextual clarity, which is entirely absent.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters1/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 0%, and the description does not mention the 'limit' parameter at all. Although the schema provides min/max/default constraints, the description adds no meaning about what the limit applies to or how it affects results, failing to compensate for the zero coverage.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose2/5

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

The description 'Post-trade reflections journal' is a noun phrase rather than a clear verb+resource statement; it does not say whether the tool retrieves, lists, creates, or updates reflections. It essentially restates the tool name 'memory_reflections' with 'reflections', adding only the 'post-trade' context but leaving the core action ambiguous.

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

Usage Guidelines2/5

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

No guidance is provided about when to use this tool versus closely related siblings such as tengu_v3_memory_recall or tengu_v3_prediction_tracker. The description gives no context, prerequisites, or exclusions, so an agent has no basis for selecting this tool over alternatives.

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

tengu_v3_metricsCInspect

Recent system metrics (latency/QPS/error)

ParametersJSON Schema
NameRequiredDescriptionDefault
window_minutesNo
Behavior2/5

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

With no annotations, the description must convey behavioral traits. It only lists output categories and does not disclose whether metrics are real-time, aggregated, delayed, or read-only. It also omits the configurable window_minutes parameter, leaving the agent unaware of time-window control.

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 description is extremely concise and front-loaded with no wasted words. However, brevity undercuts substance; it is a single noun phrase that could be enriched without bloat (e.g., mentioning the time window or return format). It is appropriately short but not optimally informative.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness2/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given the simple tool (one optional parameter, no output schema), the description is incomplete. It does not explain what 'recent' means, how window_minutes changes results, or the shape of the response. An agent would need to call with defaults or guess, which is a significant gap.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters2/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 0%, and the description does not mention window_minutes at all. The parameter is self-explanatory from the schema (name, default, min, max), but the description fails to integrate or clarify it, so the agent must infer that the tool accepts a time window.

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?

The description identifies the resource ('recent system metrics') and narrows scope with '(latency/QPS/error)', making the tool's purpose fairly clear. However, it lacks an explicit verb (e.g., 'get' or 'retrieve'), relying on the noun phrase to imply access, which slightly reduces clarity.

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

Usage Guidelines2/5

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

No guidance is given on when to use this tool versus alternatives like tengu_v3_system_health, tengu_logs, or tengu_status. The description does not mention prerequisites, exclusions, or context, leaving the agent to infer suitability.

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

tengu_v3_news_aggregatedAInspect

MARKET-WIDE feed — not per-ticker (that is tengu_v3_news_summary). Aggregated cross-source news stream over the last N hours (default 24) for broad market-news sweeps and cross-source coverage checks.

ParametersJSON Schema
NameRequiredDescriptionDefault
hoursNo
limitNo
Behavior3/5

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

There are no annotations, so the description must disclose behavior. It mentions the time window (default 24h) and aggregation, but does not describe output format, sorting, pagination, or source details. It lacks depth for a tool with no annotation support, but it does convey core semantics.

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?

Description is two sentences, front-loaded with the most important differentiator (market-wide vs per-ticker) and then provides scope and use cases. No redundant details; every phrase earns its place.

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?

Given the simple 2-parameter schema and lack of output schema, the description provides the essential positioning and time filter but fails to describe what the returned 'news stream' contains (e.g., fields, ordering). It is adequate for basic selection but not sufficient to fully set expectations.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters2/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 explain the parameters. It partially explains 'hours' via 'over the last N hours (default 24)', but completely omits 'limit'. The schema provides only numeric constraints, not meaning, so the description insufficiently compensates.

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?

Description clearly states this is a 'MARKET-WIDE' aggregated news feed, explicitly contrasting with per-ticker tool 'tengu_v3_news_summary'. It identifies the scope (cross-source, market-wide) and the specific use case (broad sweeps, coverage checks), distinguishing it from sibling tools.

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?

Provides explicit when-to-use ('broad market-news sweeps and cross-source coverage checks') and when-not-to-use ('not per-ticker'), directly naming the alternative tool (tengu_v3_news_summary). This gives clear decision guidance.

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

tengu_v3_news_alertsAInspect

Headline-only alert stream — lighter and faster than full news items; category=general for market-wide or category=ticker with tickers for specific names. Call this when the user wants breaking headlines or the very latest on a name and speed matters more than article bodies.

ParametersJSON Schema
NameRequiredDescriptionDefault
pageNo
itemsNo
tickersNo
categoryNo
Behavior3/5

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

With no annotations provided, the description carries the burden of behavioral disclosure. It adds useful context: it's headline-only, lighter, faster, and the category parameter filters market-wide vs ticker-specific. However, it omits details about return format, pagination, rate limits, or any side effects. For a read-only stream, this is adequate but not rich.

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 two sentences, front-loaded with the core purpose, and wastes no words. It efficiently covers what it does, how it filters, and when to use it.

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 has 4 optional parameters and no output schema, the description provides the essential purpose, usage guidance, and filter semantics. It doesn't detail the return structure, but that's partially implied by 'headline-only alert stream.' For a relatively simple tool, it's mostly complete, though it could mention pagination bounds.

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 0%, so the description must compensate. It explains the category parameter (general vs ticker) and how tickers relate to category=ticker, adding meaning beyond the enum. However, it doesn't mention 'page' or 'items' parameters, which remain undocumented. Partial coverage, so a mid-range score is appropriate.

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?

The description clearly identifies the tool as a 'headline-only alert stream' that is lighter and faster than full news items, distinguishing it from article-heavy news tools. It provides a specific verb-like purpose (streaming headlines) and scope (market-wide or per ticker), though it doesn't explicitly name sibling tools.

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 when to use this tool: 'when the user wants breaking headlines or the very latest on a name and speed matters more than article bodies.' It also contrasts with 'full news items,' implying alternative tools exist, but it doesn't name specific alternatives.

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

tengu_v3_news_all_tickers_sentimentAInspect

Sentiment leaderboard across the full tracked ticker universe over a date_range (default last7days), paginated. Call this when the user asks which stocks have the most positive or negative news sentiment right now — a screening pass before single-name digs.

ParametersJSON Schema
NameRequiredDescriptionDefault
pageNo
date_rangeNolast7days
Behavior3/5

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

No annotations are present, so the description carries the full burden. It discloses that the result is paginated, covers a date range (default last7days), and spans the full tracked universe, which is useful context. However, it omits response structure, sort order, accepted date_range values, and page size, leaving significant behavioral gaps.

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?

Two sentences, front-loaded with the core purpose, followed by a concise usage statement. Every word earns its place; no filler or redundancy.

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?

For a simple tool with only two optional parameters and no output schema, the description adequately covers purpose, scope, and usage context. It could elaborate on the exact contents of the leaderboard (e.g., ticker symbols, sentiment scores), but the term 'sentiment leaderboard' plus the screening use case makes it reasonably complete for an agent to select and invoke.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters2/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 mentions 'date_range (default last7days)' and 'paginated', but these largely restate schema defaults and do not explain what values are valid for date_range, how pagination works (e.g., page size), or the effect on results. This is insufficient compensation for zero schema-level descriptions.

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 defines the tool as a sentiment leaderboard across the full tracked ticker universe, with explicit scope (full universe), time window (date_range), and pagination. It distinguishes itself from sibling tools by framing its use as a 'screening pass before single-name digs', making its purpose unmistakable.

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 says when to call it ('when the user asks which stocks have the most positive or negative news sentiment right now') and implies a boundary ('before single-name digs'), but it does not name alternative tools for single-name deep dives, so it falls short of the full 'explicit when/when-not/alternatives' bar.

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

tengu_v3_news_by_topicAInspect

Topic-filtered headlines (earnings, analysts, dividend, mergers, acquisition, ipo, fda, guidance, stock_buyback, insider, lawsuit, esg, crypto, and more), optionally per ticker, over a date_range (default last7days, 50 items). Call it when the user asks about a specific event type — 'any FDA news?', 'recent M&A headlines'.

ParametersJSON Schema
NameRequiredDescriptionDefault
itemsNo
topicYes
tickerNo
date_rangeNolast7days
Behavior3/5

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

With no annotations, the description carries the full burden. It discloses defaults (last7days, 50 items) and the optional ticker filter, which adds context beyond the schema. However, it does not describe the output format, whether results are ordered, or any access requirements. For a read-only news tool this is minimal but acceptable, warranting a mid-range score.

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 two sentences with front-loaded purpose. The topic list is dense but conveys the range of event types, and the usage example is succinct. Every phrase earns its place; no redundant or filler content.

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 no output schema and a crowded sibling set of news tools, the description provides enough to select the tool correctly: purpose, usage trigger, parameter semantics, and defaults. It lacks explicit differentiation from related tools like 'tengu_v3_news_category' or 'tengu_v3_news_aggregated', but the event-type focus is clear. A small gap is not describing the response structure, but this is acceptable for a simple headlines tool.

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 description coverage is 0%, so the description is the only source of parameter meaning. It explains 'topic' via examples, 'ticker' as optional per-ticker, 'date_range' with a default, and 'items' implicitly via '50 items'. This compensates well for the schema's lack of descriptions, though it could be more explicit about 'items' as a separate 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 clearly states the tool returns 'Topic-filtered headlines' and lists a variety of event types, distinguishing it from other news tools in the sibling list. The verb 'filtered' plus the resource 'headlines' makes the purpose specific and actionable, and the examples ('any FDA news?', 'recent M&A headlines') reinforce the tool's role.

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 gives explicit guidance: 'Call it when the user asks about a specific event type'. This provides clear context for use. However, it does not mention when not to use it or explicitly name alternative news tools, so it stops short of a 5.

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

tengu_v3_news_categoryAInspect

Category-scoped news feed: section=general for market-wide or alltickers for company-tagged stories, filterable by topic, sector, industry, and source. Call this when the user wants themed or sector-level news rather than coverage of a specific ticker.

ParametersJSON Schema
NameRequiredDescriptionDefault
pageNo
itemsNo
topicNo
sectorNo
sourceNo
sectionNogeneral
industryNo
date_rangeNo
Behavior4/5

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

With no annotations, the description carries the disclosure burden. It explains the behavior of the section parameter (general vs alltickers) and lists filter dimensions (topic, sector, industry, source), which adds value beyond the schema. It does not mention return format or pagination details, but the core scoping behavior is transparent.

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 two sentences, front-loaded with the core definition and section modes. The second sentence gives usage guidance without redundancy. Every part earns its place.

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 large number of news-related siblings, the description differentiates this tool from ticker-specific news retrieval. It could more explicitly contrast with other category/topic news tools like tengu_v3_news_by_topic, but the scoping and usage guidance are sufficient for selection.

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%, but the description adds meaning for section, topic, sector, industry, and source by explaining their roles. It clarifies the enum values for section and the filtering intent. Page, items, and date_range are not mentioned, but the schema provides defaults and types.

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 defines the tool as a 'Category-scoped news feed' and explains the two section modes ('general for market-wide or alltickers for company-tagged stories'). It explicitly contrasts with 'coverage of a specific ticker', distinguishing it from ticker-specific news tools.

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?

Provides an explicit usage directive: 'Call this when the user wants themed or sector-level news rather than coverage of a specific ticker.' This gives clear context and exclusion, though it does not name specific alternative tools like tengu_v3_news_ticker_news.

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

tengu_v3_news_crypto_all_tickers_sentimentAInspect

Sentiment leaderboard across the full tracked crypto universe — every coin's sentiment_score over the window (default last7days). Call this when the user asks which coins have the most bullish or most bearish news sentiment right now.

ParametersJSON Schema
NameRequiredDescriptionDefault
pageNo
date_rangeNolast7days
Behavior3/5

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

With no annotations provided, the description carries the burden of transparency. It discloses the scope ('full tracked crypto universe'), the time window ('default last7days'), and that it returns a sentiment score per coin. However, it does not explain pagination behavior, response format, or whether the operation is read-only, leaving some behavioral aspects uncovered.

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 two sentences with no fluff. The first sentence defines the purpose and output, and the second provides the trigger scenario. It is well-structured and front-loaded with the essential information.

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?

The tool is simple with no output schema, so the description should explain return values clearly. It does mention 'sentiment_score' and a leaderboard, but it does not specify sort order, number of results, or how pagination affects completeness. The ambiguity between 'every coin' and the page parameter further weakens completeness.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters2/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

The schema provides no descriptions for the two parameters (0% coverage), so the description must compensate. It only explains the default for date_range ('last7days') but gives no valid values or format for date_range, and it does not explain the 'page' parameter at all. This is insufficient for a tool where parameters affect data retrieval.

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 identifies the tool as a sentiment leaderboard across the full crypto universe, specifying the resource (crypto coins) and the metric (sentiment_score). It distinguishes itself from siblings by emphasizing 'full tracked crypto universe' and 'every coin', which aligns with the tool's name and differentiates it from per-ticker or market-sentiment tools.

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 when to use the tool: 'Call this when the user asks which coins have the most bullish or most bearish news sentiment right now.' This provides clear context, though it does not mention any exclusions or alternative tools, so it misses the 'when-not/alternatives' component for a top score.

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

tengu_v3_news_crypto_by_categoryAInspect

Crypto news by section: section='general' for overall crypto-market headlines, section='alltickers' for cross-coin coverage. PRIMARY tool for broad 'what's happening in crypto today' questions — for a single coin use news_crypto_latest instead. 120s cache.

ParametersJSON Schema
NameRequiredDescriptionDefault
itemsNo
sectionNogeneral
date_rangeNotoday
Behavior3/5

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

With no annotations, the description carries the full burden. It adds useful behavioral context like the 120s cache and section semantics, but does not disclose return format, pagination, ordering, or any potential rate limits. For a simple news read tool this is acceptable but not rich.

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 three sentences, front-loaded with the core purpose, and every sentence adds value: purpose, section definitions, usage alternative, and cache behavior. No filler or redundancy.

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?

For a tool with no output schema and three optional params, the description covers the main use case, key parameter semantics, and an alternative. It is missing allowed values for 'date_range' and output details, but the tool's simplicity makes the description largely adequate.

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 coverage is 0%, so the description must compensate. It adds meaning to the central 'section' parameter by explaining 'general' and 'alltickers', which the schema enum alone does not convey. However, it does not address 'items' or 'date_range' semantics, though their names and defaults provide some self-evident meaning.

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 it provides crypto news by section, with explicit section definitions. It also distinguishes itself from sibling tool news_crypto_latest by positioning this as the primary tool for broad crypto-market coverage, making its purpose unmistakable.

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 usage guidance: use for broad 'what's happening in crypto today' questions, and explicitly directs to 'news_crypto_latest' for single-coin queries. This is strong when-to-use and when-not-to-use guidance with a named alternative.

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

tengu_v3_news_crypto_eventsAInspect

Clustered crypto headline events — related stories grouped into discrete events; fetch recent events, filter by ticker, or drill into one eventid. Call this when the user asks what distinct news events hit a coin rather than a raw headline list.

ParametersJSON Schema
NameRequiredDescriptionDefault
pageNo
eventidNo
tickersNo
Behavior3/5

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

With no annotations provided, the description carries full burden for behavioral disclosure. It explains the clustering behavior (related stories grouped into discrete events) and the three modes (recent, ticker-filtered, eventid drill-down). However, it does not disclose return format, pagination limits, or whether events are deduplicated across calls. The description adds valuable context about the clustering concept, but lacks details on output structure or data freshness.

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 description is a single sentence but dense with information. It front-loads the core concept ('Clustered crypto headline events') and immediately explains the grouping behavior and usage modes. It is efficient, but the sentence is slightly long and could benefit from a clear break (e.g., a colon or period) to separate the 'what' from the 'when to use'. Still, every phrase earns its place.

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?

For a 3-parameter optional tool with no output schema, the description covers the main modes of use (recent, filter, drill-down) and provides a clear use case. It does not describe the shape of returned events or how pagination interacts with clustering, but given the tool's moderate complexity and the lack of an output schema, the description is reasonably complete. It falls short of a 5 because it omits any mention of result ordering, event metadata, or limits.

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 description coverage is 0%, so the description must compensate for the three parameters. It mentions 'fetch recent events' (implying page), 'filter by ticker' (tickers), and 'drill into one eventid' (eventid). This gives functional meaning to each parameter beyond the bare schema types. However, it doesn't specify the expected format for tickers (e.g., comma-separated, single ticker) or the page size, leaving some ambiguity.

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 the tool's function: 'Clustered crypto headline events — related stories grouped into discrete events'. It specifies the resource (crypto headlines), the action (fetch events, filter by ticker, drill into eventid), and distinguishes from raw headline lists. It also differentiates from siblings like tengu_v3_intel_news_crypto and tengu_v3_news_crypto_latest by emphasizing the clustered 'events' grouping.

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 explicitly instructs when to use: 'Call this when the user asks what distinct news events hit a coin rather than a raw headline list.' This provides a clear usage directive and implicitly contrasts with raw headline tools. It also enumerates the available operations (fetch recent, filter by ticker, drill into eventid), making it easy for an agent to choose this tool over alternatives.

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

tengu_v3_news_crypto_latestAInspect

Recent crypto news with sentiment for one or more symbols: title, source, sentiment (Positive/Neutral/Negative), date, topic tags. PRIMARY tool for ticker-specific crypto drilling (BTC, ETH, SOL, COIN, MSTR) — call when the user asks what's happening with a specific coin; use by_category for market-wide questions. 60s cache.

ParametersJSON Schema
NameRequiredDescriptionDefault
itemsNo
tickersYes
date_rangeNotoday
Behavior4/5

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

With no annotations provided, the description carries the full burden of behavioral disclosure. It adds a 60s cache notice and specifies the sentiment categories and output fields, giving the agent expectations. It doesn't mention rate limits or auth requirements, but for a read-only news tool this is largely sufficient.

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 three sentences long and every part serves a purpose: output description, usage guidance, and cache notice. It is front-loaded and free of fluff.

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?

The description is strong for tool selection, covering purpose, usage, and high-level output. However, with no output schema and no annotations, it fails to document the input parameters (items, date_range) and the exact ticker format, which are needed for reliable invocation. It is adequate but not fully complete.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters2/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 compensate for all parameters. It only refers to 'one or more symbols' for the required tickers parameter, but does not explain the format of the string, nor does it mention the items count or the date_range enum values. This leaves the agent without enough information to correctly construct arguments.

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 the tool returns recent crypto news with sentiment for one or more symbols, and lists the output fields (title, source, sentiment, date, topic tags). It also positions itself as the PRIMARY tool for ticker-specific crypto drilling, which differentiates it from siblings like by_category.

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 explicitly says to call this tool when the user asks what's happening with a specific coin, and to use by_category for market-wide questions. This direct guidance names an alternative, making the decision clear.

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

tengu_v3_news_crypto_market_sentimentAInspect

Overall crypto market sentiment rollup across the news feed (no ticker filter). Call this when the user asks whether crypto as a whole looks bullish or bearish right now — for a specific coin's sentiment use news_crypto_latest. 300s cache.

ParametersJSON Schema
NameRequiredDescriptionDefault
date_rangeNolast7days
Behavior3/5

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

No annotations are provided, so the description carries the full burden. It adds useful context such as the '300s cache' and the 'no ticker filter' limitation, but it does not disclose the return format, pagination, or how sentiment is computed/represented. This is adequate but not rich.

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 two sentences plus a cache note, front-loaded with the core purpose, then usage guidance, then the cache detail. Every sentence earns its place and there is no wasted text.

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?

The tool is simple (one optional param, no output schema), and the description covers purpose and usage well. However, it does not explain what the rollup output looks like or what date_range accepts, which are notable gaps given the absence of an output schema.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters1/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 0%, and the description does not mention the sole parameter (date_range) at all. There is no explanation of valid values, formats, or how date_range affects the rollup, so the description fails to compensate for the schema gap.

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+resource+scope: 'Overall crypto market sentiment rollup across the news feed (no ticker filter).' It explicitly names the outcome (bullish/bearish) and differentiates from the sibling tool news_crypto_latest for coin-specific sentiment.

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 explicitly says when to call this tool ('Call this when the user asks whether crypto as a whole looks bullish or bearish right now') and names an explicit alternative ('for a specific coin's sentiment use news_crypto_latest'), which also implies when not to use it.

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

tengu_v3_news_crypto_multi_tickerAInspect

Crypto news where ALL the listed coins co-appear in the same story — a correlation feed. Call this when the user asks how two or more coins are linked in the news, e.g. stories covering both BTC and ETH together.

ParametersJSON Schema
NameRequiredDescriptionDefault
pageNo
itemsNo
tickersYes
Behavior3/5

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

With no annotations provided, the description carries the full burden for behavioral transparency. It does disclose a key behavioral trait: ALL listed coins must co-appear, not just any subset. However, it does not mention pagination behavior, response format, sorting, date filtering, or what happens with invalid tickers. It adds the core correlation behavior but omits other operational details that would be expected given zero annotation support.

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 two sentences long and front-loaded with the core purpose in the first sentence, followed by a usage example. Every word contributes to explaining the tool's function and appropriate context. It is tightly written with no repetition or fluff, making it easy for an agent to parse quickly.

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?

Given the absence of annotations and output schema, the description provides the essential conceptual purpose and a usage scenario, but it lacks critical operational details. The agent is not told how to format the 'tickers' parameter, what the response looks like, or how pagination via 'page' and 'items' affects results. While the core functionality is clear, the missing parameter syntax details create a significant gap for successful invocation. This is adequate but not complete.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters2/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 compensate for explaining the parameters. It clarifies that the 'tickers' parameter represents the listed coins (via 'listed coins'), but it does not specify the expected format (e.g., comma-separated string, repeated arguments) or provide an example syntax. It also gives no explanation for the 'page' and 'items' parameters, leaving the agent to infer their meaning from the schema defaults alone. This partial coverage of the primary parameter without addressing pagination controls is insufficient.

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 the tool's function with a specific verb and resource: it returns crypto news stories where all listed coins co-appear, described as a correlation feed. This distinguishes it from siblings like tengu_v3_news_crypto_latest or tengu_v3_news_multi_ticker by emphasizing the 'all co-appear' requirement and the crypto focus. The example with BTC and ETH reinforces the specific purpose.

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 gives an explicit 'when to call' instruction: when the user asks how two or more coins are linked in the news, illustrated with a concrete example. This is strong usage guidance, but it does not mention when NOT to use the tool or explicitly name alternative tools (e.g., tengu_v3_news_multi_ticker for non-crypto multi-ticker, or tengu_v3_news_crypto_latest for single-coin news). The clear trigger scenario earns a 4 rather than a 5.

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

tengu_v3_news_crypto_sentiment_statsAInspect

crypto-news: daily sentiment rollup for a crypto symbol (-1.5 to +1.5). Densest single-call signal — N days of (positive_count, negative_count, neutral_count, sentiment_score). Use to detect sentiment regime shifts on BTC/ETH/etc. 300s cache.

ParametersJSON Schema
NameRequiredDescriptionDefault
tickerYes
date_rangeNolast30days
Behavior4/5

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

With no annotations, the description carries the full behavioral disclosure burden. It discloses the output structure, the sentiment score range, the single-call nature, and the 300s cache. It does not specify read-only semantics or how the date_range parameter maps to N days, but for a simple data-retrieval tool this is a solid disclosure.

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 two compact sentences plus a short cache fragment, front-loading the essential purpose and outputs. Every word earns its place, with no filler or repetition of schema fields.

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?

Even without an output schema, the description provides enough context for the agent to understand the return shape (per-day counts and sentiment_score) and the tool's niche. It is missing a precise link between date_range and N days, and does not mention default behavior for the date range, but overall it is a strong description for a simple 2-parameter tool.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters2/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema coverage is 0%, so the description must explain parameters. It clarifies that ticker is a crypto symbol (via 'for a crypto symbol' and 'BTC/ETH/etc.'), but it never names or explains date_range, and 'N days' is ambiguous as to whether it is controlled by the date_range parameter. The enum values are left entirely to the schema, so the description adds minimal beyond the schema.

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 identifies the tool as a daily sentiment rollup for a single crypto symbol, lists the exact output components (positive_count, negative_count, neutral_count, sentiment_score), and defines the score scale (-1.5 to +1.5). It distinguishes itself from sibling news tools by emphasizing 'Densest single-call signal' for one symbol, versus all-tickers or market-wide sentiment tools.

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 provides a clear use case: 'Use to detect sentiment regime shifts on BTC/ETH/etc.' This tells the agent when to invoke the tool. However, it does not explicitly mention when not to use it or name alternative tools for multi-ticker or market-wide sentiment, so it falls short of a full 5.

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

tengu_v3_news_crypto_summaryAInspect

crypto-news: one-shot per-coin intel summary. Parallel-fetches recent news (24h) + 7-day sentiment stats + trending headlines. The single call to make when asked 'what's going on with BTC?' or any crypto-name analysis. 90s cache.

ParametersJSON Schema
NameRequiredDescriptionDefault
tickerYesPath parameter 'ticker' (required).
Behavior4/5

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

Despite no annotations, the description discloses meaningful behavioral traits: parallel-fetching, time windows (24h news, 7-day sentiment), and a '90s cache.' This provides useful context beyond the bare function name, though it omits details like rate limits or error behavior, which are not critical for a read-only summary.

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 three compact sentences: purpose, content, and usage guidance, followed by a cache note. It is front-loaded and has no filler words, maximizing information density.

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?

For a single-parameter tool with no output schema or annotations, the description adequately covers what the tool does, when to use it, and caching behavior. It does not describe the output format, but the 'intel summary' framing and the absence of an output schema make this acceptable.

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 only parameter 'ticker' has a schema description that merely says 'Path parameter (required),' offering no semantic meaning. The tool description compensates by referring to 'per-coin' and 'crypto-name analysis' and using 'BTC' as an example, making clear the expected input is a cryptocurrency ticker.

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 'crypto-news: one-shot per-coin intel summary' and specifies it 'Parallel-fetches recent news (24h) + 7-day sentiment stats + trending headlines.' This clearly defines the tool's function and differentiates it from granular crypto news siblings by positioning it as 'The single call to make when asked...'

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?

It explicitly states the use case: 'The single call to make when asked "what's going on with BTC?" or any crypto-name analysis.' This tells the agent when to use it, though it does not name specific alternative tools or provide explicit when-not-to-use exclusions.

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

tengu_v3_news_crypto_sundownBInspect

Evening crypto market-recap digest, published Mon-Fri at 7pm ET. Call this when the user asks for an end-of-day crypto wrap-up or a morning briefing needs an overnight crypto recap.

ParametersJSON Schema
NameRequiredDescriptionDefault
pageNo
Behavior2/5

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

With no annotations provided, the description carries full responsibility for behavioral disclosure. It mentions the publication schedule and use cases, but it does not disclose what the digest contains, whether it is a static article or dynamically generated, how fresh the data is, or what happens if called outside the scheduled time. This lack of behavioral detail is a significant gap for a digest tool.

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 three sentences long, front-loaded with the core definition, and every sentence adds value: what it is, when it's published, and when to call it. There is no redundant wording or filler.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness2/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

The tool is simple, but the absence of an output schema means the description should explain what the response looks like; it only says 'digest'. It also omits how to paginate results and what content is included. While the purpose is sufficient for selection, it is not complete for invocation without making assumptions.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters1/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

The schema has a single optional integer parameter 'page' with no description (0% schema coverage). The tool description does not mention 'page' or explain pagination behavior, so the agent gets no added semantic meaning. The description entirely fails to compensate for the lack of parameter documentation.

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 identifies the tool as an 'Evening crypto market-recap digest' with a specific schedule (Mon-Fri at 7pm ET). It also differentiates from the many sibling tools by specifying the crypto scope and the exact use-case triggers, such as 'end-of-day crypto wrap-up' or 'overnight crypto recap'.

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 provides two concrete usage scenarios: 'when the user asks for an end-of-day crypto wrap-up' or when 'a morning briefing needs an overnight crypto recap'. This gives clear guidance on when to invoke, though it does not name alternatives or state when not to use it, which keeps it a 4 rather than a 5.

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

tengu_v3_news_crypto_ticker_onlyAInspect

Crypto news mentioning ONLY the requested coin, with no co-tagged altcoins — the strictest per-coin filter. Call this when the user wants pure single-coin coverage and news_crypto_latest brings back too much cross-coin noise.

ParametersJSON Schema
NameRequiredDescriptionDefault
pageNo
itemsNo
tickerYes
Behavior4/5

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

With no annotations provided, the description discloses key behavioral traits: it filters out co-tagged altcoins and is the strictest per-coin filter. This goes beyond typical 'get news' phrasing. However, it does not elaborate on pagination or return structure, but these are less critical for a simple query tool.

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 two sentences, front-loaded with the core filter behavior and followed by a practical usage condition. Every sentence adds value, with no fluff or redundancy.

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?

The tool is a simple filtered news query. The description fully captures the filter semantics and provides a comparative usage context. Although there is no output schema and the response format is not described, the description is sufficient for an agent familiar with the news tool family to infer the expected output.

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 0%, so the description must compensate. It explains the primary parameter 'ticker' implicitly as 'the requested coin,' but it does not describe 'page' or 'items.' The schema's defaults and min/max provide some standard semantic context, but a clear gap remains for the pagination 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 description states a specific verb+resource ('Crypto news mentioning ONLY the requested coin') and differentiates itself as the strictest per-coin filter, explicitly contrasting with news_crypto_latest. This clearly separates it from sibling news tools.

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 provides explicit when-to-use guidance: 'Call this when the user wants pure single-coin coverage and news_crypto_latest brings back too much cross-coin noise.' This names the alternative and offers a clear condition, going beyond mere implication.

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

tengu_v3_news_crypto_ticker_priceAInspect

Delayed crypto prices with 24h volume and price changes — a single coin, a list, or the top 50 by 24h volume when tickers is omitted. Call this when the user asks where a coin is trading or which coins are moving; prices are delayed, not real-time.

ParametersJSON Schema
NameRequiredDescriptionDefault
tickersNo
Behavior4/5

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

With no annotations, the description carries the full burden. It discloses the key behavioral trait that prices are delayed, and explains the default behavior when tickers is omitted (top 50 by 24h volume). It does not mention errors or response format, but for a simple price tool this is adequate.

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 two sentences, front-loaded with the core purpose and covering all essential aspects without redundancy. Every clause adds value, from the data provided to the usage trigger and delay caveat.

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?

For a simple tool with one optional parameter and no output schema, the description is fairly complete: it covers purpose, parameter behavior, usage context, and a key limitation. It does not describe the exact return structure, but the mention of 'volume and price changes' gives a sufficient hint.

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?

The schema has a single 'tickers' parameter with zero description coverage. The description compensates by explaining that it can be a single coin or a list, and that omitting it yields the top 50 by 24h volume. This adds substantial meaning beyond the bare schema.

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 that the tool provides delayed crypto prices with 24h volume and price changes, and outlines the three modes: single coin, list, or top 50. It uses a specific resource ('crypto prices') and distinguishes itself from news/sentiment siblings by focusing on price data.

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 says when to use the tool ('when the user asks where a coin is trading or which coins are moving') and warns that prices are delayed, not real-time, implying when not to use it. However, it does not name alternative tools, slightly reducing the guideline completeness.

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

tengu_v3_news_crypto_top_mentionsAInspect

Top 50 most-mentioned crypto tickers over the window (default last7days) — a crypto-attention proxy. Call this when the user asks which coins are getting the most buzz or news coverage lately.

ParametersJSON Schema
NameRequiredDescriptionDefault
date_rangeNolast7days
Behavior4/5

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

With no annotations, the description must disclose behavior on its own. It states the output size (top 50), the time window default (last7days), and characterizes the result as a proxy for attention. While it does not specify the exact output format or whether it includes counts, it provides a reasonable behavioral description for a straightforward ranking tool.

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 two short sentences, with the primary action clearly stated first. It is efficient and everything present contributes to understanding.

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 low complexity and one optional parameter, the description covers the main purpose, output, and usage cue. However, the absence of an output schema and the lack of detail about the response structure (e.g., whether counts are included) leaves some ambiguity, though overall it is contextually adequate.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters2/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

The only parameter, date_range, has no schema description (0% coverage). The description's mention of 'window (default last7days)' echoes the schema's default but does not explain accepted values or the parameter's format. The tool name itself implies the default, so the description adds little semantic value beyond the structured schema.

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 the tool returns the top 50 most-mentioned crypto tickers over a window, which is a specific verb-and-resource description. It positions this as a 'crypto-attention proxy' and distinguishes it from sibling tools like general top mentions by specifying crypto and window-based mentions.

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 gives explicit guidance: 'Call this when the user asks which coins are getting the most buzz or news coverage lately.' It provides a clear usage context but does not mention exclusions or alternatives, so it achieves 'clear context, no exclusions'.

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

tengu_v3_news_crypto_whale_summaryAInspect

Aggregated whale-transaction stats over the window: total volume, net exchange flow (in vs out), and biggest single tx. PRIMARY tool for 'is smart money buying or selling this coin?' — use whale_transactions for the individual transfers.

ParametersJSON Schema
NameRequiredDescriptionDefault
tickersNo
date_rangeNolast7days
Behavior4/5

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

With no annotations provided, the description carries the full burden of behavioral disclosure. It clearly states that the tool aggregates data and lists the specific metrics returned. While it doesn't mention edge cases like rate limits or data delays, the nature of the tool as a read-only summary is well conveyed. It doesn't contradict anything and adds reasonable 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 two sentences, front-loaded with the key function and outputs, and includes a clear call-to-action for alternative usage. Every sentence adds value with no redundancy.

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?

For a simple tool with 2 parameters and no output schema, the description is largely complete: it explains the output fields and when to use it. However, given 0% schema coverage, the lack of parameter format details (e.g., whether tickers is comma-separated or date_range options) is a notable gap that prevents a perfect score.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters2/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

The schema has 0% description coverage, and the description does not explain parameter formats. 'tickers' and 'date_range' are only referenced implicitly via 'over the window' and 'this coin', but no details about accepted formats, separators, or allowed values are given. Given the low schema coverage, the description should compensate, but it fails to provide meaningful parameter semantics.

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 the tool's function: it provides aggregated whale-transaction stats (total volume, net exchange flow, biggest single tx). It explicitly distinguishes itself from the sibling tool by declaring it the PRIMARY tool for determining whether smart money is buying or selling, and by pointing to whale_transactions for individual transfers.

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 explicitly tells when to use this tool ('PRIMARY tool for 'is smart money buying or selling this coin?'') and when to use an alternative ('use whale_transactions for the individual transfers'). This gives clear usage direction and differentiates it from the sibling tool.

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

tengu_v3_news_crypto_whale_transactionsAInspect

Large crypto on-chain and exchange transactions for BTC/ETH/SOL/TRX plus major exchanges, filterable by min_amount USD (updated ~every 5min). Call this when the user asks about whale moves or big transfers; use whale_summary for the aggregated buy-vs-sell read.

ParametersJSON Schema
NameRequiredDescriptionDefault
pageNo
itemsNo
tickersNo
date_rangeNolast24hours
min_amountNo
Behavior3/5

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

With no annotations provided, the description carries the burden of behavioral disclosure. It does add useful context: data scope (BTC/ETH/SOL/TRX + major exchanges), update frequency ('updated ~every 5min'), and the distinction from aggregated summary. However, it does not disclose behavior around pagination, default date range, or how to interpret the returned transactions, leaving some behavioral ambiguity.

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 two sentences, front-loaded with the core purpose and key features, followed by usage guidance and an alternative. Every sentence adds value, with no redundancy or filler. This is a model of conciseness.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness2/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

The tool has 5 parameters, no output schema, and no annotations. The description covers purpose and usage, but leaves critical parameter details (tickers format, date_range values, pagination semantics) undocumented. It mentions the data scope and update frequency, but does not explain what the returned data looks like. Given the complexity and lack of structural support, the description is not complete enough for correct invocation.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters2/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 compensate for explaining parameters. It only clarifies min_amount ('filterable by min_amount USD'), leaving page, items, tickers, and date_range semantically unexplained. The agent must infer tickers format and date_range allowed values from the schema alone, which is insufficient for reliable invocation.

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?

The description clearly states what the tool provides: 'Large crypto on-chain and exchange transactions for BTC/ETH/SOL/TRX plus major exchanges'. It also distinguishes from a sibling by referencing whale_summary. However, it lacks an explicit verb like 'list' or 'retrieve', so it doesn't fully meet the 5-level criterion of a specific verb+resource.

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 explicitly says when to use it: 'Call this when the user asks about whale moves or big transfers'. It also provides a clear alternative: 'use whale_summary for the aggregated buy-vs-sell read', which implicitly tells the agent when not to use this tool. This is exactly the kind of when/when-not/alternative guidance the rubric rewards.

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

tengu_v3_news_curated_eventsAInspect

Structured market events — earnings, M&A, FDA decisions, guidance changes, price-target moves — filterable by ticker, event_type, and date_range (default today). Call this when the user asks 'what events happened' or 'any catalysts for X' instead of scanning raw headlines.

ParametersJSON Schema
NameRequiredDescriptionDefault
itemsNo
tickerNo
date_rangeNotoday
event_typeNo
Behavior4/5

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

No annotations are provided, so the description carries the burden. It discloses that the output is 'structured' (not raw), that it is filterable, and that date_range defaults to today. It does not describe response format or pagination behavior, but the structured-concept and default behavior add meaningful context. A small gap, but not a serious omission for a read-only retrieval tool.

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?

Two sentences, front-loaded with the core purpose, followed by parameter details and usage guidance. Every sentence adds value with no repetition of schema metadata. Highly efficient.

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?

For a 4-parameter retrieval tool with no output schema and no annotations, the description provides the essential context: what it returns, common event types, key filter parameters, default date range, and explicit when-to-use guidance. It lacks mention of the items parameter and specific date_range formats, but these are secondary given the tool's simplicity. Overall, sufficient for correct selection and basic invocation.

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 0%, so the description must compensate. It mentions ticker, event_type, and date_range, and provides examples of event_type values (earnings, M&A, FDA decisions). However, it does not mention the 'items' parameter at all, and date_range format (e.g., 'today' vs specific ranges) is only partially described. The examples help, but the missing items parameter and vague date_range format represent a clear gap.

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 the tool provides 'structured market events' with specific categories (earnings, M&A, FDA decisions, guidance changes, price-target moves). It is distinct from sibling tools like raw headline news tools, and the name 'curated_events' reinforces the specific resource.

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?

Explicitly instructs when to use: 'Call this when the user asks "what events happened" or "any catalysts for X"' and contrasts with 'scanning raw headlines'. This provides direct usage context and implies not to use it for headline scanning, which differentiates from siblings.

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

tengu_v3_news_event_by_idAInspect

All news items belonging to one clustered event, looked up by eventid, paginated. Call this when you already have an eventid from another news result and the user wants the full article set behind that single catalyst or story cluster.

ParametersJSON Schema
NameRequiredDescriptionDefault
pageNo
itemsNo
eventidYes
Behavior3/5

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

With no annotations, the description carries the burden. It discloses that results are paginated and scoped to a single event, giving some behavioral context. However, it does not explain return format, ordering, error behavior, or pagination details beyond the schema's defaults.

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 two sentences with no fluff. It front-loads the core purpose, then adds the when-to-use context, making it easy to parse and actionable.

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?

This is a relatively simple lookup tool, but there is no output schema and no annotations. The description covers purpose and usage adequately but omits details about return fields, response shape, or edge cases, leaving some ambiguity for an AI agent.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters2/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 compensate by explaining parameters. It mentions eventid as the lookup key and implies pagination, but it does not explicitly describe the page and items parameters or their semantics, leaving the agent to infer their meaning.

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 the tool returns all news items belonging to one clustered event, keyed by eventid, and is paginated. It distinguishes itself from sibling news tools by specifying the eventid lookup and the full article set behind a single catalyst/story cluster.

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?

It provides explicit usage context: 'Call this when you already have an eventid from another news result and the user wants the full article set behind that single catalyst or story cluster.' This clearly indicates when to use, though it does not name alternative tools or explicitly state when not to use.

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

tengu_v3_news_eventsAInspect

Detected market-moving events across the market over a lookback window (hours param, default 24). Call this when the user asks 'did anything big happen today?' or wants a scan of recent catalysts market-wide; use tengu_v3_news_latest for headlines on one ticker.

ParametersJSON Schema
NameRequiredDescriptionDefault
hoursNo
Behavior4/5

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

With no annotations provided, the description carries the burden. It discloses the lookback window and default hours, and explains the market-wide scope. However, it doesn't specify what constitutes 'market-moving' or describe the output format, leaving a slight gap in transparency.

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 two sentences long, front-loaded with the purpose in the first sentence and usage in the second. Every word earns its place, with no redundant filler.

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?

For a one-parameter tool with no output schema or annotations, the description covers purpose, usage, and parameter semantics sufficiently. It could be more complete by mentioning output type or event selection criteria, but it's adequate for a simple scan 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?

The description adds minimal semantic value to the 'hours' parameter by labeling it as a 'lookback window' and mentioning the default 24. The schema already provides type, default, min, and max constraints, so the description only slightly enhances understanding of the parameter's purpose.

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 the tool detects market-moving events across the market over a lookback window, which is a specific verb+resource+scope. It also distinguishes itself from the sibling tool tengu_v3_news_latest, which handles headlines for a single ticker.

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 explicitly provides when to use the tool with example user queries ('did anything big happen today?') and a clear exclusion/alternative ('use tengu_v3_news_latest for headlines on one ticker'), leaving no ambiguity about selection.

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

tengu_v3_news_forex_by_categoryAInspect

Macro and cross-pair FX news: section='general' = market macro (Fed, CPI, ECB, NFP, BoJ, BoE), section='alltickers' = cross-pair coverage; optional topic filter (cpi, fed, oil, gold, recession...) on general. Call this when the user asks about macro FX themes rather than one pair — use news_forex_latest for pair drilling. 300s cache.

ParametersJSON Schema
NameRequiredDescriptionDefault
itemsNo
topicNo
sectionNogeneral
date_rangeNotoday
Behavior4/5

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

With no annotations provided, the description carries the burden. It discloses the section behavior (general vs alltickers), that the topic filter applies 'on general', and adds a cache note '300s cache.' It does not describe return format or explicitly state read-only, but for a news retrieval tool this is largely implied. The cache disclosure is an extra behavioral trait beyond the minimum.

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 two sentences, front-loaded with the core purpose, and every clause adds information: section definitions, topic filter, usage guidance, alternative tool, and cache. No filler or repetition.

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?

For a simple optional-parameter news tool, the description covers the main decision points: what it returns, when to use it, the meaning of the key parameters, and a cache note. It does not describe the output schema (none exists) or pagination, but that is less critical for the agent's selection. The explicit alternative naming and section explanation make it quite complete.

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 0%, so the description must compensate. It does add meaning for 'section' (explains the two enums) and 'topic' (gives examples like cpi, fed, oil, gold, recession and notes it applies only to general). However, 'items' and 'date_range' receive no explanation in the description, leaving a gap for those parameters. The partial compensation keeps it from being lower, but it is not complete.

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 'Macro and cross-pair FX news' which clearly identifies the resource and scope. It further distinguishes the two sections ('general' = market macro, 'alltickers' = cross-pair coverage), and explicitly contrasts with the sibling tool by saying 'use news_forex_latest for pair drilling.' This is a specific verb-plus-resource (implied 'retrieve') with clear sibling differentiation.

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 an explicit usage directive: 'Call this when the user asks about macro FX themes rather than one pair' and provides an alternative: 'use news_forex_latest for pair drilling.' This is exactly the kind of when-to-use and when-not-to-use guidance the dimension asks for.

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

tengu_v3_news_forex_economic_calendarAInspect

Economic calendar with actual, forecast, and previous values for macro releases (Fed/CPI/NFP/ECB) — these prints are priced-in by FX traders, so call it for any 'what did CPI print / what macro data hit this week' question. Filter by currency (USD/EUR/JPY) and importance (high/medium/low). 600s cache.

ParametersJSON Schema
NameRequiredDescriptionDefault
currencyNo
date_rangeNolast7days
importanceNo
Behavior3/5

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

No annotations are provided, so the description carries the behavioral burden. It discloses a 600s cache and the fact that data includes actual/forecast/previous values, but it does not describe the return format, pagination, or any limitations. The cache mention adds useful context, yet key behavioral aspects remain unspecified.

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 two sentences with no filler. It packs purpose, usage context, filter options, and cache information front-loaded. Every clause contributes value.

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?

The tool is relatively simple (3 optional params, no output schema) and the description covers the core purpose and two filters. However, it misses the date_range parameter and does not explicitly state what the response contains (e.g., a list of events) beyond the values. Given no output schema, the description should have been slightly more explicit about return structure.

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 has 0% description coverage. The description adds meaning for the 'currency' and 'importance' parameters by listing allowed values (USD/EUR/JPY, high/medium/low), but it omits the 'date_range' parameter entirely. The phrase 'this week' hints at the default range but does not explain the parameter options.

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 defines the tool as an economic calendar with actual, forecast, and previous values for macro releases like Fed/CPI/NFP/ECB. It also gives a concrete usage example ('what did CPI print / what macro data hit this week'), which distinguishes it from other news/forex tools in the sibling list.

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?

Explicitly states when to call it: for any 'what did CPI print / what macro data hit this week' question, and provides filter guidance for currency and importance. However, it does not name alternative tools or explicitly state when not to use it.

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

tengu_v3_news_forex_eventsAInspect

Clustered FX news events from a forex newswire — high press-coverage stories like central-bank decisions, rate hikes, and intervention rumors, optionally filtered to one pair (e.g. EUR-USD). Call this when the user asks 'what major macro events hit today' or what's moving a currency. 300s cache.

ParametersJSON Schema
NameRequiredDescriptionDefault
pairNo
itemsNo
date_rangeNotoday
Behavior3/5

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

With no annotations provided, the description carries the full burden. It does add useful behavioral context like the '300s cache' and the 'optionally filtered to one pair' flexibility. However, it does not disclose the response format, pagination behavior, or data freshness limitations, leaving notable gaps for a tool with no output 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 three sentences that each add value: the first defines the tool's content and clustering aspect, the second gives concrete usage triggers, and the third notes the cache time. It is free of fluff and efficiently front-loads the most important information.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness2/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

The description covers purpose and basic usage but omits essential contextual details. Without an output schema, it fails to explain what the returned data looks like (e.g., event objects, fields). It also does not differentiate from the many similar forex news tools in the sibling list, making selection ambiguous in some scenarios.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters2/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 compensate for all parameters. It explicitly explains 'pair' with an example (EUR-USD) and indirectly implies 'date_range' through 'today', but 'items' is entirely undocumented. With three parameters and only partial coverage of two, the compensation is insufficient.

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 specifies a distinct type of content: 'Clustered FX news events from a forex newswire' with concrete examples like central-bank decisions, rate hikes, and intervention rumors. It clearly identifies the resource (forex news events) and key characteristics (clustered, high press-coverage), distinguishing it from siblings like forex_latest or forex_economic_calendar.

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 when to call it: when the user asks about 'major macro events today' or what's moving a currency. This is clear contextual guidance, though it does not mention alternatives or when not to use the tool, so it falls short of a full 5.

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

tengu_v3_news_forex_latestAInspect

Recent FX news with sentiment for one or more currency pairs: title, source, sentiment (Positive/Neutral/Negative), date, topic tags. PRIMARY tool for pair-specific drilling (EUR-USD, GBP-USD, USD-JPY, AUD-USD) — call when the user asks what's moving a specific pair; use by_category for macro themes. 180s cache.

ParametersJSON Schema
NameRequiredDescriptionDefault
itemsNo
pairsYes
date_rangeNotoday
Behavior4/5

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

No annotations are provided, so the description carries the full burden. It discloses the '180s cache' behavior, which is a valuable non-obvious trait. It also clarifies the scope (pair-specific news with sentiment). While it doesn't mention read-only status or error behavior, the cache disclosure adds meaningful transparency 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 concise, with three sentences each serving a distinct purpose: defining the output, giving usage guidance, and noting cache behavior. There is no redundant or filler content.

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?

Since there is no output schema, the description's enumeration of returned fields (title, source, sentiment, date, topic tags) helps complete the picture. It also covers usage guidance and cache. However, parameter semantics are incomplete, but the tool is simple enough that the missing explanations are minor.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters2/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 compensate. However, it only partially explains the 'pairs' parameter ('one or more currency pairs') and does not clarify 'items' or 'date_range'. The enum values in the schema are self-explanatory, but the description fails to add any meaning to these parameters, leaving a significant gap.

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 the tool's function: 'Recent FX news with sentiment for one or more currency pairs' and lists the returned fields. It also distinguishes the tool from siblings by declaring it 'PRIMARY tool for pair-specific drilling' and specifically naming the alternative 'by_category' for macro themes.

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 guidance: 'call when the user asks what's moving a specific pair', and contrasts it with the alternative 'use by_category for macro themes'. This provides clear direction on selecting this over related tools.

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

tengu_v3_news_forex_market_sentimentAInspect

Overall FX market sentiment rollup (no pair filter) — gauges DXY-style market posture rather than any single pair. Call this when the user asks about broad FX market mood; use news_forex_latest for a specific pair's sentiment. 600s cache.

ParametersJSON Schema
NameRequiredDescriptionDefault
date_rangeNolast7days
Behavior4/5

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

With no annotations, the description carries the burden of disclosing behavior. It adds meaningful context: the tool is a broad rollup, explicitly excludes pair filtering, and has a 600-second cache. It does not detail the output format or data source, but for a low-complexity sentiment endpoint, the key behavioral traits are disclosed.

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 compact and dense, using three sentences to convey purpose, scope, usage, an explicit alternative, and cache behavior. No wasted words; the key information is front-loaded.

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?

For a tool with one optional parameter and no output schema, the description covers the essential context: what it does, its broad scope, when to use it, and the sibling alternative. The main gap is the lack of any explanation of the `date_range` parameter, but given its optional defaulted nature, this is not severely incomplete.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters2/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

The schema describes a single optional parameter `date_range` with a default of `last7days`, but the description provides no explanation of it. Schema description coverage is 0%, so the description needed to compensate; it does not mention allowed values, how the date range affects results, or any format expectations.

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 this is an overall FX market sentiment rollup with no pair filter, and explicitly contrasts it with single-pair tools by saying it 'gauges DXY-style market posture rather than any single pair.' This distinguishes it from the many sibling news/forex tools.

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 instructions: 'Call this when the user asks about broad FX market mood.' It also names the alternative for a specific pair's sentiment: 'use news_forex_latest for a specific pair's sentiment.' This is exactly the kind of guidance an agent needs.

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

tengu_v3_news_forex_pricesAInspect

Live FX mid prices (15-min upstream refresh): pass pairs for specific quotes (e.g. EUR-USD,GBP-USD) or base for all pairs vs one currency (base=USD). Call this when the user asks where a currency pair is trading right now. 30s cache.

ParametersJSON Schema
NameRequiredDescriptionDefault
baseNo
pairsNo
Behavior4/5

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

With no annotations, the description carries the burden of behavioral disclosure. It reveals a 15-minute upstream refresh and a 30-second cache, which is critical for recency expectations, and specifies 'mid prices'. It doesn't cover output format or error behavior, but for a straightforward price quote tool this is a good level of transparency.

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?

Two sentences, front-loaded with the core function and refresh cadence, then usage and trigger. Every word earns its place, with no redundant filler.

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 simple two-parameter schema, no output schema, and the explicit use-case trigger, the description is quite complete. It explains inputs and when to call. It could mention the response format, but 'Live FX mid prices' strongly implies current price data, so the gap is not severe.

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 schema has 0% description coverage, but the description compensates by explaining both parameters: pairs for specific quotes with a hyphenated format example, and base for all pairs vs one currency. It adds clear meaning beyond the bare string type, though it doesn't detail edge cases like both parameters being used together.

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 the tool provides live FX mid prices, distinguishes it from the many forex news sibling tools by focusing on price quotes, and includes concrete examples like 'EUR-USD,GBP-USD' and 'base=USD'. This is a specific, actionable purpose.

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 says 'Call this when the user asks where a currency pair is trading right now', which is a clear trigger. It also explains the two usage modes (pairs and base). It does not name alternatives or exclusion cases, but the guidance is sufficient for a simple lookup tool.

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

tengu_v3_news_forex_sentiment_statsAInspect

fx-news: daily sentiment rollup for an FX pair (-1.5 to +1.5). Densest single-call signal — N days of (positive_count, negative_count, neutral_count, sentiment_score). Use to detect regime shifts on EUR-USD/GBP-USD/etc. 600s cache.

ParametersJSON Schema
NameRequiredDescriptionDefault
pairYes
date_rangeNolast30days
Behavior4/5

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

With no annotations provided, the description carries the full burden of behavioral disclosure. It reveals the return data structure (N days of positive_count, negative_count, neutral_count, sentiment_score), the sentiment score range, and a 600s cache. This goes beyond basic expectations, though it does not discuss error handling, timezone conventions, or freshness beyond the cache, so it is not a 5.

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 three sentences long, front-loaded with the core identity ('fx-news: daily sentiment rollup'), and every sentence contributes value: the data contents, the use case, and the cache. There is no superfluous wording, and the structured notation aids parsing.

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 lack of an output schema and annotations, the description adequately covers the tool's main aspects: what it returns (the four fields), the sentiment scale, the intended use for regime shifts, and caching. It does not provide example output or specify date_range options explicitly, but the essential context is present for a tool with only two parameters.

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?

The description adds meaning for the 'pair' parameter by giving examples (EUR-USD/GBP-USD), which the schema lacks. It references 'N days' without explicitly mapping to the date_range parameter, but the enum values (last7days, last30days, last60days) are self-explanatory. Since schema description coverage is 0%, the description partially compensates but not fully for both parameters.

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?

The description clearly identifies the tool as a daily sentiment rollup for an FX pair, listing the data components and sentiment range (-1.5 to +1.5). It distinguishes itself from siblings by the 'fx-news' prefix and the explicit focus on FX pairs, but it lacks an explicit verb such as 'get' or 'list', relying on the noun phrase 'rollup' to convey the action.

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 provides a clear use case: 'Use to detect regime shifts on EUR-USD/GBP-USD/etc.' This gives the agent a contextual trigger for when to invoke the tool. However, it does not mention exclusions or alternatives, such as when to use a non-FX sentiment tool or a more granular news tool, so it stops short of a 5.

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

tengu_v3_news_forex_summaryAInspect

fx-news: one-shot per-pair intel summary. Parallel-fetches recent news (24h) + 7-day sentiment stats + trending headlines. The single call to make when asked 'what's going on with EUR-USD?' or any FX-pair analysis. 180s cache.

ParametersJSON Schema
NameRequiredDescriptionDefault
pairYesPath parameter 'pair' (required).
Behavior4/5

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

With no annotations provided, the description carries the full burden. It discloses meaningful behavioral traits: parallel fetching, 24h news window, 7-day sentiment stats, trending headlines, and a 180s cache. This goes beyond the basic schema and gives the agent useful expectations about the tool's internal operations and data freshness, though it omits details like error behavior or exact output structure.

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 three sentences, each with a distinct purpose: identifying the tool type, detailing the data components, and stating the canonical use case. It is front-loaded with the core function and contains zero filler words.

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 simplicity (one param, no output schema) and the abundance of sibling tools, the description covers the essential context: what data is aggregated, the time windows, the caching behavior, and the primary use case. It does not explicitly describe the return payload, but the enumerated data components give a strong inference. A brief note on response structure would make it fully complete.

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 schema's pair description is essentially a placeholder ('Path parameter 'pair' (required)') with no semantic value. The tool description compensates by providing a concrete format example ('EUR-USD') and implicitly clarifying that the pair is a currency pair, which helps the agent form correct input. This exceeds the neutral baseline given the otherwise tautological schema.

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 states a specific verb+resource ('one-shot per-pair intel summary') and enumerates exactly what it fetches: recent news (24h), 7-day sentiment stats, and trending headlines. It also distinguishes itself from sibling tools by positioning as 'the single call to make' for FX-pair analysis, which is a clear differentiator.

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?

It provides explicit when-to-use guidance with concrete example queries ('what's going on with EUR-USD?') and states this is the go-to for any FX-pair analysis. However, it does not mention when not to use it or suggest specific alternative tools (e.g., the more granular forex news endpoints), so it stops short of a full 5.

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

tengu_v3_news_forex_sundown_digestAInspect

Daily evening FX market summary article. Call this when the user asks for an end-of-day FX wrap-up or a morning briefing needs an overnight FX recap; optional date_range filter (today/last7days). 600s cache.

ParametersJSON Schema
NameRequiredDescriptionDefault
date_rangeNo
Behavior3/5

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

No annotations are provided, so the description carries the full burden. It discloses that the tool returns an article summary and mentions a 600s cache, which is useful behavioral context. However, it does not describe the response format, potential limitations, or whether any filtering/order is applied, leaving some ambiguity.

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 compact (two sentences) and front-loaded: it opens with the core function, then provides usage scenarios, parameter hints, and cache behavior. Every sentence adds value with no redundancy or filler.

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?

For a simple read-only news digest with one optional parameter and no output schema, the description covers the essential aspects: what it does, when to use it, and parameter options. It lacks explicit return field details, but the phrase 'summary article' gives a reasonable expectation. It is more complete than many comparable tool descriptions.

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 schema description coverage is 0%, but the description compensates by explaining the parameter: 'optional date_range filter (today/last7days)'. This gives meaningful guidance on accepted values and the parameter's purpose, though it does not specify the default behavior when omitted or the exact format.

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?

The description states it provides a 'Daily evening FX market summary article', which clearly identifies the resource and function. It distinguishes itself from sibling tools by emphasizing the end-of-day/nightly angle (e.g., 'sundown', 'end-of-day FX wrap-up', 'overnight FX recap'), though it does not explicitly name alternative tools.

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 gives explicit trigger scenarios: 'when the user asks for an end-of-day FX wrap-up or a morning briefing needs an overnight FX recap'. This is clear, practical context. However, it does not state when NOT to use this tool or mention alternatives like tengu_v3_news_forex_summary or tengu_v3_news_sundown.

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

tengu_v3_news_forex_top_mentionsAInspect

fx-news: most-mentioned FX pairs over a window with sentiment tilt. High-leverage 'what is the FX market talking about?' single call. 300s cache.

ParametersJSON Schema
NameRequiredDescriptionDefault
date_rangeNolast7days
Behavior3/5

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

With no annotations, the description must carry the full transparency burden. It discloses a useful behavioral trait: '300s cache' (caching behavior), and implies a read-only news analysis operation. However, it does not explicitly state whether this operation has side effects, requires authentication, or what the response structure looks like. For a news query tool, the absence of side-effect warnings is acceptable, but the description could add more detail about the output or pagination if any.

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 extremely concise and front-loaded. Each sentence serves a clear purpose: the first defines what the tool does, the second frames the use case, and the third notes caching behavior. There is no redundant or fluff content, making it easy to parse quickly.

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?

For a tool with only one optional parameter and no output schema, the description is nearly complete. It explains what the tool returns (most-mentioned FX pairs with sentiment), why it is useful, and mentions the cache. The main gap is that it does not describe the return format or what 'sentiment tilt' concretely looks like, but given the simplicity of the tool and the presence of a schema-driven parameter, the description is adequately comprehensive.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters2/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

The schema has one parameter, date_range, with an enum of today/last7days/last30days, but the description's schema coverage is 0% - it never mentions the parameter name, allowed values, or how it maps to the 'window' concept. The phrase 'over a window' is vague and does not inform the agent about the available date range options. Since the schema already provides the enum, the description adds no real semantic value for the 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 clearly identifies the tool as returning the most-mentioned FX pairs over a time window with sentiment tilt. It uses 'fx-news' as a domain prefix, then explicitly states the resource (FX pairs), scope (most-mentioned, over a window), and an extra attribute (sentiment tilt). The phrase 'what is the FX market talking about?' reinforces the tool's role, distinguishing it from other news tools by emphasizing top mentions for FX specifically.

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 gives a clear use case: 'High-leverage what is the FX market talking about? single call.' This tells an agent when to use it (for a quick, comprehensive view of FX market sentiment). However, it does not explicitly mention when not to use it or provide comparisons to alternative tools like the forex trending or summary tools, so it lacks explicit exclusions or alternative recommendations.

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

tengu_v3_news_latestAInspect

DRILL-DOWN ONLY — never a first-round call and never alongside tengu_v3_news_summary (it already includes recent stories). Raw newswire headlines for one ticker over a lookback window (minutes param, default 60; 60s TTL) for when the summary's stories are insufficient or you need a tighter time window.

ParametersJSON Schema
NameRequiredDescriptionDefault
tickerNo
minutesNo
Behavior4/5

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

With no annotations, the description carries the transparency burden and adds valuable behavioral details: the tool has a 60s TTL, uses a minutes parameter defaulting to 60, and is meant only as a drill-down. It doesn't cover rate limits or output format, but for a read-only news fetch the disclosed constraints are sufficient.

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 a single dense sentence that front-loads the critical warning 'DRILL-DOWN ONLY' and packs purpose, usage, parameters, default, and TTL without waste. Every clause earns its place.

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?

Despite having no output schema and only two simple parameters, the description fully covers what the tool does, when to use it, how to use it (drill-down only), and operational specifics (TTL, default). It is complete for the tool's complexity level.

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 description coverage is 0%, so the description compensates by explaining that 'one ticker' is the subject and 'minutes param' is a lookback window with a default of 60. It doesn't restate min/max (already in schema) and adds contextual meaning to both 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 description clearly states the tool returns 'Raw newswire headlines for one ticker over a lookback window', which is a specific verb+resource. It also distinguishes itself by explicitly warning 'DRILL-DOWN ONLY — never a first-round call' and names the sibling tengu_v3_news_summary, so it is not confused with similar tools.

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 explicitly states when to use the tool ('when the summary's stories are insufficient or you need a tighter time window') and when not to ('never a first-round call and never alongside tengu_v3_news_summary'). This is exceptional guidance with a named alternative.

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

tengu_v3_news_market_sentimentAInspect

Overall market-wide news-sentiment rollup over a date_range (default last7days). Call this when the user asks how the market 'feels' right now or whether the news backdrop is bullish or bearish — before drilling into single tickers.

ParametersJSON Schema
NameRequiredDescriptionDefault
date_rangeNolast7days
Behavior3/5

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

No annotations are present, so the description carries the disclosure burden. It communicates the rollup nature and default window, but does not elaborate on the response structure, data sources, or whether it aggregates only certain asset classes. The description is functional but lacks depth in disclosing the tool's operational behavior beyond its purpose.

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 two sentences, front-loaded with the core functionality, and then supplies usage guidance. Every clause earns its place, with no wasted words or redundancy.

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?

For a tool with one optional parameter and no output schema, the description gives sufficient context for selection and invocation. It clearly identifies when to use it and the general nature of the result. The only missing piece is an explicit description of the return payload, but the term 'rollup' implies a summary, making this a minor gap.

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?

The single parameter date_range appears in the description with its default, but the schema already declares the default. With 0% schema description coverage, the description adds no additional meaning about valid formats or allowed values. It provides minimal context (that the parameter controls the lookback period) but does not go beyond what the schema shows.

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 and resource: an 'overall market-wide news-sentiment rollup' over a date range. It distinguishes itself from sibling tools by emphasizing 'market-wide' and the 'before drilling into single tickers' guidance, making the scope unambiguous.

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?

Explicit when-to-use context is provided: 'Call this when the user asks how the market feels right now or whether the news backdrop is bullish or bearish.' It also gives an exclusion/directional cue with 'before drilling into single tickers,' which helps an agent decide between this and more granular sentiment tools.

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

tengu_v3_news_multi_tickerAInspect

News stories where ALL the listed tickers co-appear in the same article — a correlation feed. Call this when the user asks how two or more companies are linked in the news (deals, rivalries, shared catalysts); use ticker_news for per-ticker coverage.

ParametersJSON Schema
NameRequiredDescriptionDefault
pageNo
itemsNo
tickersYes
Behavior4/5

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

With no annotations, the description carries the full burden. It discloses the key behavioral characteristic: the AND condition (ALL listed tickers co-appear). It also frames the use cases. However, it does not mention pagination behavior or response structure, which would provide additional transparency for a read-only feed.

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 two sentences, front-loaded with the core purpose, and includes a usage guideline and alternative. Every sentence adds value with no wasted words.

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?

The tool is relatively simple, but there is no output schema and no parameter descriptions. The description covers the core use case and alternative but does not explain output format or parameter syntax. It is adequate for a minimum viable description but has clear gaps.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters1/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 0%, and the description does not compensate. It does not explain the format of the 'tickers' parameter (e.g., comma-separated) nor the meaning of 'page' and 'items'. The only hint is 'listed tickers' which maps to the tickers field, but it lacks necessary syntax and usage details.

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 the tool returns 'News stories where ALL the listed tickers co-appear in the same article — a correlation feed.' This specifies the resource (news stories), the scope (multiple tickers co-occurring), and distinguishes it from per-ticker coverage by naming the alternative tool.

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 explicitly says 'Call this when the user asks how two or more companies are linked in the news (deals, rivalries, shared catalysts); use ticker_news for per-ticker coverage.' This provides both a clear use case and an explicit alternative, making the selection guidance unambiguous.

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

tengu_v3_news_ratingsAInspect

Analyst rating actions — upgrades, downgrades, and initiations, filterable by tickers, rating_type, and date_range; history goes back to 2022-04-08. PRIMARY tool for 'any recent upgrades or downgrades on X?' and for gauging how sell-side conviction is shifting.

ParametersJSON Schema
NameRequiredDescriptionDefault
pageNo
itemsNo
tickersNo
date_rangeNo
rating_typeNo
Behavior3/5

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

No annotations are provided, so the description must carry the behavioral disclosure burden. It discloses the history start date (2022-04-08) and the filter dimensions, providing some context about data scope. However, it doesn't mention output format, pagination behavior, or any side effects, leaving notable gaps.

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 a single, well-structured sentence that front-loads the core definition and adds a usage pointer. No wasted words.

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?

The description provides the essential selection criteria: what the tool returns, its filter dimensions, history depth, and primary use case. The lack of an output schema and format details for tickers/date_range are not fully compensated, but the tool's straightforward nature makes this sufficient for selection and invocation.

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?

The description mentions three of the five parameters (tickers, rating_type, date_range) and their role as filters, which adds meaning over the bare schema. However, it doesn't specify format for tickers or date_range, and page/items are not mentioned at all. This partial coverage is reasonable but not comprehensive.

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 identifies the tool as covering 'Analyst rating actions — upgrades, downgrades, and initiations' and specifies it is filterable by tickers, rating_type, and date_range. This clearly distinguishes it from sibling tools like credit ratings or general news by naming the specific resource. The verb is implicit but the resource is exact.

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?

Explicitly states it is the 'PRIMARY tool' for queries like 'any recent upgrades or downgrades on X?' and for gauging sell-side conviction, giving a clear when-to-use. It doesn't mention alternatives or when not to use, but the primary designation is sufficient.

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

tengu_v3_news_sentiment_historyAInspect

Daily aggregated news sentiment for one company back to 2000 — mean event sentiment (ESS), event count and mean relevance per day from the news-analytics archive (2000-2025) stitched with the live feed. Call it for long-run sentiment regimes or news reaction around past events; for today's headlines use the /news routes instead.

ParametersJSON Schema
NameRequiredDescriptionDefault
endNo
limitNo
startNo
entityNo
tickerYesPath parameter 'ticker' (required).
min_relevanceNo
Behavior3/5

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

No annotations are provided, so the description carries the full burden. It discloses the data source (archive 2000-2025 stitched with live feed) and aggregation level, which is useful. However, it does not mention potential stitching artifacts, limit behavior, or any other operational characteristics.

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 two sentences with no filler. The first sentence front-loads the core function and metrics, the second provides usage guidance. Every clause earns its place.

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?

The purpose and use case are well defined, and the data source is described. However, the description omits parameter semantics for 5 of 6 parameters and does not describe the output format. Since no output schema exists, this leaves gaps for correct invocation.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters2/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema coverage is only 17% (only ticker has a description). The description indirectly mentions 'one company' corresponding to ticker but does not explain start, end, limit, min_relevance, or entity. The agent would be unable to correctly configure date ranges or filtering without additional knowledge.

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 what the tool does: 'Daily aggregated news sentiment for one company back to 2000 — mean event sentiment (ESS), event count and mean relevance per day.' It specifies the resource (sentiment history), scope (one company, back to 2000), and metrics. It also distinguishes from siblings by recommending '/news routes' for today's headlines.

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 explicitly provides when-to-use guidance: 'Call it for long-run sentiment regimes or news reaction around past events; for today's headlines use the /news routes instead.' This directly tells the agent when to prefer this tool over alternatives.

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

tengu_v3_news_sentiment_statsAInspect

Daily news-sentiment rollup for one ticker: a -1.5 to +1.5 score per day with article counts, over a date_range (default last30days). Call it when the user asks how sentiment on X is trending or whether coverage has turned negative; use tengu_v3_news_latest for the actual headlines.

ParametersJSON Schema
NameRequiredDescriptionDefault
tickerYes
date_rangeNolast30days
Behavior3/5

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

With no annotations, the description carries the transparency burden. It discloses the score range, per-day granularity, article counts, and date_range default, which are useful behavioral details. However, it does not mention read-only status, error handling, or rate limits, leaving gaps.

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 exactly two sentences, front-loaded with the core purpose and output, followed by usage guidance. Every clause adds information, with no redundancy or filler.

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 two parameters and no output schema, the description covers the main return values (score, article counts, per-day) and the default date range. It also provides use cases and an alternative, making it sufficient for a basic agent to decide and invoke the tool, though it omits edge-case details like invalid ticker handling.

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 coverage is 0%, so the description is the only source of parameter meaning. It clarifies that ticker refers to a single entity and that date_range controls the time window with a default, adding value. It does not enumerate valid date_range values or ticker format, so it does not fully compensate.

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 the tool produces a daily news-sentiment rollup for one ticker, specifying a -1.5 to +1.5 score per day with article counts. It also distinguishes itself from tengu_v3_news_latest, noting that tool provides headlines, making 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 Guidelines5/5

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

The description explicitly says to call it when the user asks how sentiment is trending or whether coverage has turned negative. It also names the alternative for headlines (tengu_v3_news_latest), providing clear when-to-use and when-to-use-other guidance.

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

tengu_v3_news_structuredCInspect

LLM-structured news items — event_type, tickers, sentiment, magnitude, confidence

ParametersJSON Schema
NameRequiredDescriptionDefault
hoursNo
limitNo
tickerNo
event_typeNo
Behavior2/5

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

With no annotations, the description carries the full burden of behavioral disclosure. It provides minimal information about the output fields but says nothing about the operation, filtering behavior, ordering, pagination, permissions, or side effects. The field list is a small window into behavior, but it is far from adequate.

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

Conciseness2/5

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

The description is brief and free of fluff, but it is under-specified to the point of being a fragment rather than a proper description. It lacks a verb and a clear grammatical structure, making it less a description and more a label.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness1/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given the tool has 4 optional parameters, no output schema, and no annotations, the description is severely inadequate. It does not explain how parameters affect results, what the full output structure is, or how to use the tool effectively. This is an incomplete definition for an agent to invoke the tool correctly.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters1/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 compensate for parameter meanings. It merely mentions 'event_type' and 'tickers' as output fields, but does not explain how they function as input filters, nor does it address 'hours' or 'limit'. The description adds no usable parameter semantics.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose3/5

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

The description identifies a resource ('LLM-structured news items') and lists key output fields, giving some indication of what the tool provides. However, it lacks an explicit verb (e.g., 'get', 'list', 'search') and does not distinguish this from the many sibling news tools, making the purpose somewhat vague.

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

Usage Guidelines2/5

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

There is no guidance on when to use this tool versus alternatives. The description does not mention any use cases, exclusions, or relationships to sibling news tools, leaving the agent without context for selection.

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

tengu_v3_news_summaryAInspect

One-shot news intelligence for a ticker: recent stories, sentiment stats, trending status, structured events, and analyst actions in a single parallel fetch (90s TTL). THE primary tool for 'what's the news on X?' — this ALONE answers most single-ticker news questions; do NOT stack other news tools in the same round unless it returns nothing useful.

ParametersJSON Schema
NameRequiredDescriptionDefault
tickerYesPath parameter 'ticker' (required).
Behavior4/5

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

With no annotations provided, the description carries the transparency burden. It discloses that the tool performs a 'single parallel fetch', has a '90s TTL', and returns specific content categories. It also admits the possibility of returning 'nothing useful'. While it doesn't detail failure modes or rate limits, these disclosures add meaningful behavioral context for an agent.

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 two sentences and front-loaded with the core purpose. Every phrase earns its place: 'one-shot', content list, TTL, primary tool status, and the explicit warning against stacking tools. No wasted words.

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 tool with one parameter, no output schema, and no annotations, the description fully covers what the tool returns (stories, sentiment, trending, events, analyst actions) and how to use it. It effectively resolves ambiguity among numerous sibling news tools, making it complete for an agent to select and invoke correctly.

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 coverage is 100% for the single 'ticker' parameter, and the schema already describes it as a required path parameter. The description adds no additional format or usage detail, but none is needed given the parameter is self-explanatory and fully documented in the schema. Baseline 3 is appropriate.

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 the tool's function with a specific verb and resource: 'One-shot news intelligence for a ticker'. It enumerates the content areas (recent stories, sentiment stats, trending status, structured events, analyst actions) and explicitly distinguishes it from siblings by calling it 'THE primary tool' for single-ticker news questions.

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?

Guidelines are explicit: use this tool for 'what's the news on X?', and directly instructs the agent to not stack other news tools unless this one returns nothing useful. This provides clear when-to-use and when-not-to-use guidance, including a fallback condition.

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

tengu_v3_news_sundownAInspect

Curated end-of-day 'sundown' digest — a market-close recap of the day's news from the newswire, over an optional date_range. Call this when the user asks 'what happened in the market today' or wants a daily wrap-up.

ParametersJSON Schema
NameRequiredDescriptionDefault
date_rangeNo
Behavior3/5

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

With no annotations, the description carries full burden. It mentions 'curated' and 'market-close recap' giving some behavioral context, but it does not disclose the default date_range behavior (e.g., what happens when date_range is omitted) or the output format (whether it returns headlines, summaries, or market movers). This leaves the agent guessing about important behavioral traits.

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?

Two sentences, front-loaded with the core purpose and then usage guidance. Every word earns its place, with no unnecessary detail or repetition.

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?

Given the tool's simplicity (1 optional param, no output schema), the description provides a decent big picture. However, it leaves gaps around parameter format, default behavior, and expected response content. An agent would struggle to know how to properly request a specific date range or understand the digest output without further assumptions.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters2/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

The schema has one parameter, date_range, with no description, and schema description coverage is 0%. The description only says 'over an optional date_range' without specifying the expected format (e.g., YYYY-MM-DD), range syntax, or default value. This adds minimal meaning beyond what the schema and required-parameter count already imply.

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 identifies it as a 'Curated end-of-day sundown digest — a market-close recap of the day's news from the newswire', which is a specific verb+resource+scope. It distinguishes itself from siblings like tengu_v3_news_latest or tengu_v3_news_summary by emphasizing the curated, market-close nature.

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?

It explicitly states when to use the tool: 'Call this when the user asks what happened in the market today or wants a daily wrap-up.' This provides clear context, though it does not mention alternatives like the crypto or forex sundown digests that might be more appropriate for those specific market segments.

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

tengu_v3_news_ticker_newsAInspect

FILTERED-SEARCH ONLY — reach for this when the user specifies filters (topic, sector, source, sentiment, date_range, article/video, free-text search) or multi-ticker search. Never for plain 'what's the news on X?' (that is tengu_v3_news_summary). Full newswire filter spec; sortby rank or oldestfirst.

ParametersJSON Schema
NameRequiredDescriptionDefault
daysNo
pageNo
itemsNo
topicNo
searchNo
sectorNo
sortbyNo
sourceNo
tickersYes
fallbackNo
topic_orNo
news_typeNo
search_orNo
sentimentNo
date_rangeNo
topic_excludeNo
source_excludeNo
Behavior3/5

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

With no annotations provided, the description carries full burden. It discloses that this is filtered-search only and mentions sortby options, but does not explain output format, pagination, defaults, or any constraints like rate limits. It adds some behavioral context but leaves significant operational details undisclosed.

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 a single concise paragraph with strong front-loading ('FILTERED-SEARCH ONLY'). Every sentence adds value: scope, when to use, when not to use, and additional sort options. No wasted words.

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?

Given the tool's complexity (17 parameters) and lack of output schema, the description provides excellent selection guidance but is incomplete operationally. It doesn't mention return values, pagination, default days/items, or the meaning of fallback and exclude parameters. It covers the core use case but not the full parameter space.

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 description coverage is 0%, but the description compensates by explicitly naming and explaining many key parameters: topic, sector, source, sentiment, date_range, article/video (news_type), free-text search, multi-ticker, and sortby rank/oldestfirst. It does not cover pagination, days, fallback, or exclude parameters, but the main filter semantics are well conveyed.

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 identifies this as a filtered-search tool for newswire content, listing specific filters (topic, sector, source, sentiment, date_range, article/video, free-text) and multi-ticker search. It explicitly distinguishes itself from the plain-summary sibling tool (tengu_v3_news_summary), making 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 Guidelines5/5

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

Provides explicit when-to-use guidance: 'reach for this when the user specifies filters... or multi-ticker search.' Also gives a clear when-not-to-use rule: 'Never for plain what's the news on X?' and names the alternative tool. This is exemplary usage guidance.

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

tengu_v3_news_ticker_onlyAInspect

News stories tagged with ONLY this one ticker — the strictest filter, excluding articles that co-tag competitors or peers. Call this when the user wants pure company-specific coverage without sector noise; use ticker_news for broader filtered search.

ParametersJSON Schema
NameRequiredDescriptionDefault
pageNo
itemsNo
tickerYes
Behavior4/5

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

No annotations are provided, so the description carries the transparency burden. It discloses the key behavioral trait: the strictest filter that excludes articles co-tagging competitors or peers. This goes beyond the name and adds meaningful context, though it does not mention pagination behavior or response format.

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?

Two sentences front-load the core purpose and then provide usage guidance with an alternative. Every word earns its place; no filler or repetition.

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?

For a simple filtered-news tool, the description covers purpose, differentiation, and usage. Missing return format and parameter behavior, but the tool's simplicity and the strong purpose/usage coverage make this acceptable. The main gap is parameter semantics, already penalized separately.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters2/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 0% for 3 parameters, and the description does not explain any of them. The ticker parameter is implied by the tool name and purpose, but page/items are completely unaddressed. With no schema descriptions, the description must compensate, and it does not.

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 the tool returns news stories tagged with exactly this one ticker, and explicitly distinguishes it from broader filtered search. The verb 'tagged with ONLY' and the resource 'news stories' make the purpose specific and actionable.

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 provides explicit when-to-use guidance ('pure company-specific coverage without sector noise') and names the alternative tool ('use ticker_news for broader filtered search'). This is exactly the kind of differential guidance needed.

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

tengu_v3_news_top_mentionsAInspect

Most-mentioned tickers in the news over a window (default today), optionally filtered by sector — a market-attention proxy. Call this when the user asks which stocks are getting the most buzz or where the crowd's focus is today.

ParametersJSON Schema
NameRequiredDescriptionDefault
sectorNo
date_rangeNotoday
Behavior4/5

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

With no annotations, the description carries the transparency burden and does a good job: it explains the default window (today), the optional sector filter, and interprets the result as an attention proxy. It doesn't detail result ordering/limits, but 'most-mentioned' implies the key behavior.

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?

Two sentences, front-loaded with the core output, default behavior, optional filter, and a use-case hook. No filler or repetition.

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?

For a simple two-parameter query tool, the description is complete enough: it identifies the output, default behavior, optional filter, and a clear user scenario. No output schema exists, but the tool's purpose is simple enough that return format is not needed for correct invocation.

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 description coverage is 0%, so the description must compensate. It explains both parameters: date_range defaults to 'today' and sector is an optional filter. It doesn't specify allowed date formats or sector values, but adds meaning beyond the bare schema names.

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 the tool returns the most-mentioned tickers in the news over a window, optionally filtered by sector, and frames it as a market-attention proxy. This distinguishes it from siblings like news_latest/news_trending by focusing on 'top mentions' and gives a concrete use case.

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?

Provides explicit invocation guidance ('Call this when the user asks which stocks are getting the most buzz or where the crowd's focus is today'), which gives clear context for when to use it. It lacks exclusions or named alternatives, so it doesn't fully reach the 'when-not' bar.

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

tengu_v3_optimizer_latestAInspect

Latest optimizer weights — the current weight set from the most recent optimization run. Call this when the user asks what the optimizer is currently recommending or how the latest run set its weights.

ParametersJSON Schema
NameRequiredDescriptionDefault

No parameters

Behavior2/5

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

No annotations are present, so the description carries the full burden. It states the tool returns the current weight set, which largely restates the tool name. It does not disclose the output format, whether the operation is read-only, or any caveats about data freshness. The phrase 'currently recommending' adds minor behavioral context but is not substantial.

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 two sentences, front-loaded with the key resource ('Latest optimizer weights'), and both sentences contribute meaning. No irrelevant or redundant content.

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 zero-parameter tool with no output schema or annotations, the description covers the core 'what' and 'when' but leaves the structure of the returned weights unspecified. It also does not differentiate from similar sibling tools like tengu_ml_weights. Adequate for a simple getter, but clear gaps remain.

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 tool has zero parameters, which earns a baseline score of 4. There are no parameter semantics to add, and the description correctly avoids inventing any.

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?

The description clearly identifies the tool as returning the latest optimizer weights, specifying 'the current weight set from the most recent optimization run.' It uses a noun phrase rather than an explicit verb, but the action is unambiguous. It distinguishes itself from sibling weight tools by the 'optimizer' qualifier, though without explicit comparison.

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?

Provides explicit guidance on when to call: 'when the user asks what the optimizer is currently recommending or how the latest run set its weights.' This is clear context for use. It does not mention exclusions or alternatives, but the guidance is sufficient for a simple getter.

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

tengu_v3_origin_insider_flowAInspect

Insider transactions straight from the Form 4 filings: owner, title, transaction code, direction, shares, price and shares held after. Call it for insider conviction around events. Transaction codes matter — 'P'/'S' are open-market buys/sells while 'M' is an option exercise and 'A' an award; treating them alike overstates conviction. Coverage is a tracked issuer set, not the whole market.

ParametersJSON Schema
NameRequiredDescriptionDefault
daysNo
limitNo
tickerYesPath parameter 'ticker' (required).
Behavior4/5

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

With no annotations provided, the description carries the burden of behavioral disclosure. It adds valuable context: the data source (Form 4 filings), the need to distinguish transaction codes, and the important coverage limitation. It does not mention rate limits, auth, error behavior for untracked tickers, or pagination, but the caveats provided are substantive and go beyond a generic data-fetch description.

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 compact yet information-dense: it opens with the core purpose, then covers returned fields, intended usage, a critical interpretive warning about transaction codes, and a coverage caveat. Every sentence adds meaningful information, and the structure is logical and easy to scan.

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?

The description is reasonably complete for a data-retrieval tool: it lists the returned fields, explains why transaction-code interpretation matters, and notes coverage limitations. However, without an output schema or annotations, it should also clarify how the days and limit parameters affect results, what happens for untracked tickers, and how this tool compares to similar insider-trade siblings.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters2/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is only 33% (only ticker has a description). The description adds meaning only for the ticker parameter by warning that coverage is limited to a tracked issuer set; it offers no guidance for the days or limit parameters, which have no schema descriptions beyond their numeric bounds. Given the low schema coverage, the description fails to compensate for the majority of 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 description clearly identifies the tool's resource ('Insider transactions straight from the Form 4 filings') and lists the specific fields returned (owner, title, transaction code, direction, shares, price, shares held after). It also distinguishes itself from broader market tools by noting it covers a tracked issuer set, not the whole market, and names its intended use case ('insider conviction around events').

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?

It explicitly says when to call it ('for insider conviction around events') and gives a when-not caveat ('Coverage is a tracked issuer set, not the whole market'). It also provides interpretive guidance on transaction codes (P/S vs M/A), but it does not name alternative sibling tools or explain why this one should be chosen over similar insider-data tools.

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

tengu_v3_origin_ipo_pipelineAInspect

What is going public: deals that are priced, upcoming or newly filed, with offer size, share count, exchange and dates. Call it for new-issue supply, going-public timing, or to corroborate a private-company transition signal. This is a SECOND, independent view of going-public activity — corroborate it against the filing index rather than treating either source as complete alone.

ParametersJSON Schema
NameRequiredDescriptionDefault
limitNo
statusNoupcoming
Behavior4/5

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

With no annotations, the description carries the full burden. It discloses that this is an independent, incomplete view that should be corroborated with the filing index, providing key context about data reliability. It also lists the returned fields (offer size, share count, exchange, dates). It does not dive into pagination or rate limits, but the disclosed behavior is meaningful.

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 three sentences, front-loaded with the core purpose, followed by use cases and a caveat. Every sentence adds value with no redundancy or filler. The structure is ideal for an AI agent to quickly grasp the tool.

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?

The tool is simple (2 params, no nested objects, no output schema). The description covers what it returns, when to use it, and its limitations. It could have described the default status (upcoming) or limit behavior, but those are in the schema. Given the tool's simplicity, the description is nearly complete.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters2/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema coverage is 0%, so the description must explain parameters. It only implicitly mentions 'status' by enumerating the deal stages (priced, upcoming, filed), which mirrors the schema enum. The 'limit' parameter is not mentioned at all, leaving it unexplained. This is insufficient compensation for the lack of parameter descriptions in the schema.

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 what the tool does: returns going-public deals (priced, upcoming, or filed) with specific fields (offer size, share count, exchange, dates). It distinguishes itself as a 'SECOND, independent view' of going-public activity, differentiating it from filing-index sources and sibling tools.

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 gives explicit use cases: 'Call it for new-issue supply, going-public timing, or to corroborate a private-company transition signal.' It also advises to corroborate against the filing index, implying when not to use it as the sole source. The alternative is named indirectly as 'filing index' rather than a specific sibling tool, preventing a 5.

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

tengu_v3_origin_macro_pulseAInspect

One call for the cross-asset state of the world from the issuing authorities: volatility futures TERM STRUCTURE (contango vs backwardation — the stress regime flag), the composite LEADING INDICATOR by country, official-sector positioning (primary-dealer series + central-bank balance sheet), recent TREASURY AUCTIONS, and physical-trade throughput at the maritime chokepoints. Call it to frame regime before a single-name view. Each block reports its own availability; the leading indicator publishes with a ~2-month reference lag BY CONSTRUCTION — that is not staleness.

ParametersJSON Schema
NameRequiredDescriptionDefault

No parameters

Behavior5/5

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

With no annotations provided, the description bears the full burden and handles it well. It discloses that the leading indicator has a ~2-month lag 'BY CONSTRUCTION — that is not staleness,' that each block reports its own availability, and that the term structure is a 'stress regime flag.' These are valuable behavioral nuances beyond the raw 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 three well-structured sentences: the content list, the usage directive, and the critical caveat about the leading-indicator lag. Every sentence earns its place, with no filler, and the capitalization of key terms improves readability.

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 zero-parameter tool with no output schema, the description is remarkably complete. It enumerates the five data blocks included, explains the stress-regime flag, notes per-block availability, and preempts potential confusion about the lag. The agent can decide whether to call it based on this context alone.

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 tool has zero parameters and an empty input schema, so the baseline is 4. The description adds no parameter-specific semantics, but none are needed. It does clarify the content and meaning of the response, which indirectly supports the no-parameter call.

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 defines the tool as 'One call for the cross-asset state of the world' and enumerates the specific data blocks: volatility term structure, leading indicator, official-sector positioning, treasury auctions, and maritime chokepoint throughput. It also states the intended use ('Call it to frame regime before a single-name view'), making its purpose explicit and distinct from 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?

The description provides an explicit usage context: 'Call it to frame regime before a single-name view.' This tells the agent when to invoke this tool, but it does not mention alternatives or when not to use it. Thus, it falls short of a 5 but offers clear practical guidance.

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

tengu_v3_origin_short_activityAInspect

How shorted is this name, from the tape itself: the DAILY consolidated short-volume prints (short ratio per session, full-market coverage) joined with the settled SHORT INTEREST published twice monthly (position, days-to-cover). Call it for squeeze setups, crowded shorts, or to check whether daily shorting is rising while settled interest lags. The two measures are a FLOW and a STOCK and can diverge — never treat them as the same number. Share volume is FRACTIONAL by design (retail fractional trading), so sub-1-share values are genuine.

ParametersJSON Schema
NameRequiredDescriptionDefault
daysNo
tickerYesPath parameter 'ticker' (required).
Behavior4/5

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

With no annotations, the description carries the full burden of behavioral transparency. It discloses key traits: the two measures are a flow and a stock and can diverge, and that share volume is fractional so sub-1-share values are genuine. It does not describe return format, auth, or rate limits, but the disclosed caveats are significant and go beyond a generic data-retrieval description.

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 description is about 70 words and packs in a data definition, use cases, a divergence warning, and a fractional-shares caveat. The opening phrase 'How shorted is this name, from the tape itself:' is slightly rhetorical and adds little, but the rest is efficient and front-loaded with the core data content. Overall, it earns its length.

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 absence of an output schema, the description adequately explains the returned concepts: daily short-volume prints and settled short interest with the key metrics. It also addresses caveats like divergence and fractional shares. Missing details include the exact output structure and what 'days' controls, but for a two-parameter tool with no output schema, the description covers the essential context well.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters2/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

The schema provides only a minimal description for ticker and no description for the 'days' parameter, giving 50% schema coverage. The tool description does not mention or explain any parameters, leaving the meaning of 'days' ambiguous (likely a lookback window, but unstated). For a low-coverage schema, the description should have compensated, but it does not.

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?

The description clearly identifies the tool as returning daily consolidated short-volume prints joined with settled short interest, naming specific metrics (short ratio per session, position, days-to-cover). It lacks an explicit imperative verb like 'get' or 'list', but the resource and scope are evident. It does not explicitly distinguish from sibling short-interest tools, though the combined flow/stock nature provides some differentiation.

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 gives explicit use cases: 'squeeze setups, crowded shorts, or to check whether daily shorting is rising while settled interest lags.' It also warns about interpreting the two measures as a flow vs. stock, which is valuable usage guidance. However, it does not mention when NOT to use it or name alternative tools, so it falls short of a full 5.

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

tengu_v3_origin_whale_holdingsAInspect

What the tracked managers own, as filed on Form 13F: latest-period positions with value, share/principal count and portfolio weight, filterable by manager or issuer. Call it for whale positioning and conviction sizing. 13F is filed within 45 days of quarter end and covers LONG US equity only — it is a lagged, partial view of a book, never a live one.

ParametersJSON Schema
NameRequiredDescriptionDefault
limitNo
tickerNo
managerNo
Behavior5/5

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

No annotations exist, so the description carries full burden. It discloses the 45-day filing lag, LONG-only US equity coverage, and that it is a lagged, partial view — not live. This is excellent behavioral context for an AI agent.

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?

Three sentences with no filler: data content, use case, and caveat. Front-loaded with the most important information and every sentence earns its place.

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?

The description covers output fields, filters, and limitations, which is sufficient for a data retrieval tool without an output schema. It could mention pagination or limit behavior, but given the schema provides the limit default/range, the description is complete enough.

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 0%, so the description must compensate. It explains 'manager' and 'ticker' (as issuer) as filters, but the 'limit' parameter is not mentioned. The meaning of limit is inferable from schema defaults, but the description only partially covers parameter semantics.

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 what the tool returns: 13F holdings positions for tracked managers, with value, share/principal count, and portfolio weight. It also mentions filters by manager or issuer, which distinguishes it from general 13F tools by focusing on whale holdings.

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 gives an explicit use case ('Call it for whale positioning and conviction sizing') and a clear when-not ('never a live one'). It lacks explicit alternatives among sibling tools but the context implies not to use it for live or short positions.

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

tengu_v3_portfolio_risk_parity_latestCInspect

Latest naive risk-parity weights

ParametersJSON Schema
NameRequiredDescriptionDefault

No parameters

Behavior2/5

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

With no annotations provided, the description carries full responsibility for disclosing behavior. It only states the output is 'latest weights' but does not mention whether this is a read-only operation, what data source is used, how often it updates, or the format of the returned weights. The minimal wording leaves significant behavioral ambiguity.

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 description is extremely short, which makes it concise, but it is under-specified rather than appropriately sized. It lacks important context that would make every word earn its place, so it feels more like a label than a functional description.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness2/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Despite the tool having no parameters, it returns complex data (risk-parity weights) and has no output schema. The description does not explain what universe of assets the weights apply to, the time period, how weights are represented, or any related details. This makes the tool very difficult to use correctly based on the description alone.

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 has zero parameters, so the baseline score is 4. The description correctly avoids adding parameter explanations since there are none to clarify. It does not need to compensate for schema gaps here.

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?

The description 'Latest naive risk-parity weights' clearly identifies the tool as retrieving the most recent risk-parity weights, using a specific verb ('Latest') and resource ('naive risk-parity weights'). It distinguishes itself from siblings like tengu_v3_optimizer_latest by specifying 'naive risk-parity', though it could be clearer about what makes it different.

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

Usage Guidelines2/5

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

There is no guidance on when to use this tool versus alternatives. It does not mention when to prefer it over tengu_v3_optimizer_latest or other weight-related tools, nor does it provide any context for its intended use case.

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

tengu_v3_position_monitorCInspect

Live position monitor (exits, stops, flags)

ParametersJSON Schema
NameRequiredDescriptionDefault

No parameters

Behavior2/5

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

With no annotations, the description must carry the full burden of behavioral disclosure. It is a noun phrase with no verb, so it doesn't state what happens when called. It implies a read-only snapshot ('monitor'), but gives no detail about side effects, authentication, output format, or what 'flags' means. This is a significant gap for a tool with no annotation support.

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

Conciseness2/5

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

The description is extremely short (five words) but this is under-specification rather than conciseness. It reads like a title, not a functional description, and omits essential details about what the tool does or returns. It fails to earn its place by being merely a label.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness2/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given the tool has no annotations, no output schema, and a very sparse description, it is not complete enough for an agent to understand the tool's purpose or expected output. The terms 'exits', 'stops', and 'flags' are undefined, and the lack of any return information leaves the agent guessing.

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 tool has zero parameters, and the input schema is empty with 100% coverage, so there is no additional parameter information needed. Per the rubric, a 0-parameter tool gets a baseline of 4, and the description does nothing to detract from that.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose3/5

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

The description states the resource (positions) and key aspects (exits, stops, flags), but it is a noun phrase ('Live position monitor') rather than an explicit action verb like 'get' or 'list'. It is not a tautology, but it lacks a specific verb and doesn't explain what the tool actually returns, making it only moderately clear.

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

Usage Guidelines2/5

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

The description provides no guidance on when to use this tool versus alternatives. It doesn't mention prerequisites, scenarios, or contrast with any sibling tool. The only implicit signal is 'live', but no explicit usage context is given.

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

tengu_v3_prediction_trackerAInspect

Recent predictions with their resolution state, up to limit entries (default 200) — each call and whether it has resolved yet and how. Call this when the user asks what the system has predicted lately or how specific calls turned out; use accuracy for the aggregate hit-rate.

ParametersJSON Schema
NameRequiredDescriptionDefault
limitNo
Behavior3/5

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

With no annotations, the description must carry the transparency burden. It discloses the limit behavior and the notion of resolution state, but does not mention ordering, whether unresolved predictions are included, or any details about the return entries beyond 'how'. This is acceptable for a simple read tool but leaves room for clarification.

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 two sentences long, front-loaded with the tool's purpose, and contains no fluff. Every phrase adds value, including the usage guidance and sibling pointer.

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?

For a simple one-parameter tool with no output schema, the description covers the key aspects: what is returned, the limit parameter, and when to use it. The phrase 'how specific calls turned out' might slightly overpromise since there is no filter parameter for calls, but the header 'Recent predictions' tempers this. Overall it is complete enough for an agent to select and invoke 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 only parameter, limit, has zero schema description coverage. The description explicitly explains its meaning ('up to limit entries') and default (200), compensating for the schema's lack of description. It does not explain min/max, but those are already in the schema.

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?

The description clearly states the tool returns recent predictions with their resolution state, and distinguishes it from tengu_v3_accuracy (aggregate hit-rate). However, it lacks an explicit verb like 'list' or 'get', relying instead on a noun phrase, so it is slightly below a 5.

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?

Explicitly states when to call ('what the system has predicted lately or how specific calls turned out') and explicitly redirects to tengu_v3_accuracy for the aggregate hit-rate, providing clear guidance on when not to use this tool.

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

tengu_v3_prices_corporate_actionsAInspect

Complete corporate-action history — every cash dividend, stock split and distribution (research-grade distcd-coded with divamt, facpr/facshr factors and declare/ex/record/pay dates) back to first listing. Call it to build adjusted price series or dividend-growth analyses.

ParametersJSON Schema
NameRequiredDescriptionDefault
limitNo
startNo
tickerYesPath parameter 'ticker' (required).
Behavior4/5

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

With no annotations, the description carries the burden; it adds behavioral details like 'back to first listing' and the specific data fields (divamt, facpr/facshr, declare/ex/record/pay dates), implying read-only, research-grade data. It doesn't cover pagination or rate limits, but provides substantive context beyond 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 two sentences, dense with useful information and no fluff. Every phrase adds value, from the em-dash list of event types to the parenthetical data attributes.

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?

Despite no output schema, the description effectively conveys what data is returned (cash dividends, splits, distributions with fields). However, it omits how to get the full history given the limit/start parameters, and doesn't describe the response shape or pagination, which is necessary for 'complete' coverage.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters2/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is only 33% (only ticker, which is just a path parameter). The description doesn't explain the 'limit' or 'start' parameters, which are essential for fetching the 'complete' history, leaving ambiguity about pagination.

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 it provides 'complete corporate-action history' with specific details on dividends, splits, and distributions, back to first listing. It distinguishes itself by specifying the depth ('research-grade distcd-coded', including dates and factors) and use cases.

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?

It explicitly prescribes when to use: 'Call it to build adjusted price series or dividend-growth analyses.' It doesn't explicitly exclude alternatives or name sibling tools, but the context is clear.

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

tengu_v3_prices_historyAInspect

Survivorship-bias-free daily price history — research-grade daily closes, total returns, volume and cumulative split adjustment factors (cfacpr/cfacshr) 2000-2024, stitched with live market-data daily bars 2025→today, plus the research-grade delisting record. Call it for backtests and long-horizon charts; for intraday or recent-only bars use /api/market/ohlc.

ParametersJSON Schema
NameRequiredDescriptionDefault
endNo
limitNo
startNo
tickerYesPath parameter 'ticker' (required).
Behavior4/5

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

No annotations are provided, so the description carries the full burden. It discloses the survivorship-bias-free nature, stitching from research-grade data to live bars, and the delisting record, which are important behavioral traits. It does not mention return format, pagination, or rate limits, but the core data behaviors are transparent.

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?

Two concise sentences that are front-loaded with the key purpose and immediately give usage guidance. No filler or redundant content.

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?

The description provides a rich portrait of data quality, time coverage, fields, and use cases, plus a clear alternative. However, the lack of parameter explanations and return structure is a gap, especially without an output schema. Still, it is more than adequate for tool selection.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters2/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema coverage is only 25% (only ticker has a description). The description does not explain the format or semantics of start, end, or limit parameters, nor how the date range maps to the stitched periods. It adds context about the data content but not parameter usage, so it does not compensate for the low schema coverage.

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 it provides 'Survivorship-bias-free daily price history' with specific data fields (closes, total returns, volume, split factors) and time periods. It also distinguishes from alternatives by directing to /api/market/ohlc for intraday or recent-only bars.

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?

Explicitly says 'Call it for backtests and long-horizon charts' and gives an exclusion: 'for intraday or recent-only bars use /api/market/ohlc.' This gives clear when/when-not guidance.

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

tengu_v3_private_markets_aggregatesAInspect

Private-market landscape aggregates grouped by sector, industry_group, region, or country: company counts, total and median capital raised, median valuation, median employees. Call this for market-level questions like 'which sectors raise the most' — not for single companies.

ParametersJSON Schema
NameRequiredDescriptionDefault
byNosector
limitNo
Behavior3/5

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

No annotations are provided, so the description carries the full burden. It discloses the metrics returned (company counts, capital raised, median valuation, median employees) and the aggregation behavior, but it also states the tool is for market-level questions. However, it doesn't explicitly state that the operation is read-only, nor does it mention pagination, data coverage, or any potential limitations. The description adds value but lacks deeper behavioral context.

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 two sentences long, highly information-dense, and front-loaded with the core purpose. The example ('which sectors raise the most') illustrates usage without wasted words. Every sentence earns its place.

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?

For a simple aggregation tool with no output schema, the description covers the essential aspects: purpose, grouping dimensions, metrics, and usage boundary. The main missing piece is the 'limit' parameter explanation, but the tool is otherwise simple enough that the description is nearly complete for selecting and invoking it correctly.

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 0%, so the description must compensate. It effectively documents the 'by' parameter by listing its enum values (sector, industry_group, region, country). However, the 'limit' parameter is completely omitted, which is a significant gap given there are only two parameters. The description partially compensates but doesn't fully cover all 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 description clearly states the tool returns private-market aggregates with specific metrics (company counts, capital raised, median valuation, median employees) and grouping dimensions (sector, industry_group, region, country). It explicitly distinguishes from single-company tools with 'not for single companies', making the purpose unambiguous and distinct from 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?

Provides explicit when-to-use guidance: 'Call this for market-level questions' and an exclusion: 'not for single companies.' While it doesn't name an alternative tool, the guidance is clear and actionable. It could be improved by naming the single-company tool, but the boundary is well-defined.

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

tengu_v3_private_markets_companiesAInspect

SCREEN private companies by sector, geography, financing/business status, size (total raised/valuation/employees, $MILLIONS), founding year; rows carry ticker/cikcode to join public data. PRIMARY tool for list questions like 'VC-backed fintech in Europe raised >$100M'; status=active_private excludes public/acquired/defunct.

ParametersJSON Schema
NameRequiredDescriptionDefault
qNo
descNo
sortNototalraised
limitNo
detailNolean
fieldsNo
offsetNo
regionNo
sectorNo
statusNoany
countryNo
has_tickerNo
max_raisedNo
min_raisedNo
founded_afterNo
max_employeesNo
max_valuationNo
min_employeesNo
min_valuationNo
founded_beforeNo
industry_groupNo
business_statusNo
financing_statusNo
Behavior4/5

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

With no annotations provided, the description carries the transparency burden. It discloses that size values are in $Millions, which affects interpretation of min/max parameters, and explains the exclusion semantics of the active_private status. It also reveals that output rows include ticker/cikcode for joins, which is useful behavioral context. However, it does not address pagination, sorting defaults, or output structure in detail, leaving some gaps.

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 exactly two sentences, front-loaded with the action verb and purpose, then a concrete example, then a clarifying detail about status semantics. Every clause earns its place; there is no redundancy or filler.

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?

Given the tool's complexity (23 parameters, no annotations, no output schema), the description is somewhat thin. It covers the primary purpose, a sample query, and the key status behavior, but omits details on output structure, pagination, sorting defaults, and most parameter semantics. For a screening tool with this many options, more behavioral context would help the agent invoke it correctly, though the existing text covers the essential use case adequately.

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 0%, so the description must compensate. It conveys the conceptual filter categories (sector, geography, size in $Millions, founding year) and explains the crucial status meaning, which clarifies several related parameters. It does not map these to specific parameter names or explain many params (e.g., q, sort, limit, fields, has_ticker), but the parameter names in the schema are largely self-explanatory. The description adds moderate value but is not comprehensive for 23 params.

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 action verb 'SCREEN' and identifies the resource as 'private companies', listing specific filter dimensions (sector, geography, financing/business status, size, founding year). It distinguishes from sibling tools by noting it is the 'PRIMARY tool for list questions' and that rows carry ticker/cikcode for joining to public data, which is unique among the private_markets family.

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 when to use: 'PRIMARY tool for list questions like...' with a concrete example query. It also clarifies the critical status behavior ('status=active_private excludes public/acquired/defunct'). It stops short of explicitly naming alternative tools for single-entity or deal-specific queries, so it lacks an explicit when-not-to-use, but the primary-tool framing implies appropriate context.

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

tengu_v3_private_markets_companyAInspect

FULL private-company profile by company_id: financials (revenue/EBITDA/EBIT/net income/EV/net debt), complete financing history (round size/valuation/date/type), classification, HQ/contact, parent hierarchy, and cikcode/ticker to join public data. Call it after resolving the id via search_suggest for the deep dive on one company.

ParametersJSON Schema
NameRequiredDescriptionDefault
company_idYesPath parameter 'company_id' (required).
Behavior4/5

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

With no annotations provided, the description carries the full burden of behavioral disclosure. It clearly lists what data will be returned (financials, financing history, classification, HQ/contact, parent hierarchy, and cikcode/ticker) and indicates a read-only lookup. It stops short of stating error behavior, rate limits, or authentication requirements, but for a simple ID-based fetch it is largely transparent.

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 two sentences long, with the first sentence front-loading the tool's purpose and contents, and the second providing clear usage direction. Every word adds value; there is no fluff or repetition of schema information.

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?

Given the tool has one required parameter and no output schema, the description adequately communicates what the tool returns (enumerated data categories) and how to use it (after search_suggest). It provides enough context for an agent to select and invoke it correctly among the many sibling tools.

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 schema describes company_id only as a required path parameter, but the description adds crucial context: it is the identifier resolved via search_suggest and is used for the deep dive on one company. This helps the agent know where to obtain the parameter value and confirms it must be a single company ID.

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 starts with 'FULL private-company profile by company_id', which clearly identifies the action (retrieve a comprehensive profile) and the resource (a private company identified by company_id). It enumerates specific data areas (financials, financing history, classification, HQ/contact, parent hierarchy, cikcode/ticker), making it distinct from sibling tools like company_deals or company_investors.

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 explicitly states the call sequence: 'Call it after resolving the id via search_suggest for the deep dive on one company.' This tells the agent when to use this tool (after ID resolution, for a single-company deep dive) and implies it is the comprehensive profile tool compared to narrower private market tools.

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

tengu_v3_private_markets_company_comparablesAInspect

Private peer set for one company: same industry sector and similar size band (0.2x-5x total raised), excluding the company itself. Call this when the user asks 'who are X's private comps' or needs a peer group for valuation framing; detail=full returns every column per peer.

ParametersJSON Schema
NameRequiredDescriptionDefault
limitNo
detailNolean
fieldsNo
company_idYesPath parameter 'company_id' (required).
Behavior3/5

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

No annotations are provided, so the description carries the burden. It adds useful context: the peer selection criteria (same sector, 0.2x-5x total raised, excludes itself) and the behavior of 'detail=full returns every column per peer'. However, it doesn't disclose potential side effects (likely read-only), rate limits, or whether it returns paginated results or errors for unknown companies. Given the absence of annotations, a score of 3 is appropriate for partial transparency.

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?

Two dense sentences: first defines the output precisely, second tells when to use it and what detail=full does. Every word earns its place; no padding or repetition. Front-loaded with the core purpose.

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?

No output schema exists, so the description should explain return shape. It mentions 'every column per peer' for detail=full, but doesn't describe the lean return or whether the response includes identifiers, metrics, or pagination. It's reasonably complete for a simple lookup given the strong sibling context (private_markets_company_* tools), but not fully complete for an AI agent needing to parse output without examples.

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 description coverage is only 25% (only company_id has a description that just repeats 'Path parameter'). The description adds meaning for 'detail' (explains full vs lean) and clarifies the tool's core concept, but leaves 'limit' and 'fields' to be inferred. For 4 params with low schema coverage, the description partially compensates but doesn't document all parameters. Since the schema is sparse, the description's explanation of detail and the overall purpose earns 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 states a specific verb ('Call this when'), resource ('Private peer set for one company'), and defines the scope precisely ('same industry sector and similar size band 0.2x-5x total raised, excluding the company itself'). It distinguishes from sibling tools like tengu_v3_fundamentals_peers and other private_markets_company_* tools by focusing on comparables for valuation.

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?

Explicitly says when to use: 'when the user asks who are X's private comps or needs a peer group for valuation framing'. It contrasts with the generic private_markets_company tool and provides a concrete trigger. It doesn't name an alternative tool explicitly, but the trigger context is clear enough; it also explains the 'detail=full' parameter usage.

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

tengu_v3_private_markets_company_dealsAInspect

Funding-round and M&A deal history for a private company (deal size, type, VC round, pre/post-money valuation), newest first. Call this when the user asks 'when did X last raise / at what valuation / who acquired it'; use /investors for who participated.

ParametersJSON Schema
NameRequiredDescriptionDefault
limitNo
company_idYesPath parameter 'company_id' (required).
Behavior4/5

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

With no annotations, the description carries the transparency burden. It discloses that results are sorted newest first, include fields like deal size and valuation, and that investor participation is excluded. It does not cover edge cases like empty results or error behavior, but for a straightforward read-only history tool, the disclosure is solid.

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?

Two sentences: the first defines the purpose and content, the second gives usage and an alternative. Everything is front-loaded and each sentence adds value without fluff.

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?

Despite having no output schema or annotations, the description explains what is returned (deal size, type, VC round, valuation), how it is ordered (newest first), and when to use it. It also names the alternative for investors. This is complete for a simple history endpoint with clear parameters.

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?

The schema covers one parameter (company_id) with a description, while limit is self-explanatory via type/default/max/min. The description implicitly requires company_id but does not explain it or the limit parameter explicitly. At 50% coverage, the description neither compensates nor adds confusion, so a baseline 3 is appropriate.

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 the tool's purpose: "Funding-round and M&A deal history for a private company... newest first." It specifies the resource (private company deals), the verb (retrieve history), and the scope (funding rounds and M&A), distinguishing it from sibling tools that focus on investors or company profiles.

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?

Usage is explicitly tied to user intents: "Call this when the user asks 'when did X last raise / at what valuation / who acquired it'." It also provides a clear exclusion and alternative: "use /investors for who participated." This directly tells when to use this tool versus a sibling.

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

tengu_v3_private_markets_company_dossierAInspect

EVERYTHING on a private company in ONE call — the complete detail-page payload: full profile (incl. financials & full financing history) + full deal history + investors + competitors + similar companies + board/team.

ParametersJSON Schema
NameRequiredDescriptionDefault
dealsNo
peersNo
blocksNo
fieldsNo
investorsNo
company_idYesPath parameter 'company_id' (required).
Behavior3/5

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

With no annotations, the description carries the full burden of behavioral disclosure. It accurately lists the content sections that will be returned, so an agent knows what to expect. However, it does not mention any potential caveats like response size, data coverage, or whether the tool aggregates data from multiple sources, leaving some uncertainty about the actual behavior.

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 description is a single, information-dense sentence that front-loads the main point ('EVERYTHING on a private company in ONE call') and then uses a colon to list components. It is concise and effectively structured, though slightly wordy with the em-dash and repeated 'full', but every part contributes value.

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?

Given the tool's complexity (6 parameters, no output schema), the description provides a good high-level overview of the response contents but lacks detail on parameter semantics and limitations. It tells the agent what to expect in the payload but not how to control or interpret the optional parameters, which is a notable gap for a tool this comprehensive.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters2/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema coverage is only 17% (only company_id is described). The description does not explain the meanings of 'deals', 'peers', 'blocks', 'fields', or 'investors'. While some parameters can be inferred from the listed content (e.g., peers for similar companies), 'blocks' and 'fields' remain opaque, and the description's promise of 'full history' conflicts with the existence of a capped 'deals' 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 clearly states the tool provides 'EVERYTHING on a private company in ONE call' and enumerates the included components (full profile, financials, financing history, deal history, investors, competitors, similar companies, board/team). This distinguishes it from sibling tools like company_deals or company_investors, which cover only specific slices.

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 establishes a clear use case: when you need the complete detail-page payload for a private company, use this instead of making multiple calls to separate private markets tools. It does not explicitly name alternatives or exclusions, but the 'in ONE call' phrasing strongly implies the intended usage.

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

tengu_v3_private_markets_company_investorsAInspect

Investor roster for a private company, resolved through the deal-investor relation; detail=full adds every investor column (AUM, dry powder, activity). Call this when the user asks 'who backed X / which VCs are on the cap table'; use /deals for the rounds themselves.

ParametersJSON Schema
NameRequiredDescriptionDefault
limitNo
detailNolean
company_idYesPath parameter 'company_id' (required).
Behavior3/5

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

No annotations are present, so the description carries the burden. It discloses the resolution via deal-investor relation and the effect of detail=full, but does not mention response shape, potential empty results, or rate/error behavior. The added context is useful but not comprehensive.

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?

Two sentences with no filler. The first sentence states purpose and the key option; the second provides usage triggers and alternative. All content earns its place.

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?

The tool is simple (3 params, no output schema), so the description adequately covers what it returns and when to use it. It lacks explicit return-format details, but given the simplicity, the description is sufficiently complete for an agent to select and invoke it effectively.

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 coverage is only 33% (company_id has a placeholder description). The description compensates for 'detail' by explaining that 'full' adds investor columns (AUM, dry powder, activity), but 'limit' and 'lean' are left to inference. This is partial compensation but not full.

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 resource ('private company') and action ('investor roster'), with an explicit resolution mechanism ('deal-investor relation'). It also differentiates from sibling tools by noting that /deals covers the rounds themselves.

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?

Provides explicit call conditions with example user queries ('who backed X / which VCs are on the cap table') and a clear alternative ('use /deals for the rounds themselves'). This is what high-quality usage guidance looks like.

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

tengu_v3_private_markets_company_realtimeAInspect

LIVE real-time overlay for a private company — the fast-moving complement to the (weekly, possibly STALE) private-markets profile, on a short TTL with per-field source provenance. ALWAYS call this for a private company to check whether it has GONE PUBLIC: it returns a public_transition block (new ticker, IPO date, SEC evidence) even when the snapshot still shows 'In IPO Registration'/no ticker — then pivot to the public-equity tools (price_snapshot / company_facts / sec_filings) for live data. Also surfaces live headcount / jobs / funding freshness when those providers are set.

ParametersJSON Schema
NameRequiredDescriptionDefault
company_idYesPath parameter 'company_id' (required).
Behavior4/5

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

No annotations are provided, so the description carries the full burden. It discloses several behavioral traits: the tool is real-time with a short TTL, returns per-field source provenance, and can return data that differs from the stale snapshot. It also details that it surfaces live headcount/jobs/funding freshness when providers are set. It does not mention any side effects, but the tool is clearly a read-only overlay and the transparency about freshness/staleness and provenance is strong. A 4 is appropriate because it goes well beyond a generic description, though it doesn't enumerate potential edge cases (e.g., what happens when company_id is invalid or providers are not set).

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 rich but well-structured, immediately front-loading the core value ('LIVE real-time overlay') before diving into specifics. Every sentence earns its place: the staleness contrast, the ALWAYS guidance, the return-block detail, the pivot instructions, and the ancillary data mention. It is two substantial sentences with high information density and no fluff or repetition.

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?

Given the tool's complexity (real-time overlay, GOING-PUBLIC detection, data provenance, freshness nuances), the description is remarkably complete. It explains the difference from sibling tools, provides clear action guidance, details the `public_transition` return block, and mentions additional data surfaces. No output schema exists, so the description's explanation of what is returned is essential and well covered. The absence of an output schema makes the explicit return-block description even more valuable.

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 100% and there is only one parameter, `company_id`, so the schema already fully documents the parameter. The description does not add syntax-level details but reinforces that the parameter refers to a private company. Since the schema carries the entire burden and the description provides enough context to know what the parameter represents, a baseline of 3 is met. However, the description adds the crucial context that this is for private companies specifically, which is semantically meaningful beyond the raw 'Path parameter' comment — hence 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 this is a LIVE real-time overlay for private companies, with the specific verb 'LIVE real-time overlay' and resource 'private company'. It explicitly distinguishes itself as the fast-moving complement to the weekly/possibly stale private-markets profile, and highlights its key purpose: checking whether a private company has GONE PUBLIC. It also lists the specific return block (`public_transition`) with concrete fields (ticker, IPO date, SEC evidence), making it unmistakable versus siblings like `tengu_v3_private_markets_company` or `tengu_v3_private_markets_company_dossier`.

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, imperative usage guidance: 'ALWAYS call this for a private company to check whether it has GONE PUBLIC'. It also provides a conditional action path — if `public_transition` is returned, 'then pivot to the public-equity tools (price_snapshot / company_facts / sec_filings)'. This both states when to use the tool and provides explicit alternatives/next steps, going beyond simple context into actionable workflow.

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

tengu_v3_private_markets_company_relationsAInspect

Traverse a company's private-market graph one edge per call (relation=): competitors, investors, board, similar companies, affiliates, buyside targets, service providers, industries/verticals, news, financials, employee history and more. Call this when the user asks who backs, competes with, or sits on the board of a company.

ParametersJSON Schema
NameRequiredDescriptionDefault
limitNo
relationNo
company_idYesPath parameter 'company_id' (required).
Behavior3/5

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

With no annotations provided, the description must carry the behavioral burden. It discloses the 'one edge per call' constraint and lists supported relations, but it does not clarify whether the operation is read-only, what the response shape is, or what happens when the optional 'relation' parameter is omitted. This leaves gaps in behavioral understanding.

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 two sentences, front-loaded with the core action and then a concise usage trigger. The long list of relations is appropriate given the tool's purpose, and every clause contributes meaning without unnecessary fluff.

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?

The tool has a moderate complexity with an enum and one required parameter, but no output schema. The description does not describe the return format (e.g., list of related companies), pagination, or default behavior when 'relation' is omitted. It also doesn't clarify whether multiple relations can be requested in one call, leaving the agent to infer from 'one edge per call' that it cannot.

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 only 33% (only company_id is described as a path parameter, without real semantics). The description compensates by explaining the 'relation' parameter with examples and mapping to user intents, but it does not clarify the requiredness of relation or explain the limit parameter. The schema's enum already lists the same relation values, so the description's list adds moderate value.

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 uses a specific verb ('traverse') and names the resource ('a company's private-market graph'), clearly distinguishing this edge-by-edge relation tool from siblings like company_dossier or company_investors. It enumerates concrete relation types and maps them to user queries ('backs, competes, or sits on the board'), making the purpose unmistakable.

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 says explicitly 'Call this when the user asks who backs, competes with, or sits on the board of a company,' giving a clear trigger. It does not mention alternatives or exclusion cases, such as using a dedicated relation-specific tool like company_investors, so it misses the 'when-not' component.

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

tengu_v3_private_markets_dealAInspect

Single deal / financing round by deal_id: deal size, type, VC round, pre/post-money valuation, and a synopsis. Call this when the user asks about a specific round ('what was the Series C?'); use deal_relations for the investors, lenders, and tranches behind it.

ParametersJSON Schema
NameRequiredDescriptionDefault
deal_idYesPath parameter 'deal_id' (required).
Behavior3/5

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

No annotations are provided, so the description carries the full burden. It discloses what data is returned and implies a read-only lookup, but does not mention error handling, authorization, data freshness, or behavior when deal_id is invalid. This is a moderate disclosure for a simple lookup tool.

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?

Two sentences, front-loaded with the core purpose, and zero wasted words. The first sentence states the function and output; the second provides usage context. This is ideal conciseness.

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 low complexity (single ID lookup, no output schema, no annotations), the description is nearly complete. It covers the operation, key data fields, when to use, and distinguishes the sibling. It omits how to obtain the deal_id, but that can be inferred from other tools. This is a strong, near-complete description.

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?

The input schema has 100% coverage with a minimal description ('Path parameter deal_id (required)'). The tool description adds that deal_id identifies a specific deal, which is helpful context but does not explain its format, source, or allowed values. This meets the baseline for schema-heavy coverage without further compensation.

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 the tool retrieves a single deal or financing round by deal_id, listing specific data fields (deal size, type, VC round, pre/post-money valuation, synopsis). It also distinguishes itself from the sibling tool deal_relations by explicitly naming the alternative for investors/lenders/tranches.

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?

Provides explicit when-to-use guidance: 'Call this when the user asks about a specific round' with a concrete example ('what was the Series C?'). Also gives an explicit alternative: 'use deal_relations for the investors, lenders, and tranches behind it.' This makes the selection criteria clear.

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

tengu_v3_private_markets_deal_relationsAInspect

Traverse a deal's graph one edge per call (relation=): investors, tranches, debt lenders, sellers, service providers, bonds, loans, distribution beneficiaries. Call this when the user asks who funded, lent into, or sold in a specific round after fetching the deal itself.

ParametersJSON Schema
NameRequiredDescriptionDefault
limitNo
deal_idYesPath parameter 'deal_id' (required).
relationNo
Behavior3/5

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

With no annotations, the description carries the behavioral disclosure burden. It does disclose 'one edge per call' and the dependency on fetching the deal first, but it does not mention pagination/limit behavior, return format, or whether the 'relation' parameter is effectively required despite schema only requiring deal_id.

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 two sentences, front-loads the core action, enumerates the relation types compactly, and ends with a practical usage note. No unnecessary words or repetition.

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?

Given the absence of annotations and output schema, the description is reasonably complete for tool selection and invocation, but gaps remain: it does not explain the return shape, how 'limit' interacts with traversal, or whether 'relation' can be omitted. These are important for a traversal-style tool and prevent a higher score.

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 description coverage is only 33%, so the description must compensate. It does meaningfully clarify the 'relation' parameter by listing valid edge types and mapping them to user intents ('who funded, lent into, or sold'), adding value beyond the bare enum. The 'limit' and 'deal_id' parameters still rely mostly on schema defaults and names, but the key ambiguous parameter is well handled.

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 specific verb and resource: 'Traverse a deal's graph one edge per call (relation=)' followed by the exact edge types. This clearly distinguishes it from deal-fetching tools and other relation-based sibling tools by focusing on 'deal' relations.

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?

It gives an explicit trigger: 'Call this when the user asks who funded, lent into, or sold in a specific round after fetching the deal itself.' This provides clear usage context and sequencing, though it does not explicitly name alternatives or exclusion cases.

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

tengu_v3_private_markets_fundBInspect

Fund profile + performance: vintage, size, category, status, and returns (IRR/DPI/TVPI/RVPI/NAV/quartile) when loaded.

ParametersJSON Schema
NameRequiredDescriptionDefault
fund_idYesPath parameter 'fund_id' (required).
Behavior2/5

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

No annotations are provided, so the description carries full responsibility for behavioral disclosure. The only behavioral nuance is 'when loaded', hinting that performance data may be conditional on data availability. It does not mention potential errors, authentication requirements, data freshness, or effects of the operation, which is a significant gap for a data access tool with no annotation support.

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 a single concise sentence that front-loads the key purpose ('Fund profile + performance') and then lists specific fields. Every word contributes value without redundancy or filler.

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?

With no output schema, the description usefully enumerates the expected output fields (vintage, size, category, status, IRR/DPI/TVPI/RVPI/NAV/quartile), which is commendable. However, it omits details such as data source, update frequency, or how to interpret 'when loaded', leaving minor gaps for a tool with only one parameter.

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 coverage is 100% for fund_id, with a clear 'Path parameter (required)' description. The tool description does not add additional meaning about how fund_id maps to the output or any special format. Baseline of 3 is appropriate since the schema fully explains the parameter.

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?

The description clearly identifies the resource (fund) and the scope (profile + performance fields including vintage, size, category, status, and various return metrics). It lacks an explicit verb like 'get' or 'retrieve', but the meaning is unambiguous. It distinguishes from sibling tools like tengu_v3_private_markets_fund_relations by focusing on fund-level profile and performance rather than relationships.

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

Usage Guidelines2/5

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

No guidance is provided on when to use this tool versus alternatives. There is no mention of prerequisites, exclusions, or related tools for fund relations or other private markets data. The usage context is only implied by listing the returned fields.

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

tengu_v3_private_markets_fund_relationsAInspect

Traverse a fund's graph one edge per call (relation=): investors, LP commitments, team, portfolio holdings, close history, fund family, service providers, and returns time-series. Call this when the user asks what a fund holds, who committed capital, or how it has performed.

ParametersJSON Schema
NameRequiredDescriptionDefault
limitNo
fund_idYesPath parameter 'fund_id' (required).
relationNo
Behavior3/5

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

No annotations are provided, so the description carries the burden of behavioral disclosure. It does reveal the one-edge-per-call traversal pattern and lists the relation categories, which is useful. However, it does not mention pagination/limit behavior, default relation behavior, error cases, or response shape.

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 two sentences, front-loaded with the central action and relation types, and contains no filler or redundant restatement of the tool name. Every sentence adds value.

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?

Given the lack of annotations and output schema, the description provides core use cases and a relation taxonomy, but it omits important operational details like the meaning of limit, expected response format, and behavior when relation is not supplied. It is minimally viable but has clear gaps.

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?

With only 33% schema coverage, the description compensates somewhat by listing the relation enum values in prose and noting that returns is a 'time-series.' It does not explain the limit parameter or what happens if relation is omitted, leaving semantic gaps beyond the schema's basic constraints.

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 specific verb and resource: 'Traverse a fund's graph one edge per call (relation=)', then enumerates eight distinct relation types and ties them to concrete user intents. This clearly distinguishes the fund-relations tool from the many sibling relation tools by focusing on fund-specific graph edges.

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 provides explicit when-to-use guidance: 'Call this when the user asks what a fund holds, who committed capital, or how it has performed.' It does not mention exclusions or alternatives, but the use-case framing makes invocation conditions clear.

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

tengu_v3_private_markets_investorAInspect

Investor profile for one VC/PE/family office by investor_id: type, AUM, dry powder, year founded, investment focus, and median valuation/round. Call this when the user asks who an investor is or how big/active they are; use investor_relations for portfolio, funds, and co-investors.

ParametersJSON Schema
NameRequiredDescriptionDefault
investor_idYesPath parameter 'investor_id' (required).
Behavior4/5

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

No annotations are provided, so the description carries the burden of behavioral disclosure. It clearly implies a read-only profile lookup via the word 'profile' and the field list, but does not explicitly state side-effect-free behavior or possible error conditions. For a simple retrieval, this is adequate.

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 two sentences, front-loaded with the core functionality and followed by precise usage guidance. Every sentence contributes value, with no redundancy or filler.

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?

For a one-parameter profile lookup with no output schema, the description covers the key elements: what entity is returned, the fields included, and when to use it vs. an alternative. It does not detail response structure or empty/error behaviors, but these are unlikely to be critical for this simple 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?

The schema already fully documents the single required parameter investor_id with 100% coverage. The description adds little beyond confirming the lookup is keyed by investor_id, which is already obvious from the schema. It does not provide examples or additional formatting guidance.

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 what the tool does: returns an investor profile for one VC/PE/family office with a specific list of attributes. It also differentiates from the sibling tool investor_relations by noting that the latter covers portfolio, funds, and co-investors.

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?

Explicitly instructs when to use this tool ('when the user asks who an investor is or how big/active they are') and provides a direct alternative ('use investor_relations for portfolio, funds, and co-investors'). This gives the agent clear decision guidance.

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

tengu_v3_private_markets_investor_relationsAInspect

Traverse an investor's graph one edge per call (relation=): portfolio companies, funds raised, co-investors, LPs, board, deals, news, and investment focus by industry/year. Call this when the user asks what a VC/PE firm holds, who invests alongside it, or who its LPs are.

ParametersJSON Schema
NameRequiredDescriptionDefault
limitNo
relationNo
investor_idYesPath parameter 'investor_id' (required).
Behavior3/5

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

No annotations are supplied, so the description carries the transparency burden. It discloses the key behavioral trait of 'one edge per call' and lists the relation types, but it does not mention default behavior (e.g., what happens if relation is omitted), pagination specifics, output format, or potential side effects. This is adequate but not deeply transparent.

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 two sentences with no wasted words. The first sentence front-loads the action and scope, the second gives usage context. It is concise and efficiently structured.

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?

With no output schema and only 33% parameter coverage, the description should provide more detail on return values and how to chain multiple edge traversals. It explains the 'one edge per call' limitation and gives examples, but does not describe the output structure, any required chaining, or error-prone scenarios. It is adequate for a simple traversal tool but not fully complete.

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?

Input schema coverage is only 33% (only investor_id is described). The description compensates partially by explaining what each relation category returns (e.g., 'portfolio companies', 'investment focus by industry/year'), but it does not cover all enum values (e.g., affiliates, locations, service_providers) and says nothing about the limit parameter. This adds some meaning beyond the schema but not comprehensive.

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 uses a specific verb ('Traverse') and resource ('investor's graph') and clearly enumerates the edge types (portfolio companies, funds, co-investors, etc.), distinguishing it from related tools like company relations or deal relations. It also ties to user intents ('what a VC/PE firm holds, who invests alongside it, or who its LPs are').

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 when to call it ('Call this when the user asks what a VC/PE firm holds, who invests alongside it, or who its LPs are'). This provides clear context, though it does not explicitly exclude alternatives or name sibling tools that might be used instead.

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

tengu_v3_private_markets_limited_partnerAInspect

Limited-partner profile by lp_id: LP type, AUM, total/active commitments, allocation to alternatives, and openness to first-time funds. Call this when the user asks who an LP is or how much it commits; use limited_partner_relations for its fund commitments and mandates.

ParametersJSON Schema
NameRequiredDescriptionDefault
lp_idYesPath parameter 'lp_id' (required).
Behavior4/5

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

With no annotations, the description carries the transparency burden. It discloses the nature of the operation (returns a profile) and the specific data fields, which is useful. However, it does not explicitly mention side effects (though read-only is implied) or response format, so a small gap remains.

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?

Two concise sentences: the first front-loads the tool's purpose and key output fields, and the second provides usage and alternative guidance. No wasted words.

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 single-parameter lookup with no output schema, the description is sufficiently complete: it identifies the resource, lists the returned fields, and gives usage context. An agent can confidently decide when to invoke this 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?

The input schema already fully describes the only parameter (lp_id, required path parameter). The description adds no additional semantic detail beyond what the schema provides, so it meets the baseline for high schema coverage.

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 identifies the tool as a limited-partner profile lookup by lp_id, listing specific return fields (LP type, AUM, commitments, etc.). It also distinguishes from the related relations tool, making its 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 Guidelines5/5

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

Explicitly states when to use this tool ('when the user asks who an LP is or how much it commits') and points to the alternative tool for fund commitments and mandates. This provides clear decision guidance.

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

tengu_v3_private_markets_limited_partner_relationsAInspect

Traverse an LP's graph one edge per call (relation=): fund commitments, board, mandates, news, service providers. Call this when the user asks which funds an LP has committed to or what mandates it is running.

ParametersJSON Schema
NameRequiredDescriptionDefault
limitNo
lp_idYesPath parameter 'lp_id' (required).
relationNo
Behavior3/5

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

No annotations are present, so the description carries the burden. It discloses the key behavioral trait of 'one edge per call' and the relation parameter values. However, it does not specify return format, pagination, or any side effects, leaving gaps for an agent.

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 two sentences and front-loads the core operational detail (one edge per call, relation types). No redundant words or fluff; every sentence contributes meaning.

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?

The tool has 3 parameters and no output schema, and the description covers the main usage scenario and relation types. It lacks an explicit statement of the return value structure, but for a simple traversal tool the description is fairly complete.

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 coverage is only 33%, but the description explains the 'relation' parameter by listing allowed values and clarifying its role in edge traversal. It does not elaborate on 'limit' or confirm 'lp_id' semantics beyond the schema, so the compensation is partial.

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 uses a specific verb 'traverse' and identifies the resource 'LP's graph', enumerating the edge types (fund commitments, board, mandates, news, service providers). It clearly distinguishes from sibling tools by focusing on limited partner relationships. The phrase 'Call this when...' reinforces its purpose.

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 when to call this tool: when the user asks about fund commitments or mandates for an LP. It does not mention explicit exclusions or alternative tools, but the 'Call this when' clause provides a clear use case.

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

tengu_v3_private_markets_personAInspect

Person profile (founder/exec/board member) by person_id: role, board seats, affiliated deals/funds, education, and professional-profile link. Call this when the user asks who a founder or executive is; use person_relations to walk their full career and deal history.

ParametersJSON Schema
NameRequiredDescriptionDefault
person_idYesPath parameter 'person_id' (required).
Behavior3/5

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

With no annotations provided, the description carries the full burden. It discloses what data is returned and scopes the tool as a profile snapshot, implicitly framing it as a safe read. However, it does not explicitly state read-only behavior, error handling, permissions, or any edge cases—adequate but not rich.

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?

Two sentences, front-loaded with the core purpose. The first sentence defines the resource and content; the second provides usage guidance and an alternative. Every word earns its place with zero redundancy.

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 simple 1-parameter lookup with no output schema and no annotations, the description is complete: it covers what the tool returns, when to use it, and how it differs from the deeper relation tool. There is no artificial output schema to compensate for, and all essential decision-making information is present.

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 coverage is 100% and the single parameter is self-explanatory ('person_id'). The description adds minimal extra meaning beyond confirming that person_id identifies the person being profiled. With full schema coverage, the baseline of 3 applies.

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 specific verb+resource ('Person profile ... by person_id') and enumerates the exact content returned (role, board seats, affiliated deals/funds, education, professional-profile link). It also distinguishes itself from the sibling relation-walker by explicitly naming person_relations as the tool for full career/deal history.

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 states precisely when to invoke this tool ('Call this when the user asks who a founder or executive is') and provides a named alternative ('use person_relations to walk their full career and deal history'). This is explicit when-to-use and alternative guidance, exceeding the usual baseline.

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

tengu_v3_private_markets_person_relationsAInspect

Traverse a person's graph one edge per call (relation=): career positions, board seats, education, affiliated deals/funds, advisory roles. Call this when the user asks where a founder or exec worked before, what boards they sit on, or which deals they touched.

ParametersJSON Schema
NameRequiredDescriptionDefault
limitNo
relationNo
person_idYesPath parameter 'person_id' (required).
Behavior3/5

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

With no annotations provided, the description carries the full burden of disclosing behavior. It does disclose a key behavior: 'one edge per call (relation=)' which explains how the tool operates and that each call returns a single relation type. However, it does not describe the return format, whether direction matters, or how person_id is obtained, leaving gaps in behavioral transparency.

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 exceptionally concise: two sentences. The first states the core functionality and lists relation types; the second gives practical usage examples. Every sentence earns its place, with no wasted words or redundant detail.

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?

For a simple tool with 3 parameters and no output schema, the description covers the main functionality and usage scenarios well. It does not mention return value structure or how to obtain person_id, but given the low complexity and supportive schema (enum values, defaults), the description is largely sufficient for an agent to select and invoke the tool correctly.

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 coverage is only 33% (only person_id has a description). The description enumerates the relation types which adds some meaning beyond the raw enum, but it does not explain the limit parameter or provide guidance on how to use person_id beyond what the schema says. The description adds limited value for parameters, so it partially compensates for the coverage gap but not fully.

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 the tool traverses a person's graph one edge per call, naming specific relation types (career positions, board seats, education, affiliated deals/funds, advisory roles). It distinguishes from sibling tools by focusing on a person's relations and explicitly lists the relation categories, leaving no ambiguity about what the tool does.

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 when to use this tool: 'Call this when the user asks where a founder or exec worked before, what boards they sit on, or which deals they touched.' This provides clear usage context. However, it does not explicitly mention alternatives or exclusions (e.g., use other *_relations tools for companies or deals), so it stops short of full comparative guidance.

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

tengu_v3_private_markets_relationsAInspect

Catalogue of every queryable relation per private-markets entity type — the map of the private-capital graph. Call it first when unsure which relation= value a company/investor/fund/deal/person/LP relations tool accepts before traversing.

ParametersJSON Schema
NameRequiredDescriptionDefault

No parameters

Behavior4/5

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

With no annotations provided, the description carries the full burden. It discloses that the tool is a reference catalogue (read-only, non-mutating) by calling it a 'map' and not the traversal itself. It also explains its role in the workflow. However, it does not describe return format or any potential limitations, but for a zero-parameter tool, this is sufficient context.

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?

Two sentences, each earning its place. The first sentences define the tool's purpose and the second gives a direct usage instruction, all front-loaded and without fluff.

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?

Given the tool has zero parameters, no output schema, and is inherently a simple reference, the description fully covers what an agent needs to know: what it is, how it relates to sibling tools, and when to invoke it. No significant gaps.

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 tool has no input parameters, so the description does not need to explain parameter semantics. The description adds value by explaining that its output provides valid 'relation=' values for other tools, giving semantic context to how the output is consumed. With zero parameters, baseline 4 is appropriate.

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 that the tool is a catalogue of every queryable relation per private-markets entity type, and describes it as the map of the private-capital graph. This specific verb+resource+role distinguishes it from sibling tools like the individual relations tools (e.g., company_relations, deal_relations) that actually traverse relationships.

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 explicitly instructs to 'Call it first when unsure which relation= value ... accepts before traversing,' giving a clear when-to-use directive. It also implies alternatives by referencing the specific entity-type relations tools (company/investor/fund/deal/person/LP), indicating this tool is a precursor to those.

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

tengu_v3_private_markets_search_suggestAInspect

INSTANT (sub-100ms) private-company typeahead — prominence-ranked with the SAME ranking as search, so the famous company is never truncated; each hit carries authoritative website/domain/logo_url plus sector, last-known valuation, ticker. Call this FIRST to resolve a name to company_id; use /search for multi-entity or detail=full.

ParametersJSON Schema
NameRequiredDescriptionDefault
qNo
limitNo
Behavior4/5

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

With no annotations, the description carries the full burden and discloses key behavioral traits: sub-100ms performance, prominence ranking with the same ranking as search, non-truncation of famous companies, and the specific fields returned per hit. It does not mention error behavior or rate limits, but the core operational semantics are well exposed.

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 a compact two-sentence block that front-loads the key 'INSTANT' behavior and packs in ranking, fields, and usage guidance without any filler. Every clause adds value and the structure is efficient.

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 simple 2-parameter tool with no output schema or annotations, the description is remarkably complete. It explains the tool's behavior, return field list, ranking rationale, and usage context, making it sufficient for an agent to select and invoke it correctly without further documentation.

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?

The schema has no field descriptions (0% coverage), so the description must compensate. It implicitly clarifies 'q' as a company name to resolve via typeahead, but it never explicitly explains the 'limit' parameter or its impact on results. The generic default/min/max in the schema partially conveys meaning, leaving a gap for this simple two-parameter tool.

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 it is a private-company typeahead, explicitly distinguishing it from the search tool by noting it resolves a name to company_id first. It specifies the resource (private companies) and the verb (typeahead/search), and contrasts behavior with the sibling /search endpoint.

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 guidance: 'Call this FIRST to resolve a name to company_id' and an explicit exclusion: 'use /search for multi-entity or detail=full.' This names the alternative tool and provides clear boundary conditions for selection.

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

tengu_v3_private_markets_service_providerAInspect

Advisory-firm profile by sp_id — the law firm, investment bank, auditor or consultancy behind private-market deals: type, employees, parent, and count of companies serviced. Call this when the user asks who advised a deal or how big an adviser is; use service_provider_relations for its client list.

ParametersJSON Schema
NameRequiredDescriptionDefault
sp_idYesPath parameter 'sp_id' (required).
Behavior3/5

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

No annotations are provided, so the description carries the transparency burden. It adds context by describing the entity type and profile fields, but it does not explicitly state that the operation is read-only, nor does it disclose error states, data freshness, or response format. Some context is provided but not full behavioral disclosure.

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 two dense sentences with the core purpose front-loaded, followed by concrete details and usage guidance. No wasted words; every clause earns its place.

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?

For a single-parameter read-only profile lookup with no output schema, the description covers the return fields, when to use it, and a related tool. It does not explain how to discover sp_id, but that is reasonably left to sibling search tools, so the description is adequate if not exhaustive.

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 100%, but the schema description is generic ('Path parameter sp_id'). The tool description adds meaningful semantics by explaining that sp_id identifies an advisory firm and by listing the output fields, making the parameter's purpose clear.

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?

Clear and specific: 'Advisory-firm profile by sp_id' identifies the resource and operation, enumerates the returned fields (type, employees, parent, count of companies serviced), and distinguishes the tool from the sibling service_provider_relations.

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?

Explicitly states when to call: 'Call this when the user asks who advised a deal or how big an adviser is' and names the alternative for a related query: 'use service_provider_relations for its client list.'

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

tengu_v3_private_markets_service_provider_relationsAInspect

Reverse adviser index for one service provider: every deal, company, investor, fund or LP the firm has advised (relation= picks the edge, limit default 50). PRIMARY tool for 'which deals did this bank run?' / 'who does this law firm work for?' — the counterparty-selection view the forward service_providers relation cannot express.

ParametersJSON Schema
NameRequiredDescriptionDefault
limitNo
sp_idYesPath parameter 'sp_id' (required).
relationYes
Behavior4/5

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

With no annotations, the description carries the transparency burden. It discloses that the tool returns every deal, company, investor, fund or LP the firm advised, that relation selects the edge, and that limit defaults to 50. It does not describe result item structure, but the read-only 'index' framing makes the behavioral intent clear.

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 description is a tight two-sentence block that front-loads the core purpose and then gives use cases. The phrasing 'relation= picks the edge' and 'counterparty-selection view' is somewhat jargon-heavy, but it remains compact with no filler.

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?

For a three-parameter retrieval tool with no output schema, the description covers purpose, relation values, default limit, and the key use cases needed to invoke it correctly. It lacks explicit return structure and pagination details, but those are not critical given the clear list semantics and schema-provided limit constraints.

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 coverage is only 33%, and the description adds meaning: relation is explained as picking the edge, and limit's default 50 is restated. However, sp_id is only indirectly implied as 'one service provider,' and the enum value 'board' is not mentioned in the description, so parameter semantics are only partially enhanced.

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 'Reverse adviser index for one service provider,' specifying the verb (reverse index) and resource (service provider's advised entities). It explicitly lists the returned counterparty types and names it the PRIMARY tool for concrete questions, distinguishing it from the forward service_providers relation.

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 says explicitly this is the PRIMARY tool for 'which deals did this bank run?' / 'who does this law firm work for?' and contrasts it with 'the forward service_providers relation,' which cannot express this counterparty-selection view. That gives concrete when-to-use guidance and a named alternative.

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

tengu_v3_reference_batchAInspect

BATCH CROSSWALK — up to 100 symbols resolved in ONE pass, each returning its current identifiers (CUSIP9, CUSIP8, ISIN, SEDOL, ticker, estimate-vendor ticker), its issuer keys (gvkey, CUSIP6, regulator filer number), which rung matched and its status. This is the endpoint for mapping a whole portfolio or watchlist in a single call rather than N of them. Every symbol comes back with an explicit status — resolved, historical (renamed or delisted; the security and what it trades as now are both returned), ambiguous (shared by more than one current security: the candidates are listed and NO identity is guessed) or unknown (not carried). Symbols beyond the 100 limit come back as explicit over_limit entries, never silently dropped, and the response reports how many of the requested symbols resolved as a number and a percentage (measured 2026-08-02 on a 102-symbol large-cap list: 100 looked up, 99 resolved, 1 historical, 2 over_limit).

ParametersJSON Schema
NameRequiredDescriptionDefault
symbolsYes
prefer_countryNo
Behavior5/5

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

With no annotations, the description carries the full burden and delivers: it lists the exact statuses (resolved, historical, ambiguous, unknown, over_limit), explains how ambiguous and historical cases are handled (no identity guessed; both old and new securities returned), and guarantees symbols are never silently dropped. It even provides a measured example with resolved counts and percentages, making behavior concrete.

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 description is detailed but each sentence contributes—starting with a bold headline, then identifiers, then status meanings, then a concrete example. It is longer than strictly necessary, but not wasteful; however, the final measured example is quite verbose and could be shortened without losing key meaning.

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 there is no output schema, the description does a good job of explaining the per-symbol return structure (identifiers, issuer keys, rung, status) and the response summary (number and percentage resolved). The gaps are the symbols input format and the purpose of prefer_country, which prevent it from being fully complete.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters2/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

The input schema provides no parameter descriptions (0% coverage). The description implies the 'symbols' parameter accepts up to 100 tickers but never specifies the expected format (e.g., delimiter or array-vs-string). The second parameter 'prefer_country' is not mentioned anywhere, leaving its semantics entirely undefined.

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 'BATCH CROSSWALK — up to 100 symbols resolved in ONE pass' and enumerates the resolved identifiers and statuses, clearly stating it maps a portfolio or watchlist in one call. This differentiates it from single-symbol siblings like tengu_v3_reference_lookup.

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?

It explicitly frames the tool as the endpoint for mapping a whole portfolio or watchlist in a single call rather than N calls, giving clear context for when to use it. It does not name the alternative tool explicitly, so it stops short of a full when-not-to-use statement.

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

tengu_v3_reference_coverageAInspect

CROSSWALK COVERAGE — what the reference dataset actually contains, measured live and stated as numbers rather than adjectives: securities and issuers carried and how many are still active, identifier bindings held and how many are RETIRED, the percentage of securities carrying each rung, how many issuers bridge into the private-company graph and how those links break down by confidence grade, and how many dated issuer change events are on file. It also NAMES the rungs this crosswalk deliberately does not serve and why — a missing rung is a stated fact here, not a silent gap a customer discovers after integrating. Every source is listed with its own as-of date, its age in days and whether that age is beyond its expected refresh cadence, so a vintage component can never pass as current. Live-measured 2026-08-02: 77,313 securities (25,512 active), 58,179 issuers, 969,333 identifier bindings (209,715 current / 759,618 retired) across 9 indexed rungs, 26,189 issuers (45.0%) linked to the private graph. Call it before you buy, or before you build against it.

ParametersJSON Schema
NameRequiredDescriptionDefault

No parameters

Behavior5/5

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

With no annotations provided, the description fully carries the behavioral transparency burden. It discloses that numbers are live-measured, includes an as-of timestamp (2026-08-02), reports source ages and refresh cadence, and explicitly promises that missing rungs are stated rather than hidden. This is rich behavioral context beyond a simple read-only hint.

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 description is front-loaded with its core purpose and is densely packed with useful statistics and disclosures. It is not redundant, but it is a long single paragraph that could be broken into shorter sentences for readability, so it is not perfectly concise.

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 zero-parameter tool with no output schema, this description is complete: it enumerates all report metrics, provides the as-of date, explains source-age monitoring, and addresses missing rungs and their handling. There are no significant gaps in what an agent needs to know before invoking it.

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 tool has zero parameters, so the baseline is 4. The description does not need to explain parameters; instead, it describes the content and semantics of the coverage report itself, which is sufficient.

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 identifies the tool as 'CROSSWALK COVERAGE' and specifies exactly what it reports: securities and issuers counts, identifier bindings, rung coverage, private-graph links, and dated change events. It also distinguishes itself from sibling reference tools by focusing on coverage metrics and explicitly stating missing rungs, rather than lookup or batch operations.

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 provides explicit usage context with 'Call it before you buy, or before you build against it,' and explains that missing rungs are surfaced deliberately. However, it does not name alternative tools or state when not to use this tool, so it lacks full when-not/alternative guidance.

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

tengu_v3_reference_crosswalkAInspect

IDENTITY CROSSWALK for one symbol — every identifier the security and its issuer carry, which rung matched, and how confident that match is. Returns SECURITY-grain identifiers (CUSIP9, CUSIP8, ISIN, SEDOL, ticker, estimate-vendor ticker) kept deliberately SEPARATE from the ISSUER-grain keys (gvkey, CUSIP6, regulator filer number, entity id), because those identify a company and not a share line; plus the issuer's other listed securities, the dated timeline of every identifier this security has ever been bound to, and the bridge into the private-company graph with that link's confidence grade. Call it to join two data sets that key on different identifiers, to translate a CUSIP-keyed holdings file into tickers, or to find out what a symbol used to be. as_of=YYYY-MM-DD returns the identifiers that were IN FORCE on that date, not today's — FB resolves today to an ETF and Meta's 2012-02-01→2022-06-08 hold on the string comes back as a dated prior binding, never as the answer. A symbol shared by more than one current security is REFUSED with its candidate list rather than guessed; pass prefer_country to choose. Coverage is a number in every response: what THIS answer contains, and the corpus census (77,313 securities / 58,179 issuers / 969,333 identifier bindings / 26,189 issuers linked to the private graph, live-measured 2026-08-02). Identifier-history depth is uneven by construction — 38,850 of 77,313 securities carry a prior ticker — and every source block states its own as-of, its age in days and whether that age is past its expected refresh cadence.

ParametersJSON Schema
NameRequiredDescriptionDefault
as_ofNo
symbolYesPath parameter 'symbol' (required).
prefer_countryNo
include_historyNo
include_private_graphNo
include_share_classesNo
Behavior5/5

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

With no annotations provided, the description carries full responsibility for behavioral disclosure. It explains the as_of date semantics (in-force identifiers vs today's), the refusal behavior for ambiguous symbols and how prefer_country resolves it, the uneven history depth, and the per-source freshness metadata. This is exceptional transparency about edge cases and data quality.

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 description is dense and front-loaded, but it reads as a wall of text with several run-on sentences. Every sentence contributes information, yet the lack of structuring (e.g., bullets or short paragraphs) makes it harder to scan. It is slightly verbose but not padded.

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?

Despite having no output schema and no annotations, the description covers a remarkable amount: the kinds of identifiers returned, the distinction between security and issuer grain, the dated timeline, the private-graph bridge with confidence grade, ambiguity refusal, coverage statistics, and freshness caveats. This is a complete picture for a complex 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 only 17%, so the description must compensate. It thoroughly explains as_of and prefer_country semantics (dated binding, candidate selection). However, the three include_* boolean parameters (include_history, include_private_graph, include_share_classes) are never explicitly described, leaving their effect on output ambiguous. Partial compensation only.

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 'IDENTITY CROSSWALK for one symbol,' clearly specifying the verb (crosswalk) and resource (identifiers for a security and issuer). It distinguishes itself from sibling reference tools by emphasizing the one-symbol scope and the separation of security-grain vs issuer-grain identifiers, making its purpose unmistakable.

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 provides explicit use cases: 'Call it to join two data sets that key on different identifiers, to translate a CUSIP-keyed holdings file into tickers, or to find out what a symbol used to be.' It stops short of naming alternative tools explicitly, but the context is clear enough for an agent to decide when to invoke it.

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

tengu_v3_reference_historyAInspect

IDENTIFIER HISTORY for one symbol — every identifier this security has ever been bound to, with the dates each binding started and ended, plus the dated events where the ISSUER changed its name, ticker or CUSIP. This is the part of a crosswalk a current-state table cannot give you: it answers 'what was this on 2015-06-30', 'when did this CUSIP change' and 'what was this company called then'. Returns the timeline grouped by identifier rung (each entry with valid_from, valid_thru and whether it is still current), the issuer change events with what changed at each one, and — with as_of — the exact set of identifiers in force on that date. Use it to back-map a historical holdings file, to audit identifier drift in your own data, or to explain a ticker that no longer exists. STALENESS, stated rather than implied: the issuer change log is a VINTAGE snapshot that lags the live security master (as-of 2026-04-20 when this shipped, 104 days old, newest change event 2026-01-30). Its age in days and its expected cadence are in every response, and any disagreement between it and the live spine is named explicitly rather than blended into one confident answer. Coverage is a number: 969,333 identifier bindings on file, 759,618 of them retired, 38,850 of 77,313 securities carrying at least one prior ticker.

ParametersJSON Schema
NameRequiredDescriptionDefault
as_ofNo
symbolYesPath parameter 'symbol' (required).
prefer_countryNo
include_change_logNo
Behavior5/5

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

No annotations are provided, so the description carries full burden. It goes beyond trivial disclosure: it prominently states the staleness ('VINTAGE snapshot that lags the live security master, 104 days old, newest change event 2026-01-30'), promises that disagreement is named explicitly, and quantifies coverage (969,333 bindings, 759,618 retired, etc.). This is exceptional behavioral transparency for a query tool.

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 front-loaded with the core purpose. Every sentence adds value: purpose, use cases, return structure, staleness caveat, coverage metrics. It is structured in logical blocks (what, why, caveats, coverage) without fluff. It earns its length given the tool's complexity and the absence of an output schema.

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?

Despite having no output schema, the description fully explains the return shape: timeline grouped by identifier rung with valid_from/valid_thru/is_current, issuer change events, and as_of-specific set. It also covers the staleness caveat, the lag, and coverage. This is complete enough for an agent to know what to expect and how to use the results.

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 only 25% (only symbol is described). The description explicitly explains as_of ('with as_of — the exact set of identifiers in force on that date') and implies include_change_log by describing the issuer change events. However, prefer_country is not mentioned at all, leaving a gap. Despite this, the primary parameters (symbol and as_of) are well covered, and the return structure clarifies what include_change_log likely controls.

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 'IDENTIFIER HISTORY for one symbol' — a specific verb (history) and resource (identifier bindings). It precisely defines the tool's scope: every identifier a security has ever been bound to, with valid_from/valid_thru and issuer change events. It also distinguishes itself from a current-state crosswalk, stating this tool provides the historical part a current-state table cannot.

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?

Explicitly tells when to use: 'Use it to back-map a historical holdings file, to audit identifier drift in your own data, or to explain a ticker that no longer exists.' It contrasts with current-state crosswalk: 'This is the part of a crosswalk a current-state table cannot give you.' This gives clear when/when-not and names the alternative concept (crosswalk), even if not by exact sibling name.

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

tengu_v3_reference_lookupAInspect

REVERSE IDENTIFIER LOOKUP — give it a CUSIP, ISIN, SEDOL, ticker, estimate-vendor ticker, gvkey, regulator filer number, entity id or private-company-graph id and it returns the security (or, for an ISSUER key, every security under that issuer) plus which rung matched and whether that binding is still current. Exactly one identifier per call. RETIRED identifiers resolve by default — 759,618 of the 969,333 bindings on file are retired, which is precisely why a stale identifier in your own data still lands, and it comes back with the date it was replaced and by what. Issuer keys NEVER nominate one security: an issuer can carry a common line, other share classes and a foreign listing, so all of them are returned and the grain is stated. Use it to turn a CUSIP-keyed custodian file into tickers, to find the ticker behind a regulator filing, or to audit whether an identifier in your own data has gone stale. Rung coverage, measured 2026-08-02: CUSIP9 and CUSIP8 100% of 77,313 securities, ISIN 79.4%, SEDOL 74.2%, regulator filer number 67.8%, estimate-vendor ticker 37.2%.

ParametersJSON Schema
NameRequiredDescriptionDefault
cikNo
isinNo
cusipNo
gvkeyNo
ibticNo
sedolNo
tickerNo
entity_idNo
include_retiredNo
private_company_idNo
Behavior5/5

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

With no annotations, the description carries full behavioral burden. It comprehensively discloses behavior: returns matched rung and currency, resolves retired identifiers by default with replacement details, and clarifies issuer keys return multiple securities. Coverage statistics add expected hit-rate context. This is exemplary transparency.

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 adds value: purpose, constraints, retired behavior, issuer behavior, use cases, and coverage stats. It is front-loaded with the core function and uses uppercase for key constraints, making it scannable despite length.

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 10 parameters, no annotations, and no output schema, the description covers inputs, behavior, coverage, and use cases well. It lacks explicit error handling details but provides enough context for an agent to select and invoke the tool correctly. The coverage stats are a strong contextual addition.

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 explains most parameters through synonyms (e.g., 'regulator filer number' for cik, 'estimate-vendor ticker' for ibtic) and describes the include_retired behavior. However, the mapping is not always explicit, and a few parameters like entity_id/private_company_id are only mentioned in passing, but overall it adds significant meaning.

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 identifies a reverse identifier lookup with a specific verb and resource, listing supported identifier types and what is returned. It distinguishes from siblings by stating 'Exactly one identifier per call' and referencing batch capabilities implicitly, and the coverage data further differentiates it.

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 gives explicit use cases: converting CUSIP-keyed files, finding tickers from regulator filings, and auditing stale identifiers. It also implies constraints like single identifier per call and discloses retired resolution behavior, but does not explicitly name alternative tools like batch or crosswalk, leaving a small gap.

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

tengu_v3_research_correlation_meshAInspect

Returns-correlation mesh around a seed ticker — nodes = tickers, edges = |rho| >= 0.6, from the 36-month realised-returns sidecar (depth expands the neighborhood). PRIMARY tool for 'what moves with X?' and finding hedge or pair candidates. Caveat: needs 36-month overlap; a freshly-listed or thinly-traded seed may be absent.

ParametersJSON Schema
NameRequiredDescriptionDefault
seedYes
depthNo
Behavior4/5

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

With no annotations, the description carries the full burden. It discloses the correlation threshold, time window, depth behavior, and the absence failure mode. This is strong, but it omits details about the exact result format (e.g., whether raw rho values are included, pagination, or limits), preventing a 5.

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 two concise sentences that front-load the core purpose, then add crucial caveats and context. Every phrase earns its place with no redundant filler.

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?

For a tool with no output schema, the description gives a clear mental model of the graph (nodes/edges/threshold/time window) and warns about data limitations. However, it lacks specifics on the return payload structure (e.g., adjacency list, node IDs, whether correlation values are included), which is a notable gap given the absent output schema.

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 0%, so the description must compensate. It explains 'seed' as the central ticker and 'depth' as expanding the neighborhood, but the depth semantics remain vague (e.g., does depth=2 mean two hops?). The schema provides defaults and bounds, but the meaning is only partially enriched.

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 specific verb+resource: "Returns-correlation mesh around a seed ticker" and clearly defines the output (nodes = tickers, edges = |rho| >= 0.6). It further clarifies the use case as "PRIMARY tool for 'what moves with X?'" which distinguishes it from sibling research tools.

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 when to use this tool ("PRIMARY tool for 'what moves with X?' and finding hedge or pair candidates") and includes a caveat about 36-month overlap for freshly-listed or thinly-traded seeds, indicating when it may not work. It does not name alternative tools, so it misses the 'when-not' and 'alternatives' rubric for a 5.

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

tengu_v3_research_fetch_urlAInspect

Read ONE specific page you already have the URL for — call ONLY after a search returned the link, never to discover pages. Returns the page's readable body as clean markdown with title, author, published date, and a domain trust tier; handles paywalls. Read at most the 2-3 most load-bearing links per question. NOT a search tool: tengu_v3_research_web_search finds the links this tool reads.

ParametersJSON Schema
NameRequiredDescriptionDefault
urlYes
max_charsNo
Behavior4/5

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

With no annotations, the description carries the full burden. It discloses the return format (clean markdown with title, author, published date, domain trust tier) and the paywall-handling behavior. However, it omits the truncation behavior implied by max_chars (e.g., body truncated to max_chars) and potential failure modes for unreachable pages. Still well above minimum viability.

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 compact and front-loaded: it opens with the core purpose, then covers usage limits, output, and the critical distinction from the search tool. Every sentence adds value, with no redundancy or fluff.

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?

For a simple URL-fetch tool, the description covers purpose, usage, output format, paywall handling, and the relationship to the search sibling. The primary gap is the undocumented max_chars parameter and its truncation behavior, which would make the description nearly complete.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters2/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 compensate. While 'url' is contextually explained ('the URL for'), the 'max_chars' parameter is not mentioned at all. The agent is left to guess the parameter's effect (likely output truncation), which is a significant gap given the schema provides no description.

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 'Read ONE specific page you already have the URL for' — a specific verb ('Read') plus a specific resource ('ONE specific page'), with the key constraint that the URL must already be known. It explicitly distinguishes itself from search tools by naming tengu_v3_research_web_search, and the output characteristics (markdown, metadata, trust tier) further clarify its role.

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 usage timing: 'call ONLY after a search returned the link, never to discover pages.' It also provides a quantitative guideline ('at most the 2-3 most load-bearing links per question') and names the alternative tool for discovery. This is exemplary guidance.

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

tengu_v3_research_synthesisAInspect

Citation-rich research synthesis (grounded LLM). Returns a concise synthesized answer plus the list of source URLs that grounded it. Use when the user wants the answer GROUNDED with explicit sources (e.g. 'summarize NVIDIA's last earnings call and link the transcript'). Distinct from web_search — this returns prose + citations, not a list of headlines.

ParametersJSON Schema
NameRequiredDescriptionDefault
queryYes
system_promptNo
Behavior4/5

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

With no annotations, the description carries the burden of behavioral disclosure. It states the tool returns 'prose + citations' and uses a 'grounded LLM,' which clarifies output format and sourcing behavior. However, it does not mention any potential limitations, latency, or side effects, though for a synthesis tool the read-only nature is implied.

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 three sentences, front-loaded with the most important information (what it does, what it returns) followed by usage guidance and a distinction from a sibling. Every sentence earns its place; no fluff or redundancy.

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?

The tool is relatively simple (2 params, no output schema) and the description covers its core behavior and primary alternative. However, it fails to explain the 'system_prompt' parameter and does not address other related research tools (e.g., fetch_url, x_sentiment) in the sibling list, leaving some gaps in a fully self-contained description.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters2/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 compensate. It gives an example query ('summarize NVIDIA's last earnings call and link the transcript') which implies what 'query' means, but it says nothing about the 'system_prompt' parameter. Half the parameters are unexplained, and the description adds minimal semantic value beyond the schema's bare string types.

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+resource: 'Citation-rich research synthesis (grounded LLM). Returns a concise synthesized answer plus the list of source URLs that grounded it.' It also distinguishes itself from web_search, making 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 Guidelines5/5

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

Explicit when-to-use guidance is provided: 'Use when the user wants the answer GROUNDED with explicit sources' with a concrete example. It also contrasts with 'web_search — this returns prose + citations, not a list of headlines,' clarifying when not to use it.

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

tengu_v3_research_x_sentimentAInspect

Real-time X/Twitter sentiment narrative. Pass ticker=NVDA for a focused fintwit read on a name, or query=... for a free-form social-media question. Returns the narrative answer with quantified bullish/bearish ratio and any source URLs social-search grounded against. Use when you want the vibe on a name right now (retail sentiment, breaking rumours, unusual social activity), not the news article list.

ParametersJSON Schema
NameRequiredDescriptionDefault
queryNo
tickerNo
Behavior4/5

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

No annotations are provided, so the description carries the burden. It discloses return contents (narrative answer, bullish/bearish ratio, source URLs) and grounding in social-search. It implies a read-only operation and does not hide side effects. However, it does not mention edge cases such as what happens if both params are provided or if neither is provided, which would improve transparency.

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?

Three sentences, front-loaded with what it is, then usage, then return value, then when-to-use. No fluff, no redundancy. Every sentence earns its place.

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 no annotations and no output schema, the description provides sufficient context to understand the tool's purpose, parameters, and output. It lacks mention of edge cases (both or neither param provided) and any rate limits or data freshness details, but these are not critical for an agent to make a selection decision. The description is nearly complete for a social sentiment tool.

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 has 0% description coverage, but the description fully compensates by explaining both parameters: ticker for a focused name read, query for free-form questions. It gives a concrete example (NVDA) and clearly distinguishes the two modes. This is more informative than standard schema descriptions.

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 what the tool does: 'Real-time X/Twitter sentiment narrative.' It distinguishes itself from the news article list and specifically frames its niche as capturing the 'vibe' via social media sentiment. This differentiates it from sibling tools like tengu_v3_intel_twitter or news sentiment tools.

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?

Provides explicit when-to-use guidance: 'Use when you want the *vibe* on a name right now... not the news article list.' Also explains how to choose between the two parameters: ticker for a focused fintwit read, query for a free-form social-media question. This is actionable and helps the agent decide.

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

tengu_v3_resolver_statusDInspect

Outcome-resolver status

ParametersJSON Schema
NameRequiredDescriptionDefault

No parameters

Behavior1/5

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

With no annotations, the description carries the full burden of behavioral disclosure, yet it reveals nothing about what the tool does, what it returns, or whether it has side effects. It is essentially a label rather than a behavioral description.

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

Conciseness2/5

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

The description is extremely short, but this is under-specification rather than conciseness. It wastes no words but fails to provide meaningful content that earns its place in the tool definition.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness1/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Even though the tool is simple (zero parameters), the description leaves the core concept 'outcome-resolver' unexplained and provides no detail about what status is being reported. In a large sibling set with many status tools, the agent cannot determine what this tool actually represents or what response to expect.

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 tool has zero parameters, so the schema trivially covers all parameter semantics (100% coverage). The baseline of 4 applies because no parameter explanation is needed, and the description does not need to compensate for a schema gap.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose2/5

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

The description 'Outcome-resolver status' is a noun phrase that restates the tool's name without an explicit verb. It clarifies the resource is an 'outcome-resolver' but does not say what the status reveals or how it differs from many sibling status tools such as tengu_v3_stream_decision_generator_status and tengu_v3_agent_status.

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

Usage Guidelines1/5

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

No guidance is provided on when to use this tool, what problem it solves, or how it relates to alternatives. The description offers no context for selecting this among the extensive list of status and health tools.

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

tengu_v3_risk_portfolio_varAInspect

Consensus portfolio VaR + CVaR (USD) on the live top-decile shadow book — Cornish-Fisher + t-copula Monte-Carlo + filtered-historical-simulation blended, with a liquidity-adjusted VaR. Call this when the user asks how much the model portfolio could lose. Caveat: 1-day horizon only (horizon_days_served=1); multi-day is not scaled.

ParametersJSON Schema
NameRequiredDescriptionDefault
confidenceNo
horizon_daysNo
Behavior4/5

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

With no annotations provided, the description carries the full burden of behavioral disclosure. It goes beyond a simple definition by explaining the consensus methodology (Cornish-Fisher + t-copula Monte-Carlo + filtered-historical-simulation, liquidity-adjusted) and clearly discloses the 1-day horizon limitation. It does not describe the exact return format, but the 'VaR + CVaR (USD)' phrasing gives some indication. No contradictions with annotations (none present).

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 three sentences with no filler. It front-loads the core purpose and scope, then adds methodology, usage guidance, and a critical caveat. Every sentence contributes distinct information, making it appropriately sized for the tool's complexity.

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 moderate complexity and lack of output schema, the description is fairly complete. It covers what the tool does, the calculation method, the specific portfolio context, and a key limitation. It could be more explicit about the shape of the return value (e.g., whether it returns both VaR and CVaR as separate numbers or a single value), but it does state the metrics and currency, making it mostly self-sufficient.

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 0%, so the description must compensate. It provides valuable clarity for the horizon_days parameter by explaining that multi-day is not scaled and only 1-day is served, despite the schema allowing up to 30. However, it does not explain the confidence parameter (e.g., what values mean, how it affects output), leaving a gap for this important 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 clearly states the tool computes portfolio VaR + CVaR in USD on the live top-decile shadow book, with a specific call-to-action: 'Call this when the user asks how much the model portfolio could lose.' It distinguishes itself from siblings by focusing on portfolio-level risk rather than individual tickers or other metrics.

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 gives explicit usage context: 'Call this when the user asks how much the model portfolio could lose.' It also warns about the 1-day horizon caveat, which is important for knowing when not to rely on it for multi-day horizons. However, it does not mention alternative tools (e.g., tengu_v2_var) or explicitly state exclusions beyond the horizon limitation.

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

tengu_v3_sec_filing_extractAInspect

Structured extracts from the latest 10-K/10-Q/8-K via the SEC EDGAR JSON API: balance_sheet_summary, cash_flow_summary, shares_outstanding (basic+diluted+4Q trend), filing_date, filing_url, accession_number. Call for numbers straight from the latest filing. MVP: text_sections are deep-links only — use web_search on filing_url. 24h cache.

ParametersJSON Schema
NameRequiredDescriptionDefault
tickerYesPath parameter 'ticker' (required).
filing_typeYesPath parameter 'filing_type' (required).
Behavior4/5

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

With no annotations provided, the description fully carries the burden of behavioral disclosure. It reveals caching ('24h cache'), the limitation that text_sections are deep-links only, and the underlying API (SEC EDGAR JSON API). It doesn't mention error cases or rate limits, but for a straightforward extractor, this is adequate.

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 three sentences that pack in purpose, output fields, usage guidance, a limitation, and cache behavior. Every sentence contributes value, and it is front-loaded with the core purpose. No wasted words.

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?

There is no output schema, so the description must explain return values, which it does by listing the structured fields. It also covers limitations and caching. It doesn't explain edge cases like missing filings or exact interpretation of 'latest', but given the tool's simplicity, the description is reasonably complete.

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 descriptions are generic ('Path parameter... required') with no real semantics, but the tool description compensates by implying filing_type accepts values like 10-K/10-Q/8-K and that ticker refers to a company. This adds meaning beyond the schema, so it goes above the baseline 3.

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?

The description clearly states the tool's purpose: 'Structured extracts from the latest 10-K/10-Q/8-K via the SEC EDGAR JSON API' and lists the specific fields returned. This is a specific verb+resource+scope. However, it does not explicitly differentiate itself from sibling tools like tengu_v3_fundamentals_sec_filings, so it doesn't fully achieve the 5-level distinction.

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 phrase 'Call for numbers straight from the latest filing' provides clear context for when to use the tool. It also offers an alternative for text sections ('use web_search on filing_url'), which is a concrete usage pointer. However, it does not explicitly state when not to use the tool or compare to similar fundamentals tools, so it misses the 5-level explicit alternatives.

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

tengu_v3_self_healingAInspect

Recent and pending self-healing actions the system has taken or queued. Call when the user asks whether the system/data pipeline is healthy or why data looks missing/stale.

ParametersJSON Schema
NameRequiredDescriptionDefault

No parameters

Behavior3/5

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

With no annotations, the description carries full burden. It conveys this is an informational read (reporting actions taken/queued) without explicit side-effect disclosure. It adds value by clarifying the scope (recent and pending), but does not go into detail about ordering, limits, or response format. Since the tool name and wording strongly imply a safe read-only operation, a mid score is appropriate.

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 two sentences. The first sentence states the core content (what it returns), and the second provides the usage trigger. Every word earns its place, with no fluff or repetition of the schema.

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 zero-parameter signature and lack of output schema, this description covers the essential context: what data is returned and when to use it. It could potentially mention the format or structure of the actions, but for a simple list-like tool, the existing description is largely sufficient.

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 tool has zero parameters, so the description does not need to explain parameter syntax. The baseline for 0-param tools is 4, and the description appropriately focuses on use case rather than parameter details, which is sufficient.

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 identifies the tool as reporting 'recent and pending self-healing actions' taken or queued by the system. It distinguishes itself from broader health/status tools by focusing specifically on self-healing actions, making its 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 when to call: 'when the user asks whether the system/data pipeline is healthy or why data looks missing/stale.' This provides clear context, though it does not name alternative tools (e.g., tengu_status, tengu_v3_system_health) for comparison, so it lacks explicit exclusions or alternatives.

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

tengu_v3_signals_cross_assetAInspect

Cross-asset regime signals — the regime read taken across asset classes rather than from single tickers. Call this when the user asks about the broader market regime or wants cross-asset confirmation of a single-asset view.

ParametersJSON Schema
NameRequiredDescriptionDefault

No parameters

Behavior3/5

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

No annotations are provided, so the description must carry the burden. It describes the tool as a 'regime read,' which implies safe read-only behavior, but it does not disclose output structure, update frequency, or coverage details. This partial disclosure is adequate for a simple zero-parameter tool, but leaves some behavioral traits unspecified.

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 two sentences, front-loaded with the core purpose and then the recommended usage. Every word earns its place, making it highly concise and well-structured.

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 simplicity (no parameters, no output schema), the description covers the essential 'what' and 'when.' However, it lacks details on the exact output format and the set of asset classes covered, which would enhance completeness. Still, it is largely sufficient for decision-making.

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 tool has zero parameters and empty schema, so there are no parameter meanings to clarify. The description adds context by explaining the tool operates across asset classes without requiring any ticker input, which is helpful for an agent deciding to invoke it.

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 the tool provides cross-asset regime signals, with a specific scope: 'taken across asset classes rather than from single tickers.' This distinguishes it from sibling tools like tengu_regime that likely focus on single tickers, making 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 Guidelines5/5

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

Explicit usage guidance is provided: 'Call this when the user asks about the broader market regime or wants cross-asset confirmation of a single-asset view.' This clearly states when to use the tool, and the phrase 'rather than from single tickers' implies when not to use it.

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

tengu_v3_signals_fusionAInspect

Latest fused signals across all voters — the combined signal after voter aggregation, up to limit names (default 100). Call this when the user asks what the system's current signals are overall; use signals_mtf for one ticker's timeframe alignment.

ParametersJSON Schema
NameRequiredDescriptionDefault
limitNo
Behavior3/5

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

With no annotations, the description carries the full burden for behavioral disclosure. It does mention the limit parameter's effect ('up to limit names') and implies a read-only query, but it does not explicitly declare it as safe, state any permissions, or describe the return format beyond 'names'. This is adequate but not rich; a 3 reflects the basic disclosure without depth.

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 two concise sentences, front-loaded with the core purpose, then providing usage guidance and a sibling alternative. Every word serves a purpose; no fluff or repetition. This is exemplary structure for a tool description.

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 simplicity (single optional parameter, no output schema), the description covers the essential aspects: what it does, when to use it, and the parameter's semantics. It lacks explicit return format details (e.g., array of objects, fields), but for a list-like retrieval tool, the description is mostly complete. A 4 is appropriate because it handles the low complexity well but leaves minor gaps (ordering, data shape).

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 schema provides only type/default/range for the single 'limit' parameter, with no description (schema coverage 0%). The description compensates by explaining the parameter's meaning: 'up to limit names (default 100)' and implies the default. However, it does not define what 'names' refers to (e.g., tickers), leaving slight ambiguity. This is strong compensation for the schema gap.

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 the tool retrieves the latest fused signals across all voters, with a specific scope ('combined signal after voter aggregation'). It distinguishes itself from the sibling tool signals_mtf by noting the alternative use case. The verb 'Call this when' and resource 'system's current signals' make 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 Guidelines5/5

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

The description explicitly states when to use this tool: 'Call this when the user asks what the system's current signals are overall.' It also provides an alternative: 'use signals_mtf for one ticker's timeframe alignment.' This meets the highest standard for usage guidance.

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

tengu_v3_signals_mtfAInspect

One EQUITY cross-horizon ensemble row for a ticker. Despite the legacy mtf path name, the warehouse does NOT emit independent per-timeframe rows, so this tool cannot confirm 1m/4h/1w agreement and must not be cited as multi-timeframe evidence. Crypto requests fail closed.

ParametersJSON Schema
NameRequiredDescriptionDefault
tickerYesPath parameter 'ticker' (required).
Behavior4/5

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

With no annotations provided, the description carries the full burden of behavioral disclosure. It candidly reveals a major limitation (no per-timeframe rows despite the mtf name) and a failure mode (crypto requests fail closed). This goes well beyond a simple 'returns signals' statement, providing critical honesty about what the tool can and cannot do.

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?

Two sentences, each earning their place. The first sentence states the core purpose, and the second provides essential caveats about the legacy name and crypto failure. No fluff or redundancy.

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?

For a simple one-parameter tool with no output schema, the description covers the key aspects: what it returns, a critical limitation, and a failure mode. It does not detail the output structure or define 'ensemble row,' but given the low complexity and lack of output schema, this is sufficient context for an agent to use 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 schema already describes the only parameter (ticker) with 100% coverage. The description adds meaningful semantics by specifying that the tool is for EQUITY tickers and that crypto requests fail closed, which is crucial for parameter selection. This adds value beyond the bare schema description.

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?

The description clearly identifies the resource as "One EQUITY cross-horizon ensemble row for a ticker," which specifies what the tool returns. It distinguishes from the misleading legacy name by stating the warehouse does not emit independent per-timeframe rows. However, it lacks an explicit verb like 'get' or 'retrieve,' making the intent slightly implicit.

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 gives strong negative guidance: it explicitly says the tool cannot confirm 1m/4h/1w agreement and must not be cited as multi-timeframe evidence. It also states crypto requests fail closed, advising against use for crypto. It does not name a specific alternative tool, but the exclusions effectively guide when not to use this tool.

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

tengu_v3_signals_vetoAInspect

Active veto state — which risk, regime, or circuit-breaker (CB) vetoes are currently in force over signals. Call it to know whether signals are being suppressed before trusting any signal read; PRIMARY for 'why isn't the system acting on ?'.

ParametersJSON Schema
NameRequiredDescriptionDefault

No parameters

Behavior4/5

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

With no annotations, the description carries the full burden of behavioral disclosure. It effectively communicates that this is a read-only status query for active vetoes and how to interpret the result for signal trust. It does not mention rate limits or error cases, but the simple zero-parameter nature reduces the need for such caveats.

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 compact and front-loaded: the first clause states the core purpose, and the second sentence adds actionable use context. The semicolon and capitalized 'PRIMARY' keep it structured without waste. Every word earns its place.

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?

As a zero-parameter status tool without an output schema, the description adequately covers what the tool reports, why it is important, and when to call it. It could theoretically list exact return fields, but the described granularity of veto categories is sufficient for its diagnostic role among many signal-related siblings.

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 tool has zero parameters, so the schema provides no meaning. The description does not need to explain arguments, and it fully compensates by describing what the tool reports and why it matters. A score of 4 matches the baseline for parameter-free tools.

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 the tool's function with a specific verb and resource: it reports the active veto state over signals, enumerating risk, regime, and circuit-breaker vetoes. This distinguishes it from sibling signal generation or analysis tools by focusing on the suppression status rather than the signals themselves.

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?

Provides explicit when-to-use guidance: call it before trusting any signal read and as the primary check for 'why isn't the system acting on <ticker>?' This gives clear context but does not name alternative tools or explicitly state when not to use it, so it falls short of a 5.

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

tengu_v3_skills_apex_equityAInspect

Apex Equity Intelligence — single-call omnibus brief for 'what do you think about $TICKER'. Fuses 12 vendor calls in parallel (daily + hourly charts, company facts, income/balance statements, snapshot, insider, congress, lobbying, gov-contracts, WSB, patents, off-exchange). Returns: 'fundamentals' (12 scalar fields — name, sector, market_cap, last_price, day_change_pct, latest_revenue, latest_net_income, latest_eps, total_assets/liabilities/equity, filing_date), 'intel' (8 scalar fields — insider/congress 30d buy-sell counts, ttm_lobbying_usd, ttm_gov_contract_usd, wsb_7d_mentions+sentiment, patent_filings_recent, avg_dark_pool_pct_30d), 'flags' (notable patterns: insider_cluster_buy/sell, elevated_dark_pool, retail_attention_spike, etc.), 'chart' (primary daily 120-bar candlestick PNG with RSI/MACD/BB indicators, palette-quantized to keep the tool result under 32KB), and 'charts' (a list of ADDITIONAL charts beyond the primary — currently just the hourly intraday chart; do NOT expect the daily here, it's only in 'chart'). 'components' carries raw counts of items behind each digest. 'vendor_errors' is non-empty when one of the parallel fetches failed; the rest of the payload is still usable. For full per-section detail (complete insider trade list, full income statements, etc.) call the dedicated tools tengu_v3_fundamentals_*/tengu_v3_intel_* — apex_equity is the digest, not the firehose.

ParametersJSON Schema
NameRequiredDescriptionDefault
tickerYesPath parameter 'ticker' (required).
Behavior5/5

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

With no annotations provided, the description carries full burden. It discloses parallel vendor calls, the vendor_errors field for failed fetches (rest usable), palette-quantization for size limits, and the structure of charts vs charts. It also explains that 'components' carries raw counts, giving transparent insight into behavior beyond a simple return value.

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 description is long but information-dense, with clear section names ('fundamentals', 'intel', 'flags', etc.) and examples. Every sentence provides value, though the lengthy enumeration of fields could be seen as slightly over-detailed for a tool description.

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?

Without an output schema, the description thoroughly explains the return structure, listing all major fields and their contents, including vendor_errors and flags. It also points to detailed tools, making the description fully adequate for a complex multi-section 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?

The only parameter 'ticker' has schema description 'Path parameter ticker (required)' with 100% coverage, so baseline is 3. The description does not add extra semantic detail (e.g., format, exchange suffixes), only using '$TICKER' as a placeholder, which does not meaningfully enrich the schema.

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 the tool's purpose as a 'single-call omnibus brief for what do you think about $TICKER' and explains it fuses 12 vendor calls into a digest. It explicitly distinguishes itself from the detailed sibling tools by calling itself 'the digest, not the firehose', which aids selection.

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 guidance on when to use this tool ('what do you think about $TICKER') and when to use alternatives: 'For full per-section detail... call the dedicated tools tengu_v3_fundamentals_*/tengu_v3_intel_*'. It also warns about chart placement ('do NOT expect the daily here, it's only in chart') and vendor_errors, providing practical usage context.

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

tengu_v3_skills_ta_masterAInspect

One-call technical read on a ticker: fuses candlestick chart (RSI/MACD/BB), GEX, max pain, options flow/volume, insider and congressional trades, and off-exchange volume into a signal list, aggregate bull/bear stance, and embedded PNG chart. Call this FIRST for 'how does the chart/setup look?' — one round-trip replaces ~8 calls.

ParametersJSON Schema
NameRequiredDescriptionDefault
barsNo
tickerYesPath parameter 'ticker' (required).
intervalNoday
Behavior4/5

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

With no annotations, the description carries the full burden of behavioral disclosure. It clearly communicates that this is a read-only analysis ('technical read') and details both inputs (indicator chart, GEX, max pain, options, insider/congress, off-exchange) and outputs (signal list, aggregate bull/bear stance, PNG chart). It does not discuss latency, cost, error modes, or data freshness, which would make it fully transparent.

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?

Two sentences, front-loaded with the primary purpose, then the use-case guidance. Every phrase adds value—listing data sources, describing output components, and telling the agent when to invoke it. No filler or repeated information from the schema.

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?

For a high-complexity aggregation tool with no output schema and no annotations, the description does a good job of summarizing purpose, inputs, outputs, and usage guidance. It is missing detailed return structure, optional parameter semantics, and any edge-case or limitation notes, but it gives an agent enough context to select and invoke the tool correctly for a first-pass technical read.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters2/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema coverage is only 33% (only ticker has a description; bars and interval just have defaults). The description mentions 'candlestick chart' but never explains what bars or interval control. Since schema coverage is below 50%, the description needed to compensate but did not, leaving two of three parameters semantically under-documented.

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 'One-call technical read on a ticker' and enumerates the fused data sources (RSI/MACD/BB, GEX, max pain, options flow/volume, insider/congressional trades, off-exchange volume). It clearly differentiates from the many individual intel/fundamental tools by emphasizing the 'one-call' aggregation and 'replaces ~8 calls' efficiency, making its specific role unmistakable.

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 phrase 'Call this FIRST for how does the chart/setup look?' provides an explicit when-to-use scenario, and 'one round-trip replaces ~8 calls' signals that this should be preferred over assembling the same data from separate calls. However, it does not name specific alternative tools or state explicit when-not-to-use conditions, so it stops short of a 5.

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

tengu_v3_skills_trading_planAInspect

Actionable long/short plan for a ticker: entry, stop (recent swing or 1.5x-ATR proxy), 1R/2R/3R targets, position size for a given risk_pct, plus a thesis citing supporting signals (trend, flow tilt, insider, congress) and an embedded PNG chart. Call this when the user asks 'how would I trade X'; bias=auto picks direction from TA stance.

ParametersJSON Schema
NameRequiredDescriptionDefault
biasNoauto
tickerYesPath parameter 'ticker' (required).
risk_pctNo
Behavior4/5

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

With no annotations, the description carries the full burden and discloses several behavioral traits: the output is a plan with specific components, the stop is based on 'recent swing or 1.5x-ATR proxy', bias defaults to auto, and a PNG chart is embedded. It does not discuss side effects or rate limits, but for a plan-generation tool this is largely irrelevant and the description is notably transparent.

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?

Two dense sentences contain no fluff. The first sentence front-loads the core purpose and lists all output components; the second adds usage trigger and parameter behavior. Every word contributes information, making it both concise and well-structured.

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 is complex (multi-part output, no output schema), and the description covers all essential aspects: what is returned (entry, stop, targets, position size, thesis, chart), how parameters influence behavior (risk_pct, bias), and when to invoke it. It stands alone without requiring the schema or annotations to fill gaps.

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 coverage is only 33% (only ticker has a trivial description). The description compensates by explaining risk_pct as the driver of position size and bias=auto as the direction-selection behavior. These are the only non-obvious parameters, and the description gives them clear meaning that the schema lacks.

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 uses a specific verb-resource pair ('Actionable long/short plan for a ticker') and enumerates concrete outputs: entry, stop, targets, position size, thesis, and an embedded PNG chart. It clearly distinguishes this from sibling tools by detailing the plan structure and the included chart.

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?

Provides an explicit trigger condition: 'Call this when the user asks "how would I trade X"'. It also clarifies that bias=auto picks direction from TA stance. However, it does not mention when not to use the tool or name specific alternatives, limiting the guidance to a 'when' rather than a full 'when/when-not' scenario.

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

tengu_v3_slippageCInspect

Realised slippage stats (mean/median/p95)

ParametersJSON Schema
NameRequiredDescriptionDefault
tickerYesPath parameter 'ticker' (required).
window_daysNo
Behavior2/5

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

With no annotations, the description carries the full burden of behavioral disclosure. It only states 'Realised slippage stats' without explaining data source, calculation methodology, whether slippage is signed, units, or any limitations. This is insufficient for an agent to understand what the tool actually returns or what assumptions it makes.

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 description is extremely concise—a single phrase with no wasted words. However, given the tool has two parameters and no parameter info in the description, it is under-specified rather than efficiently concise. It earns its place but at the cost of missing essential context.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness2/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

This is a simple stats tool, but the description is not complete. It fails to define what 'slippage' means in this context, what the return value looks like, and how window_days affects the calculation. With no output schema and no annotations, the description should provide a bit more context to make the tool safely usable.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters2/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema coverage is 50%: ticker has a description, but window_days does not. The tool description adds no parameter information at all. The description should compensate for the undocumented window_days parameter (e.g., what the window represents, how it affects the stats), but it does not, leaving the agent to infer its meaning from the schema's default and bounds.

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?

The description clearly identifies the resource (slippage) and the expected output (realised slippage stats with mean/median/p95). It is specific enough to distinguish this tool from the many other tengu_v3_* siblings, though it lacks an explicit verb (e.g., 'get' or 'retrieve').

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

Usage Guidelines2/5

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

No guidance is provided on when to use this tool versus alternatives. It does not mention what kind of slippage (e.g., execution vs market impact), how it differs from related tools like tengu_v3_metrics or tengu_v2_alpha_discoveries, or any prerequisites or exclusions.

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

tengu_v3_smart_routeDInspect

Recommended venue mix (lit/dark/algo)

ParametersJSON Schema
NameRequiredDescriptionDefault
qtyNo
sideNobuy
tickerYesPath parameter 'ticker' (required).
Behavior1/5

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

No annotations are provided, so the description carries the full burden of behavioral disclosure. It does not state whether this is a read-only computation, what inputs affect the output, how it handles missing data, or what side effects (if any) exist. The phrase 'Recommended venue mix' implies a computed output, but that is not explicitly disclosed.

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

Conciseness2/5

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

The description is extremely brief, but this is under-specification rather than conciseness. It is a fragment, not a complete sentence, and it omits essential information about behavior and parameters. While short, it does not earn its place by being informative.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness1/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

This tool has 3 parameters, no output schema, and no annotations. The description in no way covers the required context: what the output looks like, how inputs affect the recommendation, or what the venue mix should be used for. It is completely inadequate for an agent to select and invoke this tool correctly.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters1/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is only 33%, and even that coverage is unhelpful ('Path parameter ticker (required)' adds no semantic meaning). The description does not explain qty or side, nor does it connect them to the venue mix output. With no parameter context in the description, the agent must guess what these parameters mean.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose3/5

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

The description 'Recommended venue mix (lit/dark/algo)' conveys that the tool provides a recommendation for splitting orders among lit, dark, and algorithmic venues. It is not a tautology, but it lacks a verb (e.g., 'get' or 'calculate'), making it a noun phrase rather than a clear action statement. It does not explicitly distinguish itself from sibling tools like tengu_v3_twap_plan or tengu_v3_slippage, so it earns a mid-range score.

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

Usage Guidelines2/5

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

The description provides no guidance on when to use this tool versus alternatives. There is no mention of prerequisites, use cases, or exclusions. Given the large sibling toolset, the agent gets no help in deciding that this is the right choice.

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

tengu_v3_strategies_listAInspect

Catalogue of the 21-strategy library — one entry per strategy. Call this when the user asks which strategies exist or what the system can run, or to resolve a strategy name before drilling into its evolution or signals.

ParametersJSON Schema
NameRequiredDescriptionDefault

No parameters

Behavior4/5

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

With no annotations, the description carries the behavioral disclosure burden. It adds useful specifics: the catalog contains exactly 21 strategies and returns one entry per strategy, giving the agent an expectation of the response structure. It frames the tool as listing runnable strategies, which is informative, though it could mention ordering or entry fields.

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?

Two sentences, both information-dense. The first defines the output scope ('Catalogue of the 21-strategy library — one entry per strategy'), the second gives trigger conditions and workflow context. Every word earns its place.

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 simple, zero-parameter listing tool, the description fully covers what it does, when to call it, and its role in a larger workflow. Without an output schema, it might ideally specify entry fields, but the tool name and context make the return type (strategy names) obvious.

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 tool has zero parameters and 100% schema coverage, so the baseline is 4. The description adds value by explaining that the output resolves strategy names for downstream tools (evolution/signals), clarifying how the empty input yields usable strategy identifiers.

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 the tool provides a catalog of the 21-strategy library with one entry per strategy, using a specific resource (the strategy library) and an implied listing action. It differentiates itself from sibling tools by positioning itself as a name-resolution step before drilling into evolution or signals.

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 explicitly provides trigger conditions: 'Call this when the user asks which strategies exist or what the system can run, or to resolve a strategy name before drilling into its evolution or signals.' This tells the agent exactly when to use it and implies that drilling into evolution/signals should happen after this lookup, which is a clear usage guideline.

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

tengu_v3_strategy_metricsCInspect

Historical metrics for a named strategy

ParametersJSON Schema
NameRequiredDescriptionDefault
strategy_nameYesPath parameter 'strategy_name' (required).
Behavior2/5

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

With no annotations provided, the description must disclose behavioral traits, but it only adds that the metrics are 'historical.' It does not mention what metrics are included, time ranges, pagination, or any access constraints, leaving the agent under-informed about the tool's runtime behavior.

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 description is extremely concise, using a single noun phrase with no filler. While under-specified, it is efficient and front-loaded for a simple one-parameter tool.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness2/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

The tool has no output schema and no annotations, so the description should compensate by explaining what kinds of metrics are returned or in what format. It does neither, making it incomplete for an agent to confidently interpret the tool's results.

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?

The input schema already documents the sole parameter with 100% coverage. The description reinforces that the parameter is the strategy name, but does not offer additional semantic details such as accepted formats or how to discover available strategy names.

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?

The description clearly indicates the tool provides historical metrics scoped to a named strategy. The lack of an explicit verb ('retrieve', 'get') makes it slightly less direct, but the noun phrase effectively communicates the purpose and distinguishes it from signal- or list-oriented strategy tools.

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

Usage Guidelines2/5

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

No guidance is given on when to use this tool versus alternatives such as tengu_v3_strategy_signals or tengu_v3_strategies_list. The only contextual hint is 'for a named strategy,' which is more of a parameter requirement than usage guidance.

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

tengu_v3_strategy_signalsCInspect

Latest signals from a named strategy

ParametersJSON Schema
NameRequiredDescriptionDefault
limitNo
strategy_nameYesPath parameter 'strategy_name' (required).
Behavior2/5

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

With no annotations, the description carries the full burden of behavioral disclosure. It only states it returns 'latest signals', without mentioning read-only behavior, pagination, default limit, error conditions, or whether the output is historical vs. streaming. This is insufficient for an agent to predict side effects or response characteristics.

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 single sentence is concise and front-loaded, with no wasted words. However, it is overly terse, omitting usage and behavior details that could be included without much bloat. Still, for a simple tool, it is efficiently sized.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness2/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

The tool has only two parameters and no output schema, so the description must convey essential context about return format, signal semantics, and relation to other signal tools. It does none of this, leaving significant gaps in understanding for an agent comparing this to the many sibling signal tools.

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?

The schema already documents strategy_name as a required path parameter and limit with default and bounds, giving decent coverage. The description adds no parameter information beyond implying a strategy name exists, but the schema's descriptions are adequate for the two simple parameters, so a middle score is appropriate.

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?

The description clearly indicates the tool returns the latest signals for a specified strategy, identifying the resource (strategy signals) and the action (retrieve latest). However, it does not distinguish between this and similar sibling tools like tengu_v3_signals_fusion or tengu_v3_stream_signals, so it lacks differentiation despite being clear.

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

Usage Guidelines2/5

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

The description gives no guidance on when to use this tool versus alternatives such as tengu_v3_strategy_metrics or tengu_v3_stream_signals. There are no hints about context, prerequisites, or exclusions, leaving the agent without direction for tool selection.

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

tengu_v3_stream_alertsBInspect

SSE stream of risk / guardrail alerts

ParametersJSON Schema
NameRequiredDescriptionDefault

No parameters

Behavior2/5

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

With no annotations, the description carries full responsibility for behavioral disclosure. It labels the tool as an 'SSE stream' but does not disclose how the connection behaves (e.g., persistent vs. one-shot), what the event payload looks like, whether it is read-only, or any pitfalls like connection drops or backpressure. This is a significant gap for a streaming tool.

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 a single short sentence that is immediately understandable and front-loaded. It wastes no words and is appropriately concise for a tool with no parameters. It could be longer to add context, but conciseness itself is excellent.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness2/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

The tool has no output schema and no annotations, so the description must explain what the stream delivers and how to consume it. It only says 'risk / guardrail alerts', which is vague and does not describe the event format, filtering options, or connection behavior. Given the high number of sibling stream tools, this lacks enough detail for an agent to understand its unique value and usage requirements.

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 is an empty object with zero parameters, so there is nothing to explain. The baseline for 0-param tools is 4, and the description does not need to add parameter semantics. There is no contradiction or missing information about parameters.

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?

The description uses a specific noun phrase 'SSE stream of risk / guardrail alerts' which clearly identifies the tool as a real-time event stream focused on risk and guardrail notifications. It distinguishes itself from sibling stream tools like quotes and ticks by specifying the alert type, though it does not define what 'guardrail' means in this context.

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

Usage Guidelines2/5

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

No explicit guidance is given on when to use this tool versus alternatives. There are related sibling tools such as tengu_v3_alerts_active and other stream tools, but the description does not explain scenarios (e.g., real-time monitoring vs. fetching current alerts) or mention any prerequisites for using an SSE stream. The usage context is only implied by the word 'stream'.

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

tengu_v3_stream_barsAInspect

SSE stream of live 1-minute OHLCV bars for EVERY US-listed ticker (no subscribe step needed — the all-ticker feed is always on). Each frame closes one 1-minute candle ~1s after the venue closes it: open/high/low/close/volume/vwap + bar_period_s=60. The live-candle feed for charting; quiet outside ~04:00-20:00 ET, which is correct. For chart HISTORY use REST aggregates, not a stream.

ParametersJSON Schema
NameRequiredDescriptionDefault
symbolsNo
Behavior5/5

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

With no annotations provided, the description carries the full transparency burden and does it well: it discloses SSE transport, all-ticker coverage, no subscription step, candle closing timing (~1s after venue close), included fields, bar_period_s=60, and the expected quiet period outside 04:00-20:00 ET, even explaining that quiet is correct.

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?

Three tightly written sentences: the first states the core purpose and key behavior, the second details frame contents and timing, the third gives usage context and an explicit alternative for history. No wasted words; all information is high-value.

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?

The description covers the return frame fields, timing, coverage, quiet hours, and the history alternative. The only notable gap is the unexplained 'symbols' parameter, which prevents a perfect score. Absent an output schema, the description still adequately explains what the stream emits.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters2/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

The schema has one optional 'symbols' parameter with 0% coverage in the description. The description never explains what 'symbols' does, whether it filters the all-ticker feed, or if it's needed at all. The phrase 'no subscribe step needed' hints the parameter may be optional, but it doesn't define its meaning or format, so the description fails to compensate for the missing schema description.

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 begins with a specific verb and resource: 'SSE stream of live 1-minute OHLCV bars for EVERY US-listed ticker'. It clearly states what the tool provides and distinguishes it from likely sibling streaming tools like quotes or ticks by emphasizing the 1-minute candle format, all-ticker feed, and no-subscribe behavior.

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?

It explicitly frames this as 'The live-candle feed for charting' and instructs to 'use REST aggregates' for history, which gives a clear when-to-use and an alternative. However, it does not explicitly contrast with other live streams (e.g., quotes, ticks), so it stops short of full alternative enumeration.

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

tengu_v3_stream_decision_generator_statusAInspect

Effective decision-generator status across the optional in-process worker and dedicated processor heartbeat: input signals, emitted decisions, deployment state and local gate counters. Call when decisions are missing.

ParametersJSON Schema
NameRequiredDescriptionDefault

No parameters

Behavior3/5

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

With no annotations provided, the description carries the transparency burden. It discloses the tool's coverage areas (optional in-process worker, dedicated processor heartbeat, input signals, emitted decisions, deployment state, counters), but it does not describe return format, freshness guarantees, or failure behavior. The behavioral insight is moderate but incomplete.

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 two sentences, with the first defining the scope and the second providing a practical use case. There is no fluff or redundant detail, making it highly concise and front-loaded.

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?

For a zero-parameter status/health tool, listing the data categories (input signals, emitted decisions, deployment state, gate counters) effectively conveys what the status covers. The 'call when decisions are missing' trigger adds practical context. It lacks detail on output structure or whether it's a live query versus cached, but this is minor for such a tool.

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 tool has zero parameters and an empty input schema, so the baseline score is 4. No parameter documentation is needed, and the description appropriately focuses on what the status tool reports rather than 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 description clearly identifies the tool as a status reporter for the decision generator, listing concrete components it covers: input signals, emitted decisions, deployment state, and local gate counters. This distinguishes it from sibling status tools like signal_generator_status by focusing specifically on the decision generator.

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 when to use the tool: 'Call when decisions are missing.' This is a clear trigger condition. It does not enumerate alternatives or when-not-to-use scenarios, but the stated trigger is actionable and contextually relevant.

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

tengu_v3_stream_decisionsCInspect

SSE stream of decision-lifecycle events

ParametersJSON Schema
NameRequiredDescriptionDefault
symbolsNo
Behavior2/5

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

With no annotations, the description must carry all behavioral disclosure. It only states 'SSE stream', which implies a push-based, real-time connection, but does not disclose whether it is read-only, how to filter events, the event format, or any operational details. Minimal transparency.

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 description is a single concise phrase with no redundant words, which is excellent for conciseness. However, the brevity veers into under-specification, but that is more relevant to completeness than structure.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness2/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given no annotations, no output schema, and a vague single parameter, this description is severely incomplete. An agent cannot determine event payload structure, filter behavior, or how this stream differs from numerous sibling stream tools.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters1/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

The input schema has one parameter 'symbols' with zero schema description coverage. The tool description does not mention it at all, leaving its purpose (presumably filtering by ticker) completely unspecified.

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?

The description 'SSE stream of decision-lifecycle events' clearly identifies the tool as a streaming resource for a specific domain, distinguishing it from sibling stream tools like stream_signals and stream_events. However, it lacks an explicit action verb and does not elaborate on what 'decision-lifecycle' means, slightly reducing clarity.

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

Usage Guidelines2/5

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

No guidance is provided on when to use this tool versus other stream tools, no alternatives are mentioned, and there are no prerequisites or exclusions. The intended use case is only vaguely implied by the name.

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

tengu_v3_stream_eventsCInspect

Per-user scoped SSE event stream

ParametersJSON Schema
NameRequiredDescriptionDefault
user_idYes
Behavior2/5

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

No annotations are provided, so the description carries the full burden of disclosing behavioral traits. It mentions 'SSE' and 'per-user scoped', which hints that this is a streaming connection requiring a user context, but it omits critical details such as connection lifecycle, authentication requirements, error/retry behavior, or output format. This is insufficient for an agent to know what to expect when invoking the tool.

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

Conciseness2/5

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

The description is a single short phrase, which is brief, but it is under-specified rather than appropriately concise. It does not front-load enough information to be useful; every word is generic and the tool could apply to many stream types. Under-specification is not conciseness, so this score is low.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness1/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a streaming tool with no output schema, no annotations, and only a single parameter, the description is drastically incomplete. It does not explain what events are delivered, the message structure, how the stream is consumed/terminated, or any relationship to other event tools. An agent cannot confidently invoke this tool based on the provided context.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters2/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 compensate for the bare user_id string parameter. The phrase 'per-user scoped' weakly implies that user_id identifies the user for scoping, but it does not explain the expected format, whether it is required, or what values are valid. For a single-parameter tool, this is thin and leaves room for uncertainty about how to correctly fill the parameter.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose3/5

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

The description identifies the tool as a 'Per-user scoped SSE event stream', which clearly indicates it streams events via Server-Sent Events and is scoped to a user. However, it lacks a verb and does not specify what types of events are included, making it vague and only minimally distinct from sibling stream tools like tengu_v3_stream_alerts or tengu_v3_stream_news.

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

Usage Guidelines2/5

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

There is no guidance on when to use this tool versus alternatives. It does not mention whether to choose this over tengu_v3_events (a non-stream endpoint) or other stream variants, nor any prerequisites or context for when streaming events is appropriate. The complete absence of usage direction leaves the agent without selection criteria.

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

tengu_v3_stream_ingest_statusAInspect

Live-data ingest daemon status: provider, subscribed symbols, connection uptime, tick/bar counters, last error. Call when the user asks why live data looks missing/stale.

ParametersJSON Schema
NameRequiredDescriptionDefault

No parameters

Behavior4/5

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

With no annotations provided, the description carries the full disclosure burden. It explicitly enumerates the response fields (provider, subscribed symbols, connection uptime, tick/bar counters, last error), which is a substantive behavioral disclosure. It doesn't mention side effects or rate limits, but for a status query, the description is adequately transparent.

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 two sentences with no filler. The first sentence front-loads the purpose and contents; the second provides a specific usage trigger. Every word earns its place.

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 zero-parameter status tool with no output schema, the description fully covers what the tool returns and when to invoke it. The listed fields are sufficient for an agent to assess the tool's fit for diagnosing missing/stale live data.

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 tool has zero parameters, so the baseline is 4. The schema is empty, and the description correctly does not attempt to explain nonexistent parameters. No additional semantic value is needed.

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 uses a specific verb ('status') and resource ('live-data ingest daemon'), listing concrete data points (provider, subscribed symbols, connection uptime, tick/bar counters, last error). This clearly distinguishes it from sibling status tools like tengu_v3_stream_tick_writer_status or tengu_v3_stream_signal_generator_status.

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 provides an explicit trigger condition: 'Call when the user asks why live data looks missing/stale.' This gives clear context for when to use the tool. It does not explicitly list exclusions or alternative tools, but the guidance is direct and actionable.

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

tengu_v3_stream_market_eventsCInspect

SSE stream of freshness-labelled market events. Every record carries source as-of time, feed lag and staleness so old data cannot masquerade as a new breach.

ParametersJSON Schema
NameRequiredDescriptionDefault
symbolsNo
Behavior3/5

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

With no annotations, the description carries the disclosure burden and does reveal that it is an SSE stream and that each record carries source as-of time, feed lag, and staleness to prevent stale data masquerading as new. However, it omits connection lifecycle behavior, error handling, and whether the stream is read-only or has side effects.

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 two efficient sentences with no filler and front-loads the essential concept (SSE stream of market events). Every sentence earns its place and directly communicates the tool's core value.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness2/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

The description explains the core concept and freshness guarantee but leaves the 'symbols' parameter completely undocumented and provides no usage context or alternative tool guidance. Even for a low-complexity tool with no output schema, this is incomplete.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters1/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

The single 'symbols' parameter has zero schema description coverage, and the tool description never mentions this parameter. The agent cannot infer whether symbols is an optional filter, what format is expected, or how it affects the stream.

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?

The description clearly states it is an SSE stream of freshness-labelled market events, identifying both the resource and the streaming nature. It broadly distinguishes from other stream tools by emphasizing the freshness metadata, but does not explicitly differentiate itself from the similarly named tengu_v3_stream_events.

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

Usage Guidelines2/5

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

The description gives no guidance on when to use this tool versus sibling stream tools such as tengu_v3_stream_events or tengu_v3_market_events_catchup. No alternatives, exclusions, or context for choosing this stream are mentioned.

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

tengu_v3_stream_newsCInspect

SSE stream of structured-news items

ParametersJSON Schema
NameRequiredDescriptionDefault
symbolsNo
Behavior2/5

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

With no annotations provided, the description carries full responsibility for behavioral disclosure. It only reveals 'SSE stream', but omits critical traits like connection persistence, backpressure, pagination, filtering behavior for the 'symbols' parameter, authentication, or rate limits. The minimal info leaves the agent guessing about stream lifecycle.

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 description is extremely concise — a single five-word phrase with no redundant filler. It front-loads the key concept ('SSE stream'). However, the brevity borders on under-specification, which slightly detracts from its structural adequacy.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness2/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a streaming tool with no annotations, no output schema, and undocumented parameters, the description is incomplete. It does not explain how to use the stream, what structured news items look like, how to stop the stream, or how the 'symbols' filter operates. An agent would lack essential context to invoke and process results correctly.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters1/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 0% for the single 'symbols' parameter, and the description does not mention it at all. There is no explanation of what 'symbols' accepts (e.g., comma-separated tickers), whether it is optional, or how it affects the stream. The description adds zero value beyond the bare schema.

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?

The description provides a specific verb ('stream') and resource ('structured-news items'), which clearly indicates it delivers continuous structured news via SSE. It distinguishes from one-shot news tools like tengu_v3_news_structured by emphasizing 'SSE stream', but doesn't differentiate from other stream tools such as tengu_v3_stream_events.

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

Usage Guidelines2/5

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

No guidance on when to use this tool versus alternatives. It does not mention whether to prefer this for real-time updates or contrast it with tengu_v3_news_latest or tengu_v3_news_structured. No exclusions or prerequisites are stated.

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

tengu_v3_stream_news_publisher_statusAInspect

News publisher status: polls completed, articles seen/published, dedup hits, newswire availability. Call when the user asks why news looks missing/stale or whether the pipeline is healthy.

ParametersJSON Schema
NameRequiredDescriptionDefault

No parameters

Behavior4/5

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

With no annotations, the description carries full burden. It discloses the specific status metrics included and implies a read-only health check. However, it does not explicitly state that the tool has no side effects or describe edge cases, leaving a minor gap.

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?

Two concise sentences, front-loaded with 'News publisher status', and every word contributes. No fluff or repetition.

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?

For a simple zero-parameter, no-output-schema status tool, the description provides the essential usage context and the reported metrics. It does not detail the response structure, but the complexity of the tool is low enough that this is sufficient.

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 tool has zero parameters and the schema coverage is 100% (empty properties). Per the rubric, a baseline of 4 is appropriate since the description does not need to explain paramet syntax.

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 identifies the tool as 'News publisher status' and enumerates specific outputs (polls completed, articles seen/published, dedup hits, newswire availability), distinguishing it from sibling status tools like tengu_v3_stream_ingest_status or tengu_v3_stream_status.

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?

Explicitly states when to call this tool: 'Call when the user asks why news looks missing/stale or whether the pipeline is healthy.' It provides clear context but does not mention alternatives or exclusions, so it misses the top score.

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

tengu_v3_stream_quotesAInspect

SSE stream of live per-venue bid/ask quote events for the requested symbols (bid/ask price+size + per-side venue IDs). Connecting auto-subscribes coverage within ~5s. Quiet outside US market hours — that is correct, not broken. Sizes are the venue's numbers untransformed; never present them as share counts.

ParametersJSON Schema
NameRequiredDescriptionDefault
symbolsYes
Behavior5/5

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

With no annotations, the description carries the full burden. It goes beyond the basics by explaining the auto-subscription behavior, normal quiet periods, and a critical data caveat that sizes are untransformed venue numbers and must not be presented as share counts. This is rich, honest behavioral disclosure.

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 compact, front-loaded with the main purpose, and all additional sentences add critical context (auto-subscription, quiet hours, data interpretation warning). No fluff or redundancy.

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?

The description covers the essential behavioral aspects (USB subscription, quiet hours) and the data contents (bid/ask price+size, venue IDs), which is substantial for a simple stream tool with no output schema. However, it lacks details on the symbols parameter format, which is a minor completeness gap given the tool's simplicity.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters2/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

The schema has one parameter 'symbols' with no description (0% coverage). The description only says 'for the requested symbols', which is nearly a tautology and does not clarify the expected format (e.g., comma-separated list, single symbol, case sensitivity). This is a significant gap for correct invocation.

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 the tool provides an SSE stream of live per-venue bid/ask quote events with bid/ask price+size and per-side venue IDs. The specific verb 'stream' and resource 'per-venue bid/ask quote events' distinguishes it from sibling stream tools like ticks, bars, and signals.

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 provides clear context on when to expect data: auto-subscribes within ~5s and quiet outside US market hours, with reassurance that quiet is correct. However, it does not explicitly name alternatives or exclusions, though the distinct data type makes it obvious.

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

tengu_v3_stream_realtime_guideAInspect

Agent protocol for real-time queries: which SSE feed maps to which intent (live price, signals, decisions, news, alerts), payload shapes, when to prefer SSE over REST, and fallback rules when flags are off

ParametersJSON Schema
NameRequiredDescriptionDefault

No parameters

Behavior4/5

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

With no annotations, the description carries the full burden. It transparently discloses that this is a reference/protocol document, not an operational tool, and enumerates its contents. It doesn't detail side effects or limitations beyond fallback rules, but being a guide, this isn't a significant gap.

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 description is a single dense sentence that packs substantial information without excess verbiage. It could be improved with bullet points for readability, but it remains concise and front-loaded with the core purpose. Each clause adds distinct useful details.

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 has no parameters or output schema, the description must carry the full context. It covers the essential aspects of a real-time query protocol: feed mapping, payload shapes, transport selection, and fallback behavior. It's complete enough for an agent to understand what the guide offers and when to consult it.

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 tool has zero parameters, so the baseline is 4 per rubric. The description appropriately explains what the tool does rather than focusing on parameters, which would be irrelevant.

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 this is an 'Agent protocol for real-time queries' and specifies exactly what it covers: SSE feed-to-intent mapping, payload shapes, SSE vs REST preference, and fallback rules. This distinguishes it from sibling stream tools, which are the actual feeds rather than the guide.

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?

Explicitly includes 'when to prefer SSE over REST' and 'fallback rules when flags are off', providing direct guidance on when to use this guide and how to choose between streaming and REST. It also maps intents to specific feeds, which tells the agent which stream to use for what purpose.

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

tengu_v3_stream_signal_generator_statusAInspect

Effective signal-generator status across the optional in-process worker and dedicated processor heartbeat: input ticks, emitted signals and deployment state. Call when live signals look missing/stale.

ParametersJSON Schema
NameRequiredDescriptionDefault

No parameters

Behavior3/5

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

No annotations are provided, so the description carries the transparency burden. It explains that status is aggregated across an optional in-process worker and dedicated processor heartbeat, and enumerates reported items (input ticks, emitted signals, deployment state). It does not explicitly state that this is a read-only operation, nor mention any potential side effects, rate limits, or data interpretation caveats, leaving some gaps.

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 two sentences, both earning their place: the first states what the tool reports, the second gives a concrete usage trigger. It is front-loaded with the core purpose and contains no fluff, making it highly efficient.

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?

For a low-complexity status tool with no parameters and no output schema, the description is quite complete. It lists the key output categories (ticks, signals, deployment state) and when to use it. Minor missing context includes the exact return format or any error conditions, but the tool is simple and the description covers the essentials.

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 tool has zero parameters and an empty input schema with 100% schema coverage (vacuously). The baseline for 0-param tools is 4, and the description adds nothing about parameters because none are needed. This is appropriate and offers no confusion.

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?

The description clearly identifies the resource: signal-generator status across worker and heartbeat, listing specific outputs (input ticks, emitted signals, deployment state). It distinguishes from sibling status tools like tengu_v3_stream_status by specifying 'signal-generator'. However, it lacks an explicit action verb like 'get' or 'return', relying on the tool name and context to imply a query.

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 gives an explicit trigger: 'Call when live signals look missing/stale.' This is clear usage guidance. It does not mention alternatives or when not to use, but the specific condition is sufficient for a status/diagnostic tool.

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

tengu_v3_stream_signalsCInspect

SSE stream of fused signals

ParametersJSON Schema
NameRequiredDescriptionDefault
symbolsNo
Behavior2/5

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

With no annotations, the description must disclose behavioral traits. It mentions SSE, which implies a persistent connection, but doesn't explain stream lifecycle, event payload, or how the symbols parameter affects output. It also fails to mention any connection/close behavior or data volume implications.

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

Conciseness2/5

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

The description is very brief and front-loaded, with no filler. However, it is under-specified for a streaming tool with no output schema, making it too short to be appropriately sized.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness1/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

There is no output schema or annotation, and the description fails to explain what events look like, how to connect, or what data is returned. Given its complexity as a streaming tool with parameters, the description is completely insufficient.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters2/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

The schema contains a single parameter 'symbols' as a string, but the description doesn't explain its meaning, format (e.g., comma-separated), or optionality. Schema description coverage is 0%, and the description does nothing to clarify parameter semantics beyond the parameter name.

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?

The description states the tool provides an SSE stream of fused signals, using a specific protocol (SSE) and a distinct data type (fused signals). This makes the main function clear, though it does not explicitly distinguish it from sibling tools like tengu_v3_signals_fusion or other stream tools.

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

Usage Guidelines2/5

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

No usage guidance is provided. The description does not mention when to use this tool versus other stream tools, nor does it state prerequisites or alternatives. The only implied context is 'SSE stream', which suggests real-time use.

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

tengu_v3_stream_statusAInspect

Bounded Redis reachability plus expiring market-producer and signal-pipeline heartbeats, per-capability readiness, coverage modes/limits and known SSE endpoints. Call before claiming live data or diagnosing missing/stale feeds.

ParametersJSON Schema
NameRequiredDescriptionDefault

No parameters

Behavior4/5

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

With no annotations provided, the description carries the full burden. It discloses the tool's diagnostic nature (reachability, heartbeats, readiness) and implies read-only behavior through terms like 'Bounded' and 'known SSE endpoints.' It also suggests the tool can be used for troubleshooting, giving a clear behavioral profile. It doesn't explicitly confirm zero side effects, but the content strongly implies a safe status check.

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 two sentences with no filler. The first sentence packs specific components, and the second provides actionable usage context. Every word contributes to understanding.

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 no output schema, the description does a solid job of summarizing the information content (health checks, readiness, coverage, endpoints). It may not specify the exact response structure, but it is sufficient for an agent to decide when to invoke and what to expect at a high level. The tool is simple enough with no parameters, so the description is mostly complete.

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 tool has zero parameters and the input schema is empty, so there is nothing to explain. Per the rubric, 0 params yields a baseline of 4. The description adds no parameter details because none are needed.

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?

The description clearly identifies this as a stream status tool, listing what it covers: Redis reachability, heartbeats, readiness, coverage modes/limits, and SSE endpoints. It distinguishes itself from data stream siblings by focusing on infrastructure status. However, it lacks an explicit verb like 'returns' or 'checks,' relying on the name and content enumeration.

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 second sentence offers explicit guidance: 'Call before claiming live data or diagnosing missing/stale feeds.' This clearly states when to use the tool. It does not mention when to avoid it or name alternative tools, but the context is strong enough for an agent to select this over data-stream siblings.

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

tengu_v3_stream_ticksCInspect

SSE stream of live US-equity trades. A filtered connect queues cross-process T+Q coverage; the dedicated producer reconciles it asynchronously (target ~5s).

ParametersJSON Schema
NameRequiredDescriptionDefault
symbolsNo
Behavior2/5

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

No annotations are provided, so the description must fully disclose behavior. It does mention SSE and an asynchronous ~5s reconciliation target, but it fails to explain what the stream emits, whether it is continuous, how to terminate it, or what 'cross-process T+Q coverage' means. This is a significant gap for a streaming tool.

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 first sentence is concise and front-loaded, but the second sentence about 'filtered connect queues cross-process T+Q coverage' and 'dedicated producer reconciles' is cryptic internal detail that an agent cannot act on. It does not earn its place, so the description is not as effective as it could be.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness2/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

This is a streaming tool with no output schema and no annotations, so the description must explain how to consume the SSE stream, the shape of events, and the meaning of the symbol filter. It covers none of that, instead offering implementation details that are irrelevant to tool selection and invocation. The description is incomplete for the task.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters2/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema coverage is 0% and the description provides almost no help. The phrase 'filtered connect' vaguely suggests the 'symbols' parameter filters the stream, but it does not specify format, whether it is required, or how multiple symbols are handled. The description does not compensate for the empty schema.

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?

The opening phrase 'SSE stream of live US-equity trades' clearly identifies the resource (US-equity trades) and operation (streaming via SSE), distinguishing it from sibling stream tools like quotes and bars. However, it uses a noun phrase rather than a directive verb, and the second sentence introduces jargon that muddies the primary purpose.

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?

The description implies use when live US-equity trade data is needed, but it never explicitly compares to tengu_v3_stream_quotes, tengu_v3_stream_bars, or other stream tools. There is no guidance on filtering via the 'symbols' parameter or on how to handle the SSE connection, leaving the agent to infer usage.

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

tengu_v3_stream_tick_writer_statusAInspect

Tick writer (tick-persistence buffer) status: buffered rows, batches written, last flush duration. Call when the user asks whether the pipeline is healthy or why stored tick data looks missing.

ParametersJSON Schema
NameRequiredDescriptionDefault

No parameters

Behavior4/5

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

With no annotations provided, the description carries the full burden. It discloses exactly what the tool returns (buffered rows, batches written, last flush duration) and its diagnostic purpose. It does not explicitly state 'read-only' but the status/metric nature strongly implies no side effects, which is sufficient for a status tool.

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?

Two concise sentences. The first states the resource and key metrics; the second gives usage scenarios. No filler, front-loaded with the most important information.

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?

For a simple status tool with no parameters and no output schema, the description is nearly complete. It names the resource, lists the metrics, and gives use cases. It does not describe the exact output format or data types, but this is likely unnecessary given the straightforward nature of the tool.

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 tool has zero parameters, so the baseline is 4. The description correctly implies no inputs are needed, and no parameter documentation is required beyond the empty schema.

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 it reports tick writer status with specific metrics (buffered rows, batches written, last flush duration). It identifies the resource (tick-persistence buffer) and differentiates from sibling status tools like tengu_v3_stream_status or tengu_v3_stream_ingest_status by naming the exact component and metrics.

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 provides explicit when-to-use context: 'Call when the user asks whether the pipeline is healthy or why stored tick data looks missing.' It does not mention when NOT to use it or name alternative tools, but the scenarios are clear and actionable.

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

tengu_v3_stream_universe_statusAInspect

Legacy in-process UniverseManager diagnostics for dev. For production cross-process warm coverage use tengu_v3_market_universe and tengu_v3_stream_status.

ParametersJSON Schema
NameRequiredDescriptionDefault

No parameters

Behavior3/5

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

With no annotations, the description alone must disclose behavior. It conveys that the tool is legacy, in-process, and dev-oriented, which implies it may not support production scenarios and is likely a lower-level diagnostic. However, it does not describe what the diagnostics entail, return data shape, or any risks like performance impact.

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 two sentences with no wasted words. The main purpose and dev-only nature are front-loaded, and the production alternative is given concisely in the second sentence.

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?

For a zero-parameter legacy diagnostic tool, this description is reasonably complete: it states what it is, its intended environment, and provides alternatives for production. It lacks a brief note on what 'status' includes or what the output looks like, but given the tool's low complexity and clear naming, this is not a critical gap.

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 tool has zero parameters, and schema coverage is 100% (vacuously). The description adds no parameter information, but with no parameters to document, the baseline of 4 applies as the schema fully covers the trivial parameter space.

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?

The description clearly states this is a legacy in-process UniverseManager diagnostics tool for development use. It also names specific sibling tools as production alternatives, which distinguishes it from related tools like tengu_v3_market_universe and tengu_v3_stream_status.

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 explicitly says this is for dev and instructs to use tengu_v3_market_universe and tengu_v3_stream_status for production cross-process warm coverage. This provides clear when-to-use and when-not-to-use guidance with named alternatives.

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

tengu_v3_supply_chain_geo_revenueAInspect

GEOGRAPHIC REVENUE EXPOSURE for one company — where the revenue actually comes from, estimated region by region and country by country for a fiscal period, with a per-row confidence score. This is the tariff / geopolitical lens: it answers 'how much of this company's revenue is China?' for names that never break that out. Returns the requested hierarchy layer as regions, the country leaves as countries, concentration metrics (largest country share and an HHI), the period served and the other periods available. ?country=CN,TW returns a per-period HISTORY for exactly those countries. Each layer sums to 100 on its own, so never add a region to a country. Amounts carry NO currency code in the source and the reporting currency can change between periods, so compare on PERCENT, not amount. Estimates, not company-reported segments — for reported segments use /fundamentals/segments/{ticker}.

ParametersJSON Schema
NameRequiredDescriptionDefault
layerNo
periodNo
tickerYesPath parameter 'ticker' (required).
countryNo
company_idNo
top_countriesNo
Behavior5/5

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

With no annotations, the description carries full burden and does so thoroughly. It discloses that data are estimates, includes per-row confidence, describes return structure (regions, countries, concentration metrics), and warns about currency code absence and period-to-period currency changes. It also clarifies that each layer sums to 100, preventing misuse.

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 description is long but information-dense, with no wasted words. It front-loads the core purpose and then covers caveats. It could be better formatted with bullets, but every sentence adds value, so it earns a 4.

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 tool with no output schema and no annotations, this description is exceptional. It covers the return fields (regions, countries, concentration metrics, period), explains the country-filter history behavior, gives interpretation guidance (percent vs amount), and points to an alternative. It fully equips an agent to invoke and interpret the 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 only 17%, so the description must compensate. It adds meaning for the country parameter (comma-separated codes, per-period history), implies layer controls hierarchy, and mentions period. However, it does not explain top_countries or company_id, nor does it define layer value meanings, leaving some parameters ambiguous.

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 identifies the tool's purpose: it estimates geographic revenue exposure for a single company by region/country with confidence scores. It distinguishes itself from sibling tools by emphasizing the tariff/geopolitical lens and explicitly contrasts with reported segments via /fundamentals/segments/{ticker}.

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 provides strong usage guidance: it says to use this for names that never break out geographic revenue, and explicitly says to use /fundamentals/segments/{ticker} instead for reported segments. This gives an explicit alternative and clear when/not-to-use context.

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

tengu_v3_supply_chain_relationshipsAInspect

The SUPPLY-CHAIN GRAPH around one company — its customers, suppliers, competitors and partners in one call, each with the relationship's start date, whether it is still open, which side reported it, and revenue dependence where it was estimated. Both directions are merged and normalised to the queried company's point of view, so 'customers' includes companies that report THIS company as their supplier. Call it to map second-order exposure (whose earnings move when this name moves) or to find the listed suppliers behind a product cycle. Defaults to CURRENT relationships; status=all or as_of=YYYY-MM-DD gives history. One entry per counterparty by default (several records can back one pair) — group_by=record gives the underlying versions. revenue_percent belongs to the company named in revenue_percent_of_ticker, is an ESTIMATE on every row, and is present on only a minority of edges; coverage is reported per group.

ParametersJSON Schema
NameRequiredDescriptionDefault
as_ofNo
limitNo
statusNocurrent
tickerYesPath parameter 'ticker' (required).
group_byNocounterparty
rel_typeNo
company_idNo
listed_onlyNo
Behavior5/5

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

With no annotations provided, the description carries the full disclosure burden and does so thoroughly. It explains the normalization of both directions ('customers includes companies that report THIS company as their supplier'), the default grouping and how to access raw records, and the data-quality caveat that revenue_percent is 'an ESTIMATE on every row' and present on only a minority of edges. This level of behavioral detail is exceptional.

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 a single dense paragraph that is fully front-loaded with the core resource and scope, then progressively adds operational details. Every sentence contributes unique information—purpose, bidirectional normalization, use cases, defaults, grouping, and data-quality caveats—with no redundancy or filler.

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?

For a tool with 8 parameters, no output schema, and no annotations, the description provides strong context: it explains the output fields (start date, open status, reporting side, revenue dependence), the query behavior, and the revenue estimate limitations. Minor gaps remain around limit behavior, listed_only, and company_id, but the description gives enough for an agent to understand the tool's role and expected response shape.

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 only 13% (only a boilerplate description for ticker), so the description must compensate. It effectively explains status and as_of for history, group_by for record-level granularity, and implicitly covers rel_type by listing the relationship categories. However, it omits semantics for limit, company_id, and listed_only, leaving those parameters underdocumented despite their presence in the schema.

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 explicitly identifies the resource as 'The SUPPLY-CHAIN GRAPH around one company' and enumerates its components (customers, suppliers, competitors, partners). It clearly distinguishes this tool from siblings like tengu_v3_supply_chain_geo_revenue and tengu_v3_supply_chain_revenue_dependence by covering the full relationship graph, including both directions and multiple relationship types. The phrase 'in one call' emphasizes the consolidated scope.

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 provides explicit use cases: 'map second-order exposure' and 'find the listed suppliers behind a product cycle'. It also gives parameter-based guidance, such as 'Defaults to CURRENT relationships; status=all or as_of=YYYY-MM-DD gives history' and 'group_by=record gives the underlying versions'. However, it does not explicitly name alternatives or state when not to use this tool, leaving a small gap in sibling differentiation.

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

tengu_v3_supply_chain_revenue_dependenceAInspect

REVENUE DEPENDENCE, both sides — the revenue-at-risk map around one company. customer_concentration: how much of THIS company's revenue each customer accounts for. dependents_on_company: other companies whose revenue depends on THIS one (e.g. a component maker that books most of its revenue from one handset vendor) — the list that reprices when this name changes its orders, and it is in no filing screen. Percentages are of the DEPENDENT company's revenue and every row names whose revenue it is, so the number can never be read backwards. Coverage is sparse and disclosed: only a minority of relationships carry an estimated percentage, so absence means UNKNOWN, never zero.

ParametersJSON Schema
NameRequiredDescriptionDefault
as_ofNo
limitNo
statusNocurrent
tickerYesPath parameter 'ticker' (required).
company_idNo
min_percentNo
Behavior4/5

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

With no annotations, the description carries full responsibility. It discloses sparse coverage and that absence means UNKNOWN, never zero, which is critical for correct interpretation. It also clarifies the percentage basis (of the dependent company's revenue) to prevent misreading. This goes beyond basic descriptions, though it doesn't cover other behavioral aspects like rate limits or data freshness.

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 well-organized. The first sentence summarizes the core purpose, and subsequent sentences add crucial nuance without redundancy. Each clause earns its place, and the structure is logical: definition, then elaboration on each side, then data quality caveats.

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?

The description thoroughly explains the output semantics and data caveats, which is valuable given no output schema. However, it omits parameter guidance and does not differentiate from sibling supply chain tools. The absence of parameter explanations is a notable gap, making the tool less self-contained for an agent.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters2/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

The description does not mention any input parameters. Schema coverage is only 17% (just ticker has a description), so the agent receives no guidance on as_of, limit, status, company_id, or min_percent. The description does not compensate for this gap, leaving the agent to guess at the meaning and usage of these 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 description clearly states the tool's purpose as a revenue-at-risk map around one company, explicitly naming the two sides: customer_concentration and dependents_on_company. It uses specific terminology and examples, making it unambiguous what data is returned and how it differs from generic supply chain tools.

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 implicitly guides usage by explaining the two output types and their use cases, e.g., dependents_on_company is 'the list that reprices when this name changes its orders'. It also highlights that this data is not in filing screens, suggesting when this tool is uniquely valuable. However, it doesn't explicitly compare to sibling tools or state when not to use it.

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

tengu_v3_system_healthAInspect

Aggregate system health with per-subsystem status. Call when the user asks whether the system/data pipeline is healthy or why data looks missing/stale.

ParametersJSON Schema
NameRequiredDescriptionDefault

No parameters

Behavior2/5

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

With no annotations provided, the description must fully convey behavioral traits, but it only states what the tool does ('Aggregate system health with per-subsystem status') without disclosing side effects, read-only nature, response format, or any prerequisites. The description does not add context about safety or effects, which is a significant gap for a tool operating in a system health context.

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 two sentences, each earning its place. The first sentence states the function, the second gives usage guidance. It is front-loaded, concise, and contains no filler or repetition. This meets the highest standard of conciseness.

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?

This is a simple no-parameter tool, but the description goes beyond a minimal definition by including the use case and output granularity. However, without an output schema or annotations, it does not describe the exact structure of the health status, leaving some ambiguity about what 'per-subsystem status' entails. It is mostly complete for its simplicity, but lacks a bit of detail on the return value.

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 tool has zero parameters, and the schema coverage is 100% (empty object). According to the rubric, zero parameters gives a baseline of 4. The description does not need to explain parameter semantics, and the description adds no irrelevant information. The score is therefore based on the baseline.

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?

The description clearly states the action 'Aggregate system health' and the output scope 'per-subsystem status.' It is specific and uses an appropriate verb, but it does not explicitly distinguish itself from other health-related sibling tools like tengu_status or tengu_ml_health. The stated intent is unambiguous enough for an agent to understand what the tool does.

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 provides a trigger condition: 'Call when the user asks whether the system/data pipeline is healthy or why data looks missing/stale.' This gives clear usage context, though it does not mention any exclusions or alternative tools. It states when to use the tool, which is sufficient for a clear guideline.

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

tengu_v3_tape_barsAInspect

Intraday minute bars for one equity from FIRM's own market-data capture (~10.5k tickers, extended hours included). Use when an agent needs REAL intraday price/volume history — how a ticker traded through an event, VWAP context, or a finer-grained chart than daily bars. Archive begins 2026-05-10; pass date=YYYY-MM-DD (or start+end, max 5 trading days). 1m is the native grain; 5m/15m/1h are resampled server-side.

ParametersJSON Schema
NameRequiredDescriptionDefault
endNo
dateNo
limitNo
startNo
tickerYesPath parameter 'ticker' (required).
intervalNo1m
Behavior4/5

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

With no annotations, the description carries the full burden. It discloses data source, coverage, extended hours, archive start date, date range limits (max 5 trading days), and interval resampling behavior. However, it omits details about the `limit` parameter behavior, default date handling, and exact response format, leaving minor ambiguity.

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?

Two concise sentences with high information density. Front-loads the core purpose, then provides usage and constraints. No redundant phrasing or filler. Every clause adds value.

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?

For a tool with 6 parameters, no annotations, and no output schema, the description covers purpose, usage, data provenance, date constraints, and interval behavior. It lacks explicit mention of the response structure (e.g., OHLCV fields) and the effect of `limit`, but these are inferable from the term 'bars' and schema defaults. Overall, it is sufficiently complete for an agent to select and invoke 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?

Schema description coverage is only 17%, so the description must compensate. It does well by explaining date usage ('date=YYYY-MM-DD (or start+end, max 5 trading days)') and interval semantics ('1m is the native grain; 5m/15m/1h are resampled server-side'). The `limit` parameter is not addressed, but its schema definition provides default and max, so it's partially covered.

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 it provides 'Intraday minute bars for one equity' from FIRM's own market-data capture, with specific scope (~10.5k tickers, extended hours). It distinguishes itself from siblings by specifying 'one equity' and intraday granularity, and uses a specific verb ('bars') and resource.

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?

Explicitly states when to use: 'when an agent needs REAL intraday price/volume history — how a ticker traded through an event, VWAP context, or a finer-grained chart than daily bars.' Also implies exclusions by saying 'one equity' and references daily bars as a contrast. This gives clear direction without needing named alternatives.

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

tengu_v3_tape_futuresAInspect

Raw CME futures trade prints for one root (NG, CL, ES...) and one day, from FIRM's own capture: per-print price, size, notional, block flag across contract months. Call it for real futures flow: energy tape, rolls, block prints. date mandatory; archive from 2026-05-13, mostly CME energy (NG heavy) — empty = not-yet-captured, not quiet.

ParametersJSON Schema
NameRequiredDescriptionDefault
dateYes
rootYesPath parameter 'root' (required).
limitNo
Behavior4/5

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

With no annotations, the description carries the full burden. It discloses valuable behavioral traits: data is from 'FIRM's own capture', archive starts 'from 2026-05-13', coverage is 'mostly CME energy (NG heavy)', and empty results mean 'not-yet-captured, not quiet'. It does not elaborate on sorting, pagination, or response formatting, but the key interpretive context is present.

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 three concise sentences, each adding distinct value: data scope, usage guidance, and archive/empty semantics. It is front-loaded with the core purpose and contains zero filler, making it easy to parse quickly.

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?

For a tool with no output schema and no annotations, the description covers purpose, usage, data coverage, and parameter meaning. It lists the key fields returned (price, size, notional, block flag) and contract months, but lacks details on response structure, sorting, or how `limit` affects results. Slightly more detail would make it fully complete.

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 description coverage is only 33% (root has a trivial description, date and limit have none). The description compensates by explaining root examples ('NG, CL, ES...'), stating 'date mandatory', and clarifying one-root/one-day semantics. It does not explain `limit`, but the schema provides default/min/max, and the parameter is fairly self-evident.

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 the tool returns 'Raw CME futures trade prints for one root (NG, CL, ES...) and one day', specifying the verb, resource, and scope. It details the data fields ('per-print price, size, notional, block flag') and distinguishes it from siblings like tape_bars or tape_futures_curve by emphasizing trade prints and flow.

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?

It gives explicit usage context: 'Call it for real futures flow: energy tape, rolls, block prints.' This tells the agent when to use it, but does not explicitly mention alternatives or exclusions. The caveat 'empty = not-yet-captured, not quiet' prevents misinterpretation of empty results.

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

tengu_v3_tape_futures_curveAInspect

Futures term structure for one CME root (27 roots incl. ES, NQ, CL, NG, GC, ZN) from FIRM's daily chain snapshots — per contract month: last/settlement, bid/ask, session OHLC, volume, open interest, days-to-expiry. Call it for curve shape (contango/backwardation), roll, or OI distribution; omit date for latest, snapshots begin 2026-05-18.

ParametersJSON Schema
NameRequiredDescriptionDefault
dateNo
rootYesPath parameter 'root' (required).
limitNo
Behavior3/5

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

With no annotations, the description carries the full burden. It discloses the data source ('FIRM's daily chain snapshots'), history start date (2026-05-18), and field set, which is useful. However, it doesn't mention rate limits, error behavior, or any side effects—though this is a read-only retrieval tool, the lack of explicit read-only confirmation and other operational constraints keeps this at a middle score.

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 two dense but efficient sentences. It front-loads the core concept ('Futures term structure') and packs in all essential details without redundancy. Every clause adds information, and there is no filler.

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?

The tool has no output schema, so the description must explain what is returned. It lists the per-contract fields comprehensively and covers a few key context points (source, start date, omit date for latest). However, it omits the effect of the 'limit' parameter, date format, and any ordering information, making it slightly incomplete for an integration agent.

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 only 33% and the schema's root description is tautological ('Path parameter root'). The description compensates by clarifying 'root' as a CME product code with examples (ES, NQ, CL, NG, GC, ZN) and implicitly explains 'date' via 'omit date for latest'. The 'limit' parameter is not mentioned at all, leaving its effect ambiguous. Some value added, but not enough to fully compensate for the schema gap.

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 the tool's purpose: 'Futures term structure for one CME root' and enumerates the exact data fields returned per contract month. This distinguishes it from sibling tape tools (e.g., tape_futures, tape_options) which focus on different instruments or data types.

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?

It explicitly provides usage cases: 'Call it for curve shape (contango/backwardation), roll, or OI distribution' and gives a concrete operational tip: 'omit date for latest'. While it doesn't name alternative tools, the guidance is clear enough for an agent to decide when to invoke this tool.

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

tengu_v3_tape_index_barsAInspect

Intraday minute bars for the major index tapes — SPX, NDX, DJI, RUT, VIX — from FIRM's own market-data indices capture. Use for intraday market/vol context around an event (how did SPX and VIX move through the FOMC statement?) or as the benchmark leg next to tengu_v3_tape_bars. Archive begins 2026-05-14; one day or max 5 trading days per call.

ParametersJSON Schema
NameRequiredDescriptionDefault
endNo
dateNo
indexYesPath parameter 'index' (required).
limitNo
startNo
intervalNo1m
Behavior4/5

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

With no annotations provided, the description carries the full burden of behavioral disclosure. It discloses the archive start date (2026-05-14) and per-call range limit (one day or max 5 trading days), which are concrete operational constraints not visible in the schema. However, it does not mention output format, real-time vs. delayed data, or other potential behavioral traits.

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 two sentences: the first front-loads the resource and purpose, the second provides use cases and key constraints. Every sentence earns its place with no redundancy or filler.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness2/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given six parameters, no output schema, and no annotations, the description is under-specified. It covers core purpose and range limits but omits output bar fields, interval options, and parameter-date semantics. Without an output schema, agents cannot infer the return structure, leaving a significant gap for a data-retrieval tool.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters2/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema coverage is only 17% (only the required 'index' parameter has a description). The description lists valid index values but does not clarify semantics for start, end, date, limit, or interval. The 'one day or max 5 trading days' constraint hints at date-range behavior but does not explain how these parameters interact or the expected formats.

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 identifies the tool as providing intraday minute bars for major index tapes (SPX, NDX, DJI, RUT, VIX) and distinguishes it from the sibling tengu_v3_tape_bars by positioning it as the benchmark leg. The verb 'bars' and explicit index list leave no doubt about the resource.

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 recommends use for intraday market/vol context around events and as a benchmark leg next to tengu_v3_tape_bars, providing clear context and naming an alternative/companion tool. It does not state explicit 'when not to use' exclusions, but the benchmark-leg mention implies differentiation from individual-stock tape bars.

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

tengu_v3_tape_microstructureAInspect

60s microstructure windows per ticker from FIRM's live tape: rolling vwap, trade count/avg size, block count/vol, buy/sell imbalance, large-trade premium. Call it to separate smart-money accumulation from retail moves. Active-set coverage (~few hundred names/session; empty = uncaptured); omit date for latest, capture from 2026-05-13.

ParametersJSON Schema
NameRequiredDescriptionDefault
dateNo
limitNo
tickerYesPath parameter 'ticker' (required).
Behavior4/5

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

With no annotations, the description must disclose behavioral traits, and it does: it explains coverage limits ('Active-set coverage (~few hundred names/session; empty = uncaptured)') and date semantics ('omit date for latest, capture from 2026-05-13'). It lacks detail on return format and pagination, but the provided caveats are valuable.

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?

Two dense sentences front-load the core metrics and use case, with every clause contributing to comprehension. No fluff or repetition.

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?

For a single-ticker data retrieval tool, the description covers purpose, computed metrics, coverage caveats, and date behavior. It omits limit semantics and explicit output shape, but the listed metrics and caveats provide sufficient context for an agent to select and invoke the 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 only 33% (ticker only). The description adds meaning for date ('omit date for latest') and implies ticker usage, but the limit parameter is undocumented in both schema and description, leaving a gap for a parameter that controls result count.

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 the tool's function: '60s microstructure windows per ticker from FIRM's live tape' and enumerates the specific metrics (rolling vwap, trade count/avg size, block count/vol, buy/sell imbalance, large-trade premium). This distinguishes it from sibling tools like tengu_v3_tape_bars.

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?

Provides a clear use case ('Call it to separate smart-money accumulation from retail moves') and context about active-set coverage and date handling. However, it does not explicitly name alternative tools or state when not to use it.

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

tengu_v3_tape_optionsAInspect

Raw options trade prints for one underlying on one trading day from FIRM's own market-data capture — per-print premium (notional_usd), strike, expiry, block/sweep flags, sorted largest premium first. Use when an agent needs the actual options tape behind a flow signal: whale prints, sweep activity, what struck around a specific time. Archive begins 2026-05-11; date is mandatory (70 GB day-partitioned table).

ParametersJSON Schema
NameRequiredDescriptionDefault
dateYes
sideNo
limitNo
tickerYesPath parameter 'ticker' (required).
min_premiumNo
Behavior3/5

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

No annotations are provided, so the description carries the full burden. It discloses the data source (FIRM's own capture), sorting behavior, mandatory date, and hints at the large table size (70 GB). This is useful but it does not cover request limits, pagination, authentication, or the exact return shape beyond listing a few fields. It is adequate but not comprehensive.

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 three sentences, front-loaded with the core function, then usage guidance, then a critical data constraint. Every sentence provides distinct value: what it does, when to use it, and a key limitation. No filler or redundancy.

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?

Considering there is no output schema, the description explains the return fields (premium, strike, expiry, block/sweep flags), sorting, and source. It also gives the mandatory date and archive start, helping agents avoid full-table scans. It does not mention if there is a timestamp field for intraday filtering, despite the implication of 'around a specific time', but this is a minor gap for a tool of this scope.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters2/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is only 20% (only ticker has a placeholder description). The description adds meaning by mentioning 'per-print premium (notional_usd)' which helps interpret min_premium, and 'sorted largest premium first' which relates to limit. However, it does not explain side, the format of date, or clearly connect min_premium to premium filtering. With such low schema coverage, the description should compensate more than it does.

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 the tool returns raw options trade prints for one underlying on one trading day, with specific fields like premium, strike, expiry, and block/sweep flags, sorted by largest premium first. This distinguishes it from flow-signal tools by emphasizing 'raw' and 'actual options tape', making 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?

It provides explicit usage context: 'Use when an agent needs the actual options tape behind a flow signal: whale prints, sweep activity, what struck around a specific time.' It also notes that date is mandatory and mentions the archive start date, which is a practical prerequisite. However, it does not explicitly name alternative tools or state when not to use this tool, so it misses the top tier.

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

tengu_v3_tape_options_chainAInspect

Full historical OPTIONS CHAIN for one underlying on one snapshot day from FIRM's own daily market-data capture — per contract: strike, expiry, dte, bid/ask/mid/last, day volume + VWAP, implied volatility, the full greeks (delta/gamma/theta/vega), open interest and underlying price, plus a chain summary (contract/expiration counts, put/call OI + volume ratios, front-month ATM IV). Use it to reconstruct the IV surface, greeks or OI distribution AS IT STOOD on a past day, find where OI/volume concentrated, or pull the near-the-money strikes around an event. Omit date for the latest captured day (reported as snapshot_day); filter by side, expiration/dte, min OI/volume or a moneyness band; sort by open interest or dollar notional. Capture begins 2026-05-10. For the raw options TRADE tape use tengu_v3_tape_options; for live GEX/dealer flow use the options_flow tools.

ParametersJSON Schema
NameRequiredDescriptionDefault
dateNo
sortNoopen_interest
limitNo
tickerYesPath parameter 'ticker' (required).
max_dteNo
min_dteNo
moneynessNo
expirationNo
min_volumeNo
contract_typeNo
min_open_interestNo
Behavior4/5

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

No annotations provided, so description carries full burden. It discloses data source (FIRM's own daily market-data capture), historical snapshot nature, default date behavior (omit date for latest, reported as snapshot_day), and coverage start (2026-05-10). It also describes filtering and sorting behavior. Gaps: no mention of read-only nature (obvious) or limit defaults (schema covers), so strong but not full.

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?

Packed paragraph with high information density; every sentence adds value: definition, fields, use cases, default date, filters, data start, alternatives. No fluff, though it could benefit from line breaks for readability.

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?

11 params, no output schema, no annotations – description covers output fields in granular detail (per contract data + chain summary), use cases, and data availability. Missing exact semantics for moneyness band and limit behavior, but overall sufficient for an agent to invoke 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?

Schema description coverage is 9% (only ticker has a placeholder description), so description must compensate. It explains side, expiration/dte, min OI/volume, moneyness band, and sort in prose, plus date default. However, it does not define moneyness boundaries or explain limit parameter – minor gaps.

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?

Description opens with 'Full historical OPTIONS CHAIN for one underlying on one snapshot day' – a specific verb+resource+scope. It clearly differentiates from siblings by naming tengu_v3_tape_options for raw trade tape and options_flow tools for live GEX/dealer flow, and provides concrete use cases (reconstruct IV surface, find OI/volume concentration).

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?

Explicitly states when to use: 'Use it to reconstruct...' and 'Omit date for the latest captured day' plus 'filter by side, expiration/dte...' It names alternatives: 'For the raw options TRADE tape use tengu_v3_tape_options; for live GEX/dealer flow use the options_flow tools.' This is model clarity.

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

tengu_v3_thresholdsAInspect

Currently-active decision thresholds — the live cutoff values gating automated trade decisions right now. Call it to know which thresholds are in force before interpreting why a signal did or didn't become a decision.

ParametersJSON Schema
NameRequiredDescriptionDefault

No parameters

Behavior3/5

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

With no annotations, the description carries the full burden. It discloses that the thresholds are 'currently-active' and 'live... right now,' implying a real-time snapshot and a read-only operation. However, it doesn't describe the return format, possible empty states, or any side effects, leaving some behavioral ambiguity.

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 two sentences, front-loaded with the core object and purpose. Every phrase earns its place, with no wasted words. It is concise and effectively structured.

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?

For a simple, parameterless tool with no output schema, the description is nearly complete. It explains what the tool returns (thresholds in force) and when to call it. A more explicit mention of the output structure would improve clarity, but the current wording sufficiently conveys the expected information.

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 tool has zero parameters, so the baseline is 4. There are no parameter details to document, and the description appropriately doesn't mention parameters. No additional semantic value is needed.

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 identifies the tool as returning 'Currently-active decision thresholds — the live cutoff values gating automated trade decisions right now.' It uses a specific verb ('Call it to know') and resource, and distinguishes itself from sibling tools by focusing on thresholds rather than signals or other trading components.

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 gives explicit when-to-use guidance: 'before interpreting why a signal did or didn't become a decision.' It provides clear context, though it does not list alternatives or exclusions. For a zero-parameter getter, this is sufficient.

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

tengu_v3_trade_setupsAInspect

Top trade setups from the decision engine with defensive-alternates baked in. When the screen is one-sided (>=70% same direction across 3+ picks), the response carries universe_skew = 'bearish' | 'bullish' | 'mixed' AND a regime_warranted_alternative block containing the editorial fallback basket (defensive | cash_heavy | value_tilt | momentum). Each alternative carries strategy label, curated candidates with thesis per name, and a one-sentence rationale. Brain consumes the alternative when the primary picks don't fit the user's risk frame — e.g. all-bearish screen on a long-bias capital-allocation query surfaces the defensive basket so the model never has to refuse or invent. Schema is ADDITIVE — primary setups array unchanged from v2.41.

ParametersJSON Schema
NameRequiredDescriptionDefault
limitNo
min_convictionNo
Behavior4/5

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

With no annotations, the description carries the full burden of behavioral disclosure. It thoroughly explains the conditional response structure, the contents of the alternative block, and the additive schema promise. It does not explicitly state that the tool is read-only or describe error handling, but the focus on output structure provides substantial transparency beyond a simple 'get setups' statement.

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 description is dense but well-structured, with each sentence adding unique value: purpose, condition for alternatives, structure of alternatives, example use, and schema compatibility. It is longer than ideal but appropriate for the complex conditional behavior it describes. No word is wasted.

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?

For a tool with no output schema and two simple parameters, the description comprehensively covers the conditional response and the alternative basket. However, it leaves a gap by referencing 'v2.41' without explaining what the primary `setups` array contains, which could confuse an agent unfamiliar with that version. It also does not cover parameter effects on the response.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters2/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 0%, and the description does not mention `limit` or `min_conviction` at all. While the parameter names are self-explanatory, the description adds no additional context, usage nuances, or interaction effects, failing to compensate for the lack of schema documentation.

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?

The description clearly identifies the tool as providing 'Top trade setups from the decision engine' and highlights a unique feature: defensive-alternates baked in. It explains the conditional `regime_warranted_alternative` block, which distinguishes it from generic list tools. However, it lacks an explicit verb like 'get' or 'fetch', and does not directly contrast with sibling tools such as `tengu_copilot_top_picks`.

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?

The description explains when the alternative block appears (>=70% same direction across 3+ picks) and gives an example of when the brain should consume it, implying the tool is used for trade setups that may need risk-frame fallbacks. It does not explicitly state when to use this tool versus alternatives, nor does it provide exclusions or when-not-to-use guidance.

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

tengu_v3_transcripts_listAInspect

List a company's earnings calls and investor-event transcripts (licensed institutional, 1.75M calls), newest first — call this FIRST to get the event_id you pass to the full-text route. One row per call (versions collapsed to the best copy: Proofed > Edited > Spellchecked) with date, title and event type. Full text coverage is 2020-2025; older calls are metadata-only.

ParametersJSON Schema
NameRequiredDescriptionDefault
limitNo
sinceNo
tickerYesPath parameter 'ticker' (required).
Behavior4/5

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

With no annotations, the description carries the full burden of behavioral disclosure. It reveals important behavior: newest-first ordering, version collapsing (Proofed > Edited > Spellchecked), and full-text coverage limits. It does not mention pagination behavior or error handling, but it provides substantial context beyond the tool name.

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 three sentences, each providing distinct and valuable information: purpose and workflow, output row structure, and coverage limitations. It is front-loaded with the core action and avoids redundant phrasing.

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 has no output schema, the description does a good job of explaining what the caller receives: one row per call with date, title, event type, and the event_id for subsequent calls. It also sets expectations about data coverage. However, it doesn't clarify the 'since' parameter format or how pagination works, which are minor gaps for a listing tool.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters2/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is low (33%: only ticker is described). The description does not elaborate on the optional parameters 'limit' or 'since', leaving their semantics to the schema. It only implies the ticker via 'a company's earnings calls,' which is minimal compensation for the low schema coverage.

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 the tool 'List a company's earnings calls and investor-event transcripts' with a specific verb and resource. It also distinguishes itself from sibling tools by saying 'call this FIRST to get the event_id you pass to the full-text route,' which identifies its role in the workflow.

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 usage direction: 'call this FIRST' to obtain the event_id for the full-text route. This clearly states when to use the tool and its position relative to the transcript_text tool. It also notes coverage limitations (2020-2025 full text, older metadata-only), which helps decide if this tool is appropriate.

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

tengu_v3_transcript_textAInspect

Full earnings-call transcript as ordered speaker turns — use when the user wants what management or analysts actually SAID on a call. event_id comes from /api/v3/transcripts/{ticker} or /transcripts/search. Each turn carries speaker name + role (executive/analyst/operator) and section (presentation vs qa). ~2 MB text cap (truncated: true when hit — refetch with components= to slice). Text coverage 2020-2025.

ParametersJSON Schema
NameRequiredDescriptionDefault
tickerYesPath parameter 'ticker' (required).
event_idYesPath parameter 'event_id' (required).
max_turnsNo
componentsNoall
Behavior4/5

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

With no annotations, the description carries the behavioral disclosure burden. It discloses the return format (ordered speaker turns with speaker name, role, and section), the ~2 MB text cap, the truncated flag behavior, and how to slice via components=. Text coverage 2020-2025 is also stated. It could add error handling details but covers the key operational behaviors.

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 three sentences, densely packed with purpose, usage, output structure, limits, and coverage. Every sentence adds new information without fluff, and the key point is front-loaded.

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?

For a tool with no output schema and no annotations, the description covers the core purpose, when to use it, how to obtain event_id, the output structure, limits, and error flags. It does not detail max_turns behavior or error scenarios, but the essentials for an agent to invoke it correctly are present.

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?

The schema only gives minimal 'Path parameter' descriptions for two required params, leaving max_turns and components without schema explanations. The description compensates by explaining event_id's provenance and components= for slicing, but max_turns remains unexplained. Since 50% schema coverage is weak and the description adds some but not complete parameter context, a 3 is appropriate.

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 'Full earnings-call transcript as ordered speaker turns' which clearly identifies the tool's function as returning the verbatim transcript. This distinguishes it from sibling transcript tools like list and search, which likely return metadata or search results.

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 phrase 'use when the user wants what management or analysts actually SAID on a call' provides an explicit trigger condition. It also explains where event_id comes from, which guides users to prerequisite endpoints. However, it does not explicitly name alternatives or state when not to use this tool.

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

tengu_v3_twap_planAInspect

TWAP child-order schedule for a ticker: a qty (default 100) sliced into evenly-timed child orders over minutes (default 60). Call this when the user asks how to work an order over time; use vwap_plan for a volume-curve schedule and cost_estimate for expected cost.

ParametersJSON Schema
NameRequiredDescriptionDefault
qtyNo
tickerYesPath parameter 'ticker' (required).
minutesNo
Behavior4/5

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

No annotations are provided, so the description must carry the behavioral burden. It clearly describes the computation (evenly-timed child orders) and defaults, and implies this is a planning tool rather than an execution service. However, it doesn't describe the return format or state explicitly that no orders are placed, leaving a slight gap.

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?

Two sentences, front-loaded with the primary purpose, then usage guidance and alternatives. Every word earns its place; no redundancy.

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?

The tool is simple (3 params, no output schema), and the description covers purpose, usage, distinctions, and parameter defaults. It lacks detail about the exact schedule output or side-effect boundaries, but overall it's sufficient for an agent to invoke 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?

Schema description coverage is only 33%, but the description adds meaning by explaining qty (sliced) and minutes (overall duration) and mentions defaults. Ticker is obviously the security. This compensates for the schema's lack of parameter descriptions.

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 the tool creates a TWAP child-order schedule for a ticker, with qty sliced into evenly-timed child orders over minutes. It also distinguishes itself from sibling tools vwap_plan and cost_estimate.

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?

Explicitly says 'Call this when the user asks how to work an order over time' and names alternatives: 'use vwap_plan for a volume-curve schedule and cost_estimate for expected cost.' This is exactly what an agent needs for tool selection.

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

tengu_v3_ultimate_decisionAInspect

Ultimate-engine aggregate decision for one ticker — the top-level verdict aggregated across the engine stack. PRIMARY tool for 'so what's the final call on ?' — call it when the user wants one consolidated decision rather than raw component signals.

ParametersJSON Schema
NameRequiredDescriptionDefault
tickerNo
Behavior3/5

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

With no annotations provided, the description carries the full transparency burden. It discloses that the tool aggregates across the engine stack, but does not describe the return format, whether it's real-time, or any side effects. For a read-only decision tool this is adequate but not rich, hence a 3.

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 two sentences, front-loaded with the core purpose, and contains no redundant information. The second sentence adds a clear usage scenario. Every word earns its place, exemplifying concise and well-structured documentation.

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?

Given the tool's simple input (one ticker) and lack of output schema, the description explains what it does and when to use it. However, it leaves the response format ambiguous ('verdict' could be a number, rating, etc.). More detail on expected output would increase completeness, but the current level is minimally viable.

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?

The schema has only one parameter, 'ticker', with 0% description coverage. The description mentions 'one ticker' but does not explain what a valid ticker is or provide format details. While the mention gives some context, it does not fully compensate for the missing schema description, so a 3 is appropriate.

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 the tool's function: providing the 'top-level verdict' or 'ultimate-engine aggregate decision' for a ticker. It uses a specific verb ('aggregate', 'decision') and resource ('one ticker'), and distinguishes itself as the 'PRIMARY tool' for final calls, contrasting with 'raw component signals.' This effectively differentiates it from the many sibling tools.

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 when to use this tool: 'call it when the user wants one consolidated decision rather than raw component signals.' It does not name specific alternatives, but the conditional guidance is clear and actionable. A score of 4 reflects that it lacks explicit 'when not to use' alternatives.

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

tengu_v3_universe_scanAInspect

Latest universe-scanner output: the most recent scan results across the tradable universe, up to limit names (default 100). Call this when the user asks what the scanner is flagging right now or wants a market-wide sweep before drilling into single tickers.

ParametersJSON Schema
NameRequiredDescriptionDefault
limitNo
Behavior3/5

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

No annotations are provided, so the description carries the full burden. It discloses that results are recent, limited to `limit` names (default 100), and represent a market-wide sweep. However, it does not mention output structure, pagination, or whether results are cached, which would be useful for a read-only scan tool.

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?

Two sentences, front-loaded with the core functionality and followed by a clear usage trigger. Every word earns its place; no fluff or redundancy.

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?

For a simple one-parameter tool with no output schema, the description covers purpose, usage, and partial output behavior ('names'). It is reasonably complete, though a bit more detail about return format would make it fully self-sufficient.

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%, but the description explains the only parameter: `limit` controls the number of names returned, defaulting to 100. This adds meaningful context beyond the bare integer schema, though it does not detail boundary effects or sorting of results.

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?

The description clearly states the tool returns latest universe-scanner output across the tradable universe, up to `limit` names. It is specific about the resource and scope, but does not explicitly distinguish from sibling tools like `tengu_v3_market_universe`, relying on the phrase 'scanner is flagging' to imply a curated signal list.

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?

It explicitly says 'Call this when the user asks what the scanner is flagging right now or wants a market-wide sweep before drilling into single tickers.' This gives clear context for use, but it does not name alternatives or when-not-to-use, so it stops short of a 5.

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

tengu_v3_validation_trial_countAInspect

Lifetime count of registered trials — the N used for DSR deflation. Call it to know how heavy the multiple-testing burden is before interpreting any deflated Sharpe, or when the user asks how many strategy variants have been tried.

ParametersJSON Schema
NameRequiredDescriptionDefault

No parameters

Behavior4/5

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

With no annotations, the description carries the transparency burden and explains the value's meaning ('lifetime count', 'N used for DSR deflation', 'multiple-testing burden'). It implies a read-only, aggregate count but does not explicitly state return type or side-effect absence, which would make it fully transparent.

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 two sentences, front-loads the core value, and adds context without redundancy. Every word earns its place.

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 simple, parameterless scalar-return tool, the description fully covers what the tool returns, why it matters, and when to use it. No output schema is needed given the simplicity and the clear 'count' semantics.

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 tool has zero parameters, so no parameter explanation is needed. The description adds no parameter semantics, but the baseline of 4 applies for parameterless tools.

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 the tool returns a 'lifetime count of registered trials' and identifies it as 'the N used for DSR deflation.' This distinguishes it from the sibling tengu_v3_validation_trials, which would list trials rather than provide a count.

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 provides explicit when-to-use guidance: call it before interpreting any deflated Sharpe or when the user asks how many strategy variants have been tried. It does not explicitly name alternatives or exclusions, which keeps it from a 5.

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

tengu_v3_validation_trialsAInspect

Recent trials recorded in the DSR registry (limit param, default 100). Call it when the user asks what backtests or experiments have been run, or to audit the multiple-testing history behind a deflated Sharpe.

ParametersJSON Schema
NameRequiredDescriptionDefault
limitNo
Behavior2/5

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

No annotations are provided, so the description must disclose behavioral traits. It only mentions the data source (DSR registry) and 'recent' but does not explain what fields are returned, ordering, pagination, or whether it is read-only. The description adds minimal value beyond the tool name and schema, lacking critical behavioral context for a tool with no annotations.

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 two sentences and front-loaded. The first sentence states the core function and parameter, the second gives usage context. No wasted words; every clause adds value.

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?

This is a simple list tool with one parameter, and the schema adequately documents the parameter. The description gives the data source and use cases, but it does not explain what constitutes a 'trial' or what fields the returned data contains. Without an output schema, this is a notable gap, though the tool's simplicity partially mitigates it.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters2/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 compensate. It only repeats the parameter name and default ('limit param, default 100') without explaining that limit controls the number of trials returned or providing guidance on choosing an appropriate value. The schema already shows the default and bounds, so the description adds no new semantic meaning.

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 what the tool does: it lists recent trials from the DSR registry. It also specifies the resource (DSR registry) and the context (backtests/experiments), distinguishing it from generic backtest tools. The verb 'list' is implied through 'recent trials recorded' making the purpose unmistakable.

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 provides explicit when-to-use guidance: 'Call it when the user asks what backtests or experiments have been run, or to audit the multiple-testing history behind a deflated Sharpe.' This is clear context, though it does not mention when not to use it or alternative tools, so it falls short of a 5.

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

tengu_v3_vwap_planAInspect

VWAP child-order schedule for a ticker: a qty (default 100) sliced along the intraday U-curve volume profile. Call this when the user wants an order worked in line with typical intraday volume; use twap_plan for even time-slicing and cost_estimate for expected cost.

ParametersJSON Schema
NameRequiredDescriptionDefault
qtyNo
tickerYesPath parameter 'ticker' (required).
Behavior3/5

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

With no annotations, the description carries the disclosure burden. It reveals the tool produces a schedule and uses a U-curve volume profile, but does not explicitly state whether it only generates a plan (no order submission) or any side effects. This is a notable gap for a trading-related tool, though the term 'schedule' implies a non-executing planning function.

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?

Two sentences, no fluff, front-loaded with the tool's core function and followed by usage guidance. Every phrase adds value, making it highly concise and well-structured.

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?

The tool is simple (2 parameters) and the description covers what it does and when to use it. However, there is no output schema, and the description only vaguely mentions a 'schedule' without detailing the return format (e.g., order intervals, structure). Despite this, the context is adequate for selection and basic invocation.

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 only 50% (ticker has a minimal description, qty has none). The description enriches qty by clarifying it is the total quantity to be sliced (default 100) and ties it to the U-curve profile, adding meaning beyond the schema's numeric bounds. Ticker is self-explanatory as a path 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 clearly identifies the tool as a VWAP child-order schedule generator for a ticker, explaining that it slices a quantity along the intraday U-curve volume profile. It also distinguishes itself from sibling tools like twap_plan and cost_estimate, making its 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 Guidelines5/5

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

Explicit guidance is provided: use this tool when the user wants an order worked in line with typical intraday volume, and alternatives (twap_plan for even time-slicing, cost_estimate for expected cost) are named. This meets the highest bar for usage clarity.

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

tengu_v3_workforce_layoffsAInspect

WARN-Act LAYOFF FILINGS for one company — the public notices an employer must file WEEKS BEFORE a cut, so they lead the press release and the next earnings call. Returns each filing (notice date, effective date, employees affected, site city/state, layoff type) newest first, plus TRUE window totals, a month-by-month series and the largest single filing; with_workforce also sizes the total against estimated headcount and names the headcount month used. Call it as a downside early-warning, or to confirm the scale of an announced restructuring — filings are SITE-level, so one restructuring appears as many rows. Coverage is US WARN notices from 1989 forward including forward-dated notices; only employers matched to a listed symbol are reachable by ticker, so an empty result is not proof there were no layoffs.

ParametersJSON Schema
NameRequiredDescriptionDefault
limitNo
monthsNo
tickerYesPath parameter 'ticker' (required).
employer_idNo
with_workforceNo
Behavior5/5

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

With no annotations, the description carries full burden and excels: it discloses site-level granularity (one restructuring appears as many rows), coverage specifics (US WARN notices from 1989 forward, forward-dated notices), the ticker-matching limitation, and the behavior of with_workforce (sizes total against estimated headcount, names headcount month). These are exactly the non-obvious behavioral traits an agent needs.

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 description is longer than the calibration's 'high' example, but every sentence earns its place: purpose, return contents, use cases, and caveats. It is front-loaded and logically structured. Slightly verbose in the middle, but not wasteful.

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 no output schema and no annotations, the description covers return fields, use cases, coverage limitations, and parameter hints for with_workforce. It misses detailed semantics for limit and employer_id, which leaves it a step below fully complete, but for a single-company lookup it is substantially informative.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters2/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema coverage is only 20% (only ticker has a description). The description adds meaning for with_workforce ('also sizes the total against estimated headcount') and hints at months ('month-by-month series'), but leaves limit and employer_id entirely unexplained. Given the low schema coverage, the description fails to compensate for these 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 description opens with a specific verb and resource: 'WARN-Act LAYOFF FILINGS for one company'. It clearly states what the tool returns (filings with notice date, effective date, employees affected, site city/state, layoff type) and distinguishes it from siblings like tengu_v3_workforce_layoff_screen by emphasizing 'for one company' and 'site-level' granularity.

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?

Provides clear usage context: 'Call it as a downside early-warning, or to confirm the scale of an announced restructuring'. Also includes practical caveats (empty result not proof of no layoffs, site-level rows). However, it does not explicitly name alternatives or state when-not-to-use, so it falls just short of a 5.

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

tengu_v3_workforce_layoff_screenAInspect

CROSS-SECTIONAL LAYOFF SCREEN — which listed companies filed WARN-Act layoff notices in the last N days, ranked by employees noticed. One row per ticker (company, filing count, employees noticed, first/latest event date, states touched, largest single filing) across the whole listed universe. Call it for 'who is cutting right now' — notices are filed weeks before the cut, so this surfaces restructurings before the press release. Only employers matched to a listed symbol appear; most WARN filers are private and are excluded by design. For one company's filings use /workforce/layoffs/{ticker}.

ParametersJSON Schema
NameRequiredDescriptionDefault
daysNo
limitNo
stateNo
min_employeesNo
Behavior4/5

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

With no annotations, the description carries the full burden of disclosing behavior. It explains the data source (WARN-Act), the aggregation (one row per ticker), the output fields, and the built-in limitation (only listed symbols). It adds the forward-looking insight about notices filed weeks before the cut, but does not explicitly state read-only semantics or pagination behavior.

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 concise and well-structured, with the main purpose front-loaded in caps. Every sentence earns its place: purpose, output format, usage context, caveat, and alternative reference. No wasted words.

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?

Despite no output schema, the description effectively summarizes the return values (one row per ticker with specific fields). It provides key context about data source, universe coverage, and ranking. It falls short only in not explaining all filter parameters, which are part of the input schema.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters2/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 0% and the description only indirectly references the 'days' parameter via 'last N days'. It does not explain the 'state', 'limit', or 'min_employees' parameters, leaving the agent to rely on parameter names alone. Since the schema has no per-parameter descriptions, the description should have compensated for this gap but does not.

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 the tool's function with a specific verb ('screen') and resource ('listed companies' WARN-Act layoff notices). It distinguishes itself from the per-company sibling by explicitly pointing to '/workforce/layoffs/{ticker}' for single-company filings.

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 provides explicit when-to-use guidance ('call it for who is cutting right now') and explains the lead-time advantage. It also gives an explicit alternative for single-company filings and alerts the user to the intentional exclusion of private companies.

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

tengu_v3_workforce_momentumAInspect

Monthly EMPLOYMENT MOMENTUM for one company — headcount trend, hiring vs attrition and salary level, from a monthly workforce panel rather than an annual filing. Returns the latest month's headcount with its hiring, attrition and net-hiring rates (percent of headcount per month plus annualized twins), 1m/3m/12m headcount growth, average salary per employee (USD per year) with its coverage, and the full monthly series. Call it to see a company expanding or shrinking MONTHS before the next 10-K, or to catch attrition rising while headcount looks flat. Values are modelled estimates, not company-reported figures. The panel is being backfilled: coverage reports the months actually present and any lookback the panel cannot support returns null with a reason — never an interpolated number. Ticker is not unique across venues; the response names the entity served and lists alternates you can pin with employer_id.

ParametersJSON Schema
NameRequiredDescriptionDefault
monthsNo
tickerYesPath parameter 'ticker' (required).
employer_idNo
Behavior5/5

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

With no annotations, the description carries full burden and excels: it discloses that 'Values are modelled estimates, not company-reported figures,' that panel backfill means 'any lookback the panel cannot support returns null with a reason — never an interpolated number,' and that ticker ambiguity is handled by naming the entity and offering employer_id for pinning. These are significant behavioral traits beyond basic read-only semantics.

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 a single dense paragraph but every sentence earns its place: purpose, return metrics, use case, data caveats, null behavior, and ticker ambiguity. It is front-loaded with the core purpose and structured logically, making 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 has no output schema, so the description must explain return values; it does so comprehensively, listing all key metrics (headcount, rates, growth, salary, full series) and coverage. It also addresses data quality, null handling, and entity disambiguation, making it complete for an agent to invoke 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?

Schema coverage is only 33%, so the description compensates by explaining employer_id ('pin with employer_id') and clarifying ticker ambiguity ('Ticker is not unique across venues'). It does not explicitly describe the 'months' parameter, but the schema provides default/min/max and the description mentions 'lookback,' giving partial context.

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 the tool provides 'Monthly EMPLOYMENT MOMENTUM for one company' with specific metrics like headcount trend, hiring/attrition rates, and salary level. It distinguishes itself by emphasizing 'for one company' and 'monthly workforce panel rather than an annual filing,' differentiating it from screen and fundamental filing tools.

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 says 'Call it to see a company expanding or shrinking MONTHS before the next 10-K, or to catch attrition rising while headcount looks flat,' providing clear use cases. However, it does not explicitly name alternative tools or state when not to use it, though 'for one company' implicitly distinguishes it from screening tools.

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

tengu_v3_workforce_momentum_screenAInspect

CROSS-SECTIONAL HIRING SCREEN — rank listed employers by headcount growth between the panel's latest month and N months earlier: ticker, company, headcount then and now, percent and absolute change, latest hiring and attrition rates and average salary, sorted fastest-growing or fastest-shrinking. This is the workforce factor as a screen — who is actually staffing up (or quietly shrinking) months before it reaches a filing. The monthly panel is MID-BACKFILL, so a months_back longer than the loaded window returns an explicit warning listing the lookbacks that ARE available — never a silently shortened comparison.

ParametersJSON Schema
NameRequiredDescriptionDefault
limitNo
orderNofastest_growing
months_backNo
min_headcountNo
Behavior4/5

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

With no annotations provided, the description carries the full burden of behavioral disclosure. It excellently discloses a non-obvious trait: 'The monthly panel is MID-BACKFILL, so a months_back longer than the loaded window returns an explicit warning listing the lookbacks that ARE available — never a silently shortened comparison.' This is significant behavioral context beyond what a typical description offers.

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 exactly two sentences. The first uses an em-dash list to pack the purpose, output fields, and sorting options efficiently. The second sentence adds a critical warning about backfill behavior. Every word earns its place, and the information is front-loaded with the tool's role.

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 no output schema and no annotations, the description compensates well by enumerating the output columns (ticker, company, headcount, changes, rates, salary) and the backfill warning. It would be more complete if it also clarified the semantics of limit and min_headcount, but the core screening behavior and edge case handling are fully covered.

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 0%, so the description must compensate. It implicitly explains 'months_back' via 'N months earlier' and 'order' via 'fastest-growing or fastest-shrinking', but it does not address 'limit' or 'min_headcount'. The schema provides defaults and constraints but no semantic descriptions, leaving those two parameters partially unexplained.

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 'CROSS-SECTIONAL HIRING SCREEN' and clearly states it 'rank[s] listed employers by headcount growth', enumerating exact output fields and sort options. This is a specific verb+resource combination that distinguishes it from sibling tools like tengu_v3_workforce_momentum by emphasizing the 'screen' cross-sectional nature.

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 phrase 'who is actually staffing up (or quietly shrinking) months before it reaches a filing' clearly articulates the use case — early signal screening via workforce data. It provides clear context for when to use the tool but does not explicitly name alternatives or exclusions, so it stops short of a 5.

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

Discussions

No comments yet. Be the first to start the discussion!

Related MCP Servers

  • A
    license
    -
    quality
    B
    maintenance
    Wall Street data feed for AI agents, providing access to 100M+ source-traced SEC records, institutional holdings, insider trades, congress trading, and more via MCP tools.
    MIT
  • A
    license
    A
    quality
    C
    maintenance
    Comprehensive MCP server for real-time stock, cryptocurrency, options, and fundamental analysis, including SEC filings and insider trading data.
    26
    26
    MIT
  • A
    license
    A
    quality
    B
    maintenance
    A modular MCP server providing 64 tools across 13 modules for real-time stock and crypto market data, including scanning, technical analysis, options flow, insider trades, and personalized watchlists.
    39
    139
    6
    MIT

View all MCP Servers

Try in Browser

Your Connectors

Sign in to create a connector for this server.