Stocks and Financial Data Pull

v4.1.8

56+ financial data tools via Yahoo Finance. Auto-routes stock prices, fundamentals, earnings, dividends, options, crypto, forex, commodities, news, and more.

2· 2k·7 current·8 all-time
by@lkcair·duplicate of @lkcair/financial

Install

OpenClaw Prompt Flow

Install with OpenClaw

Best for remote or guided setup. Copy the exact prompt, then paste it into OpenClaw for lkcair/stocks.

Previewing Install & Setup.
Prompt PreviewInstall & Setup
Install the skill "Stocks and Financial Data Pull" (lkcair/stocks) from ClawHub.
Skill page: https://clawhub.ai/lkcair/stocks
Keep the work scoped to this skill only.
After install, inspect the skill metadata and help me finish setup.
Use only the metadata you can verify from ClawHub; do not invent missing requirements.
Ask before making any broader environment changes.

Command Line

CLI Commands

Use the direct CLI path if you want to install manually and keep every step visible.

OpenClaw CLI

Bare skill slug

openclaw skills install stocks

ClawHub CLI

Package manager switcher

npx clawhub@latest install stocks
Security Scan
VirusTotalVirusTotal
Benign
View report →
OpenClawOpenClaw
Benign
medium confidence
Purpose & Capability
Name/description (56+ Yahoo Finance tools) aligns with the provided code and SKILL.md. The included script imports yfinance, pandas, pydantic, and requests — all expected. Small inconsistency: registry metadata lists source/homepage as 'unknown'/'none' while the script header includes a repository URL and author info; this is explainable but worth verifying.
Instruction Scope
SKILL.md instructions are narrowly scoped to creating a virtualenv, installing requirements, and running the library's async functions. It does not direct the agent to read unrelated system files, harvest credentials, or post data to unexpected endpoints. It does encourage adding invocation templates into the agent's TOOLS.md so the agent can call functions — that is expected for tool integration but gives the agent a persistent way to invoke the skill if the user chooses to add it.
Install Mechanism
No platform install spec; installation is via a local virtualenv and pip install -r requirements.txt (PyPI packages). This is normal for a Python skill but carries the usual risks of pulling third-party packages from PyPI. No downloads from arbitrary URLs or archive extraction were specified.
Credentials
The skill declares no required environment variables, no credentials, and no config paths. The libraries used operate without secrets for public market data, so the lack of requested secrets is appropriate.
Persistence & Privilege
Skill flags are default (always: false, agent-invocable: true, model invocation allowed) which is normal. SKILL.md recommends injecting invocation patterns into the agent's TOOLS.md so the agent can call functions reliably — this is optional but would make the skill easy to invoke repeatedly. If you allow autonomous agent actions, consider whether you want that agent to call these methods without explicit confirmation.
Assessment
What to consider before installing: - Verify upstream: SKILL metadata omitted a homepage, but the script header references a GitHub repo; visit and inspect that repository to confirm provenance and check recent commits/issues. - Inspect the full scripts/yfinance_ai.py file yourself (or have a trusted reviewer do so) before running — the truncated preview looked consistent with yfinance usage but full inspection will reveal any unexpected network endpoints or data handling. - Install inside an isolated virtual environment (as the SKILL.md recommends) and do not run as root. - Be aware pip will pull packages from PyPI (yfinance, pandas, pydantic, requests); if you have policies about third-party packages, review those packages' reputations or pin versions. - Adding the invocation snippet to a global TOOLS.md (or otherwise giving the agent persistent access) makes the skill easier to use but also means the agent can call it more readily; only add if you trust the skill and the agent's permissions. - If you need higher assurance, run the skill in an isolated environment/network and use network monitoring the first time to confirm it only talks to expected endpoints (Yahoo Finance / yfinance-related endpoints).

Like a lobster shell, security has layers — review code before you run it.

latestvk973m91m44mjc4a9f5ggk6y1r981zd61
2kdownloads
2stars
32versions
Updated 1mo ago
v4.1.8
MIT-0

Stocks Skill

56+ financial tools via Yahoo Finance. Prices, fundamentals, earnings, options, crypto, forex, commodities, news.

Github Open-Souce

Please star Github if you like the skill. Also available for OpenWebUI. https://github.com/lkcair/yfinance-ai

Setup

Run from the skill directory:

python3 -m venv .venv
.venv/bin/python3 -m pip install -r requirements.txt

Windows: use .venv\Scripts\python3 instead of .venv/bin/python3.

AGNOSTIC OS / One-shot Design ( Goals )

  • This skill is designed to be agnostic to OS and execution environment.
  • It loads only essential context on first use and uses a single-shot interaction pattern for reliability.
  • Basic usage pattern provided in TOOLS.md and the All Functions list in SKILL.md body.

Quotation / Command Execution Reliability (common pitfall)

  • If a command invocation uses complex shell quoting, it may fail in various environments. Use a here-doc style or a tiny helper script to avoid escaping issues.
  • Crucially, ensure you are executing Python scripts using the interpreter from the skill's virtual environment. Simply calling python3 might not use the correct interpreter if the venv is not activated, leading to ModuleNotFoundError.
  • Always use the full path to the venv's Python interpreter for execution, e.g.: /home/openclaw/.openclaw/venv/stocks/bin/python3
  • Ensure that all necessary packages (like pydantic for yfinance-ai) are installed within this specific venv using its associated pip command: /home/openclaw/.openclaw/venv/stocks/bin/pip install <package_name>
  • Example robust pattern using a here-doc:
/home/openclaw/.openclaw/venv/stocks/bin/python3 - << 'PY'
import asyncio, sys
sys.path.insert(0, '.')
from yfinance_ai import Tools

t = Tools()
async def main():
    r = await t.get_key_ratios(ticker='UNH')
    print(r)
asyncio.run(main())
PY
  • If complex inline scripts are problematic, wrap the call in a small Python script file in the workspace (e.g., in scripts/) and execute that script using the venv's Python interpreter.

Agent Quick-Start

After setup, copy the template below into your agent's TOOLS.md (or whichever file your framework injects into every session). This is the single most important step — if the agent can see the invocation pattern, it will work every time.

Replace SKILL_DIR with the absolute path to this skill's directory (e.g. where scripts/ and .venv/ live).

# Stocks Skill

## Usage

```bash
cd SKILL_DIR/scripts && SKILL_DIR/.venv/bin/python3 -c "
import asyncio, sys
sys.path.insert(0, '.')
from yfinance_ai import Tools
t = Tools()
async def main():
    result = await t.METHOD(ARGS)
    print(result)
asyncio.run(main())
" 2>/dev/null
```

Replace METHOD(ARGS) with any call below. Suppress stderr (2>/dev/null) to hide warnings.

## Common Calls

| Need | Method |
|---|---|
| Stock price | `get_stock_price(ticker='AAPL')` |
| Key ratios (P/E, ROE, margins) | `get_key_ratios(ticker='AAPL')` |
| Company overview | `get_company_overview(ticker='AAPL')` |
| Full deep-dive | `get_complete_analysis(ticker='AAPL')` |
| Compare stocks | `compare_stocks(tickers='AAPL,MSFT,GOOGL')` |
| Crypto | `get_crypto_price(symbol='BTC')` |
| Forex | `get_forex_rate(pair='EURUSD')` |
| Commodities | `get_commodity_price(commodity='gold')` |
| News | `get_stock_news(ticker='AAPL')` |
| Market indices | `get_market_indices()` |
| Dividends | `get_dividends(ticker='AAPL')` |
| Earnings | `get_earnings_history(ticker='AAPL')` |
| Analyst recs | `get_analyst_recommendations(ticker='AAPL')` |
| Options chain | `get_options_chain(ticker='SPY')` |
| Market open/closed | `get_market_status()` |

## Routing

- Price / quote → `get_stock_price`
- Ratios / valuation → `get_key_ratios`
- "Tell me about" → `get_company_overview`
- Deep dive → `get_complete_analysis`
- Compare → `compare_stocks`
- Crypto → `get_crypto_price`
- Forex → `get_forex_rate`
- Commodities → `get_commodity_price`
- News → `get_stock_news`

All Functions

See skill.json for the full list of 56+ functions, parameters, and trigger keywords. Categories:

  • Quotes: get_stock_price, get_stock_quote, get_fast_info, get_historical_data
  • Company: get_company_info, get_company_overview, get_company_officers
  • Financials: get_income_statement, get_balance_sheet, get_cash_flow, get_key_ratios, get_financial_summary
  • Earnings: get_earnings_history, get_earnings_dates, get_analyst_estimates, get_eps_trend
  • Analyst: get_analyst_recommendations, get_analyst_price_targets, get_upgrades_downgrades
  • Ownership: get_institutional_holders, get_insider_transactions, get_major_holders
  • Dividends: get_dividends, get_stock_splits, get_corporate_actions
  • Options: get_options_chain, get_options_expirations
  • Market: get_market_indices, get_sector_performance, get_market_status
  • Crypto/Forex/Commodities: get_crypto_price, get_forex_rate, get_commodity_price
  • Compare: compare_stocks, get_peer_comparison, get_historical_comparison
  • News: get_stock_news, get_sec_filings
  • Utility: search_ticker, validate_ticker, run_self_test

Notes

  • Data from Yahoo Finance. Slight real-time delays possible.
  • All functions are async — the asyncio.run() wrapper handles this.
  • Works on Linux, macOS, and Windows (adjust venv path for Windows).

Comments

Loading comments...