OptionalFinanceVersion 0.1.0

Stocks Skill: Yahoo Finance Market Data via Hermes Agent

Stock quotes, history, search, compare, crypto via Yahoo.

Written by Neura Market from the official Hermes Agent documentation for Stocks. Commands, paths, and version numbers are reproduced from the source unchanged.

Read the official documentation

The Stocks skill gives Hermes Agent read-only access to Yahoo Finance market data: current quotes, ticker search, historical OHLCV, side-by-side comparisons, and crypto prices. It is a good fit when a user asks for a stock price, wants to look up a ticker by company name, needs performance over a date range, or wants to compare several tickers. Because it uses only the Python standard library and requires no API key, it is one of the quickest market-data skills to get running.

What it does

The skill exposes five commands through the terminal tool: quote, search, history, compare, and crypto. All output is JSON on stdout, so you can pipe it through jq to slice out the fields you need. The underlying endpoint is Yahoo Finance's unofficial API, which means it can change or rate-limit without notice, but for casual lookups and analysis it is usually sufficient.

Before you start

  • Python 3.8 or later, with only the standard library. No pip installs.
  • The skill is optional and installed on demand. Once installed, the script lives at ~/.hermes/skills/finance/stocks/scripts/stocks_client.py.
  • Optional: set the environment variable ALPHA_VANTAGE_KEY to enrich market_cap, pe_ratio, and 52-week levels when Yahoo's crumb-protected fields come back null. You can get a free key from Alpha Vantage.
  • Works on Linux, macOS, and Windows.

How to run

Invoke the skill through the terminal tool. The typical pattern is to define the script path once, then call it with a subcommand:

SCRIPT=~/.hermes/skills/finance/stocks/scripts/stocks_client.py
python $SCRIPT quote AAPL

All output is JSON on stdout. If you want to extract just part of it, pipe through jq.

Quick reference

Here is the full set of commands at a glance:

python $SCRIPT quote AAPL
python $SCRIPT quote AAPL MSFT GOOGL TSLA
python $SCRIPT search "Tesla"
python $SCRIPT history NVDA --range 6mo
python $SCRIPT compare AAPL MSFT GOOGL
python $SCRIPT crypto BTC ETH SOL

Commands

quote SYMBOL [SYMBOL2 ...]

Returns the current price, change, change percent, volume, and 52-week high/low. You can pass multiple symbols in one call, as shown in the quick reference.

search QUERY

Finds tickers by company name. Returns the top 5 matches, each with symbol, name, exchange, and type. Useful when the user knows the company but not the ticker.

history SYMBOL [--range RANGE]

Returns daily OHLCV data plus statistics: minimum, maximum, average, and total return percent. The --range option accepts 1mo, 3mo, 6mo, 1y, or 5y. The default is 1mo.

compare SYMBOL1 SYMBOL2 [...]

Shows several tickers side by side: price, change percent, and 52-week performance. Good for a quick relative view.

crypto SYMBOL [SYMBOL2 ...]

Gets crypto prices. Pass BTC, ETH, SOL, and so on; the script appends -USD automatically, so you do not need to include the quote currency.

When not to use it

This skill is read-only. It does not place orders, manage an account, or connect to a brokerage. If the user needs to trade or see account-specific data, this is not the tool. Also, because it depends on an unofficial endpoint, it is not ideal for production systems that require guaranteed uptime or strict rate-limit compliance.

Limits and gotchas

  • Yahoo Finance's API is unofficial. Endpoints can change or rate-limit without notice. If requests start failing, that is the likely cause.
  • market_cap and pe_ratio may return null on quote when Yahoo's crumb session is not established. Setting ALPHA_VANTAGE_KEY backfills those fields.
  • Add a small delay between bulk requests to avoid rate-limiting.
  • The skill is strictly read-only: no order placement, no account integration.

Verification

To confirm the skill is working, run:

python ~/.hermes/skills/finance/stocks/scripts/stocks_client.py quote AAPL

You should get a JSON object with symbol: "AAPL" and a numeric price field.

What pairs with this

For deeper analysis, the related skills are dcf-model for discounted cash flow valuation, comps-analysis for comparable company analysis, and lbo-model for leveraged buyout modeling. The Stocks skill can feed current prices and history into those workflows.

Skills the docs pair this with

More Finance skills