Oma Backend

Agente de backend: capas de router/servicio/repositorio, transacciones explícitas, reglas ORM N+1

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

Funciona con configuración ★ 7.6/10

Oma Backend — Agente de backend: capas de router/servicio/repositorio, transacciones explícitas, reglas ORM N+1

Qué hace

Una habilidad de implementación de backend que impone una división de router a servicio a repositorio a modelos y ejecuta un protocolo fijo de analizar/planificar/implementar/verificar para el trabajo de API, autenticación y persistencia. Incluye una referencia ORM (estrategia de carga de relaciones, límites de transacciones, ciclo de vida de sesión/cliente, proyección de campos) y una lista de verificación previa al envío que cubre índices FK, paginación, validación de entrada, consultas parametrizadas y configuración basada en env. Se activa ante solicitudes para construir endpoints REST o GraphQL, escribir migraciones, añadir autenticación JWT o corregir consultas lentas en una base de código de servidor.

Informe de la prueba

Se obtuvo SKILL.md más los cinco resources/*.md (checklist, execution-protocol, orm-reference, examples, error-playbook) — cada uno devolvió HTTP 200 y ../_shared/core/* existe en el árbol; no curl|sh, blobs base64, o texto de inyección dentro de los archivos de la habilidad (el instalador propio del README del repositorio es curl|bash, que es el arnés, no la habilidad). Las referencias del cuerpo a stack/stack.yaml, stack/snippets.md y stack/api-template.* están colgando después de una copia simple — esos se envían como variants/{node,python,rust}/ — y el Paso 3 de execution-protocol.md dice "Use stack/api-template.*" sin una cobertura opcional. Frases de activación juzgadas: DEBERÍA activarse — "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" (las 3 correctas); NO DEBERÍA activarse — "Fix the flexbox layout on the pricing page, cards overflow on mobile" (ignorada correctamente), "Write API reference documentation for our existing REST endpoints in the README" (la cargaría, ya que la descripción dice literalmente "Use for API, endpoint, REST ... work" — falso positivo, por lo tanto 4/5). Para la salida, ejecuté una tarea de ambas maneras: la línea base hizo un bucle session.get(Product) por línea (N consultas, sin bloqueo de fila, carrera de actualización perdida en stock), no tenía carga anticipada en el endpoint de lista (un fallo real de MissingGreenlet bajo SQLAlchemy asíncrono), sin paginación, sin validación de cantidad>0, y lógica de negocio en el manejador de rutas; la versión de la habilidad produjo un SELECT ... FOR UPDATE por lotes, selectinload en Order.items, paginación por cursor con un límite, una unidad de trabajo explícita "async with session.begin()", excepciones de dominio detrás de un manejador central, una migración de índice FK, y un riesgo residual nombrado (with_for_update es una operación nula en SQLite). Advertencia de honestidad: ya había leído el cuerpo de la habilidad antes de escribir la línea base, por lo que la línea base es mi patrón predeterminado genuino pero no fue escrita a ciegas; los artefactos están en /private/tmp/claude-501/-Users-afin-Desktop-Skill-Agregator/94648f54-e301-46fc-afd8-b98858a51ecf/scratchpad/omabk-baseline.md y omabk-skill.md.

Probado el: 2026-07-21 · Claude Code 2.x (agent harness)

Instalación

# 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

Comandos y prompts de ejemplo

  • /oma-backendAgente de backend: capas de router/servicio/repositorio, transacciones explícitas, reglas ORM N+1

Los skills se activan con peticiones en lenguaje natural, sin comandos que memorizar. Tras instalarlo, prompts como estos lo activan (en inglés):

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