API Fetch Wrapper
Patrón de referencia TypeScript para envolver una API HTTP externa: secretos de entorno, reintento limitado
Probado · Funciona
Qué hace
Un ejemplo ejecutable de TypeScript que envuelve una API HTTP pública (demo de Open-Meteo sin clave) con manejo de credenciales basado en env, un reintento limitado en fallos transitorios y normalización de errores que nunca replica el cuerpo de la respuesta original. Se activa cuando pides construir una habilidad o cliente que llama a un servicio externo con reintentos adecuados e higiene de secretos. Reutiliza el esqueleto de reintento/error y cambia la URL más la clave process.env para una API autenticada.
Informe de la prueba
Ejecuté el código incluido en vivo contra el endpoint real de Open-Meteo: la ruta feliz devolvió 16.5C / 17.4 km/h, una entrada mal formada produjo un {error} estructurado con exit 1, y un host inalcanzable activó el reintento (se observó un retraso de 500ms en tiempo real) y luego devolvió {error,cause} sin fuga del cuerpo de la respuesta original. Frente a un wrapper de línea base ingenuo, añade tres toques no obvios que una implementación promedio omite: mapeo de errores sin fuga en caso de fallo, vaciado del cuerpo de la respuesta para reutilización del socket y un filtro de reintento deliberado solo para transitorios (408/429/5xx). El ejemplo es pequeño pero cada afirmación en su frontmatter se mantuvo bajo ejecución.
Probado el: 2026-07-20 · Claude Code 2.x (agent harness)
Instalación
git clone https://github.com/ChronoAIProject/Ornn mkdir -p ~/.claude/skills cd Ornn && cp -r examples/api-fetch-wrapper ~/.claude/skills/api-fetch-wrapper
Comandos y prompts de ejemplo
/api-fetch-wrapperPatrón de referencia TypeScript para envolver una API HTTP externa: secretos de entorno, reintento limitado
Los skills se activan con peticiones en lenguaje natural, sin comandos que memorizar. Tras instalarlo, prompts como estos lo activan (en inglés):
Show me a TypeScript pattern for wrapping an external API safelyBuild a fetch wrapper with bounded retry and no leaked error bodiesWrap this authed API client with env secrets and retry logic