cc-skill-backend-patterns
Construa Sistemas Backend Escaláveis
Aplicações backend frequentemente sofrem com arquitetura deficiente, problemas de escalabilidade e vulnerabilidades de segurança. Esta habilidade fornece padrões comprovados para design de API, otimização de banco de dados, cache, autenticação e tratamento de erros.
Télécharger le ZIP du skill
Importer dans Claude
Allez dans Paramètres → Capacités → Skills → Importer un skill
Activez et commencez à utiliser
Tester
Utilisation de "cc-skill-backend-patterns". Mostre-me como projetar uma API RESTful para um recurso de produtos
Résultat attendu:
GET /api/products - Listar todos os produtos
GET /api/products/:id - Obter produto único
POST /api/products - Criar produto
PUT /api/products/:id - Substituir produto
PATCH /api/products/:id - Atualizar produto
DELETE /api/products/:id - Excluir produto
Query params: ?status=active&sort=price&limit=20&offset=0
Utilisation de "cc-skill-backend-patterns". Como prevenir consultas N+1 ao buscar pedidos com clientes?
Résultat attendu:
Em vez de:
for (const order of orders) {
order.customer = await getCustomer(order.customerId)
}
Use:
const customerIds = orders.map(o => o.customerId)
const customers = await getCustomers(customerIds)
const customerMap = new Map(customers.map(c => [c.id, c]))
orders.forEach(o => o.customer = customerMap.get(o.customerId))
Utilisation de "cc-skill-backend-patterns". Crie um middleware de autenticação JWT
Résultat attendu:
export function verifyToken(token: string) {
try {
return jwt.verify(token, process.env.JWT_SECRET!)
} catch (error) {
throw new ApiError(401, 'Invalid token')
}
}
export async function requireAuth(request: Request) {
const token = request.headers.get('authorization')?.replace('Bearer ', '')
if (!token) throw new ApiError(401, 'Missing token')
return verifyToken(token)
}
Audit de sécurité
Risque faibleEducational backend development patterns skill. Static analyzer flagged numerous false positives due to misidentification of code comments as shell commands, environment variable access as sensitive data exposure, and URL paths as reconnaissance. True positive finding: JWT secret accessed via process.env - standard secure practice. No malicious behavior detected.
Problèmes à risque faible (1)
Facteurs de risque
🔑 Variables d’environnement (1)
Motifs détectés
Score de qualité
Ce que vous pouvez construire
Projetar Novos Endpoints de API
Arquitetos e desenvolvedores construindo novas APIs REST podem aplicar padrões de URL baseados em recursos e abordagens de middleware para design de API consistente e mantível.
Otimizar Consultas Lentas de Banco de Dados
Desenvolvedores enfrentando problemas de performance podem identificar e corrigir problemas de consulta N+1 usando batch fetching e padrões de otimização de consultas.
Implementar Autenticação Segura
Desenvolvedores adicionando autenticação às suas aplicações podem implementar validação de JWT e controle de acesso baseado em funções seguindo as melhores práticas de segurança.
Essayez ces prompts
Projete uma estrutura de API RESTful para um recurso [resource]. Inclua endpoints para listagem, obtenção por ID, criação, atualização e exclusão. Mostre exemplos de parâmetros de query para filtragem e paginação.
Tenho uma função que busca uma lista de pedidos e então itera sobre cada um para obter detalhes do cliente. Isso está causando performance lenta. Mostre-me como refatorar isso usando o padrão de batch fetch para evitar consultas N+1.
Mostre-me como implementar validação de token JWT e um middleware requireAuth para proteger rotas de API. Inclua tratamento de erro para tokens inválidos.
Crie uma implementação de padrão cache-aside usando Redis para uma função getUser. Inclua lógica de cache hit/miss e invalidação de cache.
Bonnes pratiques
- Separe responsabilidades usando camadas de repositório, serviço e controller para código mantível
- Sempre valide a entrada usando bibliotecas de validação de schema como Zod antes do processamento
- Implemente cache estrategicamente - faça cache de operações caras mas invalide corretamente
Éviter
- Não selecione todas as colunas com SELECT * - especifique apenas os campos necessários para melhor performance
- Evite aninhar chamadas de banco de dados em loops - use batch fetches ao invés disso
- Não exponha erros brutos do banco de dados aos clientes - use tratamento de erro centralizado
Foire aux questions
Quais linguagens e frameworks esta habilidade cobre?
Como escolher entre PUT e PATCH?
Quando devo usar Redis vs cache em memória?
Como lidar com autenticação em funções serverless?
Qual é a forma recomendada de estruturar um projeto backend?
Como implementar rate limiting corretamente?
Détails du développeur
Auteur
affaan-mLicence
MIT
Dépôt
https://github.com/sickn33/antigravity-awesome-skills/tree/main/skills/cc-skill-backend-patternsRéf
main
Structure de fichiers
📄 SKILL.md