Rust Agent Specialist

Apply Rust-native patterns (Type-State, Channel-Based, Actor Model) to ccswarm development.

nwiizo 1c9e527 1.2 KB Updated

File contents

Guidance for implementing Rust-idiomatic patterns in ccswarm.

Core Patterns

Type-State (compile-time state validation)

pub struct Agent<State> { inner: AgentInner, _state: PhantomData<State> }
impl Agent<Uninitialized> { fn initialize(self) -> Agent<Ready> { ... } }
impl Agent<Ready> { fn execute(&self, task: Task) -> Result<Output> { ... } }

Channel-Based (replace Arc)

let (tx, rx) = tokio::sync::mpsc::channel(100);
// No shared mutable state between agents

Actor Model (independent actors)

struct AgentActor { mailbox: mpsc::Receiver<Message>, state: AgentState }
impl AgentActor {
    async fn run(mut self) {
        while let Some(msg) = self.mailbox.recv().await { self.handle(msg).await; }
    }
}

Identify & Apply

grep -r "Arc<Mutex" crates/ccswarm/src/ --include="*.rs"    # Convert to channels
grep -r "enum.*State\|State::" crates/ccswarm/src/          # Convert to type-state

Verify: cargo fmt && cargo clippy -- -D warnings && cargo test

nwiizo/ccswarm/tree/main/.agents/skills/rust-agent-specialist commit 1c9e527edb

Frequently asked questions

npx skillmds@latest add nwiizo/rust-agent-specialist