Description-triggered routing
Skill evals
The description field is a router, not marketing copy. These cases check that Iranian-market prompts activate pytse-client and that NYSE/crypto prompts do not. 10 must activate · 2 must ignore.
01 · fa · must activate
download_history
قیمتهای روزانه فولاد را از ابتدای سال ۱۴۰۲ تا امروز بهصورت تعدیلشده دانلود کن و در یک فایل CSV ذخیره کن.
Routes to download_history with adjust=True and include_jdate=True; the agent maps the Jalali year start (۱۴۰۲) itself, since the call takes no date range.
02 · en · must activate
ticker_snapshot
Pull the current fundamentals for Bank Mellat (وبملت) — EPS, P/E, free float, and the five largest shareholders — and summarize them in one table.
Routes to ticker_snapshot for the fundamentals, then ticker_shareholders for the holders; a correct answer separates the reported float from the float implied by 100 − Σ(major-holder percentages).
03 · fa · must activate
financial_index_snapshot
شاخص کل بورس تهران الان روی چند است؟ از ابتدای سال تاکنون چند درصد تغییر کرده؟
An index, not a stock — must route to FinancialIndex, never Ticker. The year-to-date change needs index history, not today's snapshot. The library's index map spells the name with the Arabic kaf (كل), so the agent must resolve the Persian spelling (کل) it was given.
04 · fa · must activate
download_client_types
امروز در خودرو حقیقیها خریدار بودند یا فروشنده؟ حجم خرید و فروش حقیقیها را با هم مقایسه کن.
Routes to download_client_types; a correct answer compares individual (حقیقی) buy volume against sell volume for the latest session and reads the ownership change, not just the count.
05 · en · must activate
get_trade_details
Aggregate اهرم into 15-minute OHLCV bars covering March 19 to April 22, 2023.
Routes to get_trade_details with timeframe='15m' and aggregate=True; the dates are Gregorian, not Jalali.
06 · en · must activate
get_orderbook
Fetch the five-level order book for خساپا on every trading day of March 2023; use the diff format to keep the payload small.
Routes to get_orderbook with diff_orderbook=True over the March 2023 range; the agent should pass ignore_date_validation because the month boundaries are not session boundaries.
07 · fa · must activate
get_stats
میخواهم فیلتری بنویسم که نمادهایی را پیدا کند که میانگین حجم خرید حقیقی سهماههشان بالاتر از بقیه بازار است. آمارهای لازم را بگیر.
The فیلترنویسی phrasing routes to get_stats, the key-stats universe — not a realtime board; a correct agent filters on the average individual-buy column over the last three months.
08 · en · must activate
ticker_shareholders
Estimate the true free float of وبملت from its major-shareholder table, and say how it differs from the reported float.
Routes to ticker_shareholders; expected reasoning is free float ≈ 100 − Σ(major-shareholder percentages), contrasted with the reported figure and the gap explained.
09 · en · must ignore
Fetch AAPL daily candles from Yahoo Finance and compute the 50-day moving average.
US equity on a non-Iranian venue — must NOT activate this skill.
10 · en · must ignore
Track the BTC-USDT funding rate on Binance over the last 24 hours.
Crypto venue, outside TSETMC — must NOT activate this skill.
11 · fa · must activate
resolve_symbol
نماد مورد نظرم حذف شده و دیگر در جستوجو پیدا نمیشود. شماره instrument قدیمیاش را پیدا کن و آخرین وضعیتش را نشان بده.
Delisted path: resolve_symbol still returns the old indexes for removed rows; the agent then loads Ticker with index= instead of searching by name.
12 · en · must activate
ticker_shareholders_history
My asyncio.run() call inside a running FastAPI event loop fails while fetching shareholder history for فولاد, and TSETMC just rate-limited me. What is the correct call?
Routes to shareholders history plus the pitfalls reference; expected answer: await the *_async variant inside the existing loop instead of asyncio.run(), and fetch serially to stay under TSETMC's rate limit.