Gestor de Currículums (Resume Manager)
Descripción general
Esta habilidad transforma a Claude en un sistema integral de gestión de currículums que mantiene una base de datos estructurada de tu perfil profesional y genera currículums PDF adaptados y con estilo profesional para solicitudes de empleo específicas. La habilidad selecciona y resalta inteligentemente las experiencias, proyectos y habilidades más relevantes según el rol objetivo.
Cuándo usar esta habilidad
Invoca esta habilidad para tareas relacionadas con currículums:
- Crear currículums adaptados para solicitudes de empleo
- Actualizar experiencias y proyectos profesionales
- Gestionar habilidades y certificaciones
- Hacer seguimiento de la progresión profesional
- Generar currículums específicos para roles
- Mantener un portafolio profesional completo
- Optimizar el contenido del currículum para sistemas ATS
Flujo de trabajo
Paso 1: Verificar si existen datos
Antes de cualquier operación con el currículum, verifica si la base de datos está inicializada:
python3 scripts/resume_db.py is_initialized
Si la salida es "false", continúa con el Paso 2 (Configuración inicial). Si es "true", continúa con el Paso 3 (Operaciones con el currículum).
Paso 2: Configuración inicial - Extraer del currículum existente
Cuando no hay datos, pídele al usuario que proporcione su currículum existente.
Pregunta al usuario:
Para ayudarte a crear currículums adaptados, necesito construir una base de datos de tu perfil profesional. Proporciona tu currículum existente de una de las siguientes maneras:
1. Sube tu archivo de currículum (PDF, DOCX o TXT)
2. Pega el contenido de tu currículum
3. Proporciona un enlace a tu currículum en línea/perfil de LinkedIn
Extraeré toda la información y la organizaré en una base de datos estructurada que puedo usar para generar currículums personalizados para diferentes solicitudes de empleo.
Extrayendo datos del currículum:
Una vez que el usuario proporcione su currículum, extrae la siguiente información:
1. Información personal:
- Nombre completo
- Dirección de correo electrónico
- Número de teléfono
- Ubicación (ciudad, estado/país)
- URL del perfil de LinkedIn
- URL del perfil de GitHub
- Sitio web personal
- Resumen/objetivo profesional
2. Experiencia laboral: Para cada rol, extrae:
- Puesto/Título del trabajo
- Nombre de la empresa
- Ubicación
- Fecha de inicio (formato: "Mes AAAA" como "Ene 2022")
- Fecha de finalización (o "Presente")
- Breve descripción
- Logros destacados clave (puntos con viñetas)
- Tecnologías/herramientas utilizadas
3. Proyectos: Para cada proyecto, extrae:
- Nombre del proyecto
- Fecha o período de tiempo
- Descripción
- Logros destacados clave
- Tecnologías utilizadas
- Enlace (si está disponible)
4. Educación: Para cada título, extrae:
- Nombre del título (ej., "Licenciatura en Ciencias de la Computación")
- Nombre de la escuela/universidad
- Ubicación
- Fecha de graduación
- GPA (si se menciona)
- Honores (si los hay)
- Cursos relevantes
5. Habilidades: Extrae y categoriza las habilidades:
- Lenguajes de programación
- Frameworks y bibliotecas
- Herramientas y tecnologías
- Prácticas y metodologías
- Habilidades blandas
6. Secciones adicionales:
- Certificaciones (nombre, entidad emisora, fecha)
- Premios y honores
- Publicaciones
- Trabajo voluntario
- Idiomas hablados
Guardando los datos extraídos:
Después de la extracción, guarda en la base de datos usando Python:
import sys
import json
sys.path.append('[SKILL_DIR]/scripts')
from resume_db import initialize_from_data
resume_data = {
"personal_info": {
"name": "Nombre Completo",
"email": "[email protected]",
"phone": "+1 (555) 123-4567",
"location": "Ciudad, Estado",
"linkedin": "linkedin.com/in/usuario",
"github": "github.com/usuario",
"website": "sitio.com",
"summary": "Resumen profesional..."
},
"experiences": [
{
"position": "Ingeniero de Software Senior",
"company": "Nombre de la Empresa",
"location": "Ciudad, Estado",
"start_date": "Ene 2022",
"end_date": "Presente",
"description": "Breve descripción",
"highlights": [
"Logro 1 con resultados cuantificables",
"Logro 2 con métricas de impacto",
"Logro 3 con tecnologías utilizadas"
],
"technologies": ["Python", "AWS", "Docker"]
}
],
"projects": [
{
"name": "Nombre del Proyecto",
"date": "2023",
"description": "Descripción del proyecto",
"highlights": [
"Logro o característica clave",
"Impacto o resultado"
],
"technologies": ["React", "Node.js", "PostgreSQL"],
"link": "github.com/usuario/proyecto"
}
],
"education": [
{
"degree": "Licenciatura en Ciencias de la Computación",
"school": "Nombre de la Universidad",
"location": "Ciudad, Estado",
"graduation_date": "Mayo 2019",
"gpa": "3.8/4.0",
"honors": "Magna Cum Laude",
"relevant_coursework": ["Estructuras de Datos", "Algoritmos", "Aprendizaje Automático"]
}
],
"skills": {
"Languages": ["Python", "JavaScript", "Java"],
"Frameworks": ["React", "Django", "Spring"],
"Tools": ["Docker", "AWS", "Git"],
"Practices": ["Agile", "CI/CD", "TDD"]
},
"certifications": [
{
"name": "AWS Certified Solutions Architect",
"issuer": "Amazon Web Services",
"date": "2023"
}
],
"awards": [],
"publications": [],
"volunteer": [],
"languages": ["Inglés (Nativo)", "Español (Fluido)"],
"interests": []
}
initialize_from_data(resume_data)
Reemplaza [SKILL_DIR] con la ruta real del directorio de la habilidad.
Confirmación:
¡Perfecto! He extraído y guardado tu perfil profesional:
• Información personal: ✓
• Experiencia laboral: X puestos
• Proyectos: X proyectos
• Educación: X títulos
• Habilidades: X categorías
• Certificaciones: X certificaciones
Tu base de datos de currículum ya está lista. Puedo generar currículums personalizados para cualquier trabajo al que estés postulando. Solo dime el título del trabajo o la descripción, y crearé un currículum en PDF de una página adaptado a tus experiencias y habilidades más relevantes.
Paso 3: Generar currículum adaptado para solicitud de empleo
Cuando un usuario solicite un currículum para un rol específico:
Paso 3.1: Entender el rol objetivo
Pregunta al usuario sobre el rol:
Para crear el currículum perfecto para esta posición, necesito entender mejor el rol.
1. ¿Cuál es el título del trabajo?
2. ¿Puedes compartir la descripción del trabajo o los requisitos clave?
3. ¿Cuáles son las habilidades o tecnologías imprescindibles mencionadas?
Paso 3.2: Extraer palabras clave y requisitos
A partir de la descripción del trabajo, identifica:
- Habilidades técnicas requeridas
- Tecnologías preferidas
- Responsabilidades clave
- Palabras clave importantes para ATS
- Términos específicos de la industria
- Indicadores de nivel de experiencia
Paso 3.3: Generar currículum adaptado
Usa el generador de PDF para crear un currículum personalizado:
import sys
sys.path.append('[SKILL_DIR]/scripts')
from pdf_generator import generate_resume
# Palabras clave de la descripción del trabajo
job_keywords = [
"python", "aws", "kubernetes", "microservicios",
"agile", "api rest", "postgresql", "docker"
]
job_title = "Ingeniero Backend Senior"
# Ruta de salida
output_path = f"~/Downloads/{job_title.replace(' ', '_')}_Resume.pdf"
# Generar currículum
generate_resume(
output_path=output_path,
job_title=job_title,
job_keywords=job_keywords
)
El generador:
- Filtra experiencias relevantes para las palabras clave
- Selecciona proyectos que coinciden con el rol
- Resalta las habilidades aplicables
- Lo mantiene en una página
- Usa un estilo profesional
- Optimiza para el análisis ATS
Paso 3.4: Revisar e iterar
Después de generar:
- Informa al usuario dónde se guardó el PDF
- Ofrece hacer ajustes
- Sugiere aspectos destacados adicionales si el espacio lo permite
- Recomienda personalizaciones para requisitos específicos
Paso 4: Actualizar la base de datos del currículum
Cuando los usuarios quieran agregar o actualizar información:
Agregar nueva experiencia:
from resume_db import add_experience
new_exp = {
"position": "Ingeniero de Software Líder",
"company": "Nueva Empresa",
"location": "Remoto",
"start_date": "Mar 2024",
"end_date": "Presente",
"description": "Liderando el equipo de infraestructura backend",
"highlights": [
"Escaló servicios para manejar 50M+ solicitudes diarias",
"Redujo los costos de infraestructura en un 30% mediante optimización",
"Construyó un pipeline CI/CD mejorando la velocidad de implementación en 10x"
],
"technologies": ["Go", "Kubernetes", "PostgreSQL", "AWS"]
}
add_experience(new_exp)
Agregar nuevo proyecto:
from resume_db import add_project
new_project = {
"name": "Panel de Análisis en Tiempo Real",
"date": "2024",
"description": "Construyó una plataforma de análisis en tiempo real procesando 1M+ eventos/minuto",
"highlights": [
"Implementado usando arquitectura de streaming con Kafka y Redis",
"Creó visualizaciones interactivas con React y D3.js",
"Logró latencia de consulta inferior a un segundo en agregaciones complejas"
],
"technologies": ["React", "Kafka", "Redis", "Python", "TimescaleDB"],
"link": "github.com/usuario/panel-analisis"
}
add_project(new_project)
Actualizar habilidades:
from resume_db import add_skill, update_skills
# Agregar habilidad individual
add_skill("Languages", "Rust")
add_skill("Tools", "Terraform")
# O actualizar todo el diccionario de habilidades
skills = {
"Languages": ["Python", "Go", "JavaScript", "Rust", "SQL"],
"Frameworks": ["Django", "FastAPI", "React", "Next.js"],
"Cloud & DevOps": ["AWS", "Kubernetes", "Docker", "Terraform", "CI/CD"],
"Databases": ["PostgreSQL", "MongoDB", "Redis", "Elasticsearch"],
"Practices": ["Microservicios", "TDD", "Agile", "Diseño de Sistemas"]
}
update_skills(skills)
Agregar certificación:
from resume_db import add_certification
cert = {
"name": "Google Cloud Professional Architect",
"issuer": "Google Cloud",
"date": "2024",
"credential_id": "ABC123",
"link": "credentials.google.com/..."
}
add_certification(cert)
Paso 5: Ver y gestionar los datos del currículum
Ver resumen:
python3 scripts/resume_db.py summary
Ver secciones específicas:
# Información personal
python3 scripts/resume_db.py get_personal_info
# Todas las experiencias
python3 scripts/resume_db.py get_experiences
# Todos los proyectos
python3 scripts/resume_db.py get_projects
# Educación
python3 scripts/resume_db.py get_education
# Habilidades
python3 scripts/resume_db.py get_skills
Buscar en todos los datos:
python3 scripts/resume_db.py search "aprendizaje automático"
Exportar todos los datos:
python3 scripts/resume_db.py export > resume_backup.json
Paso 6: Consejos de optimización del currículum
Al generar currículums, proporciona estos consejos de optimización:
Optimización de contenido:
- Usa verbos de acción (Lideró, Construyó, Arquitecturó, Mejoró, Redujo)
- Incluye métricas cuantificables (X% de mejora, Y usuarios, Z ingresos)
- Adapta los aspectos destacados para que coincidan con los requisitos del trabajo
- Mantén los puntos concisos (máximo 1-2 líneas)
- Enfócate en el impacto, no solo en las responsabilidades
Optimización ATS:
- Usa encabezados de sección estándar (Experiencia, Educación, Habilidades)
- Incluye palabras clave de la descripción del trabajo de forma natural
- Evita tablas, columnas, encabezados o pies de página
- Usa fuentes estándar (lo que el generador de PDF hace)
- Escribe los acrónimos una vez: "Interfaz de Programación de Aplicaciones (API)"
Estrategia de una página:
- Prioriza la experiencia reciente y relevante (últimos 5-7 años)
- Incluye 3-4 viñetas por rol
- Limita a un máximo de 2-3 proyectos
- Condensa experiencia más antigua o menos relevante
- Elimina tecnologías obsoletas a menos que se requieran específicamente
Mejores prácticas
-
Mantén los datos actualizados
- Actualiza las experiencias a medida que se completen los proyectos
- Agrega nuevas habilidades a medida que las aprendes
- Mantén logros cuantificables
- Registra las certificaciones inmediatamente
-
Escribe viñetas efectivas
- Comienza con verbos de acción
- Incluye métricas y resultados
- Muestra progresión e impacto
- Usa el método STAR (Situación, Tarea, Acción, Resultado)
-
Organiza las habilidades estratégicamente
- Agrupa por categoría para mayor claridad
- Pon las habilidades más relevantes primero
- Elimina tecnologías obsoletas
- Sé honesto sobre los niveles de competencia
-
Adapta cada currículum
- Coincide las palabras clave con la descripción del trabajo
- Enfatiza la experiencia relevante
- Reordena las viñetas por relevancia
- Ajusta la sección de habilidades técnicas
-
Mantén un tono profesional
- Usa tercera persona implícita (sin "Yo")
- Mantén el lenguaje conciso y claro
- Evita jerga a menos que sea estándar de la industria
- Revisa para detectar errores
Ejemplos de interacciones
Ejemplo 1: Configuración inicial
Usuario: "Ayúdame a crear un currículum para solicitudes de empleo"
Claude: [Verifica base de datos - encuentra que no está inicializada]
Para ayudarte a crear currículums adaptados, necesito construir una base de datos de tu perfil profesional. Proporciona tu currículum existente de una de las siguientes maneras:
1. Sube tu archivo de currículum (PDF, DOCX o TXT)
2. Pega el contenido de tu currículum
3. Proporciona un enlace a tu currículum en línea/perfil de LinkedIn
[Usuario proporciona su currículum]
Claude: [Extrae datos e inicializa la base de datos]
¡Perfecto! He extraído y guardado tu perfil profesional:
• Información personal: ✓
• Experiencia laboral: 3 puestos
• Proyectos: 2 proyectos
• Educación: 1 título
• Habilidades: 4 categorías
• Certificaciones: 2 certificaciones
¡Tu base de datos de currículum está lista! Cuéntame sobre un trabajo al que te estés postulando y generaré un currículum personalizado en PDF de una página.
Ejemplo 2: Generar currículum para un rol específico
Usuario: "Necesito un currículum para un puesto de Ingeniero Backend Senior en una startup fintech"
Claude: [Base de datos inicializada]
¡Genial! Para crear el currículum perfecto para este rol de Ingeniero Backend Senior, ¿puedes compartir la descripción del trabajo o contarme sobre los requisitos clave?
Usuario: [Comparte la descripción del trabajo mencionando Python, AWS, microservicios, PostgreSQL, etc.]
Claude: [Extrae palabras clave: python, aws, microservicios, postgresql, fintech, api]
[Genera PDF usando experiencias y proyectos relevantes]
He creado tu currículum adaptado: ~/Downloads/Ingeniero_Backend_Senior_Resume.pdf
El currículum resalta:
✓ Tus 5 años de experiencia backend con Python y...