Oma Backend

Backend-agent: router/service/repository-lagdeling, eksplicitte transaktioner, ORM N+1-regler

Af first-fluke · first-fluke/oh-my-agent

Virker med opsætning ★ 7.6/10

Oma Backend — Backend-agent: router/service/repository-lagdeling, eksplicitte transaktioner, ORM N+1-regler

Hvad det gør

En backend-implementeringsskill, der håndhæver en opdeling fra router til service til repository til modeller og kører en fast analyse/planlæg/implementer/verificer-protokol for API, autentificering og persistensarbejde. Den indeholder en ORM-reference (relationsindlæsningsstrategi, transaktionsgrænser, session/klient-livscyklus, feltprojektion) og en pre-submit tjekliste, der dækker FK-indekser, paginering, inputvalidering, parameteriserede forespørgsler og env-baseret konfiguration. Udløses ved anmodninger om at bygge REST- eller GraphQL-endpoints, skrive migrationer, tilføje JWT-autentificering eller rette langsomme forespørgsler i en serverkodebase.

Testrapport

Hentede SKILL.md plus alle fem resources/*.md (checklist, execution-protocol, orm-reference, examples, error-playbook) — hver især returnerede HTTP 200, og ../_shared/core/* eksisterer i træet; ingen curl|sh, base64 blobs eller injektionstekst inde i skill-filerne (repoets README's egen installer er curl|bash, som er harness, not the skill). Kroppens referencer til stack/stack.yaml, stack/snippets.md og stack/api-template.* er løse efter en simpel kopi — disse leveres som variants/{node,python,rust}/ — og execution-protocol.md Trin 3 siger "Use stack/api-template.*" uden valgfri forbehold. Trigger-fraseringer bedømt: SKAL udløses — "Add a POST /api/orders endpoint to our FastAPI service that creates an order and decrements stock", "Implement JWT login with refresh token rotation and rate limiting on the auth routes", "Our /api/posts list endpoint takes 2s, find the N+1 and fix the repository query" (alle 3 korrekte); SKAL IKKE udløses — "Fix the flexbox layout on the pricing page, cards overflow on mobile" (korrekt ignoreret), "Write API reference documentation for our existing REST endpoints in the README" (jeg ville indlæse den, da beskrivelsen bogstaveligt talt siger "Use for API, endpoint, REST ... work" — falsk positiv, so 4/5). For output kørte jeg en opgave på to måder: baseline looped session.get(Product) per linje (N forespørgsler, ingen rækkeblokering, lost-update race på lager), havde ingen eager loading på list-endpointet (en reel MissingGreenlet-fejl under async SQLAlchemy), ingen paginering, ingen quantity>0 validering og forretningslogik i route-handleren; skill-versionen producerede en batchet SELECT ... FOR UPDATE, selectinload på Order.items, cursor-paginering med et limit-cap, en eksplicit "async with session.begin()" arbejdsenhed, domæneundtagelser bag en central handler, en FK-indeks-migration og en navngiven residual risiko (with_for_update er en no-op på SQLite). Ærlighedsforbehold: Jeg havde allerede læst skill-kroppen, før jeg skrev baseline, så baseline er mit ægte standardmønster, men blev ikke skrevet blindt; artefakter er på /private/tmp/claude-501/-Users-afin-Desktop-Skill-Agregator/94648f54-e301-46fc-afd8-b98858a51ecf/scratchpad/omabk-baseline.md og omabk-skill.md.

Testet: 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

Kommandoer og eksempelprompter

  • /oma-backendBackend-agent: router/service/repository-lagdeling, eksplicitte transaktioner, ORM N+1-regler

Skills udløses af almindelige forespørgsler — ingen kommandoer at huske. Efter installationen aktiverer prompter som disse skillen (på engelsk):

  • Add a new REST endpoint following our clean architecture
  • Set up database migrations for this feature
  • Implement authentication in the service layer