217 lines
8.6 KiB
Markdown
217 lines
8.6 KiB
Markdown
# 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:
|
|
1. ¿Es un hard blocker o un nice-to-have?
|
|
2. ¿Puede el candidato demostrar experiencia adyacente?
|
|
3. ¿Hay un proyecto portfolio que cubra este gap?
|
|
4. Plan de mitigación concreto (frase para cover letter, proyecto rápido, etc.)
|
|
|
|
## Bloque C — Nivel y Estrategia
|
|
|
|
1. **Nivel detectado** en el JD vs **nivel natural del candidato para ese arquetipo**
|
|
2. **Plan "vender senior sin mentir"**: frases específicas adaptadas al arquetipo, logros concretos a destacar, cómo posicionar la experiencia de founder como ventaja
|
|
3. **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:**
|
|
|
|
```markdown
|
|
# 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:**
|
|
|
|
```markdown
|
|
| # | Fecha | Empresa | Rol | Score | Estado | PDF | Report |
|
|
```
|