๐ŸŽฏ

domain-web

๐ŸŽฏSkill

from goooice/rust-skills

VibeIndex|
What it does

Builds robust, concurrent web services with async Rust, focusing on type-safe routing, middleware, and efficient request handling across frameworks like axum and actix.

๐Ÿ“ฆ

Part of

goooice/rust-skills(35 items)

domain-web

Installation

Add MarketplaceAdd marketplace to Claude Code
/plugin marketplace add ZhangHanDong/rust-skills
Install PluginInstall plugin from marketplace
/plugin install rust-skills@rust-skills
Quick InstallInstall with npx
npx skills add ZhangHanDong/rust-skills
git cloneClone repository
git clone https://github.com/ZhangHanDong/rust-skills.git
๐Ÿ“– Extracted from docs: goooice/rust-skills
4Installs
-
AddedFeb 4, 2026

Skill Details

SKILL.md

"Use when building web services. Keywords: web server, HTTP, REST API, GraphQL, WebSocket, axum, actix, warp, rocket, tower, hyper, reqwest, middleware, router, handler, extractor, state management, authentication, authorization, JWT, session, cookie, CORS, rate limiting, web ๅผ€ๅ‘, HTTP ๆœๅŠก, API ่ฎพ่ฎก, ไธญ้—ดไปถ, ่ทฏ็”ฑ"

Overview

# Web Domain

> Layer 3: Domain Constraints

Domain Constraints โ†’ Design Implications

| Domain Rule | Design Constraint | Rust Implication |

|-------------|-------------------|------------------|

| Stateless HTTP | No request-local globals | State in extractors |

| Concurrency | Handle many connections | Async, Send + Sync |

| Latency SLA | Fast response | Efficient ownership |

| Security | Input validation | Type-safe extractors |

| Observability | Request tracing | tracing + tower layers |

---

Critical Constraints

Async by Default

```

RULE: Web handlers must not block

WHY: Block one task = block many requests

RUST: async/await, spawn_blocking for CPU work

```

State Management

```

RULE: Shared state must be thread-safe

WHY: Handlers run on any thread

RUST: Arc, Arc> for mutable

```

Request Lifecycle

```

RULE: Resources live only for request duration

WHY: Memory management, no leaks

RUST: Extractors, proper ownership

```

---

Trace Down โ†“

From constraints to design (Layer 2):

```

"Need shared application state"

โ†“ m07-concurrency: Use Arc for thread-safe sharing

โ†“ m02-resource: Arc> for mutable state

"Need request validation"

โ†“ m05-type-driven: Validated extractors

โ†“ m06-error-handling: IntoResponse for errors

"Need middleware stack"

โ†“ m12-lifecycle: Tower layers

โ†“ m04-zero-cost: Trait-based composition

```

---

Framework Comparison

| Framework | Style | Best For |

|-----------|-------|----------|

| axum | Functional, tower | Modern APIs |

| actix-web | Actor-based | High performance |

| warp | Filter composition | Composable APIs |

| rocket | Macro-driven | Rapid development |

Key Crates

| Purpose | Crate |

|---------|-------|

| HTTP server | axum, actix-web |

| HTTP client | reqwest |

| JSON | serde_json |

| Auth/JWT | jsonwebtoken |

| Session | tower-sessions |

| Database | sqlx, diesel |

| Middleware | tower |

Design Patterns

| Pattern | Purpose | Implementation |

|---------|---------|----------------|

| Extractors | Request parsing | State(db), Json(payload) |

| Error response | Unified errors | impl IntoResponse |

| Middleware | Cross-cutting | Tower layers |

| Shared state | App config | Arc |

Code Pattern: Axum Handler

```rust

async fn handler(

State(db): State>,

Json(payload): Json,

) -> Result, AppError> {

let user = db.create_user(&payload).await?;

Ok(Json(user))

}

// Error handling

impl IntoResponse for AppError {

fn into_response(self) -> Response {

let (status, message) = match self {

Self::NotFound => (StatusCode::NOT_FOUND, "Not found"),

Self::Internal(_) => (StatusCode::INTERNAL_SERVER_ERROR, "Internal error"),

};

(status, Json(json!({"error": message}))).into_response()

}

}

```

---

Common Mistakes

| Mistake | Domain Violation | Fix |

|---------|-----------------|-----|

| Blocking in handler | Latency spike | spawn_blocking |

| Rc in state | Not Send + Sync | Use Arc |

| No validation | Security risk | Type-safe extractors |

| No error response | Bad UX | IntoResponse impl |

---

Trace to Layer 1

| Constraint | Layer 2 Pattern | Layer 1 Implementation |

|------------|-----------------|------------------------|

| Async handlers | Async/await | tokio runtime |

| Thread-safe state | Shared state | Arc, Arc> |

| Request lifecycle | Extractors | Ownership via From |

| Middleware | Tower layers | Trait-based composition |

---

Related Skills

| When | See |

|------|-----|

| Async patterns | m07-concurrency |

| State management | m02-resource |

| Error handling | m06-error-handling |

| Middleware design | m12-lifecycle |

More from this repository10

๐ŸŽฏ
m10-performance๐ŸŽฏSkill

Optimizes code performance by identifying bottlenecks, measuring impact, and guiding strategic improvements across algorithm, data structure, and memory efficiency.

๐ŸŽฏ
m14-mental-model๐ŸŽฏSkill

Applies the M14 mental model framework to enhance decision-making and strategic thinking through structured cognitive analysis.

๐ŸŽฏ
m04-zero-cost๐ŸŽฏSkill

Guides developers in choosing zero-cost abstractions by analyzing type system constraints and performance trade-offs in Rust generics and traits.

๐ŸŽฏ
meta-cognition-parallel๐ŸŽฏSkill

Performs parallel three-layer meta-cognitive analysis by forking subagents to simultaneously analyze language mechanics, design choices, and domain constraints, then synthesizing results.

๐ŸŽฏ
unsafe-checker๐ŸŽฏSkill

Identifies and reviews unsafe Rust code patterns, FFI risks, and potential memory unsafety in Rust projects.

๐ŸŽฏ
rust-skill-creator๐ŸŽฏSkill

Dynamically generates Claude skills for Rust crates, standard library modules, and documentation by extracting and processing technical details from specified URLs.

๐ŸŽฏ
coding-guidelines๐ŸŽฏSkill

Provides comprehensive Rust coding guidelines covering naming conventions, best practices, error handling, memory management, concurrency, and code style recommendations.

๐ŸŽฏ
rust-refactor-helper๐ŸŽฏSkill

Performs safe Rust refactoring by analyzing symbol references, checking conflicts, and applying changes across project files using LSP.

๐ŸŽฏ
m03-mutability๐ŸŽฏSkill

Diagnoses and guides resolution of Rust mutability and borrowing conflicts by analyzing ownership, mutation patterns, and thread-safety requirements.

๐ŸŽฏ
m05-type-driven๐ŸŽฏSkill

Explores and demonstrates type-driven development techniques in Rust, showcasing advanced type system features and pattern matching strategies.