跳到主要内容
知仓学习社ZHICANG

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. Use…

不碰外部(只输出文字)无严重或高危命中mohitagw15856/pm-claude-skills

它会碰到什么

扫了多少1 个文本文件,4 KB
它会碰到什么不碰外部(只输出文字)
命中总数0 处
命中统计严重 0 · 高 0 · 中 0 · 低 0

这一栏是扫描器报的事实,不是结论。命中多不等于有毒(安全工具、规则库、示例脚本本来就会包含危险写法),命中少也不等于干净。它和你手上的凭据、文件、网络有什么关系,需要你自己看。

技能内容

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 time_last_update_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

想直接用这个技能?

本站把开放许可(MIT / Apache 等)的技能按仓库打包整理到网盘,点一下转存到你自己的网盘,不用一个个从 GitHub 拉。许可未声明的技能只给原始仓库链接,不打包。

同名技能的其他版本

有 3 个不同仓库或目录里都有叫 currency-rates 的技能。它们内容并不相同,别混用: