What problem does it solve?
This Skill prevents long-running or parallelizable tool calls (such as web search) from blocking the main Mathematica kernel, while keeping tool call order consistent and providing reliable progress updates.
Core Features & Use Cases
- Hybrid sync/async tool routing: Automatically classifies tool calls into sync (immediate Mathematica-side execution) and async (separate OS processes) while preserving original Index ordering for correct result reassembly.
- State machine for async tool execution: Implements an AsyncToolExec poll/collect/finalize flow using OS process control (
StartProcess), polling ticks, timeout cancellation, and deterministic result merging.
- Phase D2 progress UX contract: Updates
$claudeProgress[pollKey] and WindowStatusArea every polling tick to avoid the “0s stuck” user experience.
- Adapter extension for async tools: Defines adapter keys like
AsyncToolNames, MaxConcurrentTools, SubmitToolAsync, CollectToolAsync, and CancelToolAsync to standardize async tool execution.
- Safety/guardrails: Ensures callback suppression for scheduled outcomes and enforces strict ordering integrity (no partial async/sync mixing).
Quick Start
Tell the assistant to implement the async tool execution hybrid path in the Claude adapter runtime by adding SubmitToolAsync/CollectToolAsync/CancelToolAsync, enabling $UseClaudeRuntime = True, and ensuring Phase D2 progress updates use $claudeProgress[pollKey] after polling tick registration.