Oma Backend

Backend-agent: router/service/repository-lagen, expliciete transacties, ORM N+1-regels

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

Werkt met setup ★ 7.6/10

Oma Backend — Backend-agent: router/service/repository-lagen, expliciete transacties, ORM N+1-regels

Wat het doet

Een backend-implementatieskill die een router-naar-service-naar-repository-naar-modellen-splitsing afdwingt en een vast analyse/plan/implementeer/verifieer-protocol uitvoert voor API-, auth- en persistentiewerk. Het bevat een ORM-referentie (relatie-laadstrategie, transactiegrenzen, sessie/client-levenscyclus, veldprojectie) en een pre-submit checklist die FK-indexen, paginering, invoervalidatie, geparametriseerde queries en omgevingsgebaseerde configuratie omvat. Activeert op verzoeken om REST- of GraphQL-endpoints te bouwen, migraties te schrijven, JWT-auth toe te voegen, of trage queries in een servercodebase te repareren.

Testrapport

SKILL.md plus alle vijf resources/*.md (checklist, execution-protocol, orm-reference, examples, error-playbook) opgehaald — elk retourneerde HTTP 200 en ../_shared/core/* bestaat in de boomstructuur; geen curl|sh, base64 blobs, of injectietekst in de skill-bestanden (de eigen installer van de repo README is curl|bash, wat de harness is, niet de skill). De verwijzingen van de body naar stack/stack.yaml, stack/snippets.md en stack/api-template.* zijn zwevend na een simpele kopie — die worden geleverd als variants/{node,python,rust}/ — en execution-protocol.md Stap 3 zegt "Use stack/api-template.*" zonder optionele voorbehoud. Triggerzinnen beoordeeld: MOET activeren — "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 correct); MOET NIET activeren — "Fix the flexbox layout on the pricing page, cards overflow on mobile" (correct genegeerd), "Write API reference documentation for our existing REST endpoints in the README" (Ik zou het laden, aangezien de beschrijving letterlijk zegt "Use for API, endpoint, REST ... work" — vals positief, dus 4/5). Voor de output voerde ik één taak op twee manieren uit: de baseline doorliep session.get(Product) per regel (N queries, geen rijvergrendeling, lost-update race op voorraad), had geen eager loading op het list endpoint (een echte MissingGreenlet-fout onder async SQLAlchemy), geen paginering, geen quantity>0 validatie, en bedrijfslogica in de route handler; de skill-versie produceerde één gebatchte SELECT ... FOR UPDATE, selectinload op Order.items, cursor-paginering met een limiet, een expliciete "async with session.begin()" unit of work, domein-exceptions achter een centrale handler, een FK-indexmigratie, en een benoemd restrisico (with_for_update is een no-op op SQLite). Eerlijkheidshalve: ik had de skill-body al gelezen voordat ik de baseline schreef, dus de baseline is mijn oprechte standaardpatroon maar werd niet blind geschreven; artefacten bevinden zich op /private/tmp/claude-501/-Users-afin-Desktop-Skill-Agregator/94648f54-e301-46fc-afd8-b51ecf/scratchpad/omabk-baseline.md en omabk-skill.md.

Getest op: 2026-07-21 · Claude Code 2.x (agent harness)

Installatie

# 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

Commando's en voorbeeldprompts

  • /oma-backendBackend-agent: router/service/repository-lagen, expliciete transacties, ORM N+1-regels

Skills reageren op gewone verzoeken — geen commando's om te onthouden. Na installatie activeren prompts zoals deze de skill (in het Engels):

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