* refactor(skills): shipped-set slim — 15 skills to optional, github six-way merge, pdf absorbs OCR+nano-pdf, channel-gated teams pipeline
Maintainer-directed shipped-skills curation (skills index 1,900 -> ~1,400
tok/call on desktop; every session pays the index, so this is a per-call
diet on all installs):
- optional-skills moves (installable via skills hub, history preserved):
creative comfyui/ascii-art/excalidraw/pretext/sketch/touchdesigner-mcp;
ALL of mlops (huggingface-hub, llama-cpp, serving-llms-vllm,
weights-and-biases, evaluating-llms-harness — subcategory structure
kept); research-paper-writing (55 supporting files, 17.3K-tok load);
openhue; blogwatcher (first taught the cronjob monitor-field watch
pattern + web_extract instead of pre-cron manual workflows)
- DELETED session-librarian (Aug-12 'inspired by Perplexity Computer'
port, never maintainer-intended; session_search covers discovery)
- github: six skills (auth, issues, pr-workflow, issue-to-pr,
code-review, repo-management) merged into ONE software-development/
github skill — routing body + complete per-workflow references;
benbarclay authorship credited; codebase-inspection rides along;
discipline pins from test_github_issue_to_pr_skill.py preserved
against the reference body in the new test_github_skill.py
- pdf absorbs ocr-and-documents + nano-pdf as references/ + scripts
(extract_pymupdf, extract_marker converted to the argparse house
standard its contract test enforces)
- NEW session_platforms frontmatter gate (metadata.hermes): hides a
skill from the index on gateway channels it is not for; fail-open on
unknown platform; teams-meeting-pipeline gated to [teams, cron]
- blocked-page-recovery: research -> new web category; trigger-first
description ('Use when a fetch fails: 403/429, paywall, WAF, bot
wall.') so the model actually reaches for it on blocked fetches
- docs regenerated via generate-skill-docs.py (195 pages); related_skills
swept repo-wide; tests: 1672 passed (2 openclaw failures pre-existing
on clean main, Windows-local)
* chore: ignore .skills_prompt_snapshot.json (local index cache, accidentally committed)
3.5 KiB
title, sidebar_label, description
| title | sidebar_label | description |
|---|---|---|
| Stocks — Stock quotes, history, search, compare, crypto via Yahoo | Stocks | Stock quotes, history, search, compare, crypto via Yahoo |
{/* This page is auto-generated from the skill's SKILL.md by website/scripts/generate-skill-docs.py. Edit the source SKILL.md, not this page. */}
Stocks
Stock quotes, history, search, compare, crypto via Yahoo.
Skill metadata
| Source | Optional — install with hermes skills install official/finance/stocks |
| Path | optional-skills/finance\stocks |
| Version | 0.1.0 |
| Author | Mibay (Mibayy), Hermes Agent |
| License | MIT |
| Platforms | linux, macos, windows |
| Tags | Stocks, Finance, Market, Crypto, Investing |
| Related skills | dcf-model, comps-analysis, lbo-model |
Reference: full SKILL.md
:::info The following is the complete skill definition that Hermes loads when this skill is triggered. This is what the agent sees as instructions when the skill is active. :::
Stocks Skill
Read-only market data via Yahoo Finance. Five commands: quote, search,
history, compare, crypto. Python stdlib only — no API key, no pip
installs. Yahoo's endpoint is unofficial and may rate-limit or change.
When to Use
- User asks for a current stock price (AAPL, TSLA, MSFT, ...)
- User wants to look up a ticker by company name
- User wants OHLCV history or performance over a date range
- User wants to compare several tickers side by side
- User asks for a crypto price (BTC, ETH, SOL, ...)
Prerequisites
Python 3.8+ stdlib only. Optional: set ALPHA_VANTAGE_KEY to enrich
market_cap, pe_ratio, and 52-week levels when Yahoo's crumb-protected
fields come back null. Free key: https://www.alphavantage.co/support/#api-key
How to Run
Invoke through the terminal tool. Once installed:
SCRIPT=~/.hermes/skills/finance/stocks/scripts/stocks_client.py
python $SCRIPT quote AAPL
All output is JSON on stdout — pipe through jq if you want to slice it.
Quick Reference
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 ...]
Current price, change, change%, volume, 52-week high/low.
search QUERY
Find tickers by company name. Returns top 5: symbol, name, exchange, type.
history SYMBOL [--range RANGE]
Daily OHLCV plus stats (min, max, avg, total return %). Ranges: 1mo,
3mo, 6mo, 1y, 5y. Default: 1mo.
compare SYMBOL1 SYMBOL2 [...]
Side-by-side: price, change%, 52-week performance.
crypto SYMBOL [SYMBOL2 ...]
Crypto prices. Pass BTC (the script appends -USD automatically).
Pitfalls
- Yahoo Finance's API is unofficial. Endpoints can change or rate-limit without notice — if requests start failing, that's why.
market_capandpe_ratiomay return null onquotewhen Yahoo's crumb session isn't established. SetALPHA_VANTAGE_KEYto backfill.- Add a small delay between bulk requests to avoid rate-limiting.
- This is read-only — no order placement, no account integration.
Verification
python ~/.hermes/skills/finance/stocks/scripts/stocks_client.py quote AAPL
Returns a JSON object with symbol: "AAPL" and a numeric price field.