Synthèse automatique
Ce skill guide le développement backend autour de la conception d'API, de l'optimisation de bases de données et de la mise en place de la sécurité.
Points forts
- Fournit des checklists concrètes pour la conception d'API et l'optimisation des requêtes
- Inclut des scripts pour scaffolder une API, gérer les migrations et tester la charge
- Couvre les bonnes pratiques de sécurité comme les requêtes paramétrées, la validation Zod et les contrôles d'autorisation
- Propose une documentation de référence sur les patterns REST/GraphQL, l'indexation et la sécurité
Limites
- Suppose une stack précise (Node.js, Express, Go, Python, PostgreSQL, GraphQL) et reste moins pertinent hors de cet écosystème
- Les scripts Python référencés doivent exister dans le dépôt du skill pour fonctionner
- Ne couvre pas les tests automatisés ni le frontend, renvoyés vers d'autres skills
À utiliser lorsqu'il faut concevoir un endpoint, corriger une requête N+1, ajouter une authentification ou revoir du code backend.
À éviter pour du travail d'interface utilisateur, la rédaction de tests ou la génération de changelogs.
Analyse de sécurité
PrudenceThe skill is not malicious and contains no obvious exfiltration, obfuscation, or destructive commands. However, it relies on executing bundled scripts and database migrations through Bash, which carries legitimate but meaningful operational risk and warrants a caution rating.
- •Instructs running bundled Python scripts via Bash (`api_scaffolder.py`, `database_migration_tool.py`, `api_load_tester.py`) without showing their contents or safety behavior.
- •Database migration tool can make state-changing/destructive schema changes if pointed at the wrong database.
- •Load tester may generate network traffic against APIs; users should confirm target authorization.
- •Uses Bash, Write, and WebSearch, which are powerful but appropriate for backend development workflows.
Exemples
Design a REST endpoint for creating orders in my Express API, with Zod validation, auth middleware, and an ownership check.My PostgreSQL endpoint is slow and I suspect an N+1 query in the ORM include — help me fix it and add the right indexes.Add rate limiting and JWT authentication to my Go backend service and review the security of my existing routes.name: senior-backend description: "Guides backend system development with Node.js, Express, Go, Python, PostgreSQL, GraphQL, and REST APIs. Use when the user says: 'design an API', 'optimize database queries', 'implement authentication', 'set up backend', 'create API endpoint', 'database migration', 'fix N+1 query', 'add rate limiting', 'backend code review'. Covers API scaffolding, database optimization, security implementation, and performance tuning. Do NOT use for frontend/UI work (use senior-fullstack), test writing (use tdd-workflow), or changelog generation." allowed-tools: [Read, Edit, Write, Bash, Grep, Glob, WebSearch]
Senior Backend
Guide backend development with focus on API design, database optimization, and security.
Core Workflow
1. Scaffold an API
Generate API boilerplate with best practices:
python scripts/api_scaffolder.py <project-path> [options]
2. Manage Database Migrations
Run the migration tool for schema changes:
python scripts/database_migration_tool.py <target-path> [--verbose]
3. Load Test APIs
Verify performance under load:
python scripts/api_load_tester.py [--analyze]
Reference Documentation
Consult before implementing:
references/api_design_patterns.md-- REST/GraphQL patterns, versioning, error responsesreferences/database_optimization_guide.md-- indexing, N+1 prevention, query tuningreferences/backend_security_practices.md-- auth, CORS, rate limiting, injection prevention
Key Principles
- Parameterized queries: Never concatenate user input into SQL
- Input validation: Use Zod schemas for all API request bodies
- Error responses: Return consistent error format with status code, message, and error code
- Auth checks: Verify user ownership on every data access (
WHERE userId = ?) - Idempotency: Design mutations to be safely retryable (especially webhooks)
API Design Checklist
- Define Zod schema for request/response
- Implement route handler with proper HTTP methods
- Add authentication middleware
- Add authorization check (ownership/role)
- Validate input, execute logic, return typed response
- Add error handling with appropriate status codes
- Write integration test
Database Optimization Checklist
- Add indexes for frequently queried columns
- Use
SELECTonly needed columns (avoidSELECT *) - Prevent N+1 with eager loading (
include/join) - Use connection pooling in production
- Add
EXPLAIN ANALYZEfor slow queries
Error Handling
- If migration fails: check database connection string and run
npx prisma migrate status - If load test shows high latency: check
references/database_optimization_guide.mdfor indexing strategies - If API scaffolder errors: verify Python 3.8+ and required templates exist in scripts/
- If auth fails: verify JWT_SECRET is set and token expiry is configured
- Always validate webhook signatures before processing payloads
Du fichier au premier essai
Le téléchargement contient exactement le contenu affiché sur cette fiche. Cette copie peut différer de la dernière version du dépôt source.
Consulter la source et ses fichiers annexesCe téléchargement contient uniquement SKILL.md. Les scripts, références, modèles et dépendances éventuels ne sont pas inclus. Récupérez les fichiers nécessaires depuis la source en conservant leur arborescence avant de poursuivre.
1. Télécharger le fichier
Télécharger SKILL.mdDepuis la racine d’un projet de test, enregistrez le fichier sous .skill-downloads/senior-backend-mrx3xxm2/SKILL.md, ou utilisez la commande suivante. Ce dossier sert à examiner la skill avant son installation.
Commande pour macOS/Linux ou WSL : un shell POSIX et curl sont nécessaires. Sous Windows sans WSL, utilisez le bouton de téléchargement et créez le dossier manuellement.
mkdir -p '.skill-downloads/senior-backend-mrx3xxm2' && curl --fail --show-error --location 'https://skills-guides.com/api/skills/senior-backend-mrx3xxm2/download' --output '.skill-downloads/senior-backend-mrx3xxm2/SKILL.md.part' && mv '.skill-downloads/senior-backend-mrx3xxm2/SKILL.md.part' '.skill-downloads/senior-backend-mrx3xxm2/SKILL.md'2. Vérifier les prérequis
Lisez SKILL.md avant de l’utiliser. Si le fichier cite des scripts ou services externes, examinez-les et préparez les accès nécessaires dans votre environnement de test.
Aucune section de prérequis reconnue dans ce fichier. Cela ne signifie pas qu’il est autonome : les bibliothèques, outils et accès peuvent être cités ailleurs dans le contenu ou dans le dépôt source.
Les plateformes de la fiche sont des indications du catalogue. Les chemins ci-dessous suivent la documentation des outils ; ils ne prouvent pas que cette skill y a été exécutée. Aucune version minimale de ces outils n’est attestée pour cette fiche.
3. Charger la skill
Après vérification, copiez le dossier complet dans le projet avec l’une des commandes ci-dessous, puis ouvrez une nouvelle session de l’outil. La commande s’arrête si un dossier du même nom existe déjà : comparez les fichiers avant de le remplacer.
Claude Code
test -f '.skill-downloads/senior-backend-mrx3xxm2/SKILL.md' && test -s '.skill-downloads/senior-backend-mrx3xxm2/SKILL.md' && mkdir -p '.claude/skills' && test ! -e '.claude/skills/senior-backend' && cp -R '.skill-downloads/senior-backend-mrx3xxm2' '.claude/skills/senior-backend'Cursor
test -f '.skill-downloads/senior-backend-mrx3xxm2/SKILL.md' && test -s '.skill-downloads/senior-backend-mrx3xxm2/SKILL.md' && mkdir -p '.cursor/skills' && test ! -e '.cursor/skills/senior-backend' && cp -R '.skill-downloads/senior-backend-mrx3xxm2' '.cursor/skills/senior-backend'Codex
test -f '.skill-downloads/senior-backend-mrx3xxm2/SKILL.md' && test -s '.skill-downloads/senior-backend-mrx3xxm2/SKILL.md' && mkdir -p '.agents/skills' && test ! -e '.agents/skills/senior-backend' && cp -R '.skill-downloads/senior-backend-mrx3xxm2' '.agents/skills/senior-backend'OpenSkills
OpenSkills doit déjà être installé. La procédure locale install/read est contrôlée avec OpenSkills 1.5.0, qui exige Node.js ≥ 20.6.0. Aucun slug du catalogue n’est résolu automatiquement.
Installation officielle d’OpenSkillsopenskills install './.skill-downloads/senior-backend-mrx3xxm2'openskills read 'senior-backend-mrx3xxm2'La lecture doit afficher le contenu du fichier installé et son dossier de base. Elle ne lance ni la skill ni ses dépendances.
Pour un agent qui lit AGENTS.md, synchronisez ensuite l’index. Cette commande modifie AGENTS.md : relisez le diff avant de l’utiliser.
openskills syncMode manuel ou autre outil : joignez SKILL.md à une conversation, ou ouvrez-le dans un agent capable de lire les fichiers. Ajoutez les ressources annexes nécessaires. Il n’existe pas de dossier universel reconnu par tous les outils.
4. Faire un premier essai
Utilisez une entrée courte et fictive : un endpoint d’API, un petit document ou un brief d’interface. Dans une nouvelle conversation, joignez le fichier ou donnez son chemin à l’agent, puis adaptez cette demande :
Lis .skill-downloads/senior-backend-mrx3xxm2/SKILL.md et applique ses instructions à cet exemple : [décrire une entrée de test]. Indique les fichiers, dépendances ou accès qui manquent. Produis le résultat demandé par la skill sans inventer de données ni exécuter de script non examiné.Résultat attendu : une sortie correspondant aux instructions de la skill, ou une liste précise des prérequis manquants. Une simple confirmation de lecture ne valide pas le premier usage. Si une ressource externe est indisponible, ce parcours reste à tester.
Bonnes pratiques React Hook Form
Developpement
Maîtrisez React Hook Form : évitez les anti-patterns, gérez les abonnements, et traitez correctement reset, dirty state et entrées contrôlées.
Migration Emotion vers Mantine
Developpement
Migrer les styled-components Emotion vers des composants Mantine avec style props et modules CSS. Pour convertir .styled.tsx ou supprimer les imports @emotion.
Détecteur de dérive de périmètre
Developpement
Analyse les diffs git par rapport à une intention pour détecter la dérive de périmètre, fichiers non liés et PR trop larges, puis suggère de garder, diviser ou justifier.