rust-agent-specialist

Apply Rust-native patterns to ccswarm codebase development.

SKILL.md

GitHub

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<Mutex>)

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