Async and concurrency patterns for Mistral Vibe. Use when working with asyncio, the agent loop, Textual TUI threading, HTTP clients, streaming surfaces, or core-to-TUI communication.
64
76%
Does it follow best practices?
Run evals on this skill
Adds up to 20 points to the overall score
View guide
Passed
No findings from the security scan
Fix and improve this skill with Tessl
tessl review fix ./.agents/skills/vibe-async/SKILL.mdConventions for async and concurrent code in Vibe. Apply when touching the agent loop, Textual event loop, HTTP clients, streaming, or any async code.
asyncio is the orchestration runtime in the agent loop and tool execution. Use asyncio.create_task + queues for concurrent work, not blanket gather.os.fsync, subprocess calls, recursive globs) freezes the UI — offload it with asyncio.to_thread.anyio.Path for file I/O on async paths.AsyncGenerator[Event, None], not coroutines.vibe.app_server. Server requests such as approvals and user input become canonical Vibe events; neither the TUI nor app server may register callbacks, listeners, or message observers directly on the agent loop.VibeAsyncHTTPClient from vibe.utils.http instead of httpx.AsyncClient so proxy env vars are handled consistently.NO_PROXY matching applies only to IP-literal request hosts; do not resolve DNS before proxy selection.respx in tests.d4b3223
If you maintain this skill, you can claim it as your own. Once claimed, you can manage eval scenarios, bundle related skills, attach documentation or rules, and ensure cross-agent compatibility.