API Fetch Wrapper
Wzorzec referencyjny TypeScript do opakowywania zewnętrznego API HTTP: sekrety środowiskowe, ograniczone ponawianie
Testowano · Działa
Co robi ten skill
Uruchamialny przykład TypeScript, który opakowuje publiczne API HTTP (demo Open-Meteo bez klucza) z obsługą poświadczeń opartą na zmiennych środowiskowych, jednym ograniczonym ponawianiem w przypadku przejściowych awarii i normalizacją błędów, która nigdy nie zwraca treści z serwera. Uruchamia się, gdy prosisz o zbudowanie umiejętności lub klienta, który wywołuje zewnętrzną usługę z odpowiednim ponawianiem i higieną sekretów. Ponownie użyj szkieletu ponawiania/błędów i zamień URL plus klucz process.env na uwierzytelnione API.
Raport z testu
Uruchomiono dołączony kod na żywo przeciwko rzeczywistemu punktowi końcowemu Open-Meteo: szczęśliwa ścieżka zwróciła 16.5C / 17.4 km/h, źle sformułowane dane wejściowe wygenerowały ustrukturyzowany {error} z kodem wyjścia 1, a niedostępny host wywołał ponowienie (zaobserwowano opóźnienie 500ms w czasie rzeczywistym), a następnie zwrócił {error,cause} bez wycieku treści z serwera. W porównaniu z naiwnym wrapperem bazowym dodaje trzy nieoczywiste elementy, które przeciętna implementacja pomija: mapowanie błędów bez wycieku w przypadku awarii, opróżnianie treści odpowiedzi w celu ponownego użycia gniazda i celowy filtr ponawiania tylko dla błędów przejściowych (408/429/5xx). Przykład jest mały, ale każde twierdzenie w jego metadanych potwierdziło się podczas wykonania.
Testowano: 2026-07-20 · Claude Code 2.x (agent harness)
Instalacja
git clone https://github.com/ChronoAIProject/Ornn mkdir -p ~/.claude/skills cd Ornn && cp -r examples/api-fetch-wrapper ~/.claude/skills/api-fetch-wrapper
Komendy i przykładowe prompty
/api-fetch-wrapperWzorzec referencyjny TypeScript do opakowywania zewnętrznego API HTTP: sekrety środowiskowe, ograniczone ponawianie
Skille uruchamiają się na zwykłe polecenia — bez komend do zapamiętania. Po instalacji aktywują go prompty takie jak te (po angielsku):
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