Oma Backend

Agente backend: stratificazione router/service/repository, transazioni esplicite, regole ORM N+1

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

Richiede configurazione ★ 7.6/10

Oma Backend — Agente backend: stratificazione router/service/repository, transazioni esplicite, regole ORM N+1

Cosa fa

Una skill di implementazione backend che impone una suddivisione router-service-repository-modelli ed esegue un protocollo fisso di analisi/pianificazione/implementazione/verifica per il lavoro su API, autenticazione e persistenza. Contiene un riferimento ORM (strategia di caricamento delle relazioni, confini delle transazioni, ciclo di vita di sessione/client, proiezione dei campi) e una checklist pre-invio che copre indici FK, paginazione, validazione dell'input, query parametrizzate e configurazione basata su env. Si attiva su richieste di costruzione di endpoint REST o GraphQL, scrittura di migrazioni, aggiunta di autenticazione JWT o risoluzione di query lente in una codebase server.

Rapporto di test

Recuperato SKILL.md più tutti e cinque i file resources/*.md (checklist, execution-protocol, orm-reference, examples, error-playbook) — ognuno ha restituito HTTP 200 e ../_shared/core/* esiste nell'albero; nessun curl|sh, blob base64 o testo di iniezione all'interno dei file della skill (l'installer del README del repo è curl|bash, che è l'harness, non la skill). I riferimenti del corpo a stack/stack.yaml, stack/snippets.md e stack/api-template.* sono sospesi dopo una semplice copia — questi vengono forniti come variants/{node,python,rust}/ — e execution-protocol.md Step 3 dice "Use stack/api-template.*" senza alcuna copertura opzionale. Frasi trigger giudicate: DOVREBBE attivarsi — "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" (tutti e 3 corretti); NON DOVREBBE attivarsi — "Fix the flexbox layout on the pricing page, cards overflow on mobile" (correttamente ignorato), "Write API reference documentation for our existing REST endpoints in the README" (lo caricherei, dato che la descrizione dice letteralmente "Use for API, endpoint, REST ... work" — falso positivo, quindi 4/5). Per l'output ho eseguito un task in entrambi i modi: la baseline ha ciclato session.get(Product) per riga (N query, nessun blocco di riga, race di lost-update sullo stock), non aveva caricamento eager sull'endpoint di elenco (un vero errore MissingGreenlet sotto async SQLAlchemy), nessuna paginazione, nessuna validazione quantity>0, e logica di business nel gestore di rotta; la versione della skill ha prodotto un SELECT ... FOR UPDATE batch, selectinload su Order.items, paginazione a cursore con un limite massimo, un'unità di lavoro esplicita "async with session.begin()", eccezioni di dominio dietro un gestore centrale, una migrazione di indice FK, e un rischio residuo nominato (with_for_update è un no-op su SQLite). Avvertenza onestà: avevo già letto il corpo della skill prima di scrivere la baseline, quindi la baseline è il mio modello predefinito genuino ma non è stata scritta alla cieca; gli artefatti sono in /private/tmp/claude-501/-Users-afin-Desktop-Skill-Agregator/94648f54-e301-46fc-afd8-b98858a51ecf/scratchpad/omabk-baseline.md e omabk-skill.md.

Testato il: 2026-07-21 · Claude Code 2.x (agent harness)

Installazione

# 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

Comandi e prompt di esempio

  • /oma-backendAgente backend: stratificazione router/service/repository, transazioni esplicite, regole ORM N+1

Gli skill si attivano con richieste in linguaggio naturale, senza comandi da ricordare. Dopo l'installazione, prompt come questi lo attivano (in inglese):

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