Toolverse
Wszystkie skille

axiom-assume-isolated

autor: CharlesWiltgen

Synchroniczny dostęp do stanu aktora — kiedy wiesz, że jesteś już na właściwej izolacji.

Instalacja

Wybierz klienta i sklonuj repozytorium do odpowiedniego katalogu skilli.

Instalacja

O skillu

Skill axiom-assume-isolated pozwala na synchroniczny dostęp do stanu izolowanego przez aktora, gdy masz pewność, że już znajdujesz się na właściwej domenie izolacji. Przydatny w testach kodu MainActor, callback'ach legacy'owych i kodzie krytycznym dla wydajności. Obejmuje MainActor.assumeIsolated, protokoły @preconcurrency, zachowanie crashu oraz porównanie Task vs assumeIsolated. Unikaj tego narzędzia, gdy nie masz pewności co do bieżącej izolacji — wtedy użyj await.

Jak używać

  1. Zainstaluj skill axiom-assume-isolated w swoim projekcie Claude/Codex/Copilot, wskazując repozytorium https://github.com/CharlesWiltgen/Axiom/tree/main/.claude-plugin/plugins/axiom/skills/axiom-assume-isolated. 2. Użyj MainActor.assumeIsolated w testach synchronicznych kodu MainActor, aby uniknąć narzutu Task — przekaż closure z operacją oznaczoną @MainActor. 3. Zastosuj assumeIsolated w callback'ach legacy'owych, które są dokumentowane jako uruchamiane na głównym wątku, aby bezpośrednio uzyskać dostęp do izolowanego stanu bez async hop. 4. W kodzie krytycznym dla wydajności, gdzie każdy async hop się liczy, użyj assumeIsolated zamiast Task, ale tylko jeśli masz pewność co do domeny izolacji. 5. Pamiętaj, że assumeIsolated wykonuje się synchronicznie i crashuje, jeśli nie jesteś na właściwym executorze — nigdy nie używaj go, gdy nie masz pewności co do bieżącej izolacji; w takim przypadku zawsze wybierz await. 6. Porównaj swój przypadek użycia z tabelą Task vs assumeIsolated w dokumentacji — jeśli potrzebujesz async support lub nie jesteś w funkcji synchronicznej, użyj Task zamiast assumeIsolated.

Podobne skille