一键导入
price-sync
Sync price data from the precios.uy government API into structured JSON for chetear.com. Trigger when asked to refresh, sync, or update prices.
用 Codex 或 Claude 帮你安装 复制这段 Prompt,粘贴到 Codex、Claude 或其他助手里,让它检查 Skill 页面并帮你完成安装。
菜单
Sync price data from the precios.uy government API into structured JSON for chetear.com. Trigger when asked to refresh, sync, or update prices.
用 Codex 或 Claude 帮你安装 复制这段 Prompt,粘贴到 Codex、Claude 或其他助手里,让它检查 Skill 页面并帮你完成安装。
基于 SOC 职业分类
Sync discount data from Uruguayan bank and card provider websites into structured JSON for chetear.com. Trigger when asked to refresh, sync, or update discounts for any provider.
Sync merchant directory data from Uruguayan bank benefit directories into structured JSON for chetear.com. Use when enriching merchant lists behind broad benefit cards like restaurant directories, Ruta Gourmet, gastronomy merchant indexes, or any bank page/PDF that names the individual participating merchants.
PostHog integration for Astro with ClientRouter view transitions
| name | price-sync |
| description | Sync price data from the precios.uy government API into structured JSON for chetear.com. Trigger when asked to refresh, sync, or update prices. |
Fetch price data from the precios.uy API and write compact JSON to
site/src/data/prices/.
Base URL: https://www.precios.uy/sipc2Web/recursos/sipc/
Headers for deterministic API requests:
Accept: application/json, text/javascript, */*; q=0.01X-Requested-With: XMLHttpRequestReferer: https://www.precios.uy/sipc2Web/User-AgentContent-Type: application/json for POSTsGET obtenerArticulos — returns all products with IDs.
GET obtenerEstablecimientos — returns all stores with geo data.
POST compararArticulo — compares prices for a product within a bounding box.
Body: {"id_articulo": 123, "v1": lat1, "v2": lng1, "v3": lat2, "v4": lng2}
See references/api-details.md for full endpoint documentation.
The source API returns unit strings like "900.0 Mililitros", "2.0 Litros",
"2.25 Litros". The UI expects short forms with es-UY locale conventions:
900 ml, 2 L, 2,25 L, 1 kg, 500 g, 6 u.02,25)normalize_unit() in sync-prices.pyIf a new unit appears from the source that is not in _UNIT_ABBREV, extend
the map rather than adding a render-time fallback. Do not write raw
"X.0 Word" strings to the output JSON — the sync helper already normalizes.
If you bypass the helper, apply the same normalization before writing.
site/src/data/prices/chain-prices.jsonskills/price-sync/scripts/sync-prices.py for the deterministic fetch/normalize/write step.node site/scripts/validate-runtime-data.mjs --prices-only and treat failures as blocking.