К основному содержанию
скилл CX Codex

backend-development · moizibnyousaf — скилл для Claude Code: API, схемы БД, TDD

Скилл для проектирования REST API, схем баз данных и микросервисной архитектуры. Пригодится, когда агент пишет бэкенд и нужно, чтобы он держался одних конвенций.

Установить в Claude Code · Через Skills CLI (Vercel) Все способы и платформы ↓
npx skills add MoizIbnYousaf/ai-agent-skills --skill backend-development -a claude-code
Открыть на GitHub

Что делает backend-development

Внутри — набор справочных шаблонов, на которые агент опирается при генерации кода. REST-конвенции: GET /users, POST /users, PATCH /users/:id, вложенные маршруты вида GET /users/:id/posts. Формат ответа с блоком data и пагинацией в meta, формат ошибок с кодом, сообщением и списком полей.

Схемы БД описаны на SQL: SERIAL для внутреннего ключа и UUID в public_id, мягкое удаление через deleted_at, индексы по email и created_at DESC. Есть курсорная пагинация вместо OFFSET и оценка числа строк через pg_class. Аутентификация — JWT с полями sub, iat, exp, scope и middleware, который достаёт токен из заголовка Authorization.

Кэширование построено на cache-aside: сначала redis.get, при промахе запрос в базу и setex на 3600 секунд, при обновлении — redis.del. Рядом лимитер на 100 запросов в минуту с ключом по IP и ответом 429. Примеры на TypeScript и SQL, так что для проекта на другом стеке шаблоны придётся перекладывать самому.

Какие задачи решает

  • спроектировать REST-маршруты для новой сущности
  • написать схему таблицы с UUID и мягким удалением
  • добавить JWT-проверку в middleware
  • прикрутить кэш к чтению пользователя
  • ограничить частоту запросов по IP

Примеры запросов агенту

  • Спроектируй REST API для заказов по конвенциям скилла backend-development
  • Сделай схему таблицы users с public_id UUID, deleted_at и индексами
  • Добавь cache-aside для getUser через redis и инвалидацию при обновлении

Как установить backend-development

1Через Skills CLI (Vercel)

npx skills add MoizIbnYousaf/ai-agent-skills --skill backend-development -a claude-code

2Вручную: положить файлы

~/.claude/skills/backend-development/SKILL.md

Папка скилла целиком; для одного проекта — .claude/skills/backend-development/

По шагам, с командами для каждой платформы: Как установить скилл в Claude Code: пять способов

Из того же набора6

Другие версии backend-development

Похожие

senior-backend Alireza Rezvani Скилл помогает проектировать архитектуру бэкенда, настраивать REST API и оптимизировать базы данных. Пригодится при создании роутов, ревью кода и нагрузочном тестировании. 1 674установок nodejs-express-server aj-geddes Скилл для сборки Express.js-серверов: маршруты, цепочки middleware, JWT-аутентификация, подключение к базе. Пригодится, когда пишете REST API на Node.js. CX Codex +1 3 300установок security-best-practices Mindrally Скилл задаёт правила безопасной разработки бэкенда и микросервисов. Помогает выстроить проверку пользовательского ввода, защиту API и аутентификацию без утечек секретов или стектрейсов. CX Codex +1 930установок create-spring-boot-kotlin-project официальный github Скилл создаёт каркас Spring Boot на Kotlin с Gradle и настраивает PostgreSQL, Redis и MongoDB. Подойдёт, если нужен стартовый проект с реактивными зависимостями и тестами. 8 700установок insforge-integrations InsForge Скилл ведёт агента по подключению чужого провайдера аутентификации к InsForge и по приёму оплаты за HTTP-эндпоинт через x402. CX Codex +1 55 900установок neon neondatabase Скилл помогает выбрать и настроить backend на Neon: Postgres, авторизацию, хранилище, функции, AI Gateway и Realtime. Пригодится при создании приложения. CX Codex +1 234 000установок

Рядом в теме «Бэкенд и API»

Всё по теме «Бэкенд и API» →

Вопросы о backend-development

Как установить backend-development в Claude?

Выполните npx skills add MoizIbnYousaf/ai-agent-skills --skill backend-development -a claude-code. Файл скилла окажется в ~/.claude/skills/backend-development/SKILL.md.

Что делает backend-development?

Даёт агенту шаблоны для проектирования API, схем баз данных, микросервисных паттернов и разработки через тесты. Агент подставляет их, когда вы просите спроектировать API или схему.

Нужны ли Redis и PostgreSQL для работы скилла?

Сам скилл — это текстовые шаблоны, он ничего не запускает. Примеры кэша написаны под Redis, а запросы и схема — под PostgreSQL, поэтому для чужой СУБД их придётся переписать.

Исходный текст

SKILL.md · MIT
---
name: backend-development
description: Backend API design, database architecture, microservices patterns, and test-driven development. Use for designing APIs, database schemas, or backend system architecture.
source: wshobson/agents
license: MIT
version: 4.1.0
---

# Backend Development

## API Design

### RESTful Conventions
```
GET    /users          # List users
POST   /users          # Create user
GET    /users/:id      # Get user
PUT    /users/:id      # Update user (full)
PATCH  /users/:id      # Update user (partial)
DELETE /users/:id      # Delete user

GET    /users/:id/posts  # List user's posts
POST   /users/:id/posts  # Create post for user
```

### Response Format
```json
{
  "data": { ... },
  "meta": {
    "page": 1,
    "per_page": 20,
    "total": 100
  }
}
```

### Error Format
```json
{
  "error": {
    "code": "VALIDATION_ERROR",
    "message": "Invalid input",
    "details": [
      { "field": "email", "message": "Invalid format" }
    ]
  }
}
```

## Database Patterns

### Schema Design
```sql
-- Use UUIDs for public IDs
CREATE TABLE users (
  id SERIAL PRIMARY KEY,
  public_id UUID DEFAULT gen_random_uuid() UNIQUE,
  email VARCHAR(255) UNIQUE NOT NULL,
  created_at TIMESTAMPTZ DEFAULT NOW(),
  updated_at TIMESTAMPTZ DEFAULT NOW()
);

-- Soft deletes
ALTER TABLE users ADD COLUMN deleted_at TIMESTAMPTZ;

-- Indexes
CREATE INDEX idx_users_email ON users(email);
CREATE INDEX idx_users_created ON users(created_at DESC);
```

### Query Patterns
```sql
-- Pagination with cursor
SELECT * FROM posts
WHERE created_at < $cursor
ORDER BY created_at DESC
LIMIT 20;

-- Efficient counting
SELECT reltuples::bigint AS estimate
FROM pg_class WHERE relname = 'users';
```

## Authentication

### JWT Pattern
```typescript
interface TokenPayload {
  sub: string;      // User ID
  iat: number;      // Issued at
  exp: number;      // Expiration
  scope: string[];  // Permissions
}

function verifyToken(token: string): TokenPayload {
  return jwt.verify(token, SECRET) as TokenPayload;
}
```

### Middleware
```typescript
async function authenticate(req: Request, res: Response, next: Next) {
  const token = req.headers.authorization?.replace('Bearer ', '');
  if (!token) {
    return res.status(401).json({ error: 'Unauthorized' });
  }

  try {
    req.user = verifyToken(token);
    next();
  } catch {
    res.status(401).json({ error: 'Invalid token' });
  }
}
```

## Caching Strategy

```typescript
// Cache-aside pattern
async function getUser(id: string): Promise<User> {
  const cached = await redis.get(`user:${id}`);
  if (cached) return JSON.parse(cached);

  const user = await db.users.findById(id);
  await redis.setex(`user:${id}`, 3600, JSON.stringify(user));
  return user;
}

// Cache invalidation
async function updateUser(id: string, data: Partial<User>) {
  await db.users.update(id, data);
  await redis.del(`user:${id}`);
}
```

## Rate Limiting

```typescript
const limiter = rateLimit({
  windowMs: 60 * 1000,  // 1 minute
  max: 100,             // 100 requests per window
  keyGenerator: (req) => req.ip,
  handler: (req, res) => {
    res.status(429).json({ error: 'Too many requests' });
  }
});
```

## Observability

- **Logging**: Structured JSON logs with request IDs
- **Metrics**: Request latency, error rates, queue depths
- **Tracing**: Distributed tracing with correlation IDs
- **Health checks**: `/health` and `/ready` endpoints

© MoizIbnYousaf · MIT · MoizIbnYousaf/ai-agent-skills

Смотрите также

Спонсоры проекта

Компании, которые помогают держать аналитику открытой