tokio-pro

A coding specialist for Tokio, a Rust library that runs asynchronous tasks. It covers async/await, tasks, channels, and synchronization tools.

In plain words
What is it for?
Understanding Tokio programs, choosing task and communication patterns, and troubleshooting async Rust code.
Why use it?
It helps explain how concurrent Rust code runs and helps avoid common mistakes such as blocking work inside asynchronous code.

Agent

Install

Getting it into your agent

One page per mod, every tool's command on it. A separate URL per tool would split the same page into five that compete with each other.

agentmods
npx agentmods add agents/geoffjay/claude-plugins/tokio-pro
Clone the repo
git clone --depth 1 https://github.com/geoffjay/claude-plugins
Per session 21 Only the description is in the session, so the agent can decide to use it. The body loads when it is invoked.
When invoked 2,826 The whole file, excluding the scripts and references it only reads on demand.
Security scan A 0 findings. Scan, not verified.
Origin original No closer match found in the catalogue.
Token cost

What it costs to keep this loaded

Counted locally with the o200k_base tokenizer, which is exact for GPT models; Claude uses its own tokenizer and its counts differ. Treat this as one consistent yardstick across the catalogue rather than a bill. Prices are per million input tokens.

ModelPer sessionOnce invoked
Fable 5 $0.00021 $0.02826
Opus 5 $0.00010 $0.01413
Sonnet 5 $0.00004 $0.00565
Haiku 4.5 $0.00002 $0.00283

Measured 3d ago against content hash c670870cf5b5, method: parsed. Prices are Anthropic first-party input rates as of 2026-08-30, from the pricing page.

Security

Grade A, and why

tokio-pro scanned grade A with 0 findings against 26 rules in 11 categories — prompt injection, anti-refusal, data exfiltration, privilege escalation, supply chain, agent snooping, system-prompt leakage, SSRF and excessive agency — measured 3d ago.

A static scan of the body, not an audit. Every finding is printed with the line that produced it so you can judge whether it matters here. A mod is markdown that instructs an agent; that is exactly why what it instructs is worth reading.

Nothing flagged

None of the 26 patterns this scan looks for appear in this file: no shell pipes, no recursive deletes, no credential paths, no hidden text, no instruction-override or anti-refusal phrasing, no agent-config snooping. That is not a guarantee, it is the absence of the things that are checkable.

plugins/rust-tokio-expert/agents/tokio-pro.md · 539 lines

How it starts

The opening of the file, as written. The whole thing — 539 lines — stays where its author put it; the contents beside it link to each section on GitHub.

Tokio Pro Agent

You are a master Tokio runtime expert with deep knowledge of Rust's async ecosystem, specializing in the Tokio runtime and its core primitives.

Core Expertise

Async/Await Fundamentals

You have comprehensive knowledge of:

  • Futures and the Future trait (std::future::Future)
  • Async/await syntax and semantics
  • Pin and Unpin traits for self-referential types
  • Poll-based execution model
  • Context and Waker for task notification
  • Async trait patterns and workarounds

Key Principles:

  • Async functions return impl Future, not the final value
  • .await yields control back to the runtime, allowing other tasks to run
  • Futures are lazy - they do nothing until polled
  • Avoid blocking operations in async contexts

Example Pattern:

use tokio::time::{sleep, Duration};

async fn process_data(id: u32) -> Result<String, Box<dyn std::error::Error>> {
    // Good: async sleep yields control
    sleep(Duration::from_millis(100)).await;

    // Process data asynchronously
    let result = fetch_from_network(id).await?;
    Ok(result)
}

Runtime Management

You understand Tokio's multi-threaded and current-thread runtimes:

Multi-threaded Runtime:

#[tokio::main]
async fn main() {
    // Default: multi-threaded runtime with work-stealing scheduler
}

// Explicit configuration
use tokio::runtime::Runtime;

let rt = Runtime::new().unwrap();
rt.block_on(async {
    // Your async code
});

Current-thread Runtime:

#[tokio::main(flavor = "current_thread")]
async fn main() {
    // Single-threaded runtime
}

Runtime Configuration:

use tokio::runtime::Builder;

let rt = Builder::new_multi_thread()
    .worker_threads(4)
    .thread_name("my-pool")
    .thread_stack_size(3 * 1024 * 1024)
    .enable_all()
    .build()
    .unwrap();

Task Spawning and Management

You excel at task lifecycle management:

Basic Spawning:

use tokio::task;

// Spawn a task on the runtime
let handle = task::spawn(async {
    // This runs concurrently
    some_async_work().await
});

// Wait for completion
let result = handle.await.unwrap();

Read the full file on GitHub · 539 lines

Changes

What this file has done since we first saw it

Hashed on every crawl. A supply-chain change to an agent config is a question of when, not whether, so the history is kept rather than the latest state alone.

  1. 3d ago First seen · 539 lines · 21 tokens per session scan A c670870cf5b5

Subscribe to this mod's changes

tokio-pro is an agent published in the GitHub repository geoffjay/claude-plugins (8 stars, last pushed 10mo ago), licensed MIT. It adds 21 tokens to every session and 2,826 once invoked, about $0.0001 per session on Opus 5. A static security scan graded it A with 0 findings. No closer match exists in the catalogue, so it is treated as the original; first seen 2026-08-31.

Related

Other agents, from other repositories

compiler-review

Reviews Rust port code for port fidelity, convention compliance, and error handling. Compares changed Rust code against the corresponding TypeScript source. Use when reviewing Rust compiler changes before committing or after landing.

react/react · 42 tokens

port-pass

Ports a single compiler pass from TypeScript to Rust, including crate setup, implementation, pipeline wiring, and test-fix loop until all fixtures pass.

react/react · 33 tokens

gpui-researcher

Researches and validates GPUI usage patterns, APIs, and conventions. Always checks latest crate version, studies Zed editor and other GPUI projects for real-world patterns. Use when planning or researching GPUI features to ensure implementations match actual API surface and idioms.

Wirasm/prp · 59 tokens

stax-implementer

Executes implementation plans for the stax Rust CLI. Writes idiomatic Rust code that follows project conventions. Receives a concrete plan and executes each step precisely without deviation.

cesarferreira/stax · 40 tokens

pinocchio-engineer

CU optimization specialist using Pinocchio framework. Use for performance-critical programs requiring 80-95% CU reduction vs Anchor. Specializes in zero-copy access, manual validation, and minimal binary size.\n\nUse when: CU limits are being hit, transaction costs are significant at scale, binary size must be…

solanabr/solana-ai-kit · 76 tokens

rust-async-safety-reviewer

Reviews Rust async code for tokio + libsql + axum concurrency hazards. Use after changes touching tokio::spawn, axum handlers, libsql connection usage, or any Send/Sync boundaries. Read-only — produces findings, does not edit.

7xuanlu/wenlan · 59 tokens