[{"data":1,"prerenderedAt":-1},["ShallowReactive",2],{"skill:01M6GS0JHP8QR78KNMW7ASVQDM":3,"skill-same:01M6GS0JHP8QR78KNMW7ASVQDM":63},{"skillNo":4,"name":5,"nameZh":6,"description":6,"descriptionZh":6,"repositoryFullName":7,"ownerLogin":8,"ownerAvatarUrl":9,"ownerAccountNo":10,"ownerDisplayName":11,"repositoryNo":12,"starsCount":13,"licenseSpdxId":14,"licenseFileUrl":15,"sourceHtmlUrl":16,"categories":17,"keywords":18,"publishedAt":21,"linkOnly":22,"markdownContent":23,"markdownBody":24,"frontMatter":25,"refName":26,"commitSha":27,"skillDirectory":28,"forksCount":29,"repositoryHtmlUrl":30,"repositoryHomepageUrl":6,"ownerHtmlUrl":31,"ownerBlogUrl":32,"ownerDescription":33,"updatedAt":34,"install":35,"resources":48},"01M6GS0JHP8QR78KNMW7ASVQDM","erhnysr-bist100",null,"jiayaoqijia\u002Fcryptoskill","jiayaoqijia","https:\u002F\u002Favatars.githubusercontent.com\u002Fu\u002F1453879?v=4","01M6GMYTX7Q7S504VC6E756ENR","YQ","01M6GMYV1QKJ1CC75MTTGT9PR0",81,"MIT","https:\u002F\u002Fgithub.com\u002Fjiayaoqijia\u002Fcryptoskill\u002Fblob\u002Fmain\u002Fskills\u002Fdev-tools\u002Ferhnysr-bist100\u002FLICENSE","https:\u002F\u002Fgithub.com\u002Fjiayaoqijia\u002Fcryptoskill\u002Fblob\u002Fmain\u002Fskills\u002Fdev-tools\u002Ferhnysr-bist100\u002FSKILL.md",[],[19,20],"erhnysr bist100","bist100","2026-11-10 10:12:30",false,"---\nname: bist100\nversion: 1.0.0\ndescription: \"Borsa İstanbul BIST100 endeksi, hisse takibi, döviz kurları (USD\u002FTRY, EUR\u002FTRY) ve altın fiyatları. \u002F Borsa Istanbul BIST100 index, stock tracking, currency rates, and gold prices for the Turkish market.\"\ntags: [turkish, finance, bist100, borsa, stocks, forex, gold, usd-try, eur-try]\nauthor: Hermes Agent Hackathon 2026\ntriggers:\n  - \"BIST100\", \"BIST 100\", \"borsa\", \"Borsa İstanbul\"\n  - \"hisse\", \"hisse senedi\", stock ticker like \"THYAO\", \"GARAN\", \"ASELS\"\n  - \"dolar kuru\", \"euro kuru\", \"döviz\", \"USD\u002FTRY\", \"EUR\u002FTRY\"\n  - \"altın fiyatı\", \"gram altın\", \"çeyrek altın\"\n  - \"piyasa\", \"piyasalar nasıl\", \"borsa nasıl\"\n---\n\n# ? BIST100 & Turkish Markets \u002F Borsa İstanbul ve Türk Piyasaları\n\n> Real-time tracking of Borsa Istanbul, currency rates, and commodities.\n> Borsa İstanbul, döviz kurları ve emtia fiyatlarının gerçek zamanlı takibi.\n\n---\n\n## When To Use \u002F Ne Zaman Kullanılır\n\n- User asks about Turkish stock market or BIST100 index\n- User queries a specific Turkish stock (e.g., THYAO, GARAN, SISE, ASELS)\n- User asks about USD\u002FTRY, EUR\u002FTRY, or other currency pairs\n- User asks about gold prices (gram altın, çeyrek altın, ons altın)\n- Part of the daily brief pipeline (called by turkish-daily-brief)\n- User says \"piyasalar nasıl?\", \"borsa ne durumda?\", \"dolar kaç?\"\n\n---\n\n## Market Reference \u002F Piyasa Referansı\n\n### Borsa İstanbul İşlem Saatleri\n```\nSürekli İşlem:  10:00 - 18:00 (UTC+3)\nAçılış Seansı:  09:40 - 10:00\nKapanış Seansı: 18:00 - 18:10\nTatil Günleri:  Cumartesi, Pazar, Resmi Tatiller\nZaman Dilimi:   Europe\u002FIstanbul (UTC+3, yıl boyu)\n```\n\n### Major BIST100 Stocks \u002F Önemli BIST100 Hisseleri\n```\nTHYAO  — Türk Hava Yolları (Turkish Airlines)\nGARAN  — Garanti BBVA Bankası\nAKBNK  — Akbank\nYKBNK  — Yapı Kredi Bankası\nISCTR  — İş Bankası\nSISE   — Şişecam\nASELS  — ASELSAN (Savunma\u002FDefence)\nTUPRS  — Tüpraş (Enerji\u002FRefinery)\nEREGL  — Ereğli Demir Çelik\nKCHOL  — Koç Holding\nSAHOL  — Sabancı Holding\nTAVHL  — TAV Havalimanları\nBIMAS  — BİM Mağazaları\nTCELL  — Turkcell\nTOASO  — Tofaş Otomobil\nFROTO  — Ford Otosan\nPETKM  — Petkim\nEKGYO  — Emlak Konut GYO\nPGSUS  — Pegasus Havayolları\nSASA   — SASA Polyester\n```\n\n### Currency Pairs \u002F Döviz Çiftleri\n```\nUSD\u002FTRY  — Amerikan Doları \u002F Türk Lirası\nEUR\u002FTRY  — Euro \u002F Türk Lirası\nGBP\u002FTRY  — İngiliz Sterlini \u002F Türk Lirası\nJPY\u002FTRY  — Japon Yeni \u002F Türk Lirası\nCHF\u002FTRY  — İsviçre Frangı \u002F Türk Lirası\n```\n\n### Gold & Commodities \u002F Altın ve Emtialar\n```\nGram Altın     — 1 gram 24 ayar altın (TRY)\nÇeyrek Altın   — ~1.75 gram (TRY)\nYarım Altın    — ~3.50 gram (TRY)\nTam Altın      — ~7.00 gram (TRY)\nOns Altın      — XAU\u002FUSD (Troy ounce)\nGümüş          — XAG\u002FUSD\nBrent Petrol   — Brent Crude (USD)\n```\n\n---\n\n## Data Sources & Methods \u002F Veri Kaynakları ve Yöntemler\n\n### Method 1: Web Scraping (Primary \u002F Ana Yöntem)\n\n**Bloomberg HT — Most Reliable for Turkish Markets:**\n\n```python\nfrom hermes_tools import web_extract\n\n# BIST100 Index\nresult = web_extract([\"https:\u002F\u002Fwww.bloomberght.com\u002Fborsa\u002Fendeksler\u002Fbist-100\"])\n# Extract: Current value, change %, daily high\u002Flow, volume\n\n# Individual Stock\nresult = web_extract([\"https:\u002F\u002Fwww.bloomberght.com\u002Fborsa\u002Fhisseler\u002FTHYAO\"])\n# Extract: Price, change, volume, market cap\n\n# Currency Rates\nresult = web_extract([\"https:\u002F\u002Fwww.bloomberght.com\u002Fdoviz\"])\n# Extract: USD\u002FTRY, EUR\u002FTRY, GBP\u002FTRY\n\n# Gold Prices\nresult = web_extract([\"https:\u002F\u002Fwww.bloomberght.com\u002Faltin\"])\n# Extract: Gram, çeyrek, yarım, tam, ons\n```\n\n**Bigpara (Hürriyet Finance):**\n\n```python\n# BIST100\nresult = web_extract([\"https:\u002F\u002Fbigpara.hurriyet.com.tr\u002Fborsa\u002Fcanli-borsa\u002F\"])\n\n# Currency\nresult = web_extract([\"https:\u002F\u002Fbigpara.hurriyet.com.tr\u002Fdoviz\u002F\"])\n\n# Gold\nresult = web_extract([\"https:\u002F\u002Fbigpara.hurriyet.com.tr\u002Faltin\u002F\"])\n```\n\n**Investing.com TR:**\n\n```python\n# BIST100\nresult = web_extract([\"https:\u002F\u002Ftr.investing.com\u002Findices\u002Fise-100\"])\n\n# Comprehensive market overview\nresult = web_extract([\"https:\u002F\u002Ftr.investing.com\u002F\"])\n```\n\n### Method 2: Yahoo Finance API (Backup \u002F Yedek Yöntem)\n\n```python\nfrom hermes_tools import terminal\n\n# BIST100 Index\nterminal(\"curl -s 'https:\u002F\u002Fquery1.finance.yahoo.com\u002Fv8\u002Ffinance\u002Fchart\u002FXU100.IS?interval=1d&range=1d'\")\n\n# Individual Stock (add .IS suffix for Borsa Istanbul)\nterminal(\"curl -s 'https:\u002F\u002Fquery1.finance.yahoo.com\u002Fv8\u002Ffinance\u002Fchart\u002FTHYAO.IS?interval=1d&range=1d'\")\n\n# USD\u002FTRY\nterminal(\"curl -s 'https:\u002F\u002Fquery1.finance.yahoo.com\u002Fv8\u002Ffinance\u002Fchart\u002FUSDTRY=X?interval=1d&range=1d'\")\n\n# EUR\u002FTRY\nterminal(\"curl -s 'https:\u002F\u002Fquery1.finance.yahoo.com\u002Fv8\u002Ffinance\u002Fchart\u002FEURTRY=X?interval=1d&range=1d'\")\n\n# Gold (XAU\u002FUSD)\nterminal(\"curl -s 'https:\u002F\u002Fquery1.finance.yahoo.com\u002Fv8\u002Ffinance\u002Fchart\u002FGC=F?interval=1d&range=1d'\")\n```\n\n**Yahoo Finance Ticker Reference for BIST:**\n```\nBIST100 Index:  XU100.IS\nBIST30 Index:   XU030.IS\nBIST Bank:      XBANK.IS\nStocks:         {TICKER}.IS  (e.g., THYAO.IS, GARAN.IS, ASELS.IS)\nUSD\u002FTRY:        USDTRY=X\nEUR\u002FTRY:        EURTRY=X\n```\n\n### Method 3: DuckDuckGo Search (Fallback \u002F Son Çare)\n\n```python\nfrom hermes_tools import web_search\n\n# Quick price check when APIs are down\nresult = web_search(\"BIST100 bugün\", limit=3)\nresult = web_search(\"dolar TL kuru bugün\", limit=3)\nresult = web_search(\"gram altın fiyatı bugün\", limit=3)\n```\n\n---\n\n## Procedures \u002F İşlem Adımları\n\n### Procedure 1: Market Overview \u002F Piyasa Özeti\n\n**Trigger:** \"Piyasalar nasıl?\", \"Borsa ne durumda?\", \"Market overview\"\n\nSteps:\n1. Fetch BIST100 index value and daily change\n2. Fetch USD\u002FTRY and EUR\u002FTRY rates\n3. Fetch gram altın price\n4. Check if market is open\u002Fclosed based on current time (UTC+3)\n5. Format as compact summary\n\n**Output:**\n```\n? PİYASA ÖZETİ — 11 Mart 2026, 14:30\n\nBIST100:    9,245.67  ▲ +1.23% (+112.45)\nUSD\u002FTRY:    38.4521   ▼ -0.15%\nEUR\u002FTRY:    41.2380   ▲ +0.08%\nGram Altın: ₺3,245    ▲ +0.52%\n\n? Borsa AÇIK — kapanışa 3s 30dk\n```\n\n### Procedure 2: Stock Lookup \u002F Hisse Sorgulama\n\n**Trigger:** \"THYAO nasıl?\", \"THYAO hissesi\", \"Garanti hissesi ne durumda?\"\n\nSteps:\n1. Identify stock ticker from user input\n   - Direct ticker: \"THYAO\" → THYAO\n   - Company name: \"Türk Hava Yolları\" → THYAO\n   - Partial match: \"Garanti\" → GARAN\n2. Fetch stock data from Bloomberg HT or Yahoo Finance\n3. Extract: price, daily change %, volume, high\u002Flow, market cap\n4. Format with Turkish number formatting (1.000,50)\n\n**Ticker Resolution Table:**\n```python\nCOMPANY_TICKERS = {\n    \"thy\": \"THYAO\", \"türk hava\": \"THYAO\", \"turkish airlines\": \"THYAO\",\n    \"garanti\": \"GARAN\", \"akbank\": \"AKBNK\", \"yapı kredi\": \"YKBNK\",\n    \"iş bankası\": \"ISCTR\", \"şişecam\": \"SISE\", \"aselsan\": \"ASELS\",\n    \"tüpraş\": \"TUPRS\", \"ereğli\": \"EREGL\", \"koç\": \"KCHOL\",\n    \"sabancı\": \"SAHOL\", \"tav\": \"TAVHL\", \"bim\": \"BIMAS\",\n    \"turkcell\": \"TCELL\", \"tofaş\": \"TOASO\", \"ford otosan\": \"FROTO\",\n    \"petkim\": \"PETKM\", \"pegasus\": \"PGSUS\", \"sasa\": \"SASA\",\n}\n```\n\n**Output:**\n```\n? THYAO — Türk Hava Yolları\n━━━━━━━━━━━━━━━━━━━━━━━━━━\n\nFiyat:     ₺287,40    ▲ +2.15%\nDeğişim:   +₺6,05\nHacim:     45.2M\nGün İçi:   ₺282,00 - ₺289,50\nP.Değeri:  ₺396,2 Milyar\n\n? Son güncelleme: 14:30\n```\n\n### Procedure 3: Currency Rates \u002F Döviz Kurları\n\n**Trigger:** \"Dolar kaç?\", \"Euro kuru\", \"Döviz kurları\"\n\nSteps:\n1. Detect which currencies are requested\n2. Fetch from Bloomberg HT or Yahoo Finance\n3. Include buy\u002Fsell spread if available\n4. Show daily change direction and percentage\n\n**Output:**\n```\n? DÖVİZ KURLARI — 11 Mart 2026\n\nUSD\u002FTRY:  38,4521  ▼ -0,15%  (Alış: 38,42 \u002F Satış: 38,48)\nEUR\u002FTRY:  41,2380  ▲ +0,08%  (Alış: 41,20 \u002F Satış: 41,28)\nGBP\u002FTRY:  48,7650  ▲ +0,22%  (Alış: 48,72 \u002F Satış: 48,81)\n\n? Son güncelleme: 14:30 • TCMB efektif kurları\n```\n\n### Procedure 4: Gold Prices \u002F Altın Fiyatları\n\n**Trigger:** \"Altın kaç?\", \"Gram altın\", \"Çeyrek altın fiyatı\"\n\nSteps:\n1. Fetch gold prices from Bloomberg HT or Bigpara\n2. Include all popular variants (gram, çeyrek, yarım, tam, ons)\n3. Show daily changes\n\n**Output:**\n```\n? ALTIN FİYATLARI — 11 Mart 2026\n\nGram Altın:    ₺3.245,00   ▲ +₺17  (+0,52%)\nÇeyrek Altın:  ₺5.320,00   ▲ +₺28  (+0,53%)\nYarım Altın:   ₺10.640,00  ▲ +₺56  (+0,53%)\nTam Altın:     ₺21.280,00  ▲ +₺112 (+0,53%)\nOns Altın:     $2.185,40   ▲ +$8,20 (+0,38%)\n\n? Son güncelleme: 14:30\n```\n\n### Procedure 5: Portfolio Watchlist \u002F Portföy Takip Listesi\n\n**Trigger:** \"Portföyümü takip et\", \"Şu hisseleri izle: THYAO, GARAN, ASELS\"\n\nSteps:\n1. Parse ticker list from user input\n2. Fetch current prices for all tickers\n3. Format as compact watchlist table\n4. Offer to schedule periodic updates\n\n**Output:**\n```\n? TAKİP LİSTEN — 11 Mart 2026, 14:30\n\nHisse    Fiyat      Değişim    %\n━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━\nTHYAO    ₺287,40    +₺6,05    ▲ +2,15%\nGARAN    ₺142,80    -₺1,20    ▼ -0,83%\nASELS    ₺84,50     +₺0,75    ▲ +0,90%\n━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━\n\n⏰ Takip zamanlamak ister misin?\n```\n\n---\n\n## Number Formatting \u002F Sayı Formatlama\n\nTurkish number format differs from English:\n```python\ndef format_turkish_number(value, decimals=2):\n    \"\"\"Format number in Turkish style: 1.234.567,89\"\"\"\n    if isinstance(value, str):\n        value = float(value.replace('.', '').replace(',', '.'))\n    formatted = f\"{value:,.{decimals}f}\"\n    # Swap . and , for Turkish format\n    formatted = formatted.replace(',', 'X').replace('.', ',').replace('X', '.')\n    return formatted\n\ndef format_turkish_currency(value, symbol=\"₺\"):\n    \"\"\"Format as Turkish currency.\"\"\"\n    return f\"{symbol}{format_turkish_number(value)}\"\n\n# Examples:\n# 1234567.89  →  \"₺1.234.567,89\"\n# 38.4521     →  \"38,4521\"\n# 0.0523      →  \"%5,23\" (percentage)\n```\n\n---\n\n## Market Status Detection \u002F Piyasa Durumu Tespiti\n\n```python\nfrom datetime import datetime, timezone, timedelta\n\ndef get_market_status():\n    \"\"\"Check if Borsa Istanbul is currently open.\"\"\"\n    ist = timezone(timedelta(hours=3))\n    now = datetime.now(ist)\n    \n    # Weekend check\n    if now.weekday() >= 5:  # Saturday=5, Sunday=6\n        return \"KAPALI\", \"Hafta sonu — Pazartesi 10:00'da açılır\"\n    \n    hour_min = now.hour * 60 + now.minute\n    \n    if hour_min \u003C 580:  # Before 09:40\n        return \"KAPALI\", \"Açılış seansı 09:40'ta başlar\"\n    elif hour_min \u003C 600:  # 09:40-10:00\n        return \"AÇILIŞ SEANSI\", \"Sürekli işlem 10:00'da başlar\"\n    elif hour_min \u003C 1080:  # 10:00-18:00\n        remaining = 1080 - hour_min\n        h, m = divmod(remaining, 60)\n        return \"AÇIK\", f\"Kapanışa {h}s {m}dk\"\n    elif hour_min \u003C 1090:  # 18:00-18:10\n        return \"KAPANIŞ SEANSI\", \"Gün sonu seansı\"\n    else:\n        return \"KAPALI\", \"Yarın 10:00'da açılır\"\n```\n\n---\n\n## Error Handling \u002F Hata Yönetimi\n\n- If Bloomberg HT fails → try Bigpara → try Yahoo Finance → try web_search\n- If market is closed → show last closing values with note\n- If ticker not found → suggest closest match from known tickers list\n- If currency API fails → try TCMB XML (https:\u002F\u002Fwww.tcmb.gov.tr\u002Fkurlar\u002Ftoday.xml)\n- Always show data timestamp so user knows freshness\n\n---\n\n## Pitfalls \u002F Dikkat Edilecekler\n\n1. **Market hours:** BIST operates 10:00-18:00 UTC+3, no DST — don't show \"live\" outside hours\n2. **Yahoo suffix:** All BIST tickers need `.IS` suffix on Yahoo Finance\n3. **Number format:** Turkish uses dot for thousands, comma for decimal — NEVER mix with English format\n4. **Gold variants:** Çeyrek\u002Fyarım\u002Ftam altın are NOT simply multiples of gram due to crafting markup\n5. **TCMB rates:** Central bank rates differ from market rates — specify which you're showing\n6. **Weekend data:** Don't show stale Friday data as \"current\" on Monday — label it clearly\n7. **Lira symbol:** Use ₺ (U+20BA), not TL or TRY in display\n","# ? BIST100 & Turkish Markets \u002F Borsa İstanbul ve Türk Piyasaları\n\n> Real-time tracking of Borsa Istanbul, currency rates, and commodities.\n> Borsa İstanbul, döviz kurları ve emtia fiyatlarının gerçek zamanlı takibi.\n\n---\n\n## When To Use \u002F Ne Zaman Kullanılır\n\n- User asks about Turkish stock market or BIST100 index\n- User queries a specific Turkish stock (e.g., THYAO, GARAN, SISE, ASELS)\n- User asks about USD\u002FTRY, EUR\u002FTRY, or other currency pairs\n- User asks about gold prices (gram altın, çeyrek altın, ons altın)\n- Part of the daily brief pipeline (called by turkish-daily-brief)\n- User says \"piyasalar nasıl?\", \"borsa ne durumda?\", \"dolar kaç?\"\n\n---\n\n## Market Reference \u002F Piyasa Referansı\n\n### Borsa İstanbul İşlem Saatleri\n```\nSürekli İşlem:  10:00 - 18:00 (UTC+3)\nAçılış Seansı:  09:40 - 10:00\nKapanış Seansı: 18:00 - 18:10\nTatil Günleri:  Cumartesi, Pazar, Resmi Tatiller\nZaman Dilimi:   Europe\u002FIstanbul (UTC+3, yıl boyu)\n```\n\n### Major BIST100 Stocks \u002F Önemli BIST100 Hisseleri\n```\nTHYAO  — Türk Hava Yolları (Turkish Airlines)\nGARAN  — Garanti BBVA Bankası\nAKBNK  — Akbank\nYKBNK  — Yapı Kredi Bankası\nISCTR  — İş Bankası\nSISE   — Şişecam\nASELS  — ASELSAN (Savunma\u002FDefence)\nTUPRS  — Tüpraş (Enerji\u002FRefinery)\nEREGL  — Ereğli Demir Çelik\nKCHOL  — Koç Holding\nSAHOL  — Sabancı Holding\nTAVHL  — TAV Havalimanları\nBIMAS  — BİM Mağazaları\nTCELL  — Turkcell\nTOASO  — Tofaş Otomobil\nFROTO  — Ford Otosan\nPETKM  — Petkim\nEKGYO  — Emlak Konut GYO\nPGSUS  — Pegasus Havayolları\nSASA   — SASA Polyester\n```\n\n### Currency Pairs \u002F Döviz Çiftleri\n```\nUSD\u002FTRY  — Amerikan Doları \u002F Türk Lirası\nEUR\u002FTRY  — Euro \u002F Türk Lirası\nGBP\u002FTRY  — İngiliz Sterlini \u002F Türk Lirası\nJPY\u002FTRY  — Japon Yeni \u002F Türk Lirası\nCHF\u002FTRY  — İsviçre Frangı \u002F Türk Lirası\n```\n\n### Gold & Commodities \u002F Altın ve Emtialar\n```\nGram Altın     — 1 gram 24 ayar altın (TRY)\nÇeyrek Altın   — ~1.75 gram (TRY)\nYarım Altın    — ~3.50 gram (TRY)\nTam Altın      — ~7.00 gram (TRY)\nOns Altın      — XAU\u002FUSD (Troy ounce)\nGümüş          — XAG\u002FUSD\nBrent Petrol   — Brent Crude (USD)\n```\n\n---\n\n## Data Sources & Methods \u002F Veri Kaynakları ve Yöntemler\n\n### Method 1: Web Scraping (Primary \u002F Ana Yöntem)\n\n**Bloomberg HT — Most Reliable for Turkish Markets:**\n\n```python\nfrom hermes_tools import web_extract\n\n# BIST100 Index\nresult = web_extract([\"https:\u002F\u002Fwww.bloomberght.com\u002Fborsa\u002Fendeksler\u002Fbist-100\"])\n# Extract: Current value, change %, daily high\u002Flow, volume\n\n# Individual Stock\nresult = web_extract([\"https:\u002F\u002Fwww.bloomberght.com\u002Fborsa\u002Fhisseler\u002FTHYAO\"])\n# Extract: Price, change, volume, market cap\n\n# Currency Rates\nresult = web_extract([\"https:\u002F\u002Fwww.bloomberght.com\u002Fdoviz\"])\n# Extract: USD\u002FTRY, EUR\u002FTRY, GBP\u002FTRY\n\n# Gold Prices\nresult = web_extract([\"https:\u002F\u002Fwww.bloomberght.com\u002Faltin\"])\n# Extract: Gram, çeyrek, yarım, tam, ons\n```\n\n**Bigpara (Hürriyet Finance):**\n\n```python\n# BIST100\nresult = web_extract([\"https:\u002F\u002Fbigpara.hurriyet.com.tr\u002Fborsa\u002Fcanli-borsa\u002F\"])\n\n# Currency\nresult = web_extract([\"https:\u002F\u002Fbigpara.hurriyet.com.tr\u002Fdoviz\u002F\"])\n\n# Gold\nresult = web_extract([\"https:\u002F\u002Fbigpara.hurriyet.com.tr\u002Faltin\u002F\"])\n```\n\n**Investing.com TR:**\n\n```python\n# BIST100\nresult = web_extract([\"https:\u002F\u002Ftr.investing.com\u002Findices\u002Fise-100\"])\n\n# Comprehensive market overview\nresult = web_extract([\"https:\u002F\u002Ftr.investing.com\u002F\"])\n```\n\n### Method 2: Yahoo Finance API (Backup \u002F Yedek Yöntem)\n\n```python\nfrom hermes_tools import terminal\n\n# BIST100 Index\nterminal(\"curl -s 'https:\u002F\u002Fquery1.finance.yahoo.com\u002Fv8\u002Ffinance\u002Fchart\u002FXU100.IS?interval=1d&range=1d'\")\n\n# Individual Stock (add .IS suffix for Borsa Istanbul)\nterminal(\"curl -s 'https:\u002F\u002Fquery1.finance.yahoo.com\u002Fv8\u002Ffinance\u002Fchart\u002FTHYAO.IS?interval=1d&range=1d'\")\n\n# USD\u002FTRY\nterminal(\"curl -s 'https:\u002F\u002Fquery1.finance.yahoo.com\u002Fv8\u002Ffinance\u002Fchart\u002FUSDTRY=X?interval=1d&range=1d'\")\n\n# EUR\u002FTRY\nterminal(\"curl -s 'https:\u002F\u002Fquery1.finance.yahoo.com\u002Fv8\u002Ffinance\u002Fchart\u002FEURTRY=X?interval=1d&range=1d'\")\n\n# Gold (XAU\u002FUSD)\nterminal(\"curl -s 'https:\u002F\u002Fquery1.finance.yahoo.com\u002Fv8\u002Ffinance\u002Fchart\u002FGC=F?interval=1d&range=1d'\")\n```\n\n**Yahoo Finance Ticker Reference for BIST:**\n```\nBIST100 Index:  XU100.IS\nBIST30 Index:   XU030.IS\nBIST Bank:      XBANK.IS\nStocks:         {TICKER}.IS  (e.g., THYAO.IS, GARAN.IS, ASELS.IS)\nUSD\u002FTRY:        USDTRY=X\nEUR\u002FTRY:        EURTRY=X\n```\n\n### Method 3: DuckDuckGo Search (Fallback \u002F Son Çare)\n\n```python\nfrom hermes_tools import web_search\n\n# Quick price check when APIs are down\nresult = web_search(\"BIST100 bugün\", limit=3)\nresult = web_search(\"dolar TL kuru bugün\", limit=3)\nresult = web_search(\"gram altın fiyatı bugün\", limit=3)\n```\n\n---\n\n## Procedures \u002F İşlem Adımları\n\n### Procedure 1: Market Overview \u002F Piyasa Özeti\n\n**Trigger:** \"Piyasalar nasıl?\", \"Borsa ne durumda?\", \"Market overview\"\n\nSteps:\n1. Fetch BIST100 index value and daily change\n2. Fetch USD\u002FTRY and EUR\u002FTRY rates\n3. Fetch gram altın price\n4. Check if market is open\u002Fclosed based on current time (UTC+3)\n5. Format as compact summary\n\n**Output:**\n```\n? PİYASA ÖZETİ — 11 Mart 2026, 14:30\n\nBIST100:    9,245.67  ▲ +1.23% (+112.45)\nUSD\u002FTRY:    38.4521   ▼ -0.15%\nEUR\u002FTRY:    41.2380   ▲ +0.08%\nGram Altın: ₺3,245    ▲ +0.52%\n\n? Borsa AÇIK — kapanışa 3s 30dk\n```\n\n### Procedure 2: Stock Lookup \u002F Hisse Sorgulama\n\n**Trigger:** \"THYAO nasıl?\", \"THYAO hissesi\", \"Garanti hissesi ne durumda?\"\n\nSteps:\n1. Identify stock ticker from user input\n   - Direct ticker: \"THYAO\" → THYAO\n   - Company name: \"Türk Hava Yolları\" → THYAO\n   - Partial match: \"Garanti\" → GARAN\n2. Fetch stock data from Bloomberg HT or Yahoo Finance\n3. Extract: price, daily change %, volume, high\u002Flow, market cap\n4. Format with Turkish number formatting (1.000,50)\n\n**Ticker Resolution Table:**\n```python\nCOMPANY_TICKERS = {\n    \"thy\": \"THYAO\", \"türk hava\": \"THYAO\", \"turkish airlines\": \"THYAO\",\n    \"garanti\": \"GARAN\", \"akbank\": \"AKBNK\", \"yapı kredi\": \"YKBNK\",\n    \"iş bankası\": \"ISCTR\", \"şişecam\": \"SISE\", \"aselsan\": \"ASELS\",\n    \"tüpraş\": \"TUPRS\", \"ereğli\": \"EREGL\", \"koç\": \"KCHOL\",\n    \"sabancı\": \"SAHOL\", \"tav\": \"TAVHL\", \"bim\": \"BIMAS\",\n    \"turkcell\": \"TCELL\", \"tofaş\": \"TOASO\", \"ford otosan\": \"FROTO\",\n    \"petkim\": \"PETKM\", \"pegasus\": \"PGSUS\", \"sasa\": \"SASA\",\n}\n```\n\n**Output:**\n```\n? THYAO — Türk Hava Yolları\n━━━━━━━━━━━━━━━━━━━━━━━━━━\n\nFiyat:     ₺287,40    ▲ +2.15%\nDeğişim:   +₺6,05\nHacim:     45.2M\nGün İçi:   ₺282,00 - ₺289,50\nP.Değeri:  ₺396,2 Milyar\n\n? Son güncelleme: 14:30\n```\n\n### Procedure 3: Currency Rates \u002F Döviz Kurları\n\n**Trigger:** \"Dolar kaç?\", \"Euro kuru\", \"Döviz kurları\"\n\nSteps:\n1. Detect which currencies are requested\n2. Fetch from Bloomberg HT or Yahoo Finance\n3. Include buy\u002Fsell spread if available\n4. Show daily change direction and percentage\n\n**Output:**\n```\n? DÖVİZ KURLARI — 11 Mart 2026\n\nUSD\u002FTRY:  38,4521  ▼ -0,15%  (Alış: 38,42 \u002F Satış: 38,48)\nEUR\u002FTRY:  41,2380  ▲ +0,08%  (Alış: 41,20 \u002F Satış: 41,28)\nGBP\u002FTRY:  48,7650  ▲ +0,22%  (Alış: 48,72 \u002F Satış: 48,81)\n\n? Son güncelleme: 14:30 • TCMB efektif kurları\n```\n\n### Procedure 4: Gold Prices \u002F Altın Fiyatları\n\n**Trigger:** \"Altın kaç?\", \"Gram altın\", \"Çeyrek altın fiyatı\"\n\nSteps:\n1. Fetch gold prices from Bloomberg HT or Bigpara\n2. Include all popular variants (gram, çeyrek, yarım, tam, ons)\n3. Show daily changes\n\n**Output:**\n```\n? ALTIN FİYATLARI — 11 Mart 2026\n\nGram Altın:    ₺3.245,00   ▲ +₺17  (+0,52%)\nÇeyrek Altın:  ₺5.320,00   ▲ +₺28  (+0,53%)\nYarım Altın:   ₺10.640,00  ▲ +₺56  (+0,53%)\nTam Altın:     ₺21.280,00  ▲ +₺112 (+0,53%)\nOns Altın:     $2.185,40   ▲ +$8,20 (+0,38%)\n\n? Son güncelleme: 14:30\n```\n\n### Procedure 5: Portfolio Watchlist \u002F Portföy Takip Listesi\n\n**Trigger:** \"Portföyümü takip et\", \"Şu hisseleri izle: THYAO, GARAN, ASELS\"\n\nSteps:\n1. Parse ticker list from user input\n2. Fetch current prices for all tickers\n3. Format as compact watchlist table\n4. Offer to schedule periodic updates\n\n**Output:**\n```\n? TAKİP LİSTEN — 11 Mart 2026, 14:30\n\nHisse    Fiyat      Değişim    %\n━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━\nTHYAO    ₺287,40    +₺6,05    ▲ +2,15%\nGARAN    ₺142,80    -₺1,20    ▼ -0,83%\nASELS    ₺84,50     +₺0,75    ▲ +0,90%\n━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━\n\n⏰ Takip zamanlamak ister misin?\n```\n\n---\n\n## Number Formatting \u002F Sayı Formatlama\n\nTurkish number format differs from English:\n```python\ndef format_turkish_number(value, decimals=2):\n    \"\"\"Format number in Turkish style: 1.234.567,89\"\"\"\n    if isinstance(value, str):\n        value = float(value.replace('.', '').replace(',', '.'))\n    formatted = f\"{value:,.{decimals}f}\"\n    # Swap . and , for Turkish format\n    formatted = formatted.replace(',', 'X').replace('.', ',').replace('X', '.')\n    return formatted\n\ndef format_turkish_currency(value, symbol=\"₺\"):\n    \"\"\"Format as Turkish currency.\"\"\"\n    return f\"{symbol}{format_turkish_number(value)}\"\n\n# Examples:\n# 1234567.89  →  \"₺1.234.567,89\"\n# 38.4521     →  \"38,4521\"\n# 0.0523      →  \"%5,23\" (percentage)\n```\n\n---\n\n## Market Status Detection \u002F Piyasa Durumu Tespiti\n\n```python\nfrom datetime import datetime, timezone, timedelta\n\ndef get_market_status():\n    \"\"\"Check if Borsa Istanbul is currently open.\"\"\"\n    ist = timezone(timedelta(hours=3))\n    now = datetime.now(ist)\n    \n    # Weekend check\n    if now.weekday() >= 5:  # Saturday=5, Sunday=6\n        return \"KAPALI\", \"Hafta sonu — Pazartesi 10:00'da açılır\"\n    \n    hour_min = now.hour * 60 + now.minute\n    \n    if hour_min \u003C 580:  # Before 09:40\n        return \"KAPALI\", \"Açılış seansı 09:40'ta başlar\"\n    elif hour_min \u003C 600:  # 09:40-10:00\n        return \"AÇILIŞ SEANSI\", \"Sürekli işlem 10:00'da başlar\"\n    elif hour_min \u003C 1080:  # 10:00-18:00\n        remaining = 1080 - hour_min\n        h, m = divmod(remaining, 60)\n        return \"AÇIK\", f\"Kapanışa {h}s {m}dk\"\n    elif hour_min \u003C 1090:  # 18:00-18:10\n        return \"KAPANIŞ SEANSI\", \"Gün sonu seansı\"\n    else:\n        return \"KAPALI\", \"Yarın 10:00'da açılır\"\n```\n\n---\n\n## Error Handling \u002F Hata Yönetimi\n\n- If Bloomberg HT fails → try Bigpara → try Yahoo Finance → try web_search\n- If market is closed → show last closing values with note\n- If ticker not found → suggest closest match from known tickers list\n- If currency API fails → try TCMB XML (https:\u002F\u002Fwww.tcmb.gov.tr\u002Fkurlar\u002Ftoday.xml)\n- Always show data timestamp so user knows freshness\n\n---\n\n## Pitfalls \u002F Dikkat Edilecekler\n\n1. **Market hours:** BIST operates 10:00-18:00 UTC+3, no DST — don't show \"live\" outside hours\n2. **Yahoo suffix:** All BIST tickers need `.IS` suffix on Yahoo Finance\n3. **Number format:** Turkish uses dot for thousands, comma for decimal — NEVER mix with English format\n4. **Gold variants:** Çeyrek\u002Fyarım\u002Ftam altın are NOT simply multiples of gram due to crafting markup\n5. **TCMB rates:** Central bank rates differ from market rates — specify which you're showing\n6. **Weekend data:** Don't show stale Friday data as \"current\" on Monday — label it clearly\n7. **Lira symbol:** Use ₺ (U+20BA), not TL or TRY in display\n",{},"main","3df1d0d67b30ff15236561f8c0f9f06d33f42dfd","skills\u002Fdev-tools\u002Ferhnysr-bist100",17,"https:\u002F\u002Fgithub.com\u002Fjiayaoqijia\u002Fcryptoskill","https:\u002F\u002Fgithub.com\u002Fjiayaoqijia","https:\u002F\u002Feth2030.com","Hardcore infra. Building @alt-research and applied cryptography.","2026-11-13 02:31:19",{"source":7,"skillName":5,"commands":36,"prompt":46,"zipAvailable":47},[37,40,43],{"tool":38,"command":39},"npx","npx skills add jiayaoqijia\u002Fcryptoskill --skill erhnysr-bist100",{"tool":41,"command":42},"bunx","bunx skills add jiayaoqijia\u002Fcryptoskill --skill erhnysr-bist100",{"tool":44,"command":45},"pnpm","pnpm dlx skills add jiayaoqijia\u002Fcryptoskill --skill erhnysr-bist100","安装技能，技能地址：https:\u002F\u002Fgithub.com\u002Fjiayaoqijia\u002Fcryptoskill\u002Fblob\u002Fmain\u002Fskills\u002Fdev-tools\u002Ferhnysr-bist100\u002FSKILL.md",true,[49,53,59],{"path":50,"resourceType":50,"resourceTypeDesc":51,"sizeBytes":52,"sourceHtmlUrl":15},"LICENSE","许可证",1068,{"path":54,"resourceType":55,"resourceTypeDesc":56,"sizeBytes":57,"sourceHtmlUrl":58},"SOURCE.md","REFERENCE","参考文档",345,"https:\u002F\u002Fgithub.com\u002Fjiayaoqijia\u002Fcryptoskill\u002Fblob\u002Fmain\u002Fskills\u002Fdev-tools\u002Ferhnysr-bist100\u002FSOURCE.md",{"path":60,"resourceType":55,"resourceTypeDesc":56,"sizeBytes":61,"sourceHtmlUrl":62},"TRUST.auto.yaml",2217,"https:\u002F\u002Fgithub.com\u002Fjiayaoqijia\u002Fcryptoskill\u002Fblob\u002Fmain\u002Fskills\u002Fdev-tools\u002Ferhnysr-bist100\u002FTRUST.auto.yaml",[64,92,115,133,146,156],{"skillNo":65,"name":66,"nameZh":6,"description":67,"descriptionZh":6,"repositoryFullName":7,"ownerLogin":8,"ownerAvatarUrl":9,"ownerAccountNo":10,"ownerDisplayName":11,"repositoryNo":12,"starsCount":13,"licenseSpdxId":14,"licenseFileUrl":68,"sourceHtmlUrl":69,"categories":70,"keywords":71,"publishedAt":21},"01M712C436EQYE43342Q4E7GG1","recipe-performance","Diagnose a specific MetaMask user flow's real-app performance and Sentry critical-user-flow telemetry with deterministic mm-harness recipes. Use for CUF boundaries, cold\u002Fwarm\u002Fbackground-resume behavior, latency regressions, lifecycle tags, duplicate or blocking network requests, long tasks, layout\u002Fpaint cost, screen redraws, React rerenders, or browser trace analysis where tests alone cannot prove the real app.","https:\u002F\u002Fgithub.com\u002Fjiayaoqijia\u002Fcryptoskill\u002Fblob\u002Fmain\u002Fskills\u002Fwallets\u002Fmetamask-official-recipe-performance\u002FLICENSE","https:\u002F\u002Fgithub.com\u002Fjiayaoqijia\u002Fcryptoskill\u002Fblob\u002Fmain\u002Fskills\u002Fwallets\u002Fmetamask-official-recipe-performance\u002FSKILL.md",[],[72,73,74,75,76,77,78,79,80,81,82,83,84,85,86,87,88,89,90,91],"performance","recipe performance","recipe","mm","sentry","harness","app","deterministic","recipes","flow","cold","critical","analysis","tasks","react","browser","layout","screen","network","metamask",{"skillNo":93,"name":94,"nameZh":6,"description":95,"descriptionZh":6,"repositoryFullName":7,"ownerLogin":8,"ownerAvatarUrl":9,"ownerAccountNo":10,"ownerDisplayName":11,"repositoryNo":12,"starsCount":13,"licenseSpdxId":96,"licenseFileUrl":97,"sourceHtmlUrl":98,"categories":99,"keywords":100,"publishedAt":21},"01M70XT2F8A5CQZ81JBP98KSW3","mexc-spot-websocket","MEXC Spot WebSocket workflows for public streams, protobuf handling, depth maintenance, listen keys, and private streams without exposing API keys.","Apache-2.0","https:\u002F\u002Fgithub.com\u002Fjiayaoqijia\u002Fcryptoskill\u002Fblob\u002Fmain\u002Fskills\u002Fexchanges\u002Fmncrftfrcnm-mexc-spot-websocket\u002FLICENSE","https:\u002F\u002Fgithub.com\u002Fjiayaoqijia\u002Fcryptoskill\u002Fblob\u002Fmain\u002Fskills\u002Fexchanges\u002Fmncrftfrcnm-mexc-spot-websocket\u002FSKILL.md",[],[101,102,103,104,105,106,107,108,109,110,111,112,113,114],"mexc spot websocket","spot","websocket","api","workflows","public","listen","streams","depth","keys","for","api keys","maintenance","protobuf",{"skillNo":116,"name":117,"nameZh":6,"description":118,"descriptionZh":6,"repositoryFullName":7,"ownerLogin":8,"ownerAvatarUrl":9,"ownerAccountNo":10,"ownerDisplayName":11,"repositoryNo":12,"starsCount":13,"licenseSpdxId":96,"licenseFileUrl":119,"sourceHtmlUrl":120,"categories":121,"keywords":122,"publishedAt":21},"01M70XT0MBXN3WZY1BKN0CPNKR","mexc-spot-rest","MEXC Spot REST workflows for public data, signed account requests, orders, wallet\u002Fadmin actions, and secure signing without exposing API keys.","https:\u002F\u002Fgithub.com\u002Fjiayaoqijia\u002Fcryptoskill\u002Fblob\u002Fmain\u002Fskills\u002Fexchanges\u002Fmncrftfrcnm-mexc-spot-rest\u002FLICENSE","https:\u002F\u002Fgithub.com\u002Fjiayaoqijia\u002Fcryptoskill\u002Fblob\u002Fmain\u002Fskills\u002Fexchanges\u002Fmncrftfrcnm-mexc-spot-rest\u002FSKILL.md",[],[123,102,124,125,126,127,128,112,111,110,129,130,131,106,132,105,104],"mexc spot rest","REST","admin","signing","Wallet","requests","actions","secure","data","orders",{"skillNo":134,"name":135,"nameZh":6,"description":136,"descriptionZh":6,"repositoryFullName":7,"ownerLogin":8,"ownerAvatarUrl":9,"ownerAccountNo":10,"ownerDisplayName":11,"repositoryNo":12,"starsCount":13,"licenseSpdxId":96,"licenseFileUrl":137,"sourceHtmlUrl":138,"categories":139,"keywords":140,"publishedAt":21},"01M70XSYSVZ2N0N91XCAR2CAK0","mexc-futures-websocket","MEXC Futures WebSocket workflows for public streams, private account\u002Forder\u002Fposition streams, ping\u002Fpong, subscriptions, and depth maintenance.","https:\u002F\u002Fgithub.com\u002Fjiayaoqijia\u002Fcryptoskill\u002Fblob\u002Fmain\u002Fskills\u002Fexchanges\u002Fmncrftfrcnm-mexc-futures-websocket\u002FLICENSE","https:\u002F\u002Fgithub.com\u002Fjiayaoqijia\u002Fcryptoskill\u002Fblob\u002Fmain\u002Fskills\u002Fexchanges\u002Fmncrftfrcnm-mexc-futures-websocket\u002FSKILL.md",[],[141,142,103,143,144,113,111,145,109,108,106,105],"mexc futures websocket","futures","position","ping","subscriptions",{"skillNo":147,"name":148,"nameZh":6,"description":6,"descriptionZh":6,"repositoryFullName":7,"ownerLogin":8,"ownerAvatarUrl":9,"ownerAccountNo":10,"ownerDisplayName":11,"repositoryNo":12,"starsCount":13,"licenseSpdxId":14,"licenseFileUrl":149,"sourceHtmlUrl":150,"categories":151,"keywords":152,"publishedAt":21},"01M6H0ZWHVE5W04WG2DKQE2SQC","0xklen-version-and-refresh-sanctions-lists","https:\u002F\u002Fgithub.com\u002Fjiayaoqijia\u002Fcryptoskill\u002Fblob\u002Fmain\u002Fskills\u002Fpayments\u002F0xklen-version-and-refresh-sanctions-lists\u002FLICENSE","https:\u002F\u002Fgithub.com\u002Fjiayaoqijia\u002Fcryptoskill\u002Fblob\u002Fmain\u002Fskills\u002Fpayments\u002F0xklen-version-and-refresh-sanctions-lists\u002FSKILL.md",[],[153,154,155],"refresh","0xklen version and refresh sanctions lists","version",{"skillNo":157,"name":158,"nameZh":6,"description":159,"descriptionZh":6,"repositoryFullName":7,"ownerLogin":8,"ownerAvatarUrl":9,"ownerAccountNo":10,"ownerDisplayName":11,"repositoryNo":12,"starsCount":13,"licenseSpdxId":14,"licenseFileUrl":160,"sourceHtmlUrl":161,"categories":162,"keywords":163,"publishedAt":21},"01M6H0Z28Q3R8J0S799GJQWXM3","verify-tests-cover-changed-lines","Use when a PR adds code that the existing suite may not exercise. Measures patch coverage — the share of newly changed lines hit by tests — before approving.","https:\u002F\u002Fgithub.com\u002Fjiayaoqijia\u002Fcryptoskill\u002Fblob\u002Fmain\u002Fskills\u002Fpayments\u002F0xklen-verify-tests-cover-changed-lines\u002FLICENSE","https:\u002F\u002Fgithub.com\u002Fjiayaoqijia\u002Fcryptoskill\u002Fblob\u002Fmain\u002Fskills\u002Fpayments\u002F0xklen-verify-tests-cover-changed-lines\u002FSKILL.md",[],[164,165,166,167,168,169,170,171,172,173,174],"tests","cover","verify tests cover changed lines","verify","coverage","pr","exercise","use","patch","code","share"]