Claude Skills
CollectionsCompareWorkflowsNominate
Sign inSign up
© 2026 Curated Agent Skills·Learn more about Agent Skills
Back to repository

express-routing

verified

Express.js routing patterns and organization

View on GitHub

Marketplace

alphaagent-team

the-answerai/alphaagent-team

Plugin

aai-stack-express

stack

Repository

the-answerai/alphaagent-team

plugins/aai-stack-express/skills/express-routing/SKILL.md

Last Verified

February 1, 2026

Install Skill

Select agents to install to:

Scope:
npx add-skill https://github.com/the-answerai/alphaagent-team/blob/main/plugins/aai-stack-express/skills/express-routing/SKILL.md -a claude-code --skill express-routing

Installation paths:

Claude
.claude/skills/express-routing/
Powered by add-skill CLI

Instructions

# Express Routing Skill

Patterns for organizing routes in Express.js applications.

## Basic Routing

### Route Methods

```typescript
import express from 'express'

const app = express()

// HTTP methods
app.get('/users', (req, res) => { ... })
app.post('/users', (req, res) => { ... })
app.put('/users/:id', (req, res) => { ... })
app.patch('/users/:id', (req, res) => { ... })
app.delete('/users/:id', (req, res) => { ... })

// All methods
app.all('/secret', (req, res) => { ... })
```

### Route Parameters

```typescript
// Simple parameter
app.get('/users/:id', (req, res) => {
  const { id } = req.params
  res.json({ userId: id })
})

// Multiple parameters
app.get('/users/:userId/posts/:postId', (req, res) => {
  const { userId, postId } = req.params
  res.json({ userId, postId })
})

// Optional parameter
app.get('/users/:id?', (req, res) => {
  if (req.params.id) {
    // Specific user
  } else {
    // All users
  }
})

// Regex constraint
app.get('/users/:id(\\d+)', (req, res) => {
  // Only matches numeric IDs
})
```

### Query Parameters

```typescript
app.get('/search', (req, res) => {
  const { q, page = '1', limit = '10' } = req.query

  const pageNum = parseInt(page as string)
  const limitNum = parseInt(limit as string)

  res.json({ query: q, page: pageNum, limit: limitNum })
})
```

## Router Organization

### Modular Routers

```typescript
// routes/users.ts
import { Router } from 'express'

const router = Router()

router.get('/', getAllUsers)
router.get('/:id', getUserById)
router.post('/', createUser)
router.put('/:id', updateUser)
router.delete('/:id', deleteUser)

export default router

// routes/index.ts
import { Router } from 'express'
import usersRouter from './users'
import postsRouter from './posts'
import authRouter from './auth'

const router = Router()

router.use('/users', usersRouter)
router.use('/posts', postsRouter)
router.use('/auth', authRouter)

export default router

// app.ts
import routes from './routes'

app.use('/api/v1', ro

Validation Details

Front Matter
Required Fields
Valid Name Format
Valid Description
Has Sections
Allowed Tools
Instruction Length:
6836 chars