Skip to content
cccskills
FreePublished on GitHub

Data Fetcher

Fetch historical OHLC chart data from yfinance (stocks) or ccxt (crypto) and load it onto the chart.

The English summary is being prepared. Showing the original description.

See how to install

Files included (1)

  • SKILL.md4.3 KB

SKILL.md (original)

Review the instructions the agent will receive before you install.

Data Fetcher Skill

Purpose

Pull historical (and near-realtime) OHLC market data from external sources and load it directly onto the Vibe Trade chart canvas. Once loaded, every other skill — Pattern detection, Strategy generation, backtesting — can operate on the new dataset without the user having to upload a CSV.

This skill is the bridge between "I want to analyze X" and the rest of the platform's tooling.

When to use this skill

Vibe Trade should dispatch to the Data Fetcher when the user wants to:

  • Load a stock/ETF/index ("Fetch AAPL daily", "Get SPY weekly data", "Load TSLA hourly for the last month")
  • Load a crypto pair ("Fetch BTC/USDT 1h", "Get ETH 4h for last 1000 bars", "Pull DOGE 5m last 24 hours")
  • Refresh recent data ("Get the last 100 bars of BTC", "Latest hourly data for Apple")
  • Compare assets ("Load BTC and ETH" — fetch both as separate datasets)

Data sources

SourceAsset classExamplesAPI key?
yfinanceUS/HK stocks, ETFs, indices, forexAAPL, SPY, ^GSPC, EURUSD=XNo
ccxt (default: binance)Crypto spot pairsBTC/USDT, ETH-USD, SOLNo

The skill auto-detects the right provider from the symbol shape:

  • Pair separators (/ or - with crypto quote) → ccxt
  • ^INDEX or =X → yfinance
  • Bare crypto bases (BTC, ETH, ...) → ccxt with USDT quote
  • Everything else → yfinance

Inputs

KeyTypeMeaning
messagestringNatural-language fetch request
context.dataset_idstringExisting dataset (ignored — this skill creates new ones)

Outputs

Returns a SkillResponse with:

  • reply — short confirmation ("Loaded 1000 bars of BTC/USDT 1h from binance.")
  • data.dataset — the full fetched payload (symbol, source, interval, bars, metadata)
  • tool_calls:
    1. data.dataset.add with the fetched payload — registers the dataset in the store and switches the chart to it
    2. notify.toast with a success message
    3. bottom_panel.activate_tab if a downstream skill has matching tabs

Tools used

ToolWhenPayload
data.fetch_marketAlways — the actual fetch call{symbol, source, interval, limit, exchange}
data.dataset.addAlways after a successful fetchThe fetched payload
chart.set_timeframeAfter loadingThe fetched native timeframe
notify.toastConfirmation or error{level, message}

Examples

Crypto pair

"Fetch BTC/USDT hourly data, last 500 bars."

→ Calls data.fetch_market(symbol="BTC/USDT", interval="1h", limit=500), auto-routes to ccxt:binance, returns 500 hourly bars, emits data.dataset.add to load them onto the chart.

Stock

"Get AAPL daily for the last 2 years."

→ Calls data.fetch_market(symbol="AAPL", interval="1d", limit=504) (504 ≈ 2 trading years), auto-routes to yfinance, loads onto the chart.

Bare crypto base

"Pull ETH 4h."

→ Auto-completes to ETH/USDT, fetches via ccxt:binance at 4h timeframe, default 1000 bars.

Underlying implementation

Wired through core/agents/processors.py::_data_fetcher_processor, which:

  1. Parses the user message via core.data.fetcher.parse_query() to extract symbol, interval, and limit
  2. Calls core.data.fetcher.fetch() to pull bars from the right provider
  3. Wraps the result in a SkillResponse with the right tool_calls

The fetcher in turn uses:

  • yfinance for stocks/ETFs/indices/forex
  • ccxt for crypto, defaulting to the Binance public API

Both libraries are pip-installable, key-less, and ship with the backend.

Reviews

No reviews yet. Tell others what you thought.

Comments

No login needed. Share how it worked for you, ask a question, or note where it did not run.

No comments yet. Be the first to write one.

Comments are published right away. Do not include personal information such as email addresses or phone numbers. Up to 2 URLs.

0 / 1,000 characters

This form is protected by reCAPTCHA, and the Google Privacy Policy and Terms of Service apply.

More skills from this repository

Research historical news events that moved (or are moving) an asset's price and plot them as data points directly on the chart. Click a marker in the Historic News tab to zoom the chart to that event and read the article. Useful for identifying the fundamental drivers behind price action — earnings, regulation, product launches, macro shocks, geopolitical events.

The English summary is being prepared. Showing the original description.

spyderweb47/Vibe-Trade16Updated Apr 22, 2026

One-sentence description of what this skill does. Shown as a tooltip on the chip.

The English summary is being prepared. Showing the original description.

spyderweb47/Vibe-Trade16Updated Apr 22, 2026

Detects chart patterns in OHLC data from natural-language hypotheses or visual chart selections.

The English summary is being prepared. Showing the original description.

spyderweb47/Vibe-Trade16Updated Apr 22, 2026

Runs a team of 50 LLM personas through a 30-round structured debate to predict market direction. Uses the Canvas Agent Swarm Service — the same shared infrastructure other skills use for smaller agent teams. Output is an influence-weighted consensus direction + trade recommendation with a transparent record of every argument, research query, and cross-examination.

The English summary is being prepared. Showing the original description.

spyderweb47/Vibe-Trade16Updated Apr 22, 2026

Generates and analyzes trading strategies from a structured config. Produces runnable JS + portfolio analysis.

The English summary is being prepared. Showing the original description.

spyderweb47/Vibe-Trade16Updated Apr 22, 2026

See all skills by spyderweb47

Report a problem with this skill