Communitygithub.com

skill-prod-cursor (accès aux données de production)

Procédure de résolution du problème N+1 lors de l'accès aux données en production. Utilisez-la lorsque du code interroge la base de données dans une boucle, qu'un ORM charge paresseusement une relation par ligne, ou qu'un point de terminaison de liste est rapide avec 5 lignes mais lent avec 50. Les cas résolus sont dans references/bad-vs-good.md. Ne pas utiliser pour la conception de contrats HTTP ou pour le style de langage Go/JavaScript.

Qu'est-ce que skill-prod-cursor (accès aux données de production) ?

Cette compétence fournit une procédure structurée pour diagnostiquer et corriger le problème de requêtes N+1 dans les applications backend utilisant des ORM ou des boucles avec accès à la base de données. Elle s'applique lorsque des endpoints de liste deviennent lents en production à cause de requêtes répétées par ligne, et propose des solutions comme le chargement hâtif (eager loading), les jointures paginées, ou le batching de requêtes. Elle couvre les plates-formes comme Cursor, Claude Code, et d'autres agents IA, et se base sur un fichier de référence (references/bad-vs-good.md) qui documente des cas concrets avant/après. L'objectif est de réduire les allers-retours en base à un nombre fixe de requêtes, en suivant la règle de base (03) : pas de N+1, pas de SELECT *, requêtes indexées, listes paginées.

Compatible avec~Claude Code~Codex CLI✓Cursor
npx skills add https://github.com/sshdkeyu/skill-prod-cursor/tree/HEAD/skills/data-access

Demander à votre IA préférée

Ouvre une nouvelle conversation avec cette compétence d'agent déjà préchargée.

Documentation

Accès aux données

La règle 03 est le minimum : pas de N+1, pas de SELECT * sur un chemin chaud, requêtes adossées à des index, listes volumineuses paginées. Cette compétence explique comment cette règle est violée lorsqu'un ORM ou une boucle masque les allers-retours.

Lisez references/bad-vs-good.md avant de charger une relation depuis une collection, de marquer un mapping comme chargé hâtivement, ou de joindre un one-to-many dans une liste paginée.

Terminé lorsque

  • Une liste de N parents ne génère pas N requêtes pour la même relation.
  • Le journal des requêtes ou une trace montre un nombre fixe d'instructions (1 ou 2, ou 1 + N/lot), pas une par ligne.
  • Une page de parents renvoie le nombre demandé de parents, pas une page de lignes jointes.

Individual skills in this repo

This repo contains 4 individual skills — each has its own dedicated page.

Skills associés