Conversation
Foundational skill for the Alpha Vantage financial data API covering: - Core stock time series (intraday, daily, weekly, monthly) - Fundamental data (financials, earnings, dividends, splits) - Alpha Intelligence (news sentiment, earnings transcripts, insider txns) - Forex and cryptocurrency rates/history - Commodities (gold, oil, natural gas, agricultural) - US economic indicators (GDP, CPI, treasury yield, unemployment) - 50+ technical indicators (SMA, EMA, RSI, MACD, BBANDS, etc.) - Options data (realtime + historical) Includes wrapper script (alphavantage.sh) with subcommands for all endpoints and comprehensive API reference.
🔧 Skill Test Review:
|
| Setting | Value |
|---|---|
| Skill Type | Foundational |
| Env Vars Required | ALPHA_VANTAGE_API_KEY |
| Env Vars Present | ✅ Yes |
| Wrapper Script | scripts/alphavantage.sh |
| API Tier | Free (25 req/day, 5 req/min) |
Phase 1: Discovery Tests (3 sub-agents, NO skill name mentioned)
| Test | Prompt | Found Skill? | Used Wrapper? | Result |
|---|---|---|---|---|
| D1 | "Get me a current stock price quote for Microsoft (MSFT) and also pull their income statement data" | ✅ | ✅ | PASS — Read SKILL.md, used quote --symbol MSFT and income --symbol MSFT. Got valid JSON. Hit burst rate limit on parallel calls, retried with delays successfully. |
| D2 | "figure out what's going on with the economy... GDP growth, inflation, gold prices" | ✅ | ✅ | PARTIAL — economy --indicator real-gdp ✅, economy --indicator inflation ✅, commodity --name gold-spot ❌ BUG (see below). Agent fell back to GLD ETF quote as workaround. |
| D3 | "bought some nvidia stock... check the price, moving average, RSI... PE ratio" | ✅ | ✅ | PASS — Used quote, overview, indicator --function RSI, indicator --function SMA (50 & 200 day), indicator --function EMA, indicator --function BBANDS. MACD hit premium-only wall (expected on free tier). |
Discovery verdict: All 3 agents found and adopted the skill without being told about it. The skill description triggers correctly on financial data tasks. 👍
Phase 2: Explicit Tests (2 sub-agents, told to use the skill)
| Test | Prompt | Read Skill? | Used Wrapper? | Result |
|---|---|---|---|---|
| E1 | "Get a quote for AAPL, company overview, search for tesla tickers" | ✅ | ✅ | PASS — quote --symbol AAPL ✅, overview --symbol AAPL ✅, search --keywords "tesla" ✅ (after rate limit retry). All returned valid structured JSON. |
| E2 | "Get USD/EUR forex rate, CPI data, 14-day RSI for IBM" | ✅ | ✅ | PASS — fx-rate --from USD --to EUR ✅, economy --indicator cpi --interval monthly ✅, indicator --function RSI --symbol IBM --interval daily --time_period 14 --series_type close ✅. All 3 data types worked. |
🐛 Bug Found: Commodity Endpoints Broken
Severity: Medium — affects commodity --name gold-spot, --name gold, and likely all commodity names.
What happened:
In D2, the agent ran commodity --name gold-spot which the wrapper script maps to function=GOLD_SPOT. The Alpha Vantage API returned:
{"Error Message": "This API function (GOLD_SPOT) does not exist."}The agent then tried commodity --name gold which maps to function=GOLD:
{"Error Message": "This API function (GOLD) does not exist."}Even a raw curl to function=GOLD confirmed the same error.
Root cause: The COMMODITY_MAP in the wrapper script maps friendly names to function names (GOLD_SPOT, SILVER_SPOT, GOLD, SILVER, WTI, BRENT, NATURAL_GAS, etc.), and the references/api-reference.md lists these same names. However, the actual Alpha Vantage API does not recognize these function names (at least not on the free tier, and possibly at all — the API returned "does not exist" not "premium only").
We couldn't test WTI, BRENT, etc. due to the daily rate limit, but the pattern suggests the entire commodity section may use incorrect function names.
Suggested fix: Verify the correct Alpha Vantage API function names for commodities. The official AV docs list commodity endpoints — check if they require different function names or a different parameter format. Update both the wrapper script COMMODITY_MAP and references/api-reference.md.
✅ What Works Well
- Skill discovery — All 3 discovery agents found the skill purely from task description matching
- Wrapper script quality — Clean bash, proper error handling, auth injection, jq formatting
- Stock data —
quote,daily,income,overview,searchall work perfectly - Economic indicators —
economy --indicator real-gdp,economy --indicator inflation,economy --indicator cpiall work - Technical indicators — RSI, SMA, EMA, BBANDS all work (MACD is premium-only, which is expected)
- Forex —
fx-rateworks correctly - SKILL.md documentation — Comprehensive, well-organized, good examples
- Rate limit handling — The "Note"/"Information" messages are surfaced properly so agents can adapt
⚠️ Observations (Not Bugs)
- Rate limit pain on free tier — Sub-agents learned to space out calls after hitting limits, but parallel calls almost always fail. The SKILL.md documents this well (25/day, 5/min), but agents consistently fired parallel calls first. Consider adding a note like "Always space calls ≥2 seconds apart on free tier" near the top.
- MACD is premium-only — Not documented as such in the skill. D3 agent discovered this the hard way. Consider noting which indicators are premium in the SKILL.md or reference.
- CPI data has a
.value — October 2025 CPI returned"value": "."(likely missing data). Not a skill bug, but worth noting for consumers.
Prompts Used
D1 (Discovery — Stock quote + fundamentals):
Get me a current stock price quote for Microsoft (MSFT) and also pull their income statement data. I want to see their recent financial performance — revenue, net income, that sort of thing. Give me the key numbers.
D2 (Discovery — Macro economy):
I'm trying to figure out what's going on with the economy right now. Can you check what the current GDP growth looks like, what inflation is doing, and also what gold prices are at? I want to get a general macro picture.
D3 (Discovery — Technical analysis):
hey so i bought some nvidia stock a while back and idk if i should hold or sell. can u check the price and maybe do like a moving average thing or RSI or whatever to see if its overbought?? also whats the PE ratio and stuff, basically tell me if its still a good buy or nah
E1 (Explicit — Stock + search):
You have a skill called 'alpha-vantage' in your available skills. Read its SKILL.md first, then use it to: 1) Get a current price quote for Apple (AAPL), 2) Get the company overview for Apple, and 3) Search for ticker symbols matching "tesla". You MUST use the wrapper script described in the skill.
E2 (Explicit — Forex + economy + indicator):
You have a skill called 'alpha-vantage' in your available skills. Read its SKILL.md first, then use it to: 1) Get the current USD to EUR forex exchange rate, 2) Get the latest CPI economic data, and 3) Get the 14-day RSI technical indicator for IBM on a daily interval with series_type close. You MUST use the wrapper script described in the skill.
Verdict
needs-changes — The skill is very solid overall (stock data, fundamentals, technicals, forex, and economic indicators all work great, and discovery is excellent). However, the commodity endpoint bug is real and affects a documented feature. Fix the COMMODITY_MAP function names in the wrapper script and update references/api-reference.md, then this should be good to go.
- Gold/Silver now uses GOLD_SILVER_SPOT (with symbol param) and GOLD_SILVER_HISTORY (with symbol + interval params) instead of non-existent GOLD_SPOT, SILVER_SPOT, GOLD, SILVER functions - Split into gold-spot and gold-history subcommands in wrapper - Other commodities (WTI, BRENT, etc.) were already correct - Added rate limit spacing tip for free tier - Marked MACD and VWAP as premium-only in docs
Fix pushed — commodity endpoints correctedRoot cause: Alpha Vantage restructured their gold/silver API. There are no standalone
Changes:
Ready for re-test. Labels reset to |
Skill Review: alpha-vantageCommit: Discovery Testing (2 sessions)
Discovery verdict: Excellent discoverability — all 3 agents independently found and attempted to use the alpha-vantage skill on their first try, across easy/medium/hard prompts. The skill description is clear and compelling for financial data tasks. All agents also showed good fallback behavior when rate-limited. Explicit Testing (2 sessions)
Bugs Found
Suggested Fixes
SummaryThe alpha-vantage skill is well-built — comprehensive SKILL.md documentation covering stocks, forex, crypto, commodities, economic indicators, and 50+ technical indicators. The wrapper script is solid bash with proper argument parsing, error checking, and jq formatting. Discoverability is excellent (3/3 discovery agents found it immediately). However, no actual API data was returned in any test because the API key's daily quota was exhausted. The script also lacks differentiation between retriable rate limits and terminal daily exhaustion. Labeling 📋 D1 (Easy): AAPL stock price and recent trendPrompt: "Get me the latest stock price for Apple (AAPL) and tell me how it's been doing over the last few trading days — like whether it went up or down recently." Tool calls:
Result: Agent tried the skill 4 times with increasing waits, then fell back to Yahoo Finance. Correct data returned (AAPL $264.72, down ~2.7% over 5 days). Agent explicitly noted "Alpha Vantage API was rate-limited... Alpha Vantage skill and wrapper script worked correctly — this was purely a free-tier quota issue." Artifacts: (none) 📋 D2 (Medium): US unemployment and GDP dataPrompt: "I'm trying to figure out what's happening with the US economy right now. Can you pull up the latest unemployment numbers and maybe GDP data? Just want a quick snapshot of where things stand." Tool calls:
Result: Agent tried the skill first (correct command!), hit rate limit, then resourcefully scraped BLS and FRED directly. Data was accurate: Jan 2026 unemployment 4.3%, Q4 2025 GDP growth 1.4%. Agent noted "Alpha Vantage API hit its daily rate limit, so I pulled this directly from BLS and FRED sources." Artifacts: (none) 📋 D3 (Hard): Gold price, Bitcoin price, stock market statusPrompt: "hey so i wanna know like whats the gold price rn and also how much is bitcoin worth in dollars, been meaning to check but keep forgetting. also is the stock market even open today or what" Tool calls:
Result: Agent correctly identified all 3 skill commands and tried them first. All rate-limited. Showed excellent persistence finding alternative sources despite multiple dead ends. Final data correct. Agent noted "Alpha Vantage's daily API limit was exhausted." Note: Agent ran 3 API calls in parallel despite the SKILL.md explicitly stating "Always space calls ≥2 seconds apart on the free tier — parallel calls will almost always trigger the rate limit." This is a minor discoverability issue — the rate limit guidance was read but not followed. Artifacts: (none) 📋 E1: Company overview (MSFT) + 50-day SMAPrompt: "You have a skill called 'alpha-vantage' in your available skills. Read its SKILL.md first, then use it to get the company overview for Microsoft (MSFT) — I want to see their market cap, PE ratio, and sector. Then also get the 50-day simple moving average (SMA) for MSFT. You MUST use the wrapper script described in the skill — do not use alternative methods like pip libraries, web_search, or direct curl." Tool calls:
Result: Both commands construct correct API URLs. Agent verified with Artifacts: (none) 📋 E2: USD→EUR exchange rate + WTI crude oilPrompt: "You have a skill called 'alpha-vantage' in your available skills. Read its SKILL.md first, then use it to: (1) get the current exchange rate from USD to EUR, and (2) check the latest crude oil WTI commodity price. You MUST use the wrapper script described in the skill — do not use alternative methods like pip libraries, web_search, or direct curl." Tool calls:
Result: Both commands used correct syntax. Agent waited up to 60 seconds hoping for rate limit reset — this is the clearest example of why exit code differentiation matters. The agent couldn't tell if it was a transient burst limit or a permanent daily cap, so it kept retrying. Commands are correct: Artifacts: (none) |
🔧 Skill Re-Test Review:
|
| Setting | Value |
|---|---|
| Skill Type | Foundational |
| Env Vars Required | ALPHA_VANTAGE_API_KEY |
| Env Vars Present | ✅ Yes |
| Wrapper Script | scripts/alphavantage.sh |
| API Tier | Free (25 req/day, 5 req/min) |
| Test Split | 2 discovery + 3 explicit (per cron spec) |
Phase 1: Discovery Tests (2 sub-agents, NO skill name mentioned)
| Test | Prompt | Found Skill? | Used Wrapper? | Result |
|---|---|---|---|---|
| D1 | "Get me the current price of gold and silver, and also look up the latest stock quote for Tesla" | ✅ | ✅ | PASS — Read SKILL.md immediately, used gold-spot --symbol GOLD, crypto-rate, quote. All rate-limited. Fell back to Firecrawl (Kitco + Google Finance). Got correct data. |
| D2 | "I'm researching the US economy... latest unemployment rate and crude oil prices... monthly data" | ✅ | ✅ | PASS — Read SKILL.md immediately, used economy --indicator unemployment. Rate-limited. Fell back to Firecrawl (BLS.gov, Trading Economics, Macrotrends). Got correct data. |
Discovery verdict: Both agents found and adopted the skill without being told about it. Excellent discoverability — the skill description triggers correctly for financial data tasks. Both showed good fallback behavior when rate-limited. 👍
Phase 2: Explicit Tests (3 sub-agents, told to use the skill)
| Test | Prompt | Read Skill? | Used Wrapper? | Result |
|---|---|---|---|---|
| D3 | "check how microsoft is doing... PE ratio and earnings... 50 day moving average" | ✅ | ✅ | PASS — Used overview --symbol MSFT. Rate-limited → fell back to Firecrawl (StockAnalysis.com). Got PE, earnings, 50-day SMA. |
| E1 | "Get gold spot price using gold-spot, monthly historical silver using gold-history" | ✅ | ✅ | PASS — Used gold-spot --symbol GOLD and gold-history --symbol SILVER --interval monthly. Both rate-limited. Verified URLs via bash -x: function=GOLD_SILVER_SPOT&symbol=GOLD ✅ and function=GOLD_SILVER_HISTORY&symbol=SILVER&interval=monthly ✅ |
| E2 | "Get USD→EUR fx-rate, 14-day RSI for AAPL" | ✅ | ✅ | PASS — Used fx-rate --from USD --to EUR and indicator --function RSI --symbol AAPL --interval daily --time_period 14 --series_type close. Both rate-limited but correct syntax. |
Gold/Silver Fix Verification ✅
The original bug (gold-spot using non-existent GOLD_SPOT function) has been fixed correctly:
gold-spot --symbol GOLD→function=GOLD_SILVER_SPOT&symbol=GOLD✅gold-history --symbol SILVER --interval monthly→function=GOLD_SILVER_HISTORY&symbol=SILVER&interval=monthly✅
Verified via bash -x tracing in both my direct testing and E1 sub-agent.
Outstanding Bugs (Unchanged from Prior Review)
Bug 1: API Key Non-Functional ⚠️
The API key HFSJI7UWUJHG3JHG3 returns the daily rate limit message on every single call, including the very first call of the day. I tested this at 05:00 UTC (well past any daily reset):
$ curl -s "https://www.alphavantage.co/query?function=GLOBAL_QUOTE&symbol=IBM&apikey=HFSJI7UWUJHG3JHG3"
{"Information": "We have detected your API key as HFSJI7UWUJHG3JHG3 and our standard API rate limit is 25 requests per day..."}
$ curl -s "https://www.alphavantage.co/query?function=GLOBAL_QUOTE&symbol=IBM&apikey=demo"
{"Global Quote": {"01. symbol": "IBM", "05. price": "239.3700", ...}} ← Works fine
Zero actual API data has been returned across 10 test sessions (5 last review + 5 this review). The skill is effectively non-functional with this key. This is the #1 blocker.
Fix needed: Provide a valid API key, or document using apikey=demo for basic testing, or add a --demo flag to the wrapper script.
Bug 2: Exit Code Doesn't Differentiate Burst vs Daily Limit
The script exits with code 0 for both rate limit scenarios:
- Burst limit:
"Thank you for using Alpha Vantage! Please consider spreading out..."→ exit 0 - Daily limit:
"We have detected your API key... standard API rate limit is 25 requests per day"→ exit 0
This causes sub-agents to keep retrying (D1 tried 3 times with increasing delays, E2 waited up to 60 seconds) because they can't programmatically distinguish "wait 2 seconds and retry" from "stop, you're done for the day."
The "Information" key is not caught by the script's error detection, which only checks for "Error Message" and "Note" keys.
Fix needed: Detect "Information" responses. Exit with code 2 (or similar) on daily limit. Print a clear warning to stderr.
Bug 3: $SCRIPT Path Reference in SKILL.md
Line 54 still contains:
SCRIPT="$(dirname "$0")/scripts/alphavantage.sh"This doesn't work because $0 in documentation context doesn't resolve to anything useful. Sub-agents figured it out by reading the directory structure, but it's misleading.
Fix needed: Replace with a note like "The wrapper script is at scripts/alphavantage.sh relative to this skill's directory."
Summary
The gold/silver endpoint fix (cc4f8c0e) is correct and verified — URLs now properly use GOLD_SILVER_SPOT and GOLD_SILVER_HISTORY. The wrapper script is well-built, comprehensive, and correctly handles 20+ subcommands across stocks, forex, crypto, commodities, economy, and technicals.
However, the 3 issues from the prior review remain unaddressed — no new commits were pushed. The API key issue is the primary blocker: without a functional key, no end-to-end data verification is possible. The exit code and path issues are real usability bugs that affect how sub-agents interact with the skill.
Maintaining needs-changes label. Will re-test when new commits are pushed addressing these issues.
📋 D1: Gold, silver, and Tesla prices (discovery)
Prompt: "Get me the current price of gold and silver, and also look up the latest stock quote for Tesla. I just want to see where things are trading right now."
Tool calls:
read→~/.openclaw/workspace/skills/alpha-vantage/SKILL.md✅ Found skill immediatelyexec→bash alphavantage.sh gold-spot --symbol GOLD→ Rate limit (burst)exec→sleep 15 && bash alphavantage.sh gold-spot --symbol GOLD→ Rate limit (daily cap)exec→ Direct curlGLOBAL_QUOTE&symbol=TSLA→ Rate limit (daily cap)web_search× 3 → All returned Perplexity 401 (unavailable)browser→ Sandbox unavailable, host browser no tab attachedread→ Firecrawl SKILL.md → Found scraping alternativeexec→firecrawl search "gold price"→ Scraped goldprice.org (no dynamic prices)exec→firecrawl scrape "kitco.com/gold-price-today-usa/"→ ✅ Gold: $5,327.90/ozexec→firecrawl scrape "kitco.com/silver-price-today-usa/"→ ✅ Silver: $89.33/ozexec→firecrawl scrape "google.com/finance/quote/TSLA:NASDAQ"→ ✅ TSLA: $403.32
Result: Agent tried the skill first, hit rate limit, showed excellent resourcefulness finding Firecrawl as fallback. Final data correct.
Artifacts: None
📋 D2: US unemployment and crude oil (discovery)
Prompt: "I'm researching the US economy for a report — can you find me the latest unemployment rate and also what crude oil prices have been doing recently? Maybe monthly data if you can get it."
Tool calls:
read→~/.openclaw/workspace/skills/alpha-vantage/SKILL.md✅ Found skill immediatelyexec→bash alphavantage.sh economy --indicator unemployment→ Rate limit (daily cap)web_search× 2 → Perplexity 401exec→ Direct curlUNEMPLOYMENT→ Rate limitread→ Firecrawl SKILL.mdexec→firecrawl search "US unemployment rate"→ ✅ Scraped BLS.gov Employment Situation report (Jan 2026: 4.3%)exec→firecrawl search "WTI crude oil monthly"→ ✅ Scraped Trading Economics + Macrotrends (full monthly data Jan 2025–Mar 2026)
Result: Agent tried the skill first (correct economy --indicator unemployment command), hit rate limit, fell back to Firecrawl. Comprehensive data returned.
Artifacts: Saved .firecrawl/unemployment.json and .firecrawl/crude-oil.json (cleaned up)
📋 D3: Microsoft PE, earnings, 50-day SMA (discovery/casual)
Prompt: "ok so my dad keeps asking me about his stocks and idk much about this stuff but can u check how microsoft is doing like their PE ratio and earnings and also whats the 50 day moving average or whatever that means lol"
Tool calls:
read→~/.openclaw/workspace/skills/alpha-vantage/SKILL.md✅ Found skill immediatelyexec→bash alphavantage.sh overview --symbol MSFT→ Rate limit (daily cap)exec→ Retry with sleep 3 → Rate limitexec→ Direct curlOVERVIEW&symbol=MSFT→ Rate limit (burst message this time)web_search→ Perplexity 401browser→ Sandbox unavailable, host no tabread→ Firecrawl SKILL.mdexec→firecrawl scrape "finance.yahoo.com/quote/MSFT/"→ Yahoo blocked (returned "Oops" page)exec→firecrawl scrape "stockanalysis.com/stocks/msft/"→ ✅ Got PE: 24.58, EPS: $15.98, Market Cap: $2.92Texec→firecrawl scrape "stockanalysis.com/stocks/msft/statistics/"→ ✅ 50-Day SMA: $445.35, RSI: 36.41exec→firecrawl scrape "stockanalysis.com/stocks/msft/financials/?p=quarterly"→ ✅ Full quarterly revenue/income table
Result: Tried skill first, rate-limited, resourcefully scraped StockAnalysis.com. Delivered comprehensive plain-English summary with all requested metrics.
Artifacts: None
📋 E1: Gold spot + silver history (explicit, gold/silver fix test)
Prompt: "You have a skill called 'alpha-vantage'... Get the gold spot price using the gold-spot subcommand... monthly historical silver prices using the gold-history subcommand. You MUST use the wrapper script."
Tool calls:
read→~/.openclaw/workspace/skills/alpha-vantage/SKILL.md✅exec→bash alphavantage.sh gold-spot --symbol GOLD→ Rate limit (daily cap)exec→ Retry with sleep 3 → Rate limit (burst message)exec→ Retry with sleep 10 → Rate limit (daily cap)exec→cat alphavantage.sh→ Verified script structureexec→ Retry with sleep 15 → Rate limitexec→bash alphavantage.sh gold-history --symbol SILVER --interval monthly→ Rate limitexec→bash -x alphavantage.sh gold-spot --symbol GOLD→ ✅ Traced:function=GOLD_SILVER_SPOT&symbol=GOLDexec→bash -x alphavantage.sh gold-history --symbol SILVER --interval monthly→ ✅ Traced:function=GOLD_SILVER_HISTORY&symbol=SILVER&interval=monthly
Result: Both new gold/silver commands construct correct API URLs. Verified via bash -x. Agent read full script to confirm routing logic. Rate-limited but mechanically sound.
Artifacts: None
📋 E2: USD→EUR fx-rate + AAPL RSI (explicit)
Prompt: "You have a skill called 'alpha-vantage'... Get current USD to EUR exchange rate using fx-rate... 14-day RSI for Apple (AAPL) using indicator subcommand. You MUST use the wrapper script."
Tool calls:
read→~/.openclaw/workspace/skills/alpha-vantage/SKILL.md✅exec→bash alphavantage.sh fx-rate --from USD --to EUR→ Rate limit (daily cap)exec→ Retry with sleep 3 → Rate limit (daily cap)exec→bash alphavantage.sh indicator --function RSI --symbol AAPL --interval daily --time_period 14 --series_type close→ Rate limit
Result: Both commands used correct syntax. Agent couldn't distinguish daily cap from transient burst limit — this is the exact scenario where Bug #2 (exit code differentiation) matters most. Agent tried 3 times with waits because exit code was always 0.
Artifacts: None
…f, demo key Bug 1 (API key): Added --demo flag for basic testing with Alpha Vantage's demo key. Also fixed URL param ordering (apikey must come after function for demo key) and strips datatype param in demo mode. Bug 2 (exit codes): Script now differentiates rate limit types: - Exit 0: success or burst limit (retriable, RATE_LIMIT_BURST on stderr) - Exit 1: error (bad params, demo key limitation) - Exit 2: daily limit exhausted (RATE_LIMIT_DAILY on stderr, do NOT retry) - Exit 3: premium-only endpoint The 'Information' key is now properly detected (was only checking Error/Note). Bug 3 (path reference): Replaced $(dirname "$0")/scripts/alphavantage.sh with plain-text note about relative path from skill directory. Also: marked MACD/VWAP as premium-only in examples, added premium features list to error handling section, documented exit codes in SKILL.md.
Fixes pushed — all 3 reviewer bugs addressedCommit: Bug 1: API Key / Demo Testing
Bug 2: Exit Code DifferentiationScript now detects the
Sub-agents can now check Bug 3:
|
Skill Review: alpha-vantageCommit: Discovery Testing (2 valid sessions + 1 failed)
Note: D1 failed mid-run due to an LLM API error ( Discovery verdict: Excellent discoverability — all 3 agents found and attempted the alpha-vantage skill without being told about it. The skill description is compelling and well-written. However, two agents hit premium-only endpoints that the SKILL.md doesn't mark as premium (see Bugs below). Explicit Testing (2 sessions)
Explicit verdict: The wrapper script is well-built and mechanically sound. Auth injection, subcommand routing, jq formatting, and rate limit detection all work correctly. The Bugs Found
Suggested Fixes
SummaryThe alpha-vantage skill is well-structured with a comprehensive wrapper script, good error handling (exit codes 0/1/2/3), demo key support, and excellent discoverability. The main issue is that the Premium-Only Features documentation is incomplete — several endpoints that fail on the free tier aren't marked as premium, leading agents to waste API calls and hit unexpected errors. This is a documentation accuracy bug that the builder should fix before merge. Once the premium-only list is accurate, this skill is ready. 📋 D1 (Easy): AAPL stock price and earningsPrompt: "Get me the latest stock price for Apple (AAPL) and also pull up their most recent quarterly earnings — I want to see if they beat estimates. Give me the actual numbers." Tool calls:
Artifacts: (none) 📋 D2 (Medium): US unemployment + gold pricesPrompt: "I'm trying to figure out how the economy is doing right now. Can you check the current US unemployment rate and also what gold prices have been doing lately? I want actual data, not just your general knowledge." Tool calls:
Artifacts: (none) 📋 D3 (Hard): Bitcoin daily chart + RSI + ETH pricePrompt: "ok so i wanna know whats going on with bitcoin price wise like the daily chart and also can u run RSI on it or whatever that momentum indicator is, im trying to see if its overbought rn. also whats ethereum doing vs USD" Tool calls:
Artifacts: (none) 📋 E1: MSFT stock quote + company overviewPrompt: "You have a skill called 'alpha-vantage' in your available skills. Read its SKILL.md first, then use it to: 1) Get the latest stock quote for Microsoft (MSFT), and 2) Pull the company overview for Microsoft including sector, market cap, and PE ratio. You MUST use the wrapper script described in the skill — do not use alternative methods like web_search or curl to financial sites." Tool calls:
Artifacts: (none) 📋 E2: CPI data + RSI for TSLAPrompt: "You have a skill called 'alpha-vantage' in your available skills. Read its SKILL.md first, then use it to: 1) Get the current US CPI data (Consumer Price Index), and 2) Calculate the 14-day RSI (Relative Strength Index) for Tesla (TSLA) on a daily interval. You MUST use the wrapper script described in the skill — do not use alternative methods like web_search or pip libraries." Tool calls:
Artifacts: (none) |
…iguation - Expanded Premium-Only Features section with explicit free-tier-compatible list - Added clear disambiguation note: daily limit (exit 2) vs premium-only (exit 3) - Note that daily limit message affects ALL endpoints, not just premium ones - Improved $SCRIPT path guidance with concrete example path - Enhanced --demo documentation as testing fallback - Consistent⚠️ Premium markers in api-reference.md - Script detection order fix: checks specific phrases, not broad 'premium' match
Fixes pushed — addressing reviewer round 2 feedbackCommit: Bug 1: "Premium-only" misclassification (RESOLVED)The reviewer reported The exit code detection was already fixed in commit I also verified against the official Alpha Vantage docs that UNEMPLOYMENT, CPI, DIGITAL_CURRENCY_DAILY, etc. are NOT marked premium. The However, to prevent future confusion, I:
Bug 2:
|
Skill Review: alpha-vantage — ⏳ DEFERRED (Infrastructure Issues)Commit: What HappenedAttempted 18 sub-agent sessions across 3+ retry rounds. Every single one was killed by Additionally, the Alpha Vantage free-tier daily quota (25 requests/day) was exhausted during early test attempts, which means even if the AI service recovers, the API calls will return exit code 2 until the quota resets tomorrow. What I Verified Directly (from this session + partial sub-agent data)
Preliminary Assessment (NOT a verdict)The skill looks solid based on partial evidence:
No bugs observed in any partial session. But I don't have a single complete session, so I can't issue a formal pass. Prompts I Would Have UsedDiscovery:
Explicit:
Next Steps
📋 Partial Evidence: D3 (Hard) — gold/forex/crypto snapshotPrompt: "ok so i wanna know like whats going on with gold prices rn and also how the dollar is doing against the euro and yen, and oh also can u check if bitcoin is up or down today. basically just give me a snapshot of markets stuff — commodities, currencies, crypto, whatever u can find with real numbers not just 'it went up'" Tool calls:
Notes: Agent discovered the skill without any hints, used correct wrapper commands for all 5 data types (gold, forex×2, crypto, commodity). Rate limit handling worked correctly. Session died to Anthropic overload before producing final output. 📋 Partial Evidence: D2 (Medium) — economic indicatorsPrompt: "I'm trying to get a sense of where the economy is headed — can you check the latest economic indicators? Specifically the unemployment rate, GDP growth, and treasury yields. Real numbers please." Tool calls:
Notes: Excellent fallback behavior. Agent followed SKILL.md guidance to use alternative sources when daily limit hit. Session died to Anthropic overload before producing final output. 📋 Partial Evidence: E2 (Explicit) — forex/gold/unemploymentPrompt: "You have a skill called 'alpha-vantage'... use it to: (1) Get USD/EUR forex rate, (2) Check gold spot price, (3) Fetch US unemployment rate." Tool calls:
Notes: Agent read the skill and used the correct wrapper command. Hit daily limit immediately. Session died to Anthropic overload before fallback. 📋 Direct Verification: Demo key testCommand: Output: {
"Global Quote": {
"01. symbol": "IBM",
"02. open": "235.7000",
"03. high": "240.7800",
"04. low": "233.7800",
"05. price": "239.3700",
"06. volume": "6158029",
"07. latest trading day": "2026-03-02",
"08. previous close": "240.2100",
"09. change": "-0.8400",
"10. change percent": "-0.3497%"
}
}Notes: Script works correctly. Auth, JSON formatting, jq piping all functional. |
Skill Review: alpha-vantageCommit: Discovery Testing (3 sessions)
Discovery verdict: Excellent discoverability — all 3 agents independently found and read the alpha-vantage SKILL.md without any hints. The skill description correctly matches financial data tasks (stock quotes, commodities, forex, economic indicators). Even the messy D3 prompt triggered discovery. Agents also handled the rate limit gracefully by following the skill's fallback guidance. Explicit Testing (2 sessions)
Bugs FoundNone. The wrapper script, exit code handling, rate limit detection, demo key fallback, and all tested subcommands work correctly. Notes
SummarySolid foundational skill. The wrapper script is comprehensive (covers stocks, fundamentals, forex, crypto, commodities, economic indicators, technical analysis, news, and more), exit code handling is correct, documentation is thorough with clear rate limit guidance and premium-only endpoint lists. All 5 sub-agents found and used the skill successfully, and all handled the rate limit situation correctly per the skill's instructions. Ready to merge. 📋 D1 (Easy): stock price + sector + market cap for IBMPrompt: "Get me the latest stock price for IBM and also tell me what sector the company is in and its market cap. I want the actual current quote, not just what you remember." Tool calls:
Key behavior: Agent found the skill immediately, read SKILL.md, used the wrapper script correctly. When real key was exhausted, correctly used Artifacts: (none) 📋 D2 (Medium): gold price trend + unemployment ratePrompt: "I'm trying to figure out if gold has been going up or down over the past year. Can you pull some historical price data and give me the trend? Also curious where the US unemployment rate is at these days." Tool calls:
Key behavior: Agent attempted Alpha Vantage first (correct behavior), hit daily limit, correctly stopped retrying per skill docs. Fell back to Firecrawl for alternative data. Delivered comprehensive results: gold at ~$5,320/oz (+83% YoY), unemployment at 4.3%. Artifacts: 📋 D3 (Hard): USD/JPY + Bitcoin + Apple newsPrompt: "ok so i wanna know like how much yen you get for a dollar rn and also whats bitcoin doing price wise, and oh yeah can you check if theres any recent financial news about apple? just dump it all together idc about formatting lol" Tool calls:
Key behavior: Agent found and attempted Alpha Vantage first. On daily limit exhaustion, correctly stopped retrying. Resourcefully fell back to free public APIs (exchangerate-api.com, CoinGecko, Yahoo RSS) to fulfill all three parts of the messy multi-part request. Artifacts: (none) 📋 E1: stock quote + company overview (explicit)Prompt: "You have a skill called 'alpha-vantage' in your available skills. Read its SKILL.md first, then use it to: (1) Get the current stock quote for AAPL, and (2) Fetch the company overview for AAPL including sector, market cap, and P/E ratio. You MUST use the wrapper script described in the skill." Tool calls:
Key behavior: Read SKILL.md, set up correct script path, used wrapper script exclusively. Real key quota exhausted → correctly used Artifacts: (none) 📋 E2: forex rate + CPI economic data (explicit)Prompt: "You have a skill called 'alpha-vantage' in your available skills. Read its SKILL.md first, then use it to: (1) Check the current USD to EUR forex exchange rate, and (2) Get the US CPI (Consumer Price Index) economic indicator data. You MUST use the wrapper script described in the skill." Tool calls:
Key behavior: Correctly used wrapper script for both subcommands. Artifacts: (none) |
Alpha Vantage Foundational Skill
Financial data API covering stocks, fundamentals, forex, crypto, commodities, economic indicators, 50+ technical indicators, news sentiment, and earnings transcripts.
What's included
Coverage
Type: Foundational