Claude
Skills
Sign in
Back

resume-manager

Included with Lifetime
$97 forever

This skill should be used whenever users need help with resume creation, updating professional profiles, tracking career experiences, managing projects portfolio, or generating tailored resumes for job applications. On first use, extracts data from user's existing resume and maintains a structured database of experiences, projects, education, and skills. Generates professionally styled one-page PDF resumes customized for specific job roles by selecting only the most relevant information from the database.

Data & Analyticsscriptsassets

What this skill does


# Resume Manager

## Overview

This skill transforms Claude into a comprehensive resume management system that maintains a structured database of your professional profile and generates tailored, professionally styled PDF resumes for specific job applications. The skill intelligently selects and highlights the most relevant experiences, projects, and skills based on the target role.

## When to Use This Skill

Invoke this skill for resume-related tasks:
- Creating tailored resumes for job applications
- Updating professional experiences and projects
- Managing skills and certifications
- Tracking career progression
- Generating role-specific resumes
- Maintaining a comprehensive career portfolio
- Optimizing resume content for ATS systems

## Workflow

### Step 1: Check for Existing Data

Before any resume operations, check if the database is initialized:

```bash
python3 scripts/resume_db.py is_initialized
```

If output is "false", proceed to Step 2 (Initial Setup). If "true", proceed to Step 3 (Resume Operations).

### Step 2: Initial Setup - Extract from Existing Resume

When no data exists, ask the user to provide their existing resume.

**Prompt the User:**

```
To help you create tailored resumes, I need to build a database of your professional
profile. Please provide your existing resume in one of these ways:

1. Upload your resume file (PDF, DOCX, or TXT)
2. Paste the content of your resume
3. Provide a link to your online resume/LinkedIn profile

I'll extract all the information and organize it in a structured database that I can
use to generate customized resumes for different job applications.
```

**Extracting Data from Resume:**

Once the user provides their resume, extract the following information:

**1. Personal Information:**
- Full name
- Email address
- Phone number
- Location (city, state/country)
- LinkedIn profile URL
- GitHub profile URL
- Personal website
- Professional summary/objective

**2. Work Experience:**
For each role, extract:
- Position/Job title
- Company name
- Location
- Start date (format: "Mon YYYY" like "Jan 2022")
- End date (or "Present")
- Brief description
- Key highlights/achievements (bullet points)
- Technologies/tools used

**3. Projects:**
For each project, extract:
- Project name
- Date or time period
- Description
- Key highlights/achievements
- Technologies used
- Link (if available)

**4. Education:**
For each degree, extract:
- Degree name (e.g., "Bachelor of Science in Computer Science")
- School/University name
- Location
- Graduation date
- GPA (if mentioned)
- Honors (if any)
- Relevant coursework

**5. Skills:**
Extract and categorize skills:
- Programming Languages
- Frameworks & Libraries
- Tools & Technologies
- Practices & Methodologies
- Soft skills

**6. Additional Sections:**
- Certifications (name, issuer, date)
- Awards & Honors
- Publications
- Volunteer work
- Languages spoken

**Saving the Extracted Data:**

After extraction, save to the database using Python:

```python
import sys
import json
sys.path.append('[SKILL_DIR]/scripts')
from resume_db import initialize_from_data

resume_data = {
    "personal_info": {
        "name": "Full Name",
        "email": "[email protected]",
        "phone": "+1 (555) 123-4567",
        "location": "City, State",
        "linkedin": "linkedin.com/in/username",
        "github": "github.com/username",
        "website": "website.com",
        "summary": "Professional summary..."
    },
    "experiences": [
        {
            "position": "Senior Software Engineer",
            "company": "Company Name",
            "location": "City, State",
            "start_date": "Jan 2022",
            "end_date": "Present",
            "description": "Brief description",
            "highlights": [
                "Achievement 1 with quantifiable results",
                "Achievement 2 with impact metrics",
                "Achievement 3 with technologies used"
            ],
            "technologies": ["Python", "AWS", "Docker"]
        }
    ],
    "projects": [
        {
            "name": "Project Name",
            "date": "2023",
            "description": "Project description",
            "highlights": [
                "Key achievement or feature",
                "Impact or result"
            ],
            "technologies": ["React", "Node.js", "PostgreSQL"],
            "link": "github.com/username/project"
        }
    ],
    "education": [
        {
            "degree": "Bachelor of Science in Computer Science",
            "school": "University Name",
            "location": "City, State",
            "graduation_date": "May 2019",
            "gpa": "3.8/4.0",
            "honors": "Magna Cum Laude",
            "relevant_coursework": ["Data Structures", "Algorithms", "Machine Learning"]
        }
    ],
    "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": ["English (Native)", "Spanish (Fluent)"],
    "interests": []
}

initialize_from_data(resume_data)
```

Replace `[SKILL_DIR]` with the actual skill directory path.

**Confirmation:**

```
Perfect! I've extracted and saved your professional profile:

• Personal Information: ✓
• Work Experience: X positions
• Projects: X projects
• Education: X degrees
• Skills: X categories
• Certifications: X certifications

Your resume database is now ready. I can generate customized resumes for any job
you're applying to. Just tell me the job title or description, and I'll create a
tailored one-page PDF highlighting your most relevant experience and skills.
```

### Step 3: Generate Tailored Resume for Job Application

When a user requests a resume for a specific role:

**Step 3.1: Understand the Target Role**

Ask the user about the role:
```
To create the perfect resume for this position, I need to understand the role better.

1. What's the job title?
2. Can you share the job description or key requirements?
3. What are the must-have skills or technologies mentioned?
```

**Step 3.2: Extract Keywords and Requirements**

From the job description, identify:
- Required technical skills
- Preferred technologies
- Key responsibilities
- Important keywords for ATS
- Industry-specific terms
- Experience level indicators

**Step 3.3: Generate Tailored Resume**

Use the PDF generator to create a customized resume:

```python
import sys
sys.path.append('[SKILL_DIR]/scripts')
from pdf_generator import generate_resume

# Keywords from job description
job_keywords = [
    "python", "aws", "kubernetes", "microservices",
    "agile", "rest api", "postgresql", "docker"
]

job_title = "Senior Backend Engineer"

# Output path
output_path = f"~/Downloads/{job_title.replace(' ', '_')}_Resume.pdf"

# Generate resume
generate_resume(
    output_path=output_path,
    job_title=job_title,
    job_keywords=job_keywords
)
```

The generator will:
- Filter experiences relevant to the keywords
- Select projects that match the role
- Highlight applicable skills
- Keep it to one page
- Use professional styling
- Optimize for ATS parsing

**Step 3.4: Review and Iterate**

After generating:
1. Inform the user where the PDF was saved
2. Offer to make adjustments
3. Suggest additional highlights if space allows
4. Recommend customizations for specific requirements

### Step 4: Update Resume Database

When users want to add or update information:

**Adding New Experience:**

```python
from resume_db import add_experience

new_exp = {
    "position": "Lead Software Engineer",
    "company": "New Company",
    "location": "Remote",
    "start_date": "Mar 2024",
    "end_date": "Present",
    "description": 

Related in Data & Analytics