Назад към всички

rust-sdk-specialist

// Rust SDK development with zero-cost abstractions

$ git log --oneline --stat
stars:384
forks:73
updated:March 4, 2026
SKILL.mdreadonly
SKILL.md Frontmatter
namerust-sdk-specialist
descriptionRust SDK development with zero-cost abstractions
allowed-toolsRead,Write,Edit,Glob,Grep,Bash

Rust SDK Specialist Skill

Overview

This skill specializes in developing high-performance Rust SDKs with zero-cost abstractions, memory safety guarantees, and async support through tokio or async-std.

Capabilities

  • Design Rust SDK architecture with traits and generics
  • Implement async with tokio or async-std runtimes
  • Configure cargo publishing to crates.io
  • Ensure memory safety patterns without runtime overhead
  • Design ergonomic APIs with builder patterns
  • Implement proper error handling with thiserror/anyhow
  • Support feature flags for optional functionality
  • Configure no_std support where applicable

Target Processes

  • Multi-Language SDK Strategy
  • SDK Architecture Design
  • SDK Testing Strategy

Integration Points

  • crates.io package registry
  • cargo for building and testing
  • tokio async runtime
  • reqwest/hyper for HTTP
  • serde for serialization
  • tracing for observability

Input Requirements

  • API specification
  • Async runtime preference (tokio/async-std)
  • MSRV (Minimum Supported Rust Version)
  • Feature flag requirements
  • no_std requirements (if any)

Output Artifacts

  • Rust crate source code
  • Cargo.toml configuration
  • Integration and unit tests
  • Examples directory
  • Documentation (rustdoc)
  • CI configuration

Usage Example

skill:
  name: rust-sdk-specialist
  context:
    apiSpec: ./openapi.yaml
    msrv: "1.70"
    asyncRuntime: tokio
    httpClient: reqwest
    errorHandling: thiserror
    features:
      - blocking
      - native-tls
      - rustls

Best Practices

  1. Use traits for abstraction without overhead
  2. Implement From/Into for type conversions
  3. Provide both async and blocking APIs via features
  4. Use the newtype pattern for type safety
  5. Document with rustdoc and examples
  6. Follow Rust API guidelines