00-andruia-consultant
Usar al iniciar o mejorar un proyecto de IA: diagnostica código y restricciones, propone skills existentes y redacta tareas y un…
Access 20+ years of global financial data: equities, options, forex, crypto, commodities, economic indicators, and 50+ technical indicators.
Claude Code
$ npx -y skills add sickn33/agentic-awesome-skills --skill alpha-vantage --agent claude-code
Codex
$ npx skills add sickn33/agentic-awesome-skills --skill alpha-vantage -a codex -y
Cursor
$ npx skills add sickn33/agentic-awesome-skills --skill alpha-vantage -a cursor -y
Gemini CLI
$ npx skills add sickn33/agentic-awesome-skills --skill alpha-vantage -a gemini-cli -y
GitHub Copilot
$ npx skills add sickn33/agentic-awesome-skills --skill alpha-vantage -a github-copilot -y
OpenCode
$ npx skills add sickn33/agentic-awesome-skills --skill alpha-vantage -a opencode -y
Windsurf
$ npx skills add sickn33/agentic-awesome-skills --skill alpha-vantage -a windsurf -y
name: alpha-vantage
description: "Access 20+ years of global financial data: equities, options, forex, crypto, commodities, economic indicators, and 50+ technical indicators."
risk: critical
source: community
date_added: "2026-03-06"
metadata:
skill-author: K-Dense Inc.Access 20+ years of global financial data: equities, options, forex, crypto, commodities, economic indicators, and 50+ technical indicators.
1. Get a free key at https://www.alphavantage.co/support/#api-key (premium plans available for higher rate limits) 2. Set as environment variable:
read -rsp "Alpha Vantage API key: " ALPHAVANTAGE_API_KEY echo export ALPHAVANTAGE_API_KEY
uv pip install requests pandas
All requests go to:
https://www.alphavantage.co/query?function=FUNCTION_NAME&apikey=YOUR_KEY&...params
import requests
import os
API_KEY = os.environ.get("ALPHAVANTAGE_API_KEY")
BASE_URL = "https://www.alphavantage.co/query"
def av_get(function, **params):
if not API_KEY:
raise ValueError("Set ALPHAVANTAGE_API_KEY before requesting data")
if "apikey" in params or "function" in params:
raise ValueError("Reserved request parameters")
try:
response = requests.get(
BASE_URL, params={**params, "function": function, "apikey": API_KEY},
timeout=30,
)
except requests.RequestException:
raise RuntimeError("Alpha Vantage transport failure; request URL redacted") from None
# Avoid logging request URLs or raw HTTP exceptions: URLs contain the key.
if not response.ok:
raise RuntimeError(f"Alpha Vantage HTTP status {response.status_code}")
try:
data = response.json()
except ValueError:
raise RuntimeError("Alpha Vantage returned invalid JSON") from None
if not isinstance(data, dict):
raise RuntimeError("Alpha Vantage returned an unexpected response shape")
if any(key in data for key in ("Error Message", "Note", "Information")):
raise RuntimeError("API returned an error, quota, or entitlement message; inspect a redacted response")
return data# Stock quote (latest price)
quote = av_get("GLOBAL_QUOTE", symbol="AAPL")
price = quote["Global Quote"]["05. price"]
# Daily OHLCV
daily = av_get("TIME_SERIES_DAILY", symbol="AAPL", outputsize="compact")
ts = daily["Time Series (Daily)"]
# Company fundamentals
overview = av_get("OVERVIEW", symbol="AAPL")
print(overview["MarketCapitalization"], overview["PERatio"])
# Income statement
income = av_get("INCOME_STATEMENT", symbol="AAPL")
annual = income["annualReports"][0] # Most recent annual
# Crypto price
crypto = av_get("DIGITAL_CURRENCY_DAILY", symbol="BTC", market="USD")
# Economic indicator
gdp = av_get("REAL_GDP", interval="annual")
# Technical indicator
rsi = av_get("RSI", symbol="AAPL", interval="daily", time_period=14, series_type="close")| Category | Key Functions | |----------|--------------| | **Time Series (Stocks)** | GLOBAL_QUOTE, TIME_SERIES_INTRADAY, TIME_SERIES_DAILY, TIME_SERIES_WEEKLY, TIME_SERIES_MONTHLY | | **Options** | REALTIME_OPTIONS, HISTORICAL_OPTIONS | | **Alpha Intelligence** | NEWS_SENTIMENT, EARNINGS_CALL_TRANSCRIPT, TOP_GAINERS_LOSERS, INSIDER_TRANSACTIONS, ANALYTICS_FIXED_WINDOW | | **Fundamentals** | OVERVIEW, ETF_PROFILE, INCOME_STATEMENT, BALANCE_SHEET, CASH_FLOW, EARNINGS, DIVIDENDS, SPLITS | | **Forex (FX)** | CURRENCY_EXCHANGE_RATE, FX_INTRADAY, FX_DAILY, FX_WEEKLY, FX_MONTHLY | | **Crypto** | CURRENCY_EXCHANGE_RATE, CRYPTO_INTRADAY, DIGITAL_CURRENCY_DAILY | | **Commodities** | WTI (crude oil), BRENT, NATURAL_GAS, COPPER, WHEAT, CORN, COFFEE, ALL_COMMODITIES | | **Economic Indicators** | REAL_GDP, TREASURY_YIELD, FEDERAL_FUNDS_RATE, CPI, INFLATION, UNEMPLOYMENT, NONFARM_PAYROLL | | **Technical Indicators** | SMA, EMA, MACD, RSI, BBANDS, STOCH, ADX, ATR, OBV, VWAP, and 40+ more |
| Parameter | Values | Notes | |-----------|--------|-------| | `outputsize` | `compact` / `full` | For applicable time-series endpoints; depth and entitlement vary | | `datatype` | `json` / `csv` | Default: json | | `interval` | `1min`, `5min`, `15min`, `30min`, `60min`, `daily`, `weekly`, `monthly` | Depends on endpoint | | `adjusted` | `true` / `false` | Adjust for splits/dividends |
data = av_get("GLOBAL_QUOTE", symbol="AAPL")
# Check for API errors
if "Error Message" in data:
raise ValueError(f"API Error: {data['Error Message']}")
if "Note" in data:
print(f"Rate limit warning: {data['Note']}")
if "Information" in data:
print(f"API info: {data['Information']}")Use this skill when tackling tasks related to its primary domain or functionality as described above.
Find reusable instructions for your project, inspect their complete files, and keep an exact skill set you can review and reuse.
Usar al iniciar o mejorar un proyecto de IA: diagnostica código y restricciones, propone skills existentes y redacta tareas y un…
Security audit, hardening, threat modeling (STRIDE/PASTA), Red/Blue Team, OWASP checks, code review, incident response, and…
Usar para crear o mejorar una skill de Andru.ia: define entradas y resultados, redacta SKILL.md con ejemplos y límites, valida la…
Usar tras definir el sector de un proyecto: prepara un dossier en español con contexto, normas aplicables, patrones UX y riesgos,…
AI-powered presentation generation via the 2slides API — create slides from text, match a reference image style, summarize…
360 feedback register: reviewer, subject, review cycle, visibility, due date and score, as CSV, SQL, JSON Schema or Notion on…
Use your assigned AgentMail inbox to read email tasks, explicitly send or reply, and check delivery. Provided automatically by…
Create a new Architecture Decision Record with sequential numbering and AgentDB registration