8.6 KiB
Modo: oferta — Evaluación Completa A-G
Cuando el candidato pega una oferta (texto o URL), entregar SIEMPRE los 7 bloques (A-F evaluation + G legitimacy):
Paso 0 — Detección de Arquetipo
Clasificar la oferta en uno de los 6 arquetipos (ver _shared.md). Si es híbrido, indicar los 2 más cercanos. Esto determina:
- Qué proof points priorizar en bloque B
- Cómo reescribir el summary en bloque E
- Qué historias STAR preparar en bloque F
Bloque A — Resumen del Rol
Tabla con:
- Arquetipo detectado
- Domain (platform/agentic/LLMOps/ML/enterprise)
- Function (build/consult/manage/deploy)
- Seniority
- Remote (full/hybrid/onsite)
- Team size (si se menciona)
- TL;DR en 1 frase
Bloque B — Match con CV
Lee cv.md. Crea tabla con cada requisito del JD mapeado a líneas exactas del CV.
Adaptado al arquetipo:
- Si FDE → priorizar proof points de delivery rápida y client-facing
- Si SA → priorizar diseño de sistemas e integrations
- Si PM → priorizar product discovery y métricas
- Si LLMOps → priorizar evals, observability, pipelines
- Si Agentic → priorizar multi-agent, HITL, orchestration
- Si Transformation → priorizar change management, adoption, scaling
Sección de gaps con estrategia de mitigación para cada uno. Para cada gap:
- ¿Es un hard blocker o un nice-to-have?
- ¿Puede el candidato demostrar experiencia adyacente?
- ¿Hay un proyecto portfolio que cubra este gap?
- Plan de mitigación concreto (frase para cover letter, proyecto rápido, etc.)
Bloque C — Nivel y Estrategia
- Nivel detectado en el JD vs nivel natural del candidato para ese arquetipo
- Plan "vender senior sin mentir": frases específicas adaptadas al arquetipo, logros concretos a destacar, cómo posicionar la experiencia de founder como ventaja
- Plan "si me downlevelan": aceptar si comp es justa, negociar review a 6 meses, criterios de promoción claros
Bloque D — Comp y Demanda
Usar WebSearch para:
- Salarios actuales del rol (Glassdoor, Levels.fyi, Blind)
- Reputación de compensación de la empresa
- Tendencia de demanda del rol
Tabla con datos y fuentes citadas. Si no hay datos, decirlo en vez de inventar.
Bloque E — Plan de Personalización
| # | Sección | Estado actual | Cambio propuesto | Por qué |
|---|---|---|---|---|
| 1 | Summary | ... | ... | ... |
| ... | ... | ... | ... | ... |
Top 5 cambios al CV + Top 5 cambios a LinkedIn para maximizar match.
Bloque F — Plan de Entrevistas
6-10 historias STAR+R mapeadas a requisitos del JD (STAR + Reflection):
| # | Requisito del JD | Historia STAR+R | S | T | A | R | Reflection |
|---|
The Reflection column captures what was learned or what would be done differently. This signals seniority — junior candidates describe what happened, senior candidates extract lessons.
Story Bank: If interview-prep/story-bank.md exists, check if any of these stories are already there. If not, append new ones. Over time this builds a reusable bank of 5-10 master stories that can be adapted to any interview question.
Seleccionadas y enmarcadas según el arquetipo:
- FDE → enfatizar velocidad de entrega y client-facing
- SA → enfatizar decisiones de arquitectura
- PM → enfatizar discovery y trade-offs
- LLMOps → enfatizar métricas, evals, production hardening
- Agentic → enfatizar orchestration, error handling, HITL
- Transformation → enfatizar adopción, cambio organizacional
Incluir también:
- 1 case study recomendado (cuál de sus proyectos presentar y cómo)
- Preguntas red-flag y cómo responderlas (ej: "¿por qué vendiste tu empresa?", "¿tienes equipo de reports?")
Bloque G — Posting Legitimacy
Analyze the job posting for signals that indicate whether this is a real, active opening. This helps the user prioritize their effort on opportunities most likely to result in a hiring process.
Ethical framing: Present observations, not accusations. Every signal has legitimate explanations. The user decides how to weigh them.
Signals to analyze (in order):
1. Posting Freshness (from Playwright snapshot, already captured in Paso 0):
- Date posted or "X days ago" -- extract from page
- Apply button state (active / closed / missing / redirects to generic page)
- If URL redirected to generic careers page, note it
2. Description Quality (from JD text):
- Does it name specific technologies, frameworks, tools?
- Does it mention team size, reporting structure, or org context?
- Are requirements realistic? (years of experience vs technology age)
- Is there a clear scope for the first 6-12 months?
- Is salary/compensation mentioned?
- What ratio of the JD is role-specific vs generic boilerplate?
- Any internal contradictions? (entry-level title + staff requirements, etc.)
3. Company Hiring Signals (2-3 WebSearch queries, combine with Block D research):
- Search:
"{company}" layoffs {year}-- note date, scale, departments - Search:
"{company}" hiring freeze {year}-- note any announcements - If layoffs found: are they in the same department as this role?
4. Reposting Detection (from scan-history.tsv):
- Check if company + similar role title appeared before with a different URL
- Note how many times and over what period
5. Role Market Context (qualitative, no additional queries):
- Is this a common role that typically fills in 4-6 weeks?
- Does the role make sense for this company's business?
- Is the seniority level one that legitimately takes longer to fill?
Output format:
Assessment: One of three tiers:
- High Confidence -- Multiple signals suggest a real, active opening
- Proceed with Caution -- Mixed signals worth noting
- Suspicious -- Multiple ghost job indicators, investigate before investing time
Signals table: Each signal observed with its finding and weight (Positive / Neutral / Concerning).
Context Notes: Any caveats (niche role, government job, evergreen position, etc.) that explain potentially concerning signals.
Edge case handling:
- Government/academic postings: Longer timelines are standard. Adjust thresholds (60-90 days is normal).
- Evergreen/continuous hire postings: If the JD explicitly says "ongoing" or "rolling," note it as context -- this is not a ghost job, it is a pipeline role.
- Niche/executive roles: Staff+, VP, Director, or highly specialized roles legitimately stay open for months. Adjust age thresholds accordingly.
- Startup / pre-revenue: Early-stage companies may have vague JDs because the role is genuinely undefined. Weight description vagueness less heavily.
- No date available: If posting age cannot be determined and no other signals are concerning, default to "Proceed with Caution" with a note that limited data was available. NEVER default to "Suspicious" without evidence.
- Recruiter-sourced (no public posting): Freshness signals unavailable. Note that active recruiter contact is itself a positive legitimacy signal.
Post-evaluación
SIEMPRE después de generar los bloques A-G:
1. Guardar report .md
Guardar evaluación completa en reports/{###}-{company-slug}-{YYYY-MM-DD}.md.
{###}= siguiente número secuencial (3 dígitos, zero-padded){company-slug}= nombre de empresa en lowercase, sin espacios (usar guiones){YYYY-MM-DD}= fecha actual
Formato del report:
# Evaluación: {Empresa} — {Rol}
**Fecha:** {YYYY-MM-DD}
**Arquetipo:** {detectado}
**Score:** {X/5}
**Legitimacy:** {High Confidence | Proceed with Caution | Suspicious}
**PDF:** {ruta o pendiente}
---
## A) Resumen del Rol
(contenido completo del bloque A)
## B) Match con CV
(contenido completo del bloque B)
## C) Nivel y Estrategia
(contenido completo del bloque C)
## D) Comp y Demanda
(contenido completo del bloque D)
## E) Plan de Personalización
(contenido completo del bloque E)
## F) Plan de Entrevistas
(contenido completo del bloque F)
## G) Posting Legitimacy
(contenido completo del bloque G)
## H) Draft Application Answers
(solo si score >= 4.5 — borradores de respuestas para el formulario de aplicación)
---
## Keywords extraídas
(lista de 15-20 keywords del JD para ATS optimization)
2. Registrar en tracker
SIEMPRE registrar en data/applications.md:
- Siguiente número secuencial
- Fecha actual
- Empresa
- Rol
- Score: promedio de match (1-5)
- Estado:
Evaluada - PDF: ❌ (o ✅ si auto-pipeline generó PDF)
- Report: link relativo al report .md (ej:
[001](reports/001-company-2026-01-01.md))
Formato del tracker:
| # | Fecha | Empresa | Rol | Score | Estado | PDF | Report |