plugins/aai-stack-express/skills/express-routing/SKILL.md
February 1, 2026
Select agents to install to:
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-routingInstallation paths:
.claude/skills/express-routing/# 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