Skip to content
Development
Skill

/backend

Backend development patterns for services, error handling, logging, caching. Use when building backend services, APIs, or microservices.

From plugin
cc-best
5019 skills8 agents44 commands20 hooks

Claude Code

$ npx -y skills add xiaobei930/cc-best --skill backend --agent claude-code

SKILL.md

backend.SKILL.md
name: backend
description: "Backend development patterns for services, error handling, logging, caching. Use when building backend services, APIs, or microservices."
allowed-tools: Read, Write, Edit, Bash, Grep, Glob

后端开发模式

本技能提供后端服务开发的最佳实践和模式,支持多语言按需加载。

触发条件

  • 构建后端服务
  • 设计服务架构
  • 实现业务逻辑层
  • 配置中间件
  • 处理错误和日志
  • 性能优化(数据库、缓存、并发)

语言专属模式

根据项目技术栈,加载对应的语言专属文件:

| 技术栈 | 加载文件 | 框架 | | ------------------ | --------------- | ------------------------ | | Python | `python.md` | FastAPI, Django, Flask | | TypeScript/Node.js | `typescript.md` | Express, NestJS, Fastify | | Java | `java.md` | Spring Boot, Quarkus | | Go | `go.md` | Gin, Echo, Fiber | | C# | `csharp.md` | ASP.NET Core | | Rust | `rust.md` | Axum, Actix-web, Rocket |

**加载方式**: 检测项目中的 `pyproject.toml`/`package.json`/`pom.xml`/`go.mod`/`Cargo.toml` 等文件确定技术栈。

---

通用架构模式

分层架构

┌─────────────────────────────────────┐
│           Controller 层              │  处理 HTTP 请求/响应
├─────────────────────────────────────┤
│            Service 层                │  业务逻辑
├─────────────────────────────────────┤
│          Repository 层               │  数据访问
├─────────────────────────────────────┤
│             Model 层                 │  数据模型
└─────────────────────────────────────┘

通用目录结构

src/
├── controllers/          # 控制器(或 routes/handlers)
├── services/             # 业务逻辑
├── repositories/         # 数据访问(或 dal/)
├── models/               # 数据模型(或 entities/)
├── middlewares/          # 中间件
├── utils/                # 工具函数
├── config/               # 配置
└── types/                # 类型定义(如适用)

---

通用最佳实践

1. 错误处理原则

┌─────────────────────────────────────────────────────┐
│                    错误处理金字塔                     │
├─────────────────────────────────────────────────────┤
│  业务错误 (400-499)                                  │
│  ├─ ValidationError (400)   输入验证失败             │
│  ├─ UnauthorizedError (401) 未认证                  │
│  ├─ ForbiddenError (403)    无权限                  │
│  └─ NotFoundError (404)     资源不存在              │
├─────────────────────────────────────────────────────┤
│  系统错误 (500-599)                                  │
│  ├─ InternalError (500)     服务器内部错误           │
│  ├─ ServiceUnavailable (503) 服务不可用             │
│  └─ GatewayTimeout (504)    网关超时                │
└─────────────────────────────────────────────────────┘

**原则**:

  • 自定义错误类继承基础错误
  • 统一错误响应格式
  • 区分可操作错误和程序错误
  • 记录足够的上下文用于调试

2. 日志规范

**日志级别**: | 级别 | 用途 | 示例 | |------|------|------| | ERROR | 需要立即关注的错误 | 数据库连接失败 | | WARN | 潜在问题 | 重试成功、降级处理 | | INFO | 重要业务事件 | 用户登录、订单创建 | | DEBUG | 开发调试信息 | 变量值、执行路径 |

**结构化日志字段**:

{
  "timestamp": "2025-01-22T10:00:00Z",
  "level": "info",
  "message": "用户登录成功",
  "requestId": "uuid",
  "userId": "123",
  "duration": 45
}

3. 缓存策略

| 策略 | 适用场景 | TTL 建议 | | ------------- | ------------ | --------- | | Cache-Aside | 读多写少 | 5-60 分钟 | | Write-Through | 强一致性要求 | 短 TTL | | Write-Behind | 写多读少 | 根据业务 |

**缓存键命名**:

{service}:{entity}:{id}
{service}:{entity}:list:{hash}

4. API 设计原则

  • **RESTful** 资源导向
  • **版本控制** `/api/v1/...`
  • **统一响应格式**
  • **幂等性** PUT/DELETE 操作
  • **分页** 大列表查询

5. 安全检查清单

  • [ ] 输入验证(白名单优先)
  • [ ] SQL/NoSQL 注入防护
  • [ ] 认证令牌安全存储
  • [ ] 敏感数据加密
  • [ ] 速率限制
  • [ ] CORS 配置

---

通用代码模式

统一响应格式

成功响应:
{
  "success": true,
  "data": { ... },
  "meta": { "total": 100, "page": 1 }
}

错误响应:
{
  "success": false,
  "error": {
    "code": "VALIDATION_ERROR",
    "message": "邮箱格式不正确"
  }
}

健康检查端点

GET /health

{
  "status": "ok",
  "timestamp": "2025-01-22T10:00:00Z",
  "services": {
    "database": { "status": "ok" },
    "redis": { "status": "ok" }
  }
}

优雅关闭

1. 收到 SIGTERM 信号
2. 停止接受新请求
3. 等待进行中的请求完成(超时时间内)
4. 关闭数据库连接
5. 关闭其他资源
6. 退出进程

---

语言专属内容

详细的语言专属实现请参考:

  • **Python**: [python.md](./python.md) - FastAPI/Django/Flask
  • **TypeScript**: [typescript.md](./typescript.md) - Express/NestJS
  • **Java**: [java.md](./java.md) - Spring Boot
  • **Go**: [go.md](./go.md) - Gin/Echo
  • **C#**: [csharp.md](./csharp.md) - ASP.NET Core
  • **Rust**: [rust.md](./rust.md) - Axum/Actix-web/Rocket

专项优化

  • **性能优化**: [performance.md](./performance.md) - 数据库、缓存、并发优化

Python 进阶

  • **设计模式**: [python-patterns.md](./python-patterns.md) - KISS、组合、策略模式
  • **类型提示**: [python-types.md](./python-types.md) - Protocol、泛型、TypeGuard
  • **可观测性**: [python-observability.md](./python-observability.md) - 日志、指标、追踪

---

Maintenance

  • Sources: 各语言官方文档, 12-Factor App
  • Last updated: 2025-01-22
  • Pattern: 通用清单 + 按需加载语言专属

> **记住**: 后端代码的质量标准是可维护性——类型安全、错误处理、日志追踪缺一不可。

Read more
@xiaobei930
Ships withcc-best

Role-Driven Development Workflow for Claude Code Transform Claude into a complete development team. From product requirements to code review — one plugin, full workflow. Quick Start • Features • Workflow • Commands • FAQ

5019 skills8 agents
Get the whole plugin

Stars on GitHub

Momentum

stars in total
50
Star history of xiaobei930/cc-best on GitHub, a chart by star-history.com

Other skills on cc-best.

api

api

RESTful API design patterns and best practices. Use when creating endpoints, designing APIs, or implementing routes.

@xiaobei930@xiaobei930Install Skill
architecture

architecture

Architecture design skill: ADR records, system design checklists, scalability assessment, architecture patterns. Use for complex…

@xiaobei930@xiaobei930Install Skill
compact

compact

Strategic compaction skill: suggests context compression at logical breakpoints. Use to suggest compaction at logical intervals…

@xiaobei930@xiaobei930Install Skill
database

database

Database design, query optimization, migrations, and indexing. Use when designing schemas, writing queries, or managing…

@xiaobei930@xiaobei930Install Skill
debug

debug

Systematic debugging methods, log analysis, and performance diagnostics. Use when debugging issues, analyzing errors, or…

@xiaobei930@xiaobei930Install Skill
devops

devops

DevOps patterns: containerization, CI/CD, deployment strategies, monitoring. Use when containerizing apps, setting up pipelines,…

@xiaobei930@xiaobei930Install Skill

More skills from other plugins.

brainstorming
Auto-invoked

brainstorming

You MUST use this before any creative work - creating features, building components, adding functionality, modifying behavior, or…

@obra@obraInstall Skill
ask-matt

ask-matt

Ask which skill or flow fits your situation. A router over the skills in this repo.

skills12d309k
@mattpocock@mattpocockInstall Skill
accessibility
Auto-invoked

accessibility

Design, implement, and audit accessible UI to WCAG 2.2 Level AA across Web, iOS, and Android — semantic ARIA roles and labels,…

ecc13d293k
@affaan-m@affaan-mInstall Skill
compiler-commit

compiler-commit

Use when you want to verify compiler changes and commit with the correct convention. Runs tests, lint, and format, then commits…

react3d252k
@facebook@facebookInstall Skill

Questions about backend.

Which coding agents can use backend?
backend installs in Claude Code, Codex, Cursor, Gemini CLI, GitHub Copilot, OpenCode and Windsurf with the skills CLI, using each agent's flag shown on this page. Flowy's auto-invocation, which fires a skill when your prompt matches, runs in Claude Code only.