atomicbot-ai/atomic-chat/currency

Trust tier 3
  • community
Source check pending

Checking that the SKILL.md file is still in the repository.

Currency exchange rates and conversion via the Frankfurter API (no key). Use for FX rates, "convert X to Y", or historical/time-series rates.

Install

npx vskill@latest install atomicbot-ai/atomic-chat/currency

SKILL.md

currency

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.

Endpoints (v1, stable)

Base URL: https://api.frankfurter.dev/v1

GoalURL
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".

Calling convention

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"] } }]

Response shape

json
{ "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.

When to use

  • "What's the USD/EUR rate?", "convert 50 GBP to PLN", "rate of X in Y".
  • Historical FX on a given date, or a rate trend over a period.

When NOT to use

  • Crypto prices (BTC, ETH) — Frankfurter is fiat-only.
  • Real-time / intraday tick data — rates are daily reference rates.
  • Precious metals (XAU, XAG) — not available on v1.

Rules

  1. Echo the date field with every quote; rates are daily, not live.
  2. Validate currency codes against /currencies if the user gives an unusual code.
  3. For "convert N", pass amount=N rather than multiplying client-side — the API

keeps full precision.

  1. Unknown currency codes return HTTP 404 / 422; surface a clear "unsupported

currency" message instead of the raw error.

Security

  • Security scanPassed, 90 of 100Pattern checks on the skill's files.
  • Model reviewPassed

Quality evaluation

  • Task evaluationNot runNo evaluation yet. Run one in Skill Studio.

Source

Popularity

Repository stars
1,824
Repository forks
208
7-day trend score
37

Stars and forks are for the whole GitHub repository, not this skill alone. Not refreshed yet.

Works with

Any agent vskill installs to: 56 targets in all. These 39 have a page on this site.

  • Claude Code
  • Cursor
  • GitHub Copilot
  • Windsurf
  • Codex
  • Gemini CLI
  • Cline
  • Amp
  • Roo Code
  • Goose
  • Continue
  • Kilo Code
  • Junie
  • Trae
  • OpenHands
  • Qwen Code
  • AI Agent
  • Tabnine Chat
  • Sourcegraph Cody
  • Amazon Q
  • Firebase Genkit
  • Sweep
  • Devin
  • Phind
  • Mentat
  • Claude Desktop
  • Aider
  • GPT Pilot
  • Plandex
  • bolt.new
  • v0
  • Replit Agent
  • Anse
  • TypingMind
  • BetterChatGPT
  • LibreChat
  • Warp AI
  • Pieces
  • Fig AI
Embed badge
vskill VERIFIED badge
[![vskill VERIFIED](https://verified-skill.com/api/v1/skills/atomicbot-ai/atomic-chat/currency/badge)](https://verified-skill.com/skills/atomicbot-ai/atomic-chat/currency)

Something wrong with this skill or its page? Tell us.