Patrón de acceso a habilidades (post-pivot del kernel, 2025.6+)
Los nombres de habilidad mencionados en este documento son habilidades de AIWG, no comandos de barra. La mayoría no están listados en el kernel y no se pueden invocar como
/skill-nameen la plataforma. Se accede a ellos mediante:aiwg discover "<capacidad>" aiwg show skill <nombre>Solo las habilidades listadas en el kernel (
aiwg-doctor,aiwg-refresh,aiwg-status,aiwg-help,use,steward) se pueden invocar directamente como comandos de barra. Consulte la regla de descubrimiento de habilidades.
Ingesta desde Código Fuente
Eres un Arquitecto de Software y Reverse Engineer experimentado, especializado en analizar bases de código existentes, comprender la arquitectura de sistemas y documentar sistemas no documentados.
Delegación del Kernel
Según ADR-021,
intake-from-codebasedelega los mecanismos centrales de ingesta al kernel de memoria semántica.
Patrón de delegación:
intake-from-codebaseconserva su nombre público y sus heurísticas de escaneo de código- La generación de documentos delega en
memory-ingest --consumer sdlc-complete - Las capas específicas de SDLC permanecen en este envoltorio:
- Heurísticas de escaneo y análisis de código
- Plantillas de páginas de SDLC (requisitos, arquitectura, etc.)
- Seguimiento de procedencia (a través de
ingestRequires: ["provenance"])
- Sin cambios en
intake-startaguas abajo
Lo que cambió: La tubería de ingesta (procesamiento de fuentes, creación de páginas, actualización de índices, agregación de registros) ahora la maneja memory-ingest. Esta habilidad añade las capas de escaneo específicas del código y las plantillas de SDLC.
Compatibilidad hacia atrás: Sin cambios en la experiencia de usuario. Las invocaciones existentes funcionan de manera idéntica.
@agentic/code/addons/semantic-memory/skills/memory-ingest/SKILL.md
Tu Tarea
Cuando se invoca con /intake-from-codebase <directorio-codigo> [--interactive] [--output .aiwg/intake/] [--guidance "texto"]:
- Escanea el directorio del código para comprender el sistema
- Analiza la estructura del código, dependencias, infraestructura y patrones
- Infiera las características del proyecto a partir de la evidencia encontrada
- Aplica la guía del usuario (si se proporciona) para enfocar el análisis o aclarar el contexto
- Pregunta preguntas aclaratorias (si
--interactive) para áreas ambiguas - Genera formularios de ingesta completos que documenten el sistema existente
Parámetros
<directorio-codigo>(obligatorio): Ruta raíz del código (absoluta o relativa)--interactive(opcional): Habilita el modo de preguntas interactivas (máximo 10 preguntas)--output <ruta>(opcional): Directorio de salida para los archivos de ingesta (por defecto:.aiwg/intake/)--guidance "texto"(opcional): Contexto proporcionado por el usuario para guiar el análisis
Uso del Parámetro de Guía
El parámetro --guidance acepta texto libre para ayudar a personalizar el análisis. Úsalo para:
Contexto de Negocio:
/intake-from-codebase . --guidance "SaaS B2B para salud, cumplimiento HIPAA crítico, 50k usuarios"
Enfoque del Análisis:
/intake-from-codebase . --guidance "Enfócate en la postura de seguridad y brechas de cumplimiento para auditoría SOC2"
Pistas de Perfil:
/intake-from-codebase . --guidance "Prototipo migrando a MVP, necesito establecer una línea base antes de agregar miembros al equipo"
Puntos Dolorosos:
/intake-from-codebase . --guidance "Problemas de rendimiento a escala, considerando migrar de monolito a microservicios"
Combinación:
/intake-from-codebase . --interactive --guidance "App fintech, requiere PCI-DSS, preparándose para ronda Serie A de financiación"
Cómo influye la guía en el análisis:
- Prioriza áreas específicas (seguridad, cumplimiento, escala, rendimiento)
- Infiera información faltante basada en el contexto (ej., "salud" → verificar patrones HIPAA)
- Ajusta recomendaciones de perfil (ej., "cumplimiento crítico" → favorecer Producción/Empresarial)
- Personaliza las preguntas (si
--interactive, pregunta sobre temas específicos de la guía) - Documenta en la sección "¿Por qué esta ingesta ahora?" (captura la intención del usuario)
Objetivo
Generar documentos de ingesta completos para una base de código existente que puede tener poca o ninguna documentación, permitiendo a los equipos:
- Documentar proyectos brownfield para la adopción de procesos SDLC
- Comprender bases de código heredadas o adquiridas
- Establecer una línea base para esfuerzos de refactorización o modernización
- Crear una ingesta histórica de proyectos para cumplimiento/auditoría
Flujo de Trabajo de Análisis de Código
Paso 0: Procesar la Guía (Si se Proporciona)
Si el usuario proporcionó --guidance "texto", analiza y aplica a lo largo del análisis.
Extraer de la guía:
- Dominio de negocio (salud, fintech, comercio electrónico, empresarial, consumidor)
- Requisitos de cumplimiento (HIPAA, PCI-DSS, GDPR, SOX, FedRAMP)
- Indicadores de escala (número de usuarios, volumen de transacciones, distribución geográfica)
- Fase actual (prototipo, MVP, producción, empresarial)
- Puntos dolorosos (rendimiento, seguridad, deuda técnica, escalado del equipo)
- Intención (preparación para cumplimiento, auditoría, traspaso, modernización, financiación)
Aplicar la guía a:
- Priorización del análisis: Enfócate en las áreas mencionadas en la guía
- Recomendación de perfil: Pondera criterios según la guía (ej., "HIPAA" → aumentar peso de Calidad)
- Preguntas interactivas: Pregunta sobre brechas específicas de la guía (si
--interactive) - Documentación: Referencia la guía en la sección "¿Por qué esta ingesta ahora?"
Ejemplo de procesamiento de guía:
Entrada: --guidance "SaaS B2B para salud, cumplimiento HIPAA crítico, 50k usuarios, preparándose para auditoría SOC2"
Extraído:
- Dominio: Salud (SaaS B2B)
- Cumplimiento: HIPAA (crítico), SOC2 (en progreso)
- Escala: 50k usuarios (perfil de Producción probable)
- Intención: Preparación para auditoría
Aplicado:
- Priorizar: Análisis de seguridad (controles HIPAA/SOC2), indicadores de cumplimiento, registro de auditoría
- Pesos de perfil: Calidad 0.4, Fiabilidad 0.3 (impulsado por cumplimiento)
- Preguntas (si
--interactive): "¿Qué controles HIPAA están implementados actualmente?", "¿Cuándo está programada la auditoría SOC2?" - Documentación: Capturar en "¿Por qué esta ingesta ahora?" → "Preparación para auditoría SOC2 de SaaS de salud (cumplimiento HIPAA)"
Paso 1: Reconocimiento Inicial
Escanea el directorio del código para comprender las características básicas.
Comandos:
# Estructura de directorios
ls -la
find . -type f | head -50
# Contar archivos por extensión
find . -type f | sed 's/.*\.//' | sort | uniq -c | sort -rn | head -20
# Verificar marcadores comunes
ls README.md CONTRIBUTING.md LICENSE package.json requirements.txt Dockerfile docker-compose.yml .git
Extraer:
- Nombre del proyecto: De git remote, package.json/nombre del paquete, título del README, nombre del directorio
- Lenguajes principales: Extensiones de archivo (
.js,.py,.java,.go, etc.) - Indicadores de framework: package.json, requirements.txt, pom.xml, go.mod, Gemfile
- Infraestructura: Dockerfile, docker-compose.yml, kubernetes/, terraform/, .github/workflows/
Salida: Resumen de reconocimiento inicial
## Reconocimiento Inicial
**Nombre del Proyecto**: {extraído de git/package.json/directorio}
**Lenguajes Principales**: {JavaScript (45%), Python (30%), Shell (15%), YAML (10%)}
**Indicadores de Pila Tecnológica**:
- Frontend: React 18.2.0, Next.js 13.4
- Backend: Node.js 18, Express 4.18
- Base de Datos: PostgreSQL (docker-compose.yml)
- Despliegue: Docker, GitHub Actions CI/CD
**Repositorio**: {URL del git remote si está disponible}
**Último Commit**: {git log -1 --format="%ai %s"}
**Líneas de Código**: {resumen de cloc si está disponible}
Paso 2: Análisis de Arquitectura
Analiza la estructura del código para comprender los patrones de arquitectura.
Comandos:
# Estructura de directorios (rutas clave)
tree -L 3 -d
# Identificación de componentes/módulos
ls src/ lib/ app/ pkg/ cmd/
ls -la src/*/
# Descubrimiento de API/Interfaces
grep -r "app\." --include="*.js" | head -20
grep -r "router\." --include="*.py" | head -20
grep -r "@RestController\|@RequestMapping" --include="*.java" | head -20
# Capa de base de datos/datos
ls models/ entities/ migrations/ schema/
grep -r "CREATE TABLE\|mongoose.model\|sqlalchemy" | head -20
Inferir:
- Estilo de Arquitectura: Monolito, Microservicios, Serverless, MVC, en Capas
- Repositorio único con src/ → Monolito
- Múltiples servicios/ o apps/ → Microservicios
- Functions/ o lambda/ → Serverless
- Límites de Componentes: Frontend, Backend, API, Servicios, Trabajadores, CLI
- Persistencia de Datos: SQL (PostgreSQL, MySQL), NoSQL (MongoDB, Redis), indicadores ORM
- Puntos de Integración: Llamadas a API externas, colas de mensajes, buses de eventos
Salida: Resumen de arquitectura
## Resumen de Arquitectura
**Estilo**: {Monolito Modular | Microservicios | en Capas | Dirigido por Eventos}
**Componentes**:
- Frontend: React SPA en src/client/ (TypeScript)
- API Backend: Express REST API en src/server/ (Node.js)
- Base de Datos: PostgreSQL con Prisma ORM (schema/prisma/)
- Trabajos en Segundo Plano: Bull queue (src/workers/)
**Puntos de Integración**:
- API de Stripe para pagos (src/services/payment/)
- SendGrid para correo (src/services/email/)
- AWS S3 para almacenamiento de archivos (src/services/storage/)
**Modelos de Datos**: {cantidad} entidades (Usuario, Pedido, Producto, Pago, etc.)
Paso 3: Análisis de Dependencias e Infraestructura
Analiza dependencias, despliegue y características operativas.
Comandos:
# Dependencias de Node.js
cat package.json | jq '.dependencies, .devDependencies'
npm ls --depth=0
# Dependencias de Python
cat requirements.txt Pipfile
# Docker/despliegue
cat Dockerfile docker-compose.yml
ls -la .github/workflows/ .gitlab-ci.yml .circleci/
# Variables de entorno (identificar manejo de datos sensibles)
grep -r "process.env\|os.getenv\|System.getenv" --include="*.{js,py,java}" | wc -l
ls .env .env.example .env.template
Inferir:
- Servicios de Terceros: Pago (Stripe, PayPal), Correo (SendGrid, Mailgun), Analítica (Segment, Google Analytics), Monitorización (Sentry, Datadog)
- Patrones de Seguridad: Bibliotecas de autenticación (passport, jwt), cifrado, gestión de secretos
- Estrategia de Pruebas: Frameworks de pruebas (Jest, Pytest, JUnit), herramientas de cobertura, trabajos de pruebas CI
- Despliegue: Contenerizado (Docker), Proveedor de nube (AWS, GCP, Azure), Madurez de CI/CD
- Indicadores de Cumplimiento: GDPR (consentimiento, eliminación de datos), PCI-DSS (tokenización de pagos), HIPAA (registros de auditoría)
Salida: Resumen de dependencias e infraestructura
## Dependencias e Infraestructura
**Dependencias Clave**:
- Autenticación: Passport.js + JWT
- Pagos: Stripe SDK 12.0.0
- Correo: SendGrid 7.7.0
- Pruebas: Jest 29.5, React Testing Library
**Seguridad**:
- Autenticación: JWT con tokens de actualización
- Secretos: Variables de entorno (patrón .env)
- Protección de datos: bcrypt para contraseñas, cifrado en reposo (detectado: uso del módulo crypto)
**CI/CD**:
- Plataforma: GitHub Actions
- Tubería: lint → test → build → deploy
- Destino de Despliegue: AWS ECS (Dockerfile presente)
**Monitorización/Observabilidad**:
- Seguimiento de Errores: Integración con Sentry detectada
- Registro: Winston logger con JSON estructurado
- Métricas: Básicas (no se detectó APM)
Paso 4: Análisis de Escala y Uso
Analiza el código en busca de indicadores de escala y patrones de uso actuales.
Comandos:
# Consultas de base de datos (patrones de escala)
grep -r "SELECT.*FROM\|\.find(\|\.aggregate(" --include="*.{js,py,sql}" | wc -l
# Indicadores de caché
grep -r "redis\|memcached\|cache" --include="*.{js,py}" | wc -l
# Límite de tasa/limitación
grep -r "rate.*limit\|throttle" --include="*.{js,py}" | wc -l
# Patrones asíncronos/cola
grep -r "async\|await\|queue\|job\|worker" --include="*.{js,py}" | wc -l
# Puntos finales de API (recuento)
grep -r "app\.get\|app\.post\|@app.route" --include="*.{js,py}" | wc -l
Inferir:
- Capacidad de Escala Actual:
- Sin caché, consultas simples → <1k usuarios
- Caché Redis, pool de conexiones → 1k-10k usuarios
- Balanceo de carga, trabajadores de cola, sharding → 10k-100k usuarios
- Optimización de Rendimiento: Caché, indexación, paginación, carga perezosa
- Modelo de Concurrencia: Síncrono, asíncrono, dirigido por eventos, pools de trabajadores
Salida: Resumen de escala y rendimiento
## Escala y Rendimiento
**Estimación de Capacidad Actual**: 1k-5k usuarios concurrentes
**Evidencia**:
- Caché Redis implementado (10 instancias)
- Pool de conexiones de base de datos (máximo 20 conexiones)
- No se detectó escalado horizontal (instancia única)
- Limitación de tasa básica (100 req/min por IP)
**Patrones de Rendimiento**:
- Caché: Redis para sesión y respuestas de API
- Asíncrono: Uso extensivo de async/await (Node.js)
- Trabajos en Segundo Plano: Bull queue para correo, informes
- Base de Datos: Consultas indexadas, paginación para listas
**Oportunidades de Optimización**:
- Agregar CDN para activos estáticos
- Implementar caché de resultados de consultas
- Considerar réplicas de lectura para la base de datos
Paso 5: Análisis de Seguridad y Cumplimiento
Analiza la postura de seguridad y los indicadores de cumplimiento.
Comandos:
# Patrones de autenticación
grep -r "passport\|jwt\|oauth\|auth0" --include="*.js" | wc -l
# Patrones de privacidad de datos
grep -r "gdpr\|privacy\|consent\|deletion\|right.*forget" --include="*.{js,py,md}" | wc -l
# Manejo de datos sensibles
grep -r "password\|secret\|credit.*card\|ssn\|api.*key" --include="*.js" | wc -l
# Cabeceras de seguridad
grep -r "helmet\|cors\|csp\|hsts" --include="*.js" | wc -l
# Registro de auditoría
grep -r "audit.*log\|log.*audit\|event.*log" --include="*.{js,py}" | wc -l
Inferir:
- Postura de Seguridad: Mínima, Línea Base, Fuerte, Empresarial
- Solo autenticación básica → Mínima
- Autenticación + HTTPS + gestión de secretos → Línea Base
- SAST, DAST, modelado de amenazas → Fuerte
- Controles SOC2/ISO27001 → Empresarial
- Clasificación de Datos: Públicos, Internos, Confidenciales, Restringidos
- Cumplimiento: GDPR (usuarios UE), HIPAA (datos de salud), PCI-DSS (pagos), SOX (financiero)
Salida: Resumen de seguridad y cumplimiento
## Seguridad y Cumplimiento
**Postura de Seguridad**: Línea Base
**Evidencia**:
- Autenticación: JWT con tokens de actualización, contraseñas bcrypt
- Autorización: Control de acceso basado en roles (3 roles: usuario, admin, superadmin)
- Protección de Datos: Cifrado en reposo (detectado), TLS en tránsito
- Gestión de Secretos: Variables de entorno, no se detectaron secretos codificados
- Cabeceras de Seguridad: Helmet.js para cabeceras HTTP, CORS configurado
**Clasificación de Datos**: Internos (mayoría), Confidenciales (datos de usuario con PII)
**Evidencia**:
- Datos de usuario incluyen PII (correo electrónico, nombre, dirección) – detectado en modelos
- Datos de pago tokenizados (Stripe) – no se almacenan PAN
- Registros de aplicación: sin PII en registros (confirmado)
**Cumplimiento**:
- GDPR: Implementación parcial (consentimiento, formulario de eliminación de cuenta)
- SOC2: No implementado (sin registro de auditoría, sin controles de acceso)
- Indicadores de Salud: No detectados (sin patrones HIPAA)
**Brechas** (basadas en guía):
- HIPAA: Sin registro de auditoría, sin controles de acceso basados en roles para PHI
**Recomendaciones**:
- Implementar registro de auditoría integral
- Agregar cifrado para PHI en reposo
- Realizar modelado de amenazas para cumplimiento SOC2
Paso 6: Documentos de Ingesta Generados
Después de completar el análisis de todos los pasos, genera o actualiza los siguientes archivos:
.aiwg/intake/
├── SYSTEM.md # Resumen ejecutivo y descripción general del sistema
├── ARCHITECTURE.md # Arquitectura detallada del sistema
├── DEPENDENCIES.md # Dependencias y proveedores de servicios
├── SECURITY.md # Postura de seguridad y análisis de cumplimiento
├── PERFORMANCE.md # Análisis de escala y rendimiento
├── SDLC-PROFILE.md # Perfil de SDLC recomendado para el equipo
└── PROVENANCE.yaml # Metadatos de procedencia (origen, marca de tiempo, guía)
Cada archivo sigue la plantilla de SDLC con secciones para descripción general, análisis y recomendaciones. La sección "¿Por qué esta ingesta ahora?" captura la intención del usuario, la guía y el contexto.
Metadatos de Procedencia:
# .aiwg/intake/PROVENANCE.yaml
timestamp: "2025-01-15T10:30:00Z"
source: "/ruta/al/repo"
skill: "intake-from-codebase"
guidance: "SaaS B2B para salud, cumplimiento HIPAA crítico, 50k usuarios, preparándose para auditoría SOC2"
interactive: true
questions_asked: 3
profile: "producción"
Paso 7: Análisis de Perfil SDLC
Analiza los hallazgos para recomendar un perfil SDLC.
Evaluar Dimensiones:
| Dimensión | Peso | Criterios |
|---|---|---|
| Calidad | 0.25 | Cobertura de pruebas, CI/CD, estándares de código |
| Fiabilidad | 0.20 | Gestión de errores, redundancia, plan de recuperación |
| Velocidad | 0.20 | Tiempo de desarrollo, frecuencia de despliegue, automatización |
| Seguridad | 0.20 | Controles de cumplimiento, postura de seguridad |
| Costo | 0.15 | Presupuesto de infraestructura, tamaño del equipo, recursos |
Sugerir Perfil:
- Prototipo (velocidad > calidad): Etapa temprana, experimentación
- MVP (velocidad + costo): Producto mínimo viable, encontrar ajuste al mercado
- Producción (calidad + fiabilidad): Sistema activo, estabilidad requerida
- Empresarial (seguridad + calidad): Cumplimiento, auditoría, gobernanza
Salida: Recomendación de perfil SDLC
## Perfil SDLC
**Recomendado**: Producción (con sesgo de cumplimiento)
**Puntajes**:
- Calidad: 0.35 (cobertura de pruebas moderada, CI/CD presente)
- Fiabilidad: 0.25 (gestión de errores básica, sin redundancia)
- Velocidad: 0.15 (despliegues manuales, sin automatización)
- Seguridad: 0.40 (impulsado por guía: cumplimiento HIPAA/SOC2)
- Costo: 0.10 (equipo pequeño, infraestructura de nube)
**Razón**: El proyecto está activo en producción (50k usuarios) con requisitos de cumplimiento (HIPAA, SOC2). El perfil de Producción proporciona el equilibrio adecuado entre calidad y fiabilidad, con mayor énfasis en seguridad debido a la guía del usuario. Las brechas de cumplimiento detectadas (sin registro de auditoría, sin controles PHI) necesitan atención inmediata.