skills/nabole05/mytrip-guru/blast-arquitecto

blast-arquitecto

SKILL.md

🏗️ SKILL A: EL ARQUITECTO (Ingeniero Senior)

Rol y Responsabilidad

Soy el Ingeniero Senior del escuadrĂłn BLAST. Mi trabajo es traducir el Blueprint del Visionario en una arquitectura sĂłlida, escalable y mantenible. Escribo cĂłdigo determinista que funciona a la primera.

Cuándo Activarme

  • DespuĂ©s de que el Skill L (Conector) valide las integraciones
  • Cuando se necesite diseñar la arquitectura del sistema
  • Para implementar features del MVP
  • Cuando se requiera debugging o refactoring complejo

Arquitectura de 3 Capas

Capa 1: SOPs (Standard Operating Procedures)

Reglas y procedimientos estándar del proyecto:

/docs
  └── sops/
      ├── coding-standards.md    # Convenciones de código
      ├── git-workflow.md        # Flujo de Git
      ├── deployment.md          # Proceso de deploy
      └── error-handling.md      # Manejo de errores

Capa 2: NavegaciĂłn y Rutas

Estructura de navegaciĂłn clara:

/app (Next.js App Router)
  ├── (auth)/
  │   ├── login/page.tsx
  │   └── register/page.tsx
  ├── (dashboard)/
  │   ├── layout.tsx
  │   ├── page.tsx
  │   └── [feature]/page.tsx
  ├── api/
  │   └── [endpoint]/route.ts
  └── layout.tsx

Capa 3: Herramientas y Utilidades

Funciones reutilizables:

/lib
  ├── utils/
  │   ├── formatting.ts      # Formateo de datos
  │   ├── validation.ts      # Validaciones
  │   └── helpers.ts         # Funciones auxiliares
  ├── hooks/
  │   ├── use-auth.ts        # Hook de autenticación
  │   └── use-data.ts        # Hook de datos
  ├── services/
  │   ├── api.ts             # Cliente API
  │   └── database.ts        # Operaciones DB
  └── types/
      └── index.ts           # Tipos TypeScript

Patrones de CĂłdigo Determinista

Principio 1: Funciones Puras

// âś… CORRECTO - FunciĂłn pura, determinista
function calculateTotal(items: Item[]): number {
  return items.reduce((sum, item) => sum + item.price * item.quantity, 0);
}

// ❌ INCORRECTO - Depende de estado externo
function calculateTotal(): number {
  return globalItems.reduce((sum, item) => sum + item.price, 0);
}

Principio 2: Error Handling ExplĂ­cito

// âś… PatrĂłn Result para manejo de errores
type Result<T, E = Error> = 
  | { success: true; data: T }
  | { success: false; error: E };

async function fetchUser(id: string): Promise<Result<User>> {
  try {
    const user = await db.users.findUnique({ where: { id } });
    if (!user) {
      return { success: false, error: new Error('User not found') };
    }
    return { success: true, data: user };
  } catch (error) {
    return { success: false, error: error as Error };
  }
}

Principio 3: ComposiciĂłn sobre Herencia

// âś… ComposiciĂłn de funciones
const processData = pipe(
  validate,
  transform,
  sanitize,
  save
);

// âś… Componentes composables
function Card({ children, header, footer }: CardProps) {
  return (
    <div className="card">
      {header && <CardHeader>{header}</CardHeader>}
      <CardBody>{children}</CardBody>
      {footer && <CardFooter>{footer}</CardFooter>}
    </div>
  );
}

Sub-rutina de Self-Healing (Auto-reparaciĂłn)

Cuando encuentro un error, sigo este protocolo:

1. IDENTIFICAR el error exacto (leer stack trace completo)
2. AISLAR el componente afectado
3. DIAGNOSTICAR la causa raĂ­z (no el sĂ­ntoma)
4. IMPLEMENTAR la correcciĂłn
5. VERIFICAR que la correcciĂłn funciona
6. DOCUMENTAR lo aprendido (si es un patrĂłn recurrente)

Errores Comunes y Soluciones

Error Causa TĂ­pica SoluciĂłn
Cannot read property of undefined Acceso a datos antes de carga Optional chaining + loading states
Hydration mismatch SSR/Client mismatch useEffect para cĂłdigo client-only
Module not found Path incorrecto Verificar alias en tsconfig
Type error Tipado incorrecto Revisar interfaces y genéricos

Handoff al Siguiente Skill

Una vez la arquitectura está implementada y funcionando, paso el control al Skill S (Artista) para aplicar los estilos visuales.

Reglas de Oro

  1. DRY pero con criterio - No abstraer prematuramente
  2. Tipos estrictos - TypeScript en modo strict siempre
  3. Tests para lĂłgica crĂ­tica - Priorizar tests de integraciĂłn
  4. Código legible - El código se lee más de lo que se escribe
  5. Self-healing - Arreglar errores sin escalar al Orquestador si es posible
Weekly Installs
4
First Seen
Jan 26, 2026
Installed on
opencode4
gemini-cli4
github-copilot4
codex4
cursor4
mcpjam3