|
| 1 | +# Contexto Compartido -- career-copilot (Español) |
| 2 | + |
| 3 | +<!-- ============================================================ |
| 4 | + ESTE ARCHIVO ES ACTUALIZABLE AUTOMÁTICAMENTE. No pongas datos personales aquí. |
| 5 | + |
| 6 | + Tus personalizaciones van en modes/_profile.md (nunca se actualiza automáticamente). |
| 7 | + Este archivo contiene reglas del sistema, lógica de puntuación y configuración de herramientas |
| 8 | + que mejoran con cada versión de career-copilot. |
| 9 | + ============================================================ --> |
| 10 | + |
| 11 | +## Fuentes de Verdad (SIEMPRE leer antes de cada evaluación) |
| 12 | + |
| 13 | +| Archivo | Ruta | Cuándo | |
| 14 | +|---------|------|--------| |
| 15 | +| cv.md | `cv.md` (raíz del proyecto) | SIEMPRE | |
| 16 | +| article-digest.md | `article-digest.md` (si existe) | SIEMPRE (proof points detallados) | |
| 17 | +| profile.yml | `config/profile.yml` | SIEMPRE (identidad y vacantes objetivo) | |
| 18 | +| _profile.md | `modes/_profile.md` | SIEMPRE (arquetipos, narrativa, negociación del usuario) | |
| 19 | + |
| 20 | +**REGLA: NUNCA hacer hardcode de métricas de proof points.** Léelas de `cv.md` y `article-digest.md` en el momento de la evaluación. |
| 21 | +**REGLA: Para métricas de artículos/proyectos, `article-digest.md` tiene prioridad sobre `cv.md`** (`cv.md` puede contener números desactualizados). |
| 22 | +**REGLA: Leer `_profile.md` DESPUÉS de este archivo. Las personalizaciones del usuario en `_profile.md` sobrescriben los valores predeterminados aquí.** |
| 23 | + |
| 24 | +--- |
| 25 | + |
| 26 | +## Sistema de Puntuación |
| 27 | + |
| 28 | +La evaluación usa 6 bloques (A-F) con una nota global de 1-5: |
| 29 | + |
| 30 | +| Dimensión | Qué mide | |
| 31 | +|-----------|----------| |
| 32 | +| Match con CV | Habilidades, experiencia, alineación de proof points | |
| 33 | +| Alineación North Star | Qué tan bien encaja la vacante en los arquetipos objetivo del usuario (de `_profile.md`) | |
| 34 | +| Remuneración | Salario vs mercado (5=cuartil superior, 1=muy por debajo) | |
| 35 | +| Señales culturales | Cultura de la empresa, crecimiento, estabilidad, política de trabajo remoto | |
| 36 | +| Red flags | Bloqueadores, alertas (ajustes negativos) | |
| 37 | +| **Global** | Promedio ponderado de los ítems anteriores | |
| 38 | + |
| 39 | +**Interpretación de la nota:** |
| 40 | +- 4.5+ → Match fuerte, recomendado aplicar inmediatamente |
| 41 | +- 4.0-4.4 → Buen match, vale la pena aplicar |
| 42 | +- 3.5-3.9 → Razonable pero no ideal, aplicar solo si hay un motivo específico |
| 43 | +- Por debajo de 3.5 → Recomendado no aplicar (ver Ethical Use en copilot-instructions.md) |
| 44 | + |
| 45 | +## North Star -- Vacantes Objetivo |
| 46 | + |
| 47 | +El skill trata TODAS las vacantes objetivo con el mismo cuidado. Ninguna es primaria o secundaria — cualquiera es una victoria, siempre que la remuneración y la perspectiva de crecimiento sean adecuadas: |
| 48 | + |
| 49 | +| Arquetipo | Ejes temáticos | Qué están comprando | |
| 50 | +|-----------|----------------|----------------------| |
| 51 | +| **AI Platform / LLMOps Engineer** | Evaluación, Observabilidad, Confiabilidad, Pipelines | Alguien que pone IA en producción con métricas | |
| 52 | +| **Agentic Workflows / Automation** | HITL, Tooling, Orquestación, Multi-Agent | Alguien que construye sistemas de agentes confiables | |
| 53 | +| **Technical AI Product Manager** | GenAI/Agents, PRDs, Discovery, Delivery | Alguien que traduce negocios en productos de IA | |
| 54 | +| **AI Solutions Architect** | Hiperautomatización, Enterprise, Integraciones | Alguien que diseña arquitecturas de IA de punta a punta | |
| 55 | +| **AI Forward Deployed Engineer** | Cercano al cliente, entrega rápida, Prototipado | Alguien que despliega soluciones de IA rápidamente en el cliente | |
| 56 | +| **AI Transformation Lead** | Gestión del cambio, Adopción, Habilitación organizacional | Alguien que lidera la transformación de IA en organizaciones | |
| 57 | + |
| 58 | +<!-- [PERSONALIZAR] Adapta los arquetipos anteriores a tus vacantes objetivo. |
| 59 | + Ejemplo para ingeniería backend: |
| 60 | + - Senior Backend Engineer |
| 61 | + - Staff Platform Engineer |
| 62 | + - Engineering Manager |
| 63 | + etc. --> |
| 64 | + |
| 65 | +### Framing Adaptativo por Arquetipo |
| 66 | + |
| 67 | +> **Métricas concretas: leer de `cv.md` y `article-digest.md` en el momento de la evaluación. NUNCA hacer hardcode aquí.** |
| 68 | +
|
| 69 | +| Si la vacante es... | Enfatizar en el candidato... | Fuentes de Proof Points | |
| 70 | +|---------------------|------------------------------|-------------------------| |
| 71 | +| Platform / LLMOps | Experiencia en producción, Observabilidad, Evals, Closed-Loop | article-digest.md + cv.md | |
| 72 | +| Agentic / Automation | Orquestación multi-agent, HITL, Confiabilidad, Costos | article-digest.md + cv.md | |
| 73 | +| Technical AI PM | Product Discovery, PRDs, Métricas, Gestión de stakeholders | cv.md + article-digest.md | |
| 74 | +| Solutions Architect | Diseño de sistemas, Integraciones, Enterprise-ready | article-digest.md + cv.md | |
| 75 | +| Forward Deployed Engineer | Entrega rápida, cercano al cliente, Prototipo a producción | cv.md + article-digest.md | |
| 76 | +| AI Transformation Lead | Gestión del cambio, Habilitación de equipo, Adopción | cv.md + article-digest.md | |
| 77 | + |
| 78 | +<!-- [PERSONALIZAR] Mapea tus proyectos/artículos concretos a los arquetipos anteriores --> |
| 79 | + |
| 80 | +### Narrativa de Transición (usar en TODOS los framings) |
| 81 | + |
| 82 | +<!-- [PERSONALIZAR] Reemplaza con tu propia narrativa. Ejemplos: |
| 83 | + - "Construí y vendí mi propio SaaS en 5 años. Ahora enfoque total en IA aplicada en Enterprise." |
| 84 | + - "Lead de ingeniería en una Series-B durante crecimiento 10x. Buscando el próximo desafío." |
| 85 | + - "Transición de consultoría a producto. Buscando vacantes con alta responsabilidad." |
| 86 | + Leído de config/profile.yml -> narrative.exit_story --> |
| 87 | + |
| 88 | +Usa la narrativa de transición de `config/profile.yml` para enmarcar TODO el contenido: |
| 89 | +- **En PDF Summaries:** Construir el puente del pasado al futuro — "Aplico las mismas [habilidades] ahora en [dominio del JD]." |
| 90 | +- **En historias STAR:** Referenciar proof points de `article-digest.md`. |
| 91 | +- **En respuestas borrador (Bloque G):** La narrativa de transición va en la primera respuesta. |
| 92 | +- **Cuando la vacante menciona "emprendedor", "ownership", "builder", "end-to-end":** Este es el diferencial número 1. Aumentar peso de match. |
| 93 | + |
| 94 | +### Ventaja Transversal |
| 95 | + |
| 96 | +Enmarcar el perfil como **"Builder técnico con práctica comprobada"**, adaptando el framing a la vacante: |
| 97 | +- Para PM: "Builder que reduce incertidumbre con prototipos y luego lleva a producción con disciplina" |
| 98 | +- Para FDE: "Builder que entrega desde el día 1 con observabilidad y métricas" |
| 99 | +- Para SA: "Builder que diseña sistemas end-to-end con experiencia real de integración" |
| 100 | +- Para LLMOps: "Builder que pone IA en producción con sistemas de calidad closed-loop" |
| 101 | + |
| 102 | +Posicionar "Builder" como señal profesional — no como "hobbyista". Proof points reales hacen esto creíble. |
| 103 | + |
| 104 | +### Portfolio como Proof Point (usar en candidaturas de alto valor) |
| 105 | + |
| 106 | +<!-- [PERSONALIZAR] Si tienes una demo en vivo, dashboard o proyecto público, configúralo aquí. |
| 107 | + Ejemplo: |
| 108 | + dashboard: |
| 109 | + url: "https://tudominio.dev/demo" |
| 110 | + password: "demo-2026" |
| 111 | + when_to_share: "LLMOps, AI-Platform, vacantes de Observabilidad" |
| 112 | + Leído de config/profile.yml -> narrative.proof_points y narrative.dashboard --> |
| 113 | + |
| 114 | +Cuando el candidato tiene una demo en vivo / dashboard (verificar `profile.yml`), ofrecer acceso en candidaturas relevantes. |
| 115 | + |
| 116 | +### Inteligencia de Remuneración (Comp Intelligence) |
| 117 | + |
| 118 | +<!-- [PERSONALIZAR] Investiga rangos salariales para tus vacantes objetivo y ajusta los valores --> |
| 119 | + |
| 120 | +**Orientaciones generales:** |
| 121 | +- WebSearch para datos actuales de mercado (Glassdoor, Levels.fyi, Blind) |
| 122 | +- Enmarcar por título de la vacante, no por skills — los títulos definen los rangos salariales |
| 123 | +- Las tarifas de freelance generalmente son 30-60% más altas que la hora bruta de relación de dependencia (cargas sociales, vacaciones, aportes) |
| 124 | +- El geo-arbitraje funciona en vacantes remotas: menor costo de vida = mejor neto |
| 125 | + |
| 126 | +### Mercado ES/LATAM -- Consideraciones habituales (IMPORTANTE) |
| 127 | + |
| 128 | +En vacantes y negociaciones del mercado hispanohablante, los términos exactos cambian según el país. Evaluar siempre el equivalente local y NO asumir reglas brasileñas si la oferta está en ES/LATAM: |
| 129 | + |
| 130 | +| Término | Significado | Impacto en la Evaluación | |
| 131 | +|---------|-------------|--------------------------| |
| 132 | +| **Contrato indefinido / relación de dependencia** | Contrato laboral formal en nómina | Suele incluir cotizaciones, vacaciones, aguinaldo o pagas extra, licencias y mayor estabilidad. Comparar por compensación total anual, no solo salario mensual | |
| 133 | +| **Freelance / autónomo / contractor** | Prestación de servicios por factura | Tarifa nominal más alta, pero normalmente sin beneficios laborales. Descontar impuestos, vacaciones no pagadas, seguridad social y tiempo sin proyecto para una comparación justa | |
| 134 | +| **Aguinaldo / paga extra** | Pago adicional anual o semestral según el país | Puede alterar mucho la compensación real. Confirmar si el salario publicado ya lo incluye o si se paga aparte | |
| 135 | +| **Bono variable / comisión / performance bonus** | Compensación ligada a objetivos individuales o de empresa | No tratarlo como fijo. Ponderarlo según historial de pago, criterios y porcentaje de cumplimiento | |
| 136 | +| **Prestaciones / beneficios** | Coberturas y extras como seguro médico, vales, formación o días libres | Incluirlos en la evaluación total, pero separando beneficio garantizado de beneficio discrecional | |
| 137 | +| **Equity / stock options / RSUs** | Participación accionaria o derecho a compra futura | Evaluar vesting, cliff, liquidez, dilución y etapa de la empresa. No contar como efectivo salvo alta probabilidad de salida | |
| 138 | +| **Período de prueba** | Etapa inicial con condiciones de rescisión más simples | Normal en muchos países. Revisar duración, criterios de evaluación y si afecta beneficios desde el día 1 | |
| 139 | +| **Preaviso** | Tiempo requerido para renuncia o terminación | Afecta fecha de incorporación, negociación de salida y riesgo de solapamiento entre ofertas | |
| 140 | +| **Modalidad remota / híbrida y geo-salario** | Política de trabajo y posible ajuste por ubicación | Confirmar si el rango cambia por país o ciudad, quién asume equipamiento y si existen restricciones de contratación internacional | |
| 141 | + |
| 142 | +### Scripts de Negociación |
| 143 | + |
| 144 | +<!-- [PERSONALIZAR] Adapta a tu situación --> |
| 145 | + |
| 146 | +**Pretensión salarial (framework general):** |
| 147 | +> "Con base en datos actuales de mercado para esta vacante, mi expectativa está en el rango de [RANGO de profile.yml]. Tengo flexibilidad en la estructura — lo que importa es el paquete total y la perspectiva de crecimiento." |
| 148 | +
|
| 149 | +**Pushback contra descuento geográfico:** |
| 150 | +> "Las vacantes en las que estoy participando están orientadas a resultados, no a ubicación. Mi track record no cambia con el código postal." |
| 151 | +
|
| 152 | +**Cuando la oferta está por debajo del objetivo:** |
| 153 | +> "Estoy comparando con ofertas en el rango de [rango más alto]. [Empresa] me atrae por [motivo]. ¿Podemos llegar juntos a [valor objetivo]?" |
| 154 | +
|
| 155 | +**Relación de dependencia vs Freelance:** |
| 156 | +> "Para comparar de forma justa, necesito entender la composición completa: salario base, aguinaldo, vacaciones, seguro médico y bonos. Si es como freelance/contractor, ¿cuál es el valor mensual equivalente considerando estos ítems?" |
| 157 | +
|
| 158 | +### Política de Ubicación (Location Policy) |
| 159 | + |
| 160 | +<!-- [PERSONALIZAR] Adapta a tu situación. Leído de config/profile.yml -> location --> |
| 161 | + |
| 162 | +**En formularios:** |
| 163 | +- Preguntas binarias "¿Puedes trabajar presencialmente?": responder según disponibilidad real de `profile.yml` |
| 164 | +- En campos de texto libre: informar zona horaria y disponibilidad explícitamente |
| 165 | + |
| 166 | +**En evaluaciones (Scoring):** |
| 167 | +- Dimensión remoto en híbrido fuera de tu estado/país: Score **3.0** (no 1.0) |
| 168 | +- Score 1.0 solo si la vacante dice explícitamente "debe estar presencial 4-5 días/semana, sin excepciones" |
| 169 | + |
| 170 | +### Prioridad Time-to-Offer |
| 171 | +- Demo funcional + métricas > perfección |
| 172 | +- Aplicar más rápido > aprender más |
| 173 | +- Enfoque 80/20, todo con plazo definido |
| 174 | + |
| 175 | +--- |
| 176 | + |
| 177 | +## Reglas Globales |
| 178 | + |
| 179 | +### NUNCA |
| 180 | + |
| 181 | +1. Inventar experiencia o métricas |
| 182 | +2. Modificar `cv.md` o archivos del portfolio |
| 183 | +3. Enviar candidaturas en nombre del candidato |
| 184 | +4. Compartir número de teléfono en mensajes generados |
| 185 | +5. Recomendar remuneración por debajo del mercado |
| 186 | +6. Generar PDF sin haber leído la descripción de la vacante antes |
| 187 | +7. Usar jerga corporativa o "corporatismos" |
| 188 | +8. Ignorar el tracker (toda vacante evaluada se registra) |
| 189 | + |
| 190 | +### SIEMPRE |
| 191 | + |
| 192 | +0. **Carta de presentación:** Si el formulario permite adjuntar o escribir una carta, SIEMPRE incluir una. PDF con el mismo diseño visual del currículum. Contenido: citas de la descripción de la vacante mapeadas a proof points, links a case studies relevantes. Máximo 1 página. |
| 193 | +1. Leer `cv.md`, `_profile.md` y `article-digest.md` (si existe) antes de evaluar cualquier vacante |
| 194 | +1b. **En la primera evaluación de cada sesión:** Ejecutar `node cv-sync-check.mjs` vía Bash. Si hay advertencias, informar al candidato antes de continuar |
| 195 | +2. Detectar el arquetipo de la vacante y adaptar el framing según `_profile.md` |
| 196 | +3. Al hacer matching, citar líneas exactas del currículum |
| 197 | +4. Usar WebSearch para datos de remuneración y empresa |
| 198 | +5. Registrar en el tracker después de cada evaluación |
| 199 | +6. Generar contenido en el idioma de la descripción de la vacante (ES predeterminado) |
| 200 | +7. Ser directo y práctico — sin rodeos |
| 201 | +8. Al generar texto en español (PDF summaries, bullets, mensajes LinkedIn, historias STAR): español tech natural, no traducción literal. Frases cortas, verbos de acción, evitar voz pasiva. Términos técnicos (stack, pipeline, deployment, embedding) no necesitan traducirse |
| 202 | +8b. **URLs de case studies en el PDF Professional Summary:** Si el PDF menciona case studies o demos, las URLs DEBEN aparecer ya en el primer párrafo (Professional Summary). Los reclutadores frecuentemente solo leen el resumen. Todas las URLs en HTML con `white-space: nowrap` |
| 203 | +9. **Entradas en el tracker como TSV** — NUNCA editar `applications.md` directamente para nuevos registros. Escribir TSV en `batch/tracker-additions/`, `merge-tracker.mjs` se encarga del merge |
| 204 | +10. **Incluir `**URL:**` en todo header de reporte** — entre Score y PDF |
| 205 | + |
| 206 | +### Herramientas |
| 207 | + |
| 208 | +| Herramienta | Uso | |
| 209 | +|-------------|-----| |
| 210 | +| WebSearch | Investigación de remuneración, tendencias, cultura de la empresa, contactos LinkedIn, fallback para descripciones de vacantes | |
| 211 | +| WebFetch | Fallback para extraer descripciones de vacantes de páginas estáticas | |
| 212 | +| Playwright | Verificar si las vacantes siguen activas (browser_navigate + browser_snapshot), extraer descripciones de SPAs. **CRÍTICO: NUNCA iniciar 2+ agentes con Playwright en paralelo — comparten la misma instancia del navegador** | |
| 213 | +| Read | cv.md, _profile.md, article-digest.md, cv-template.html | |
| 214 | +| Write | HTML temporal para PDF, applications.md, reportes .md | |
| 215 | +| Edit | Actualizar tracker | |
| 216 | +| Bash | `node generate-pdf.mjs` | |
0 commit comments