Data Fetcher
FreeFetch 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.
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.
See how to installReview the instructions the agent will receive before you install.
Replace this paragraph with one or two sentences describing what this skill does and the user-facing outcome it produces. Keep it concrete — "generates an equity curve from fundamental data" is better than "does financial stuff".
Bullet list of situations where Vibe Trade should dispatch to this skill:
Be specific. If two skills could plausibly handle the same message, the "when to use" sections decide which one Vibe Trade picks.
Numbered, imperative steps that describe exactly what the skill's processor should do for each input shape:
context.foo is present: branch into the Y workflow.Keep each step testable and concrete. The less ambiguity, the less LLM-induced drift.
| Key | Type | Meaning |
|---|---|---|
message | string | The user's chat message |
context.<key> | type | Whatever your skill cares about from the router |
Describe what the SkillResponse will contain:
reply — ...script — optional ...data.* — optional ...| Tool | When | Payload |
|---|---|---|
script_editor.load | When a script is generated | The JS source string |
bottom_panel.activate_tab | After generating output | The target tab id |
notify.toast | For transient status messages | {level, message} |
Example 1
User input: "Do the thing with the stuff."
→ What the skill returns and why.
Example 2
User input: (a more complex variant)
→ How the skill handles it differently.
This template has no Python processor yet. To wire it up:
async def _mytemplate_processor(message, context, tools) in
core/agents/processors.pyPROCESSORS dict:
PROCESSORS = {
...,
"mytemplate": _mytemplate_processor,
}
VibeTrade.dispatch("mytemplate", ...) call
will now route here.| Field | Type | Description |
|---|---|---|
id | string | Unique kebab-case identifier (also the folder name) |
name | string | Full display name shown in the chip row |
tagline | string | Short label (1 word) for compact UI |
description | string | One-sentence description; shown as a tooltip |
version, author | string | Informational, surfaced in a future "skill info" UI |
category | string | analysis, generation, simulation, etc. (free-form) |
icon | string | Icon name; resolved on the frontend. Unknown icons fall back to sparkle |
color | string | Hex color used for the chip accent |
tools | string[] | Allowlist of tool ids from skills/tools.py::TOOL_CATALOG |
output_tabs | object[] | Bottom-panel tabs this skill contributes |
store_slots | string[] | Documentation-only: store keys this skill writes |
input_hints.placeholder | string | Chat textarea placeholder when this is the only active skill |
input_hints.supports_fingerprint | bool | true if your skill accepts SHAPE fingerprints from the chart selector |
See skills/tools.py::TOOL_CATALOG for the full list. The tool categories
are:
chart.drawing.* — activate a drawing tool (trendline, rectangle, fib, etc.)chart.pattern_selector — open the pattern selector to capture a fingerprintchart.highlight_matches / chart.draw_markers — chart overlayschart.focus_range / chart.set_timeframe — chart navigationchatbox.card.strategy_builder — inject the strategy builder form in chatchatbox.card.generic — inject a generic card with title/body/actionsbottom_panel.activate_tab / bottom_panel.set_data — bottom panel controlscript_editor.load / script_editor.run — code editor controldata.indicators.add / data.indicators.toggle — indicator registrynotify.toast — user notificationsOnly declare tools in the frontmatter that your processor actually uses. The frontend tool registry rejects any tool_call whose id isn't in the skill's declared list.
No reviews yet. Tell others what you thought.
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.
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.
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.
Detects chart patterns in OHLC data from natural-language hypotheses or visual chart selections.
The English summary is being prepared. Showing the original description.
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.
Generates and analyzes trading strategies from a structured config. Produces runnable JS + portfolio analysis.
The English summary is being prepared. Showing the original description.