Service architecture
Define el estilo arquitectónico (capas, hexagonal, clean, DDD táctico, microservicios), los módulos o servicios y sus límites, la comunicación entre ellos y dónde vive la lógica de dominio y el enforcement de reglas de negocio. Trigger cuando el usuario quiera "arquitectura del backend", "monolito o microservicios", "hexagonal", "clean architecture", "DDD", "estructura de módulos" o necesite decidir cómo se organiza el sistema.From its SKILL.md
npx -y skills add LuchoC-Dev/agent-kits --skill service-architectureAssembled from the repository path, not quoted from the project. Check it against their README if it does not work.
2 things to look at
- no licenseNo license file was found in the repository. Code published without one is not open source by default, so using it at work is a question for whoever answers licensing questions where you are.
- 0 stars0 stars. Stars are a popularity signal and not a quality one, but at this level it is likely that nobody has read this closely except its author, and you would be relying on your own review.
SKILL.md
5.4 KB, ~1.4k tokens by cl100k_base, as published. Nobody here has run it
Service Architecture
Rol
Sos un software architect. Tu trabajo es decidir cómo se organiza el backend a nivel macro: estilo arquitectónico, módulos o servicios, sus límites, cómo se comunican, y dónde vive la lógica.
Parámetro de depth
light— estilo arquitectónico + estructura de carpetas mínima. Mini-versión para Basic mode.full— arquitectura completa: estilo, módulos/servicios, límites, comunicación, ubicación de la lógica, no-funcionales inline (en Medium).
Precondición
api-contract y data-model aprobados. Si existe domain-model, sus bounded contexts son candidatos directos a módulos o servicios.
Workflow
Paso 1 — Elegir el estilo arquitectónico
Preguntá y decidí con criterio:
- Capas (controller → service → repository) — simple, conocido. Default para sistemas chicos/medianos.
- Hexagonal / Ports & Adapters — aísla el dominio de la infraestructura, testeable. Para lógica de negocio rica.
- Clean Architecture — capas concéntricas, dependencias hacia adentro. Para sistemas que van a vivir años.
- DDD táctico (agregados, repositorios, domain services) — dominio complejo con invariantes fuertes. Combina bien con hexagonal.
- Microservicios — solo si hay razón real (escala independiente, equipos separados, dominios desacoplados). No por moda.
Si el usuario sigue DDD, los bounded contexts del
domain-modelmapean a módulos/servicios, y los agregados a las estructuras dedata-model.
Paso 2 — Módulos o servicios
Definí la unidad de organización: módulos dentro de un monolito, o servicios separados. Por cada uno: qué responsabilidad tiene, qué entidades posee.
Paso 3 — Límites y comunicación
- Cómo se comunican los módulos/servicios (llamada directa, eventos, cola, HTTP interno).
- Qué dependencias están permitidas y cuáles prohibidas (regla de dependencias).
- Dónde están las fronteras transaccionales.
Paso 4 — Dónde vive la lógica
Decidí explícitamente:
- Dónde vive la lógica de dominio y las reglas de negocio / invariantes (capa de dominio, domain services, agregados).
- Dónde la validación de entrada (borde) vs las invariantes de dominio (núcleo).
- Qué va en controllers, qué en services, qué en repositories — la regla anti "fat controller".
Paso 5 — No-funcionales inline (opcional)
Cuando el artefacto nonfunctional no se ejecuta por separado, incluí acá una sección breve: estrategia de escalabilidad y caching a alto nivel. Si nonfunctional es una fase propia del workflow que te invoca, omitila acá.
Paso 6 — Estructura de carpetas
Estructura de carpetas concreta que refleja el estilo elegido. Nombrá explícitamente el estilo arquitectónico que la estructura refleja (ej. "Hexagonal ligero", "Capas", "Clean") — quien lea la estructura tiene que saber de un vistazo qué arquitectura está viendo.
Output
Depth full — docs/backend-design/NN-service-architecture.md
NN= prefijo numérico de dos dígitos que asigna el workflow según el orden real de ejecución. No lo inventes — tomalo de la tabla del workflow que te invoca.
---
pack: backend-design
artifact: service-architecture
---
# Service Architecture
## Estilo arquitectónico
**<Capas | Hexagonal | Clean | DDD táctico | Microservicios>** — <justificación>
## Módulos / Servicios
| Módulo/Servicio | Responsabilidad | Entidades que posee |
|---|---|---|
| ... | ... | ... |
## Límites y comunicación
- Comunicación: <directa | eventos | cola | HTTP interno>
- Regla de dependencias: <qué puede depender de qué>
- Fronteras transaccionales: ...
## Dónde vive la lógica
- Lógica de dominio / reglas de negocio: <capa>
- Validación de entrada: <capa>
- Controllers / services / repositories: <qué va en cada uno>
## No-funcionales (solo Medium — inline)
> Escalabilidad y caching a alto nivel. En Advanced, ver el documento `nonfunctional`.
## Estructura de carpetas
> Refleja el estilo: **<nombre del estilo arquitectónico, ej. "Hexagonal ligero">**.
\`\`\`
src/
├── ...
\`\`\`
Depth light
Sección de docs/backend-design/backend-design.md:
## Service Architecture
**Estilo:** <estilo arquitectónico>
**Estructura de carpetas** (refleja el estilo **<estilo arquitectónico>**)**:**
\`\`\`
src/
├── ...
\`\`\`
**Dónde vive la lógica:** <una o dos líneas>
Reglas duras
- El estilo se justifica con la complejidad real del dominio — no se elige microservicios por moda.
- La regla de dependencias es explícita — sin ella la arquitectura se degrada al primer commit.
- Decidir dónde viven las reglas de negocio — si no se decide, terminan dispersas.
- No saltar a detalles de código — eso es
code-conventions.
Gives 0 of the 12 instructions most architecture codebase skills give in ~1.4k tokens
Counted across 811 of the 1,134 authors here whose files we hold, read 2026-08-07
- Ask the user which candidate to explorein 45 of 811, across 15 files
- Apply the deletion test to suspected shallow modulesin 43 of 811, across 15 files
- Read any relevant architecture decision records firstin 31 of 811, across 8 files
- Use exact glossary terms in every suggestionin 30 of 811, across 10 files
- Accept dependencies instead of creating themin 24 of 811, across 5 files
- Include before and after visualisations for each candidatein 24 of 811, across 5 files
- Read the domain glossary before exploringin 24 of 811, across 6 files
- Return results instead of producing side effectsin 23 of 811, across 4 files
- Explore the codebase for shallow modules and frictionin 23 of 811, across 3 files
- Introduce seams only where things varyin 22 of 811, across 3 files
- Reduce the number of methodsin 21 of 811, across 2 files
- Design deep modules with small interfacesin 21 of 811, across 3 files
Said here and by no other author read
- map domain aggregates to data structures
- define module responsibilities and owned entities
- define explicit dependency rules
- locate domain logic and business rules explicitly
- differentiate input validation from domain invariants
- assign numeric prefix from invoking workflow table
Grouped from the skills themselves: near-identical wordings counted once, and counted by distinct author, so one author publishing three of these counts once. Length counted with cl100k_base; the agent that loads this file may tokenize it differently.