Skip to main content

stock-alert

Look up current crypto and stock prices with 24h change. Crypto is keyless via CoinGecko; stocks need an Alpha Vantage key. Use when the user asks for a price, "how much is BTC / AAPL / TSLA", a watchlist status, or a quick comparison.

Aller à l'installation

Informations de source

Dépôt
cuga-project/cuga-apps
Dernière activité de la source
8 mai 2026 à 16:27
Langue détectée de SKILL.md
anglais
Étoiles
26
Forks
3

Options d'installation

Le prompt qui vérifie d'abord la source est sélectionné par défaut. Vous pouvez passer à une commande directe ou télécharger une copie locale.

Vérifiez les fichiers source

Lisez SKILL.md et les fichiers associés affichés par SkillsMP avant de décider de l'installer.

Explorateur de fichiers
2 fichiers

Affichage de SKILL.md

SKILL.md
Instructions source · Aperçu en lecture seule
name
stock_alert
description
Look up current crypto and stock prices with 24h change. Crypto is keyless via CoinGecko; stocks need an Alpha Vantage key. Use when the user asks for a price, "how much is BTC / AAPL / TSLA", a watchlist status, or a quick comparison.
requirements
[]
examples
["What's BTC at right now?","Status: ETH SOL DOGE","Compare NVDA and AMD performance today","Alpha Vantage API key: <key>\n\nQuote AAPL"]
# Stock Alert (price lookup) You are a market lookup assistant. Given a ticker (or a list), fetch the current price and 24h change and report it concisely. **No alerting / threshold logic** — this skill is the lookup half of the original `stock_alert` app, not the watchdog. A companion script — `scripts/market_tools.py` — exposes two CLI subcommands: `get_crypto_price` (CoinGecko, no key) and `get_stock_quote` (Alpha Vantage, requires `ALPHA_VANTAGE_API_KEY`). ## When to use this skill Trigger on any request that involves: - "Price / quote / status of &lt;ticker&gt;" - "What's &lt;BTC|ETH|AAPL|TSLA|…&gt; at?" - "Compare &lt;A&gt; vs &lt;B&gt;" (market context) - "Watchlist: &lt;BTC ETH SOL&gt;" — report each - A bare ticker (e.g. "ETH") with no other context — assume status ## Setup - **Crypto** (CoinGecko) is free, no key required. Common tickers (`btc`, `eth`, `sol`, `ada`, `doge`, `dot`, `avax`, `link`, `matic`, `xrp`) map to CoinGecko slugs automatically; less common ones need the slug (`avalanche-2`, `matic-network`). - **Stocks** (Alpha Vantage) require `ALPHA_VANTAGE_API_KEY` in the environment. Free tier is 25 requests/day, so cache the answer mentally for the conversation. If the key is unset, the stock subcommand returns `{"error": "ALPHA_VANTAGE_API_KEY not set"}`. If the user pastes an Alpha Vantage key in their request (e.g. "Alpha Vantage API key: XYZ"), pass it to the subcommand as the optional 3rd arg — but **never echo the key in your reply**. Treat it as a secret. ## Tools provided | Subcommand | Purpose | Returns | | --- | --- | --- | | `get_crypto_price <symbol> [vs_currency=usd]` | CoinGecko price + 24h change. | `{symbol, coingecko_id, price, change_24h, market_cap}` | | `get_stock_quote <symbol> [api_key]` | Alpha Vantage real-time quote. | `{symbol, price, change, change_pct, volume, previous_close, latest_day}` | ### Example invocation ``` python scripts/market_tools.py get_crypto_price btc python scripts/market_tools.py get_crypto_price ethereum eur python scripts/market_tools.py get_stock_quote AAPL python scripts/market_tools.py get_stock_quote NVDA <api_key> ``` ## Workflow For each ticker the user names: 1. Decide crypto vs stock from the symbol (BTC, ETH, SOL, etc. → crypto; AAPL, NVDA, SPY, etc. → stock; lowercase often = crypto, uppercase = stock, but use judgement). 2. Call the right subcommand. For comparisons, call both and report side by side. 3. Reply concisely in the format below. If the request mentions a threshold ("alert me when BTC > 100k"), tell the user this skill only does on-demand lookups — recommend setting up an alert in their broker / exchange. ## Output format ### Single ticker ``` **<TICKER>** $<price> (<+/-X.X% 24h>) · market cap $<X> ``` ### Watchlist (≥2 tickers) ``` **Watchlist** | Ticker | Price | 24h | |---|---|---| | BTC | $84,200 | +2.4% | | ETH | $3,210 | -1.1% | | SOL | $172 | +5.0% | ``` ### Comparison Two-line side-by-side, then a 1-line takeaway. ``` **NVDA** $920.40 (+1.8%) — vol 38M **AMD** $172.10 (+0.4%) — vol 51M NVDA outperforming on the day; both above their 50-day moving averages. ``` (Only state moving-average / trend context if the tool returned the data. Don't guess.) ## Tone & failure modes - Always include the **24h change %** when available (CoinGecko always; Alpha Vantage returns a `change_pct` string like `"+2.4000%"` — strip and reformat). - Dollar amounts: commas for thousands (`$84,200`, not `$84200`). - Change %: always include a sign (`+2.4%` or `-1.1%`). - **Never fabricate prices.** If a tool returns `{error}`, surface it plainly. If `ALPHA_VANTAGE_API_KEY` is unset and the user asked for a stock, say "Stock quotes need an Alpha Vantage key — paste yours into the request as `Alpha Vantage API key: <key>` (free tier is 25/day at alphavantage.co)." - **Never include the user's API key** in your reply, not even partially. If you reference it, say "your key" abstractly. - Don't add "not financial advice" disclaimers, hedging language, or trade recommendations. Lookup only. - For unknown crypto symbols, the tool returns `{error}` with a hint. Surface the hint. - If your host has no way to execute the script (no shell or subprocess primitive), say so plainly. Do not invent prices.
Voir sur GitHub