Skip to content

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

1 Commit
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

CV Vivo

A multi-agent AI system that maintains a living professional history and generates context-aware CVs on demand.

Not a web app. Not a SaaS. It's a Git repo + Claude Code + specialized subagents + knowledge base that you use conversationally from your terminal.

CV Vivo Architecture Infographic


The Problem

Every time you need a CV:

  1. You open whatever Word/PDF you last updated
  2. You try to remember what you've done since then
  3. You copy-paste, reformat, and forget things
  4. The result isn't optimized for the role you're targeting
  5. Your LinkedIn says one thing, your CV says another, and your memory says a third

CV Vivo breaks this cycle by maintaining a single source of truth in markdown — fed conversationally, queried on demand, and always ready to generate a tailored CV.


How It Works

You talk to Claude Code naturally. The orchestrator routes your request to the right specialist agent:

"I want to add my experience at Acme from 2018 to 2021"
  → interviewer activates, asks follow-up questions, creates a structured milestone

"Process this PDF with my old CV"
  → explorer extracts candidate milestones, you confirm one by one

"Generate a CV for a Tech Lead role in fintech"
  → cv-builder reads your milestones, selects the relevant ones, applies best practices

"Convert my CV to PDF"
  → pdf-renderer produces LaTeX output ready for compilation or Overleaf

"Review my LinkedIn and suggest improvements"
  → linkedin-editor snapshots your profile, generates a prioritized improvement report

"How's my profile?"
  → cataloger calculates a multidimensional health score (0-100)

"Research Tech Lead roles in European fintech"
  → researcher analyzes the job market, compares requirements, salary trends

First session? The system detects an empty profile and launches a guided onboarding flow (~5 minutes) to capture your basic info and first milestones.


Architecture

ORCHESTRATOR (Claude Code + CLAUDE.md)
         |
         |-- interviewer      Extracts milestones via conversation       [sonnet]
         |-- explorer          Processes PDFs, LinkedIn exports           [sonnet]
         |-- cv-builder        Generates context-aware CVs               [sonnet]
         |-- pdf-renderer      Converts to LaTeX/PDF                     [sonnet]
         |-- cataloger         Validates, indexes, scores profile        [haiku, auto]
         |-- linkedin-editor   Manages LinkedIn profile                  [sonnet + Playwright]
         |-- researcher        Job market research & analysis            [sonnet]

data/hitos/*.md    <-- Source of truth (one file per milestone)
data/index.md      <-- Auto-generated index
data/health.json   <-- Profile health score (auto-generated)
output/            <-- Generated CVs (.md + .tex)

Each subagent runs in its own isolated context window. Skills (knowledge base documents) are preloaded into the relevant agent at startup. The Cataloger runs automatically after every ingestion via SubagentStop hooks.

The orchestrator enforces a Consensus Protocol: explicit user confirmation before any action with persistent effects (CV generation, PDF export, LinkedIn edits, bulk changes).


Features

  • Conversational milestone capture — the interviewer extracts structured data from natural conversation, using journalistic techniques to surface achievements you'd forget
  • PDF & LinkedIn import — drop a PDF or LinkedIn export and the explorer parses it into candidate milestones for your review
  • Context-aware CV generation — the cv-builder selects, orders, and frames your milestones based on the target role, market, and company type
  • Professional PDF output — LaTeX templates (technical, executive, base) with ATS-friendly formatting, ready for Overleaf or local compilation
  • LinkedIn management — snapshot current state, propose improvements, apply changes with explicit approval (ASIS -> TO-BE -> EDIT flow)
  • Profile health scoring — multidimensional audit covering completeness, recency, variety, quality, and market alignment
  • Job market research — analyze job descriptions, compare offers, understand salary trends and positioning
  • Reflection sessions — periodic "catch up" conversations to keep your milestones current
  • Guided onboarding — automatic first-time setup that detects an empty profile and walks you through initial configuration
  • Zero data loss — milestones are never deleted, only marked as obsolete

Quick Start

Prerequisites

  • Claude Code with an active subscription
  • bash + pdftotext (poppler) for PDF extraction
  • pdflatex (TeX Live / MacTeX / MiKTeX) for local PDF compilation — or use Overleaf (see docs/overleaf-setup.md)
  • MCP Playwright (optional, only for LinkedIn editing flows)

Setup

# 1. Clone the repo
git clone https://github.com/pablotoledo/cv-vivo.git
cd cv-vivo

# 2. Configure your profile
cp config/profile.yaml.template config/profile.yaml
nano config/profile.yaml   # <-- fill in your details

# 3. Launch Claude Code
claude .

Claude Code automatically loads the subagents from .claude/agents/. On your first session, it will detect the empty profile and start the onboarding flow.

Tip: Check the sample milestones in data/hitos/ to see the expected format before adding your own.


Repo Structure

.claude/
  agents/                 # Subagent definitions (Claude Code native format)
    interviewer.md        # Conversational milestone extraction
    explorer.md           # PDF/export processing
    cv-builder.md         # Context-aware CV generation
    pdf-renderer.md       # LaTeX/PDF conversion
    cataloger.md          # Index maintenance & health scoring
    linkedin-editor.md    # LinkedIn profile management
    researcher.md         # Job market research
  settings.json           # Skills registry + automatic hooks

skills/                   # Knowledge base (preloaded into subagents)
  cv-best-practices.md    # ATS rules, CAR formula, 20 Golden Rules
  cv-taxonomy.md          # Milestone taxonomy, metadata, skill decay
  cv-generation.md        # PDF generation pipeline, typography
  linkedin-profile.md     # LinkedIn optimization best practices
  market-adaptation.md    # Geo/sector/company-type adaptation
  overleaf-latex.md       # LaTeX generation, Overleaf integration
  interviewing-techniques.md
  profile-schema.md
  health-score.md
  onboarding.md
  reflection-session.md
  career-narrative.md
  confidentiality.md
  orchestrator-protocols.md

data/
  hitos/                  # One .md per professional milestone (source of truth)
  raw/                    # Original source files (PDFs, exports)
  index.md                # Auto-generated index (do not edit manually)
  health.json             # Profile health score (auto-generated)

linkedin/                 # Profile snapshots, proposals, changelog
templates/                # CV templates (markdown + LaTeX)
tools/                    # Bash automation scripts
config/                   # User profile & LinkedIn config
output/                   # Generated CVs (.md + .tex)
docs/                     # Guides and documentation

Milestone Format

Each file in data/hitos/ follows this structure:

---
id: "2023-01_senior-engineer-acme"
tipo: professional          # professional | academic | training | project | ...
subtipo: employment          # employment | degree | certification | ...
fecha_inicio: 2023-01
fecha_fin: "present"
titulo: "Senior Platform Engineer"
organizacion: "Acme Corp"
organizacion_tipo: enterprise
organizacion_tamanio: 1000+
ubicacion: "Berlin, Germany"
sector: saas
tags: [platform-engineering, cloud-native]
tecnologias: [Kubernetes, Terraform, Go]
metodologias: [SRE, GitOps, CI/CD]
relevancia: alta             # alta | media | baja
obsoleto: false
linkedin_sync: true
---

Led the platform team (6 engineers) building infrastructure for 40+ product teams.

## Key Achievements
- Designed self-service Kubernetes platform reducing onboarding from 2 weeks to 4 hours
- Migrated 120+ microservices to EKS with zero downtime, cutting costs by 35%

Design Principles

Principle What it means
No heavy frameworks No LangChain, no CrewAI. Markdown + bash + Claude Code
Claude Code is the runtime The LLM orchestrates; subagents are the workers
Skills as knowledge base .md documents with best practices that agents consult
Everything in Git Milestones in .md, generated CVs in output/, full version control
Conversation as interface You talk; the system asks, validates, and structures
Never lose data Milestones are never deleted — marked obsoleto: true
Separate data from presentation Milestones = pure data; templates + skills = presentation

Roadmap

  • Native Claude Code subagents with isolated contexts
  • Knowledge base with 14 specialized skills
  • Automatic hooks (Cataloger after Interviewer/Explorer)
  • Multiple CV templates (technical, executive, base) in Markdown + LaTeX
  • PDF generation pipeline with Overleaf integration
  • LinkedIn management (ASIS/TO-BE/EDIT flows via Playwright)
  • Profile health scoring (multidimensional, 0-100)
  • Job market research agent
  • Guided onboarding + session initialization protocol
  • Consensus protocol (explicit confirmation before persistent actions)
  • Automatic relevance scoring by context
  • Skill decay tracking
  • Complementary cover letters

Documentation


License

MIT

About

Multi-agent AI system for maintaining a living professional history and generating context-aware CVs

Topics

Resources

Stars

Watchers

Forks

Releases

Packages

Contributors

Languages