mohitagw15856/pm-claude-skills

currency-rates

Convert currencies and fetch live exchange rates with zero API keys — Frankfurter (ECB rates) primary, open.er-api.com fallback, via plain curl.

First seen Aug 13, 2026

Installation

$ npx skills add mohitagw15856/pm-claude-skills --skill currency-rates

Summary

  • Convert currencies and fetch live exchange rates with zero API keys — Frankfurter (ECB rates) primary, open.er-api.com fallback, via plain curl.
  • Use when asked convert 500 dollars to euros, what's the USD-INR rate, how much is this in my currency, or historical exchange rate for a date.
  • Produces the conversion with the rate and its date quoted, the rerunnable command, and the not-a-trading-quote caveat.

Similar popular skills

Related neighbors and high-traction skills in the same topics — useful to compare before installing.

Also in this package

Other skills from mohitagw15856/pm-claude-skills · top by installs.

npx skills add mohitagw15856/pm-claude-skills

Browse all from mohitagw15856/pm-claude-skills

More details

Agent compatibility

Declared targets from SKILL.md / docs. Unmarked agents are not listed — the skill may still install via the CLI.

Claude Code Not declared
Cursor Not declared
Codex Not declared
GitHub Copilot Not declared
Windsurf Not declared
Gemini CLI Not declared
Cline Not declared
OpenCode Not declared

Repository health

Stars 1.3K
License LICENSE
Default branch main
Open issues 7
Status Active

Package contents

Files included with this skill beyond the listing page.

  • skill md SKILL.md 4,212 B
  • docs SUMMARY.md 430 B

History

  1. First seen on skills.sh
  2. First recorded snapshot · 3 installs

SKILL.md

Currency Rates Skill

Currency conversion is a daily agent chore with a clean keyless answer: Frankfurter serves European Central Bank reference rates (current and historical) over bare HTTPS, and open.er-api.com covers the long tail of currencies Frankfurter doesn't track. This skill knows both, always quotes the rate and its date, and never confuses a reference rate with the rate any bank will actually give.

What This Skill Produces

  • The conversion — the amount, converted, stated first
  • The rate and its date — reference rates update on banking days; the date is part of the answer
  • The command — exact curl, rerunnable and scriptable
  • The caveat — reference rates ≠ what a card, bank, or exchange desk will charge; the spread is real

Required Inputs

Ask for these if not provided:

  • From, to, and amount — ISO codes resolved from natural language ("dollars" → USD unless context says AUD/CAD/SGD — ask when genuinely ambiguous)
  • When — today (default) or a historical date (Frankfurter serves history back to 1999)
  • The purpose, if it matters — budgeting tolerance vs. invoice-precision changes how hard to caveat the spread

Framework: The Two Sources

  1. Frankfurter — primary (ECB reference rates): latest: curl -s "https://api.frankfurter.dev/v1/latest?base=USD&symbols=EUR,INR"; · convert directly: ...?amount=500&base=USD&symbols=EUR · historical: https://api.frankfurter.dev/v1/2024-03-15?base=USD&symbols=EUR · a date range for trends: .../v1/2026-01-01..2026-07-01?base=USD&symbols=EUR. ~30 major currencies, updated ~16:00 CET on ECB working days.
  2. open.er-api.com — fallback and long tail: curl -s "https://open.er-api.com/v6/latest/USD"; → 160+ currencies in one response. Use when Frankfurter lacks the currency (many African, Asian, Latin American currencies) or is down. Quote its timelastupdate_utc field.
  3. Date honesty: both responses carry the rate's date — quote it verbatim. A Saturday question gets Friday's rate, and the answer says so.
  4. The spread sentence: consumer conversions happen 1–4% worse than reference (card networks near the low end, airport desks at the high end). For "how much will I get" questions, give the reference number and the realistic band.
  5. Arithmetic discipline: for cross rates neither API serves directly, convert through the base and show the two hops; round to sensible precision (whole yen, cents for EUR/USD) rather than echoing eight decimals of false precision.

Output Format

Conversion: [amount] [FROM] → [TO]

[Converted amount] at [rate], ECB/reference rate dated [date].

[If relevant: "expect roughly X–Y after typical consumer spread"] [Historical/trend questions: the series or the two dates compared]

Source: [Frankfurter (ECB) / open.er-api.com] · rerun: [exact curl] Reference rates for information — not a trading quote; actual bank/card rates include a spread.

Quality Checks

  • The rate's date is quoted, not implied
  • Ambiguous currency words ("dollars", "francs") resolved or asked about
  • "How much will I get" questions include the spread band
  • The fallback engaged silently when needed, and the answer names its source
  • Precision is sensible for the currency pair

Anti-Patterns

  • Do not answer from memory — rates move; no network means hand over the command
  • Do not present reference rates as attainable consumer rates
  • Do not silently serve a stale weekend rate as "today's" — date it
  • Do not echo full API precision — eight decimals on a lunch bill is theater
  • Do not give currency-trading advice — conversion is arithmetic; timing the market is not this skill