一键导入
currency
Currency exchange rates and conversion via the Frankfurter API (no key). Use for FX rates, "convert X to Y", or historical/time-series rates.
用 Codex 或 Claude 帮你安装 复制这段 Prompt,粘贴到 Codex、Claude 或其他助手里,让它检查 Skill 页面并帮你完成安装。
菜单
Currency exchange rates and conversion via the Frankfurter API (no key). Use for FX rates, "convert X to Y", or historical/time-series rates.
用 Codex 或 Claude 帮你安装 复制这段 Prompt,粘贴到 Codex、Claude 或其他助手里,让它检查 Skill 页面并帮你完成安装。
基于 SOC 职业分类
Transcribe speech from audio files (mp3, m4a, wav, ogg, flac, webm) to text using the local `whisper` CLI — no API key. Use whenever a task hinges on the spoken content of an audio attachment.
Read macOS Calendar events via the `icalBuddy` CLI and create events via AppleScript (osascript). Use to check the user's calendar, agenda, upcoming events, or add an event on macOS.
Manage Apple Notes via the `memo` CLI on macOS — create, view, search, edit, export.
Manage Apple Reminders via the `remindctl` CLI on macOS — list, add, complete, delete, manage lists.
Manage Docker containers, images, volumes, and Compose stacks via the `docker` CLI — list, inspect, logs, run, build, stop, remove, compose up/down. Use for local container ops.
Process audio and video with the `ffmpeg` / `ffprobe` CLIs — convert, trim, extract audio, resize, change format, make GIFs, inspect media. Use for any audio/video transformation.
| name | currency |
| description | Currency exchange rates and conversion via the Frankfurter API (no key). Use for FX rates, "convert X to Y", or historical/time-series rates. |
| version | 1.0.0 |
| requires_tools | ["os.http.request","os.shell.run"] |
| dangerous | false |
Fetch exchange rates and convert money amounts through the free, key-less
Frankfurter API (ECB-sourced fiat rates, updated
daily ~16:00 CET). Prefer os.http.request GET; if the host allowlist is
not null, it must include api.frankfurter.dev.
Fiat only — no crypto, no precious metals on v1. Rates refresh on business days, so weekend/holiday requests return the most recent business-day rate.
Base URL: https://api.frankfurter.dev/v1
| Goal | URL |
|---|---|
| Latest, EUR base, all currencies | /latest |
| Latest with base + targets | /latest?base=USD&symbols=EUR,GBP |
| Convert an amount | /latest?base=USD&symbols=EUR&amount=100 |
| Historical (single day) | /2024-01-15?base=USD&symbols=EUR |
| Time series (date range) | /2024-01-01..2024-01-31?base=USD&symbols=EUR |
| Supported currencies | /currencies |
symbols is a comma-separated list of ISO 4217 codes. amount multiplies the
returned rate, so amount=100&base=USD&symbols=EUR gives "100 USD in EUR".
Latest rate with os.http.request:
[{ "tool": "os.http.request", "args": { "method": "GET", "url": "https://api.frankfurter.dev/v1/latest?base=USD&symbols=EUR,GBP" } }]
Convert 250 USD to JPY:
[{ "tool": "os.http.request", "args": { "method": "GET", "url": "https://api.frankfurter.dev/v1/latest?base=USD&symbols=JPY&amount=250" } }]
Fallback if os.http.request is unavailable or the host is not allowlisted:
[{ "tool": "os.shell.run", "args": { "cmd": "curl", "args": ["-fsS", "--max-time", "25", "https://api.frankfurter.dev/v1/latest?base=USD&symbols=EUR&amount=100"] } }]
{ "amount": 100.0, "base": "USD", "date": "2026-05-29", "rates": { "EUR": 92.13 } }
rates[<symbol>] already reflects amount. Always report the date so the user
knows how fresh the quote is.
date field with every quote; rates are daily, not live./currencies if the user gives an unusual code.amount=N rather than multiplying client-side — the API
keeps full precision.