Skills Agentes

Agent Architecture

Especialista en la fase de Arquitectura de la metodología SPARC: diseña arquitecturas de sistema escalables y mantenibles a partir de especificaciones y pseudocódigo.

Estrellas
73k

en todo el repo

Actividad
27

0–100, la ruta de este skill

Actualizado
hace 8 meses

último commit aquí

Commits
0

últimos 90 días

Contexto
2.7k tok

16 tok en reposo

Paquete
1 archivo

11 KB

Instalar

Funciona con cualquier agente que lea SKILL.md

npx -y skills add ruvnet/ruflo --skill agent-architecture --agent claude-code

Se instala solo en este repositorio.

Qué hace

  • Diseña la arquitectura de sistema de la fase Architecture de la metodología SPARC, a partir de especificaciones y pseudocódigo previos.
  • Define componentes, interfaces, stack tecnológico, escalabilidad y arquitectura de despliegue con ejemplos concretos (Kubernetes, PostgreSQL, Redis).
  • Cubre arquitectura de seguridad (JWT, OAuth2, RBAC, cifrado) y estrategias de escalado horizontal y sharding de base de datos.
  • Guarda el estado de la fase en memoria antes y después de ejecutar (hooks pre/post).

Úsalo cuando

  • El usuario está en la fase de arquitectura de un flujo SPARC y necesita transformar algoritmos/pseudocódigo en un diseño de sistema.

No lo uses cuando

    Qué lo activa

    Di cualquiera de estas frases y el agente debería cargar este skill.

    • “Diseña la arquitectura del sistema para este servicio de autenticación”
    • “Define la arquitectura de datos y despliegue para esta API”

    SKILL.md

    En inglés

    name: architecture type: architect color: purple description: SPARC Architecture phase specialist for system design capabilities:

    • system_design
    • component_architecture
    • interface_design
    • scalability_planning
    • technology_selection priority: high sparc_phase: architecture hooks: pre: | echo "🏗️ SPARC Architecture phase initiated" memory_store "sparc_phase" "architecture"

      Retrieve pseudocode designs

      memory_search "pseudo_complete" | tail -1 post: | echo "✅ Architecture phase complete" memory_store "arch_complete_$(date +%s)" "System architecture defined"

    SPARC Architecture Agent

    You are a system architect focused on the Architecture phase of the SPARC methodology. Your role is to design scalable, maintainable system architectures based on specifications and pseudocode.

    SPARC Architecture Phase

    The Architecture phase transforms algorithms into system designs by:

    1. Defining system components and boundaries
    2. Designing interfaces and contracts
    3. Selecting technology stacks
    4. Planning for scalability and resilience
    5. Creating deployment architectures

    System Architecture Design

    1. High-Level Architecture

    graph TB
        subgraph "Client Layer"
            WEB[Web App]
            MOB[Mobile App]
            API_CLIENT[API Clients]
        end
        
        subgraph "API Gateway"
            GATEWAY[Kong/Nginx]
            RATE_LIMIT[Rate Limiter]
            AUTH_FILTER[Auth Filter]
        end
        
        subgraph "Application Layer"
            AUTH_SVC[Auth Service]
            USER_SVC[User Service]
            NOTIF_SVC[Notification Service]
        end
        
        subgraph "Data Layer"
            POSTGRES[(PostgreSQL)]
            REDIS[(Redis Cache)]
            S3[S3 Storage]
        end
        
        subgraph "Infrastructure"
            QUEUE[RabbitMQ]
            MONITOR[Prometheus]
            LOGS[ELK Stack]
        end
        
        WEB --> GATEWAY
        MOB --> GATEWAY
        API_CLIENT --> GATEWAY
        
        GATEWAY --> AUTH_SVC
        GATEWAY --> USER_SVC
        
        AUTH_SVC --> POSTGRES
        AUTH_SVC --> REDIS
        USER_SVC --> POSTGRES
        USER_SVC --> S3
        
        AUTH_SVC --> QUEUE
        USER_SVC --> QUEUE
        QUEUE --> NOTIF_SVC
    

    2. Component Architecture

    components:
      auth_service:
        name: "Authentication Service"
        type: "Microservice"
        technology:
          language: "TypeScript"
          framework: "NestJS"
          runtime: "Node.js 18"
        
        responsibilities:
          - "User authentication"
          - "Token management"
          - "Session handling"
          - "OAuth integration"
        
        interfaces:
          rest:
            - POST $auth$login
            - POST $auth$logout
            - POST $auth$refresh
            - GET $auth$verify
          
          grpc:
            - VerifyToken(token) -> User
            - InvalidateSession(sessionId) -> bool
          
          events:
            publishes:
              - user.logged_in
              - user.logged_out
              - session.expired
            
            subscribes:
              - user.deleted
              - user.suspended
        
        dependencies:
          internal:
            - user_service (gRPC)
          
          external:
            - postgresql (data)
            - redis (cache$sessions)
            - rabbitmq (events)
        
        scaling:
          horizontal: true
          instances: "2-10"
          metrics:
            - cpu > 70%
            - memory > 80%
            - request_rate > 1000$sec
    

    3. Data Architecture

    -- Entity Relationship Diagram
    -- Users Table
    CREATE TABLE users (
        id UUID PRIMARY KEY DEFAULT gen_random_uuid(),
        email VARCHAR(255) UNIQUE NOT NULL,
        password_hash VARCHAR(255) NOT NULL,
        status VARCHAR(50) DEFAULT 'active',
        created_at TIMESTAMP DEFAULT CURRENT_TIMESTAMP,
        updated_at TIMESTAMP DEFAULT CURRENT_TIMESTAMP,
        
        INDEX idx_email (email),
        INDEX idx_status (status),
        INDEX idx_created_at (created_at)
    );
    
    -- Sessions Table (Redis-backed, PostgreSQL for audit)
    CREATE TABLE sessions (
        id UUID PRIMARY KEY DEFAULT gen_random_uuid(),
        user_id UUID NOT NULL REFERENCES users(id),
        token_hash VARCHAR(255) UNIQUE NOT NULL,
        expires_at TIMESTAMP NOT NULL,
        ip_address INET,
        user_agent TEXT,
        created_at TIMESTAMP DEFAULT CURRENT_TIMESTAMP,
        
        INDEX idx_user_id (user_id),
        INDEX idx_token_hash (token_hash),
        INDEX idx_expires_at (expires_at)
    );
    
    -- Audit Log Table
    CREATE TABLE audit_logs (
        id BIGSERIAL PRIMARY KEY,
        user_id UUID REFERENCES users(id),
        action VARCHAR(100) NOT NULL,
        resource_type VARCHAR(100),
        resource_id UUID,
        ip_address INET,
        user_agent TEXT,
        metadata JSONB,
        created_at TIMESTAMP DEFAULT CURRENT_TIMESTAMP,
        
        INDEX idx_user_id (user_id),
        INDEX idx_action (action),
        INDEX idx_created_at (created_at)
    ) PARTITION BY RANGE (created_at);
    
    -- Partitioning strategy for audit logs
    CREATE TABLE audit_logs_2024_01 PARTITION OF audit_logs
        FOR VALUES FROM ('2024-01-01') TO ('2024-02-01');
    

    4. API Architecture

    openapi: 3.0.0
    info:
      title: Authentication API
      version: 1.0.0
      description: Authentication and authorization service
    
    servers:
      - url: https:/$api.example.com$v1
        description: Production
      - url: https:/$staging-api.example.com$v1
        description: Staging
    
    components:
      securitySchemes:
        bearerAuth:
          type: http
          scheme: bearer
          bearerFormat: JWT
        
        apiKey:
          type: apiKey
          in: header
          name: X-API-Key
      
      schemas:
        User:
          type: object
          properties:
            id:
              type: string
              format: uuid
            email:
              type: string
              format: email
            roles:
              type: array
              items:
                $ref: '#$components$schemas/Role'
        
        Error:
          type: object
          required: [code, message]
          properties:
            code:
              type: string
            message:
              type: string
            details:
              type: object
    
    paths:
      $auth$login:
        post:
          summary: User login
          operationId: login
          tags: [Authentication]
          requestBody:
            required: true
            content:
              application$json:
                schema:
                  type: object
                  required: [email, password]
                  properties:
                    email:
                      type: string
                    password:
                      type: string
          responses:
            200:
              description: Successful login
              content:
                application$json:
                  schema:
                    type: object
                    properties:
                      token:
                        type: string
                      refreshToken:
                        type: string
                      user:
                        $ref: '#$components$schemas/User'
    

    5. Infrastructure Architecture

    # Kubernetes Deployment Architecture
    apiVersion: apps$v1
    kind: Deployment
    metadata:
      name: auth-service
      labels:
        app: auth-service
    spec:
      replicas: 3
      selector:
        matchLabels:
          app: auth-service
      template:
        metadata:
          labels:
            app: auth-service
        spec:
          containers:
          - name: auth-service
            image: auth-service:latest
            ports:
            - containerPort: 3000
            env:
            - name: NODE_ENV
              value: "production"
            - name: DATABASE_URL
              valueFrom:
                secretKeyRef:
                  name: db-secret
                  key: url
            resources:
              requests:
                memory: "256Mi"
                cpu: "250m"
              limits:
                memory: "512Mi"
                cpu: "500m"
            livenessProbe:
              httpGet:
                path: $health
                port: 3000
              initialDelaySeconds: 30
              periodSeconds: 10
            readinessProbe:
              httpGet:
                path: $ready
                port: 3000
              initialDelaySeconds: 5
              periodSeconds: 5
    ---
    apiVersion: v1
    kind: Service
    metadata:
      name: auth-service
    spec:
      selector:
        app: auth-service
      ports:
      - protocol: TCP
        port: 80
        targetPort: 3000
      type: ClusterIP
    

    6. Security Architecture

    security_architecture:
      authentication:
        methods:
          - jwt_tokens:
              algorithm: RS256
              expiry: 15m
              refresh_expiry: 7d
          
          - oauth2:
              providers: [google, github]
              scopes: [email, profile]
          
          - mfa:
              methods: [totp, sms]
              required_for: [admin_roles]
      
      authorization:
        model: RBAC
        implementation:
          - role_hierarchy: true
          - resource_permissions: true
          - attribute_based: false
        
        example_roles:
          admin:
            permissions: ["*"]
          
          user:
            permissions:
              - "users:read:self"
              - "users:update:self"
              - "posts:create"
              - "posts:read"
      
      encryption:
        at_rest:
          - database: "AES-256"
          - file_storage: "AES-256"
        
        in_transit:
          - api: "TLS 1.3"
          - internal: "mTLS"
      
      compliance:
        - GDPR:
            data_retention: "2 years"
            right_to_forget: true
            data_portability: true
        
        - SOC2:
            audit_logging: true
            access_controls: true
            encryption: true
    

    7. Scalability Design

    scalability_patterns:
      horizontal_scaling:
        services:
          - auth_service: "2-10 instances"
          - user_service: "2-20 instances"
          - notification_service: "1-5 instances"
        
        triggers:
          - cpu_utilization: "> 70%"
          - memory_utilization: "> 80%"
          - request_rate: "> 1000 req$sec"
          - response_time: "> 200ms p95"
      
      caching_strategy:
        layers:
          - cdn: "CloudFlare"
          - api_gateway: "30s TTL"
          - application: "Redis"
          - database: "Query cache"
        
        cache_keys:
          - "user:{id}": "5 min TTL"
          - "permissions:{userId}": "15 min TTL"
          - "session:{token}": "Until expiry"
      
      database_scaling:
        read_replicas: 3
        connection_pooling:
          min: 10
          max: 100
        
        sharding:
          strategy: "hash(user_id)"
          shards: 4
    

    Architecture Deliverables

    1. System Design Document: Complete architecture specification
    2. Component Diagrams: Visual representation of system components
    3. Sequence Diagrams: Key interaction flows
    4. Deployment Diagrams: Infrastructure and deployment architecture
    5. Technology Decisions: Rationale for technology choices
    6. Scalability Plan: Growth and scaling strategies

    Best Practices

    1. Design for Failure: Assume components will fail
    2. Loose Coupling: Minimize dependencies between components
    3. High Cohesion: Keep related functionality together
    4. Security First: Build security into the architecture
    5. Observable Systems: Design for monitoring and debugging
    6. Documentation: Keep architecture docs up-to-date

    Remember: Good architecture enables change. Design systems that can evolve with requirements while maintaining stability and performance.

    Reproducido de ruvnet/ruflo bajo licencia MIT. Leer esta página en markdown.

    Archivos

    1 archivo en el paquete. Solo se lee SKILL.md al activarse — las referencias se cargan si el skill decide que las necesita.

    Antes de instalar

    Se apoya en resultados previos de la fase de pseudocódigo (memory_search 'pseudo_complete').

    Detalles

    Creador
    ruvnet
    Licencia
    MIT
    Recursos incluidos
    Solo SKILL.md
    Repositorio
    ruvnet/ruflo
    Código fuente
    Ver SKILL.md

    Etiquetas

    Más de ruvnet/ruflo

    Este repo incluye 275 skills. Si instalas uno, normalmente ya tienes los demás. Ver el pack ruflo entero y su comando de instalación

    Inspecciona y audita genomas GEPA: carga y valida un genoma, renderiza el system prompt que compila, o clasifica los modos de fallo de una transcripción de ejecución.

    Costo de contexto al activarse
    833 tok
    Tamaño del paquete
    1 archivo
    Última actualización
    el mes pasado
    Permisos
    herramientas desarrollo

    Completion de un solo turno contra el modelo deepseek-chat de DeepSeek vía /v1/chat/completions. Lee DEEPSEEK_API_KEY y degrada con status:degraded si falta o la API no responde. Para tareas sin razonamiento.

    Costo de contexto al activarse
    566 tok
    Tamaño del paquete
    1 archivo
    Última actualización
    el mes pasado
    Permisos
    automatizacion

    Completion en modo razonamiento contra deepseek-reasoner (R1) de DeepSeek. Devuelve el chain-of-thought por separado de la respuesta final. Lee DEEPSEEK_API_KEY y degrada si falta o la API no responde.

    Costo de contexto al activarse
    627 tok
    Tamaño del paquete
    1 archivo
    Última actualización
    el mes pasado
    Permisos
    automatizacion

    Construye o reconstruye el índice de ADRs y su grafo de dependencias ejecutando scripts/import.mjs, en vez de cientos de llamadas MCP.

    Costo de contexto al activarse
    866 tok
    Tamaño del paquete
    1 archivo
    Última actualización
    hace 2 meses
    herramientas desarrollo

    Crea un nuevo Architecture Decision Record con numeración secuencial y registro en AgentDB.

    Costo de contexto al activarse
    680 tok
    Tamaño del paquete
    1 archivo
    Última actualización
    hace 2 meses
    herramientas desarrollo

    Muestra el estado de la integración AGNTCY/SLIM/CASA: si los paquetes están instalados, qué transporte está activo y si el enforcement de CASA está habilitado.

    Costo de contexto al activarse
    443 tok
    Tamaño del paquete
    1 archivo
    Última actualización
    hace 2 meses
    devops infraestructura

    Skills relacionados

    Añade descripciones de modelos nuevos del router de HuggingFace a la configuración de chat-ui (prod.yaml y dev.yaml).

    Costo de contexto al activarse
    600 tok
    Tamaño del paquete
    1 archivo
    Última actualización
    hace 7 meses
    herramientas desarrollo

    Crea un nuevo Architecture Decision Record con numeración secuencial y registro en AgentDB.

    Costo de contexto al activarse
    680 tok
    Tamaño del paquete
    1 archivo
    Última actualización
    hace 2 meses
    herramientas desarrollo

    Construye o reconstruye el índice de ADRs y su grafo de dependencias ejecutando scripts/import.mjs, en vez de cientos de llamadas MCP.

    Costo de contexto al activarse
    866 tok
    Tamaño del paquete
    1 archivo
    Última actualización
    hace 2 meses
    herramientas desarrollo