Oma Backend
Backend-Agent: Router-/Service-/Repository-Schichtung, explizite Transaktionen, ORM N+1-Regeln
Funktioniert mit Setup
Was es kann
Ein Backend-Implementierungs-Skill, der eine Aufteilung von Router zu Service zu Repository zu Modellen erzwingt und ein festes Analyse-/Planungs-/Implementierungs-/Verifizierungs-Protokoll für API-, Authentifizierungs- und Persistenzarbeiten ausführt. Es enthält eine ORM-Referenz (Relation-Loading-Strategie, Transaktionsgrenzen, Session-/Client-Lebenszyklus, Feldprojektion) und eine Pre-Submit-Checkliste, die FK-Indizes, Paginierung, Eingabevalidierung, parametrisierte Abfragen und umgebungsbasierte Konfiguration abdeckt. Wird ausgelöst bei Anfragen zum Erstellen von REST- oder GraphQL-Endpunkten, zum Schreiben von Migrationen, zum Hinzufügen von JWT-Authentifizierung oder zum Beheben langsamer Abfragen in einer Server-Codebasis.
Testbericht
SKILL.md sowie alle fünf resources/*.md (checklist, execution-protocol, orm-reference, examples, error-playbook) wurden abgerufen — jede gab HTTP 200 zurück und ../_shared/core/* existiert im Baum; kein curl|sh, base64-Blobs oder Injection-Text in den Skill-Dateien (der Installer der Repo-README ist curl|bash, was das Harness ist, nicht der Skill). Die Referenzen des Textes auf stack/stack.yaml, stack/snippets.md und stack/api-template.* sind nach einer einfachen Kopie hängend — diese werden als variants/{node,python,rust}/ ausgeliefert — und execution-protocol.md Schritt 3 sagt „Use stack/api-template.*“ ohne optionalen Vorbehalt. Trigger-Formulierungen bewertet: SOLLTE auslösen — „Füge einen POST /api/orders Endpunkt zu unserem FastAPI-Dienst hinzu, der eine Bestellung erstellt und den Lagerbestand reduziert“, „Implementiere JWT-Login mit Refresh-Token-Rotation und Ratenbegrenzung auf den Auth-Routen“, „Unser /api/posts Listenendpunkt dauert 2s, finde das N+1 und behebe die Repository-Abfrage“ (alle 3 korrekt); SOLLTE NICHT auslösen — „Behebe das Flexbox-Layout auf der Preisseite, Karten überlaufen auf Mobilgeräten“ (korrekt ignoriert), „Schreibe API-Referenzdokumentation für unsere bestehenden REST-Endpunkte in der README“ (ich würde es laden, da die Beschreibung wörtlich sagt „Use for API, endpoint, REST ... work“ — Fehlalarm, also 4/5). Für die Ausgabe habe ich eine Aufgabe auf zwei Arten ausgeführt: Die Baseline durchlief session.get(Product) pro Zeile (N Abfragen, keine Zeilensperre, Lost-Update-Race auf Lagerbestand), hatte kein Eager Loading auf dem Listenendpunkt (ein echter MissingGreenlet-Fehler unter async SQLAlchemy), keine Paginierung, keine quantity>0-Validierung und Geschäftslogik im Route-Handler; die Skill-Version produzierte ein gebatchtes SELECT ... FOR UPDATE, selectinload auf Order.items, Cursor-Paginierung mit einer Limit-Obergrenze, eine explizite „async with session.begin()“-Arbeitseinheit, Domänen-Exceptions hinter einem zentralen Handler, eine FK-Index-Migration und ein benanntes Restrisiko (with_for_update ist ein No-Op auf SQLite). Ehrlichkeitshinweis: Ich hatte den Skill-Text bereits gelesen, bevor ich die Baseline schrieb, daher ist die Baseline mein echtes Standardmuster, wurde aber nicht blind geschrieben; Artefakte befinden sich unter /private/tmp/claude-501/-Users-afin-Desktop-Skill-Agregator/94648f54-e301-46fc-afd8-b98858a51ecf/scratchpad/omabk-baseline.md und omabk-skill.md.
Getestet am: 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
Befehle & Beispiel-Prompts
/oma-backendBackend-Agent: Router-/Service-/Repository-Schichtung, explizite Transaktionen, ORM N+1-Regeln
Skills reagieren auf normale Anfragen — keine Slash-Befehle nötig. Nach der Installation aktivieren Prompts wie diese den Skill (auf Englisch):
Add a new REST endpoint following our clean architectureSet up database migrations for this featureImplement authentication in the service layer