Modo: auto-pipeline — Pipeline Completo Automático
Modo: auto-pipeline — Pipeline Completo Automático
Cuando el usuario pega un JD (texto o URL) sin sub-comando explícito, ejecutar TODO el pipeline en secuencia:
Paso 0 — Extraer JD
Si el input es una URL (no texto de JD pegado), seguir esta estrategia para extraer el contenido:
Orden de prioridad:
- Playwright (preferido): La mayoría de portales de empleo (Lever, Ashby, Greenhouse, Workday) son SPAs. Usar
browser_navigate+browser_snapshotpara renderizar y leer el JD. - WebFetch (fallback): Para páginas estáticas (ZipRecruiter, WeLoveProduct, company career pages).
- WebSearch (último recurso): Buscar título del rol + empresa en portales secundarios que indexan el JD en HTML estático.
Si ningún método funciona: Pedir al candidato que pegue el JD manualmente o comparta un screenshot.
Si el input es texto de JD (no URL): usar directamente, sin necesidad de fetch.
Paso 1 — Evaluación A-F
Ejecutar exactamente igual que el modo oferta (leer modes/oferta.md para todos los bloques A-F).
Paso 2 — Guardar Report .md
Guardar la evaluación completa en reports/{###}-{company-slug}-{YYYY-MM-DD}.md (ver formato en modes/oferta.md).
Paso 3 — Generar PDF
Ejecutar el pipeline completo de pdf (leer modes/pdf.md).
Paso 4 — Draft Application Answers (solo si score >= 4.5)
Si el score final es >= 4.5, generar borrador de respuestas para el formulario de aplicación:
- Extraer preguntas del formulario: Usar Playwright para navegar al formulario y hacer snapshot. Si no se pueden extraer, usar las preguntas genéricas.
- Generar respuestas siguiendo el tono (ver abajo).
- Guardar en el report como sección
## G) Draft Application Answers.
Preguntas genéricas (usar si no se pueden extraer del formulario)
- Why are you interested in this role?
- Why do you want to work at [Company]?
- Tell us about a relevant project or achievement
- What makes you a good fit for this position?
- How did you hear about this role?
Tono para Form Answers
Posición: “I’m choosing you.” el candidato tiene opciones y está eligiendo esta empresa por razones concretas.
Reglas de tono:
- Confiado sin arrogancia: “I’ve spent the past year building production AI agent systems — your role is where I want to apply that experience next”
- Selectivo sin soberbia: “I’ve been intentional about finding a team where I can contribute meaningfully from day one”
- Específico y concreto: Siempre referenciar algo REAL del JD o de la empresa, y algo REAL de la experiencia del candidato
- Directo, sin fluff: 2-4 frases por respuesta. Sin “I’m passionate about…” ni “I would love the opportunity to…”
- El hook es la prueba, no la afirmación: En vez de “I’m great at X”, decir “I built X that does Y”
Framework por pregunta:
- Why this role? → “Your [specific thing] maps directly to [specific thing I built].”
- Why this company? → Mencionar algo concreto sobre la empresa. “I’ve been using [product] for [time/purpose].”
- Relevant experience? → Un proof point cuantificado. “Built [X] that [metric]. Sold the company in 2025.”
- Good fit? → “I sit at the intersection of [A] and [B], which is exactly where this role lives.”
- How did you hear? → Honesto: “Found through [portal/scan], evaluated against my criteria, and it scored highest.”
Idioma: Siempre en el idioma del JD (EN default). Aplicar /tech-translate.
Paso 5 — Actualizar Tracker
Registrar en data/applications.md con todas las columnas incluyendo Report y PDF en ✅.
Si algún paso falla, continuar con los siguientes y marcar el paso fallido como pendiente en el tracker.
