Oma Backend
Agent backend : architecture en couches routeur/service/référentiel, transactions explicites, règles ORM N+1
Fonctionne avec configuration
Ce que fait
Une compétence d'implémentation backend qui impose une séparation routeur vers service vers référentiel vers modèles et exécute un protocole fixe d'analyse/planification/implémentation/vérification pour le travail d'API, d'authentification et de persistance. Elle contient une référence ORM (stratégie de chargement de relations, limites de transactions, cycle de vie de session/client, projection de champs) et une liste de contrôle pré-soumission couvrant les index de clés étrangères, la pagination, la validation d'entrée, les requêtes paramétrées et la configuration basée sur l'environnement. Se déclenche sur les demandes de construction de points de terminaison REST ou GraphQL, d'écriture de migrations, d'ajout d'authentification JWT ou de correction de requêtes lentes dans une base de code serveur.
Rapport de test
SKILL.md ainsi que les cinq fichiers resources/*.md (checklist, execution-protocol, orm-reference, examples, error-playbook) récupérés — chacun a renvoyé HTTP 200 et ../_shared/core/* existe dans l'arborescence ; pas de curl|sh, de blobs base64 ou de texte d'injection dans les fichiers de compétence (l'installeur du README du dépôt est curl|bash, qui est le harnais, pas la compétence). Les références du corps à stack/stack.yaml, stack/snippets.md et stack/api-template.* sont orphelines après une simple copie — celles-ci sont livrées en tant que variants/{node,python,rust}/ — et execution-protocol.md Étape 3 dit "Use stack/api-template.*" sans aucune précaution facultative. Phrases de déclenchement jugées : DEVRAIT se déclencher — "Ajouter un point de terminaison POST /api/orders à notre service FastAPI qui crée une commande et décrémente le stock", "Implémenter la connexion JWT avec rotation de jeton de rafraîchissement et limitation de débit sur les routes d'authentification", "Notre point de terminaison de liste /api/posts prend 2s, trouver le N+1 et corriger la requête du référentiel" (tous les 3 corrects) ; NE DEVRAIT PAS se déclencher — "Corriger la mise en page flexbox sur la page de tarification, les cartes débordent sur mobile" (correctement ignoré), "Écrire la documentation de référence de l'API pour nos points de terminaison REST existants dans le README" (je le chargerais, car la description dit littéralement "Use for API, endpoint, REST ... work" — faux positif, donc 4/5). Pour la sortie, j'ai exécuté une tâche des deux manières : la base de référence bouclait session.get(Product) par ligne (N requêtes, pas de verrouillage de ligne, course à la mise à jour perdue sur le stock), n'avait pas de chargement anticipé sur le point de terminaison de liste (un véritable échec MissingGreenlet sous SQLAlchemy asynchrone), pas de pagination, pas de validation quantité>0, et la logique métier dans le gestionnaire de route ; la version de la compétence a produit un SELECT ... FOR UPDATE par lots, selectinload sur Order.items, pagination par curseur avec une limite, une unité de travail explicite "async with session.begin()", des exceptions de domaine derrière un gestionnaire central, une migration d'index FK, et un risque résiduel nommé (with_for_update est un no-op sur SQLite). Mise en garde honnête : j'avais déjà lu le corps de la compétence avant d'écrire la base de référence, donc la base de référence est mon véritable modèle par défaut mais n'a pas été écrite à l'aveugle ; les artefacts sont à /private/tmp/claude-501/-Users-afin-Desktop-Skill-Agregator/94648f54-e301-46fc-afd8-b98858a51ecf/scratchpad/omabk-baseline.md et omabk-skill.md.
Testé le: 2026-07-21 · Claude Code 2.x (agent harness)
Installation
# clone the harness (the skill references ../_shared, so copy that too) git clone --depth 1 https://github.com/first-fluke/oh-my-agent /tmp/oma mkdir -p ~/.claude/skills cp -R /tmp/oma/.agents/skills/oma-backend ~/.claude/skills/ cp -R /tmp/oma/.agents/skills/_shared ~/.claude/skills/ # optional: materialize the stack/ folder the body references, from a variant cp -R ~/.claude/skills/oma-backend/variants/python ~/.claude/skills/oma-backend/stack # alternatives (whole suite): bunx oh-my-agent@latest # or: apm install first-fluke/oh-my-agent/.agents/skills/oma-backend
Commandes et exemples de prompts
/oma-backendAgent backend : architecture en couches routeur/service/référentiel, transactions explicites, règles ORM N+1
Les skills se déclenchent sur des demandes en langage courant — aucune commande à retenir. Après installation, des prompts comme ceux-ci l'activent (en anglais) :
Add a new REST endpoint following our clean architectureSet up database migrations for this featureImplement authentication in the service layer