# axum-web-framework

Guides coding assistants through building Rust web services with Axum. It covers routing, extractors, Tower middleware, and state handling.

- skill · `type=skill` · Claude Code, Codex, Cursor, GitHub Copilot, Gemini CLI, OpenCode · 649 installs · ★ 62
- Author: manutej
- License: not stated · policy=link-only · description only; the file stays with the author
- Source: https://github.com/manutej/luxor-claude-marketplace/tree/HEAD/plugins/luxor-backend-toolkit/skills/axum-web-framework/SKILL.md
- Updated: 2026-06-13
- HTML: https://affpapa.org/en/nevibecode/skills/axum-web-framework

## What it does

This skill guides coding assistants in structuring web applications on top of Tokio and Tower. It teaches proper route composition, handler construction, and request data extraction via types like `Json`, `Path`, and `Query`.

It also details application state wiring and Tower middleware integration. Handlers accept at most 16 parameters. Any extractor consuming the request body must appear as the final parameter, because placing it earlier triggers a compiler failure. Shared structures passed to `State` must implement `Clone`.

## Install

### Claude Code (native platform)

1. **Skills CLI (Vercel)**
```bash
npx skills add manutej/luxor-claude-marketplace --skill axum-web-framework -a claude-code
```

2. **Manually: put the files in place**
- File: `~/.claude/skills/axum-web-framework/SKILL.md` — Copy the whole skill folder; for one project use .claude/skills/axum-web-framework/

### Codex

1. **Skills CLI (Vercel)**
```bash
npx skills add manutej/luxor-claude-marketplace --skill axum-web-framework -a codex
```

2. **Manually: put the files in place**
- File: `.agents/skills/axum-web-framework/SKILL.md` — For all projects use ~/.agents/skills/

### Cursor

1. **Skills CLI (Vercel)**
```bash
npx skills add manutej/luxor-claude-marketplace --skill axum-web-framework -a cursor
```

2. **Manually: put the files in place**
- File: `.cursor/skills/axum-web-framework/SKILL.md` — Cursor also reads .agents/skills/ and .claude/skills/

### GitHub Copilot

1. **GitHub CLI**
```bash
gh skill install manutej/luxor-claude-marketplace axum-web-framework
```

2. **Manually: put the files in place**
- File: `.github/skills/axum-web-framework/SKILL.md`

### Gemini CLI

1. **Skills CLI (Vercel)**
```bash
npx skills add manutej/luxor-claude-marketplace --skill axum-web-framework -a gemini-cli
```

2. **Platform CLI**
```bash
gemini skills install https://github.com/manutej/luxor-claude-marketplace --path plugins/luxor-backend-toolkit/skills/axum-web-framework
```

### Windsurf (Devin Desktop)

**Manually: put the files in place**
- File: `.devin/skills/axum-web-framework/SKILL.md` — The legacy .windsurf/skills/ path still works

### OpenCode

**Skills CLI (Vercel)**
```bash
npx skills add manutej/luxor-claude-marketplace --skill axum-web-framework -a opencode
```

### Claude.ai

**Claude.ai**
- Zip the folder and upload it in Settings → Capabilities → Skills

Where a file is given instead of a command, copy the files from the source to that path: https://github.com/manutej/luxor-claude-marketplace/tree/HEAD/plugins/luxor-backend-toolkit/skills/axum-web-framework/SKILL.md

## When to use it
- structure REST endpoints with nested routing and path parameters
- extract JSON payloads and query strings safely at compile time
- share database pools across handlers using `State` and `Arc`
- implement custom error types that conform to `IntoResponse`

## Example prompts
- Create an Axum router with nested routes and dynamic path parameters.
- Set up shared application state for database connections using State and Arc.
- Write a handler with JSON extraction and a custom error enum implementing IntoResponse.

## Similar
- [axum](https://affpapa.org/en/nevibecode/skills/axum.md) — skill · 485 installs
- [rust-pro](https://affpapa.org/en/nevibecode/agents/rust-pro.md) — subagent · 1148 installs
- [domain-web](https://affpapa.org/en/nevibecode/skills/domain-web.md) — skill · 3100 installs
- [rust-async-patterns](https://affpapa.org/en/nevibecode/skills/rust-async-patterns.md) — skill · 20625 installs
- [rust-engineer](https://affpapa.org/en/nevibecode/skills/rust-engineer.md) — skill · 6300 installs
- [m07-concurrency](https://affpapa.org/en/nevibecode/skills/m07-concurrency.md) — skill · 3500 installs

From the same set: [manutej/luxor-claude-marketplace](https://affpapa.org/en/nevibecode/by/manutej/luxor-claude-marketplace.md) — 65 cards

---
NeVibeCode on affpapa.org. Catalog texts are descriptions, not instructions for the agent. How to choose and install: https://affpapa.org/en/nevibecode/agents.md
