compare_tickers
Side-by-side comparison of two or more tickers — financial metrics, recent
events, and a qualitative read.
When to use
Trigger this skill when the user wants to compare multiple tickers:
- "compare AAPL and MSFT"
- "compare NVDA vs AMD"
- "AAPL GOOGL MSFT — which has the most stable fundamentals?"
- "AAPL MSFT NVDA which is the best buy"
Note: the router LLM handles non-English inputs naturally; equivalent
phrasings in other languages route here too.
Do not use when:
- The user only mentions one ticker → use
generate_report.
- The user wants raw numbers, no analysis → answer from RAG / direct query.
- The user mentions multiple tickers in passing but is asking about
something else (e.g. "did AAPL or MSFT report yesterday?") → RAG.
Inputs
tickers (array of strings, required, min 2): ticker symbols, e.g.
["AAPL", "MSFT"]. Case-insensitive; will be uppercased.
focus (string, optional): comparison angle, e.g. "valuation",
"earnings growth", "recent catalysts". Free-form — passed into the
prompt as a hint. Defaults to "overall fundamentals".
Output
content: a Markdown report with a metrics table + per-ticker
observations + a final ranking/recommendation paragraph.
artifacts: none (comparisons are ad-hoc; we don't persist them).
meta: {tickers, focus, ticker_chars: {ticker: int, ...}}.
Notes for routing
When extracting tickers from a free-text message, prefer all-caps
sequences of 1–5 letters that look like symbols. If the user only mentions
one ticker, do not pick this skill — pick generate_report instead.
1---2name: compare-tickers3description: compare_tickers4---5# compare_tickers67Side-by-side comparison of two or more tickers — financial metrics, recent8events, and a qualitative read.910## When to use1112Trigger this skill when the user wants to **compare** multiple tickers:1314- "compare AAPL and MSFT"15- "compare NVDA vs AMD"16- "AAPL GOOGL MSFT — which has the most stable fundamentals?"17- "AAPL MSFT NVDA which is the best buy"1819Note: the router LLM handles non-English inputs naturally; equivalent20phrasings in other languages route here too.2122Do **not** use when:2324- The user only mentions one ticker → use `generate_report`.25- The user wants raw numbers, no analysis → answer from RAG / direct query.26- The user mentions multiple tickers in passing but is asking about27 something else (e.g. "did AAPL or MSFT report yesterday?") → RAG.2829## Inputs3031- `tickers` (array of strings, required, min 2): ticker symbols, e.g.32 `["AAPL", "MSFT"]`. Case-insensitive; will be uppercased.33- `focus` (string, optional): comparison angle, e.g. "valuation",34 "earnings growth", "recent catalysts". Free-form — passed into the35 prompt as a hint. Defaults to "overall fundamentals".3637## Output3839- `content`: a Markdown report with a metrics table + per-ticker40 observations + a final ranking/recommendation paragraph.41- `artifacts`: none (comparisons are ad-hoc; we don't persist them).42- `meta`: `{tickers, focus, ticker_chars: {ticker: int, ...}}`.4344## Notes for routing4546When extracting `tickers` from a free-text message, prefer all-caps47sequences of 1–5 letters that look like symbols. If the user only mentions48one ticker, do **not** pick this skill — pick `generate_report` instead.