CtrlK
BlogDocsLog inGet started
Tessl Logo

yfinance

yfinance global market data interface — retrieve OHLCV and research data for US, HK, and Canadian stocks, ETFs, and indices via Yahoo Finance. Free, no API key required.

60

Quality

76%

Does it follow best practices?

Run evals on this skill

Adds up to 20 points to the overall score

View guide
SecuritybySnyk

Low

Low-risk findings worth noting

Fix and improve this skill with Tessl

tessl review fix ./agent/src/skills/yfinance/SKILL.md
SKILL.md
Quality
Evals
Security

Quality

Content

78%Weight 40%Scale 1-5

Reviews the quality of instructions and guidance provided to agents. Good implementation is clear, handles edge cases, and produces reliable results.

A strong, highly actionable reference: executable code throughout, a clear interface-selection workflow, and exemplary progressive disclosure with a per-doc coverage table and verified reference files. The main weakness is redundancy — Quick Start and 'Historical OHLCV' repeat the same two examples, and a meta blockquote about path conventions pads the references section.

Suggestions

Merge the Quick Start JSON/loader examples with the 'Historical OHLCV' section (or have Quick Start link to it) to remove the duplicated get_market_data and DataLoader snippets.

Trim or move the 'Path convention' blockquote — it is guidance for skill authors, not users, and earns no tokens for a reader invoking the skill.

Add a brief failure-check note (e.g. handle empty frames or Yahoo temporary bans after batch requests) to round out the data-fetch workflow.

DimensionReasoningScore

Conciseness

The body is mostly efficient — short code blocks, tables, and a tight Notes section — but the Quick Start section substantially duplicates content that reappears in 'Historical OHLCV' (near-identical get_market_data JSON and loader example), and the path-convention blockquote ('Path convention: every link above...') is author-facing meta-commentary rather than user guidance. This fits 'mostly efficient but includes some unnecessary explanation or could be tightened'; it is not a 4 because the duplication is more than a minor trim, and not a 2 because there is no padded conceptual explanation.

3 / 5

Actionability

Every section provides fully executable, copy-paste-ready code or JSON: the get_market_data tool call, the DataLoader snippet, yf.Ticker property examples, interval tables with limits, and backtest config.json examples. This matches 'fully executable; copy-paste ready code or commands; specific examples cover the common cases'.

5 / 5

Workflow Clarity

The interface-selection hierarchy is clear and well-sequenced: prefer get_market_data, fall back to the DataLoader for scripts, use raw yfinance only for non-OHLCV data, and per-interface reference docs are dispatched by need ('read the one you need rather than loading them all'). It sits below 5 because there are no explicit validation checkpoints for fetched data (e.g. handling empty frames or rate-limit failures), but above 3 since the read-only flow has no destructive or batch manipulation requiring feedback loops and the routing sequence is explicit.

4 / 5

Progressive Disclosure

The overview keeps only summary-level content in SKILL.md and points to six real, one-level-deep reference docs via a table that signals exactly what each doc covers (e.g. [yahoo_client_get_chart](references/yahoo_client_get_chart.md) for 'Direct v8 OHLCV bars'); all six linked files exist in references/. This matches 'clear overview with well-signaled one-level-deep references; content appropriately split; easy navigation'.

5 / 5

Total

17

/

20

Passed

Description

65%Weight 40%Scale 1-5

Based on the skill's description, can an agent find and select it at the right time? Clear, specific descriptions lead to better discovery.

A concise, distinctive description with good natural trigger terms, but it is held back by a missing 'Use when...' clause and a thin action list ('retrieve OHLCV and research data') that leaves the skill's breadth (financials, holders, options, FX) implied rather than stated. Third-person voice is used correctly and there is no fluff.

Suggestions

Add an explicit 'Use when...' clause, e.g. 'Use when fetching historical or real-time market data for US, HK, or Canadian tickers, or when the user mentions Yahoo Finance, stock quotes, or OHLCV bars.'

Replace the vague 'research data' with concrete actions — e.g. 'retrieve OHLCV bars, company info, financial statements, dividends, institutional holdings, and options chains'.

Include a couple of natural synonyms users say ('historical prices', 'stock quotes', 'financial data') to broaden trigger coverage.

DimensionReasoningScore

Specificity

The description names the domain ('global market data interface', 'US, HK, and Canadian stocks, ETFs, and indices') and one concrete action ('retrieve OHLCV and research data'), but the action list is minimal and 'research data' is vague — it does not enumerate what research data covers. This matches 'names domain and 1-2 concrete actions, but not comprehensive'; it is not a 4 because it does not list several specific actions, and not a 2 because the scope (markets, instruments, OHLCV) is concretely stated.

3 / 5

Completeness

The 'what' is clear ('retrieve OHLCV and research data ... via Yahoo Finance'), but there is no 'Use when...' clause or equivalent explicit trigger guidance, which caps completeness at 3 per the judging guidelines. It fits 'has a clear what but when is missing or only weakly implied' rather than the 4-anchor, which requires an explicit 'when'.

3 / 5

Trigger Term Quality

Good keyword coverage with natural terms users would say: 'yfinance', 'market data', 'stocks', 'ETFs', 'indices', 'Yahoo Finance', 'OHLCV'. Missing a few common variations such as 'historical prices', 'quotes', or 'financials', which keeps it below the comprehensive-synonyms anchor of 5; it clearly exceeds the 'some relevant keywords but missing variations' level of 3.

4 / 5

Distinctiveness Conflict Risk

Clear niche with distinct triggers: it names yfinance and Yahoo Finance explicitly and scopes to global (US/HK/CA) markets, minimizing risk of firing for unrelated data-source skills. It matches 'clear niche with distinct triggers; minimal conflict risk' rather than the 4-anchor, which implies residual overlap with closely related skills.

5 / 5

Total

15

/

20

Passed

Validation

93%

Checks the skill against the spec for correct structure and formatting. All validation checks must pass before discovery and implementation can be scored.

Validation — 15 / 16 Passed

Validation for skill structure

CriteriaDescriptionResult

frontmatter_unknown_keys

Unknown frontmatter key(s) found; consider removing or moving to metadata

Warning

Total

15

/

16

Passed

Repository
HKUDS/Vibe-Trading
Reviewed

Table of Contents

Is this your skill?

If you maintain this skill, you can claim it as your own. Once claimed, you can manage eval scenarios, bundle related skills, attach documentation or rules, and ensure cross-agent compatibility.