Product integration playbook

Frankfurter 汇率 API Skill

面向 Agent 的产品集成流程、最佳实践和风险提示。实时 Endpoint、参数与 Schema 由 Pontx Hub 查询,不在 Skill 中重复维护。

产品
Frankfurter
版本
v1.0.0
许可证
MIT-0
语言
English

02 / Playbook

Skill 正文

以下内容以英文发布,Agent 可按你的语言回答。

Frankfurter v1

Use this skill for tasks that explicitly depend on Frankfurter v1. For a new integration, first decide whether the provider-aware v2 product is a better fit.

Choose the contract before coding

Frankfurter v1 is superseded by v2 but remains available. Keep v1 when an existing integration explicitly depends on the v1 contract.

Prefer pontx-frankfurter-v2 for new work that needs provider selection, attribution, broader history, grouping, or streaming. Treat migration as an application contract change: compare both live contracts, explain the differences, and obtain approval before changing a parser or request.

Resolve live facts through Pontx

Do not memorize Endpoint names, parameters, Schemas, auth, generated symbols, or package versions. Load only what the task needs:

pontx-hub search "Frankfurter v1 <capability>" --type endpoint --json
pontx-hub show <returned-resource-id>
pontx-hub sdk frankfurter

Use the published @pontx/frankfurter package for application code. Use pontx-frankfurter only for a single-product script, after inspecting its current contract through pontx-hub sdk frankfurter.

For a request, use the controller and API name returned by Pontx:

pontx-hub frankfurter preview <controller> <api-name> <named-options>
pontx-hub frankfurter call <controller> <api-name> <named-options>

Preview first. Execute the unchanged read only when the user explicitly asks for live retrieval. Never expose or invent a credential; recheck the selected resource if current metadata says authentication is required.

Preserve v1 semantics

  • V1 dates are interpreted in UTC, and latest means the latest available working day rather than the user's current calendar day.
  • Use an explicit completed date rather than today for a reproducible report.
  • Filtering target currencies makes a v1 time-series response smaller and faster. Ask for only the currencies required by the calculation.
  • Perform amount conversion in application code. Use decimal-capable arithmetic for accounting and round only at the declared business boundary.
  • Describe the values as reference exchange rates, not guaranteed execution or settlement prices.
  • Keep version-specific adapters separate. A parser should not guess which contract produced a response.

If the product guidance and the current Pontx contract differ, stop and surface the conflict. Use show and sdk for executable facts; do not work around the catalog with a guessed URL or signature.

Few-shot workflows

Scenario 1: Maintain a legacy application

User: "Our service already imports @pontx/frankfurter; add CAD and JPY without migrating."

Approach: Keep v1, inspect the live SDK and selected Endpoint, preserve the existing application contract, and preview any live read. Do not introduce v2 facts or a fixed package version.

Scenario 2: Select a compliance-ready source

User: "Build a new report that must identify the central bank behind each rate."

Approach: Apply the v2-routing decision above, load its live contract, and ask which authority controls the calculation before generating integration code.

Scenario 3: Prepare a reproducible series

User: "Prepare, but do not run, a v1 date-range request for an audit."

Approach: Apply the reproducibility and response-size workflow above, inspect the current time-series contract, then show the exact preview without executing it.