Vibe Async
Async and concurrency patterns for Mistral Vibe.
Install
npx skills add mistralai/mistral-vibe --skill vibe-async -g -a claude-code -y- Repository
- mistralai/mistral-vibe5.3k
- Category
- AI and agents
- Updated
- 5d ago
- License
- Apache-2.0
- Context cost
- Lightabout 375 tokens
- Runs scripts
- No, instructions only
What it does
Async and concurrency patterns for Mistral Vibe. Use when working with asyncio, the agent loop, the app server's event loop, HTTP clients, streaming surfaces, or core-to-client communication.
Vibe Async Patterns
Conventions for async and concurrent code in Vibe. Apply when touching the agent loop, the app server's event loop, HTTP clients, streaming, or any async code.
Runtime
asynciois the orchestration runtime in the agent loop and tool execution. Useasyncio.create_task+ queues for concurrent work, not blanketgather.
Blocking work
- Never run CPU-heavy or I/O-bound code on the event loop. The app server serves every session and its RPCs from one event loop, so anything blocking (large JSON/Pydantic serialization,
os.fsync, subprocess calls, recursive globs) stalls the clients, offload it withasyncio.to_thread. - Async file wrappers don't make blocking syscalls non-blocking.
- Use
anyio.Pathfor file I/O on async paths.
Streaming
- Streaming surfaces return
AsyncGenerator[Event, None], not coroutines.
Core-to-client communication
- Route core-to-client communication through
vibe.app_server. Server requests such as approvals and user input become canonical Vibe events; neither the clients nor app server may register callbacks, listeners, or message observers directly on the agent loop.
HTTP clients
- When Vibe owns an HTTP client, use
VibeAsyncHTTPClientfromvibe.utils.httpinstead ofhttpx.AsyncClientso proxy env vars are handled consistently. - Its CIDR
NO_PROXYmatching applies only to IP-literal request hosts; do not resolve DNS before proxy selection. - Mock outbound HTTP with
respxin tests.

