A
axiom-assume-isolated
Use when needing synchronous actor access in tests, legacy delegate callbacks, or performance-critical code. Covers MainActor.assumeIsolated, @preconcurrency protocol conformances, crash behavior, Task vs assumeIsolated.
Installation
Pick a client and clone the repository into its skills directory.
Installation
About this skill
Use when needing synchronous actor access in tests, legacy delegate callbacks, or performance-critical code. Covers MainActor.assumeIsolated, @preconcurrency protocol conformances, crash behavior, Task vs assumeIsolated.
How to use
- 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.