본문으로 건너뛰기
cccskills
무료GitHub에 공개

cv-ats-export

Export a Markdown CV to an ATS-compliant PDF (single column, selectable text, A4) using headless Chrome/Edge - no Obsidian or design tool needed. Triggers: exportar CV a PDF, generar PDF del CV, CV ATS PDF, convertir CV markdown a PDF, imprimir CV.

한국어 요약은 준비 중입니다. 원문 설명을 표시하고 있습니다.

SebastianLuser/claude-code-arcane스타 3(GitHub 3 + cccskills 0)
연동 도구Obsidian

실행 점수 미검증

설치 방법 보기

포함된 파일(3)

  • SKILL.md4.3 KB
  • scripts/cv_export.py10.9 KB
  • scripts/verify_pdf.py3.1 KB

SKILL.md(원문)

설치하기 전에 에이전트에게 전달되는 지시 내용을 확인할 수 있습니다.

CV ATS Export - Markdown → PDF ATS-compliant

Convertís un CV en Markdown a un PDF que pasa filtros ATS: una sola columna, texto seleccionable (no imagen), A4, tipografía limpia. Usa Chrome o Edge en modo headless - no requiere Obsidian, LaTeX ni herramienta de diseño.

El motor es scripts/cv_export.py + scripts/verify_pdf.py (verificación ATS post-export). La primera vez, instalá ambos en el workspace (tools/) para que queden versionados con los CVs; o corrélos directo desde el skill (van juntos: cv_export importa verify_pdf desde su mismo directorio).

Requisitos

  • Python 3 en el PATH.
  • Google Chrome o Microsoft Edge instalado (el script autodetecta rutas estándar en Windows/macOS/Linux).
  • pypdf (opcional) para la verificación ATS automática: pip install pypdf. Sin pypdf el export funciona igual y reporta [ATS SKIP].
  • CVs en Markdown dentro de 02-CVs/ del career workspace, con headers (# Nombre, ## Sección), bullets y --- como separadores.

Uso

# Todos los CVs base (CV - *.md) del workspace
python scripts/cv_export.py

# Uno solo (con o sin .md)
python scripts/cv_export.py "CV - Acme - Backend"

# Workspace explícito
python scripts/cv_export.py --workspace ./career-workspace "CV - Acme - Backend"

# Saltar la verificación ATS
python scripts/cv_export.py --no-verify "CV - Acme - Backend"

El script:

  1. Localiza el workspace (flag --workspace, env CAREER_WORKSPACE, o sube directorios buscando una carpeta 02-CVs, o usa el cwd).
  2. Lee el .md, separa frontmatter, convierte el cuerpo a HTML con el CSS ATS embebido.
  3. Imprime a PDF con Chrome/Edge headless (--headless=new --print-to-pdf).
  4. Guarda en 02-CVs/exports/. El nombre sale del frontmatter archivo_pdf si existe; si no, del nombre del .md (sin el prefijo CV - ).
  5. Verifica la capa de texto ATS con verify_pdf.py (pypdf): texto extraíble (mínimo 200 chars), que el nombre del H1 y el email sobrevivan al export, y avisa si supera las 2 páginas. Reporta [ATS OK] / [ATS WARN] / [ATS SKIP]; nunca rompe el export. Se salta con --no-verify.

Los dos [ATS SKIP] son distintos: verify_pdf.py not found next to cv_export.py significa que copiaste solo un archivo al workspace (instalar pypdf no cambia nada); pypdf not installed es el que se resuelve con pip install pypdf.

verify_pdf.py también funciona standalone para chequear cualquier PDF:

python scripts/verify_pdf.py "02-CVs/exports/Backend.pdf" --min-chars 200 --max-pages 2 --contains "Jane Doe"

Markdown soportado

# ## ### títulos · **negrita** · *itálica* · [texto](url) · - bullets · --- (regla horizontal). Un salto de línea simple dentro de un párrafo se renderiza como <br> (comportamiento tipo Obsidian).

Por qué este pipeline (y no Word/Canva)

  • Texto seleccionable garantizado → el ATS puede parsearlo (a diferencia de un PDF exportado como imagen).
  • Una columna, sin tablas → no se rompe el parseo.
  • Reproducible y versionable → el CV vive en Markdown (diffeable, en git), el PDF es un artefacto generado.
  • Mismo estilo siempre → el CSS ATS está embebido en el script.

Personalizar el estilo

El CSS ATS está en la constante CSS dentro de scripts/cv_export.py (tamaño de fuente, márgenes A4, estilos de h1/h2). Editá ahí si querés ajustar tipografía o espaciado - mantené una sola columna y texto real.

Reglas

  • No metas tablas, columnas ni imágenes en el CV: rompen el parseo ATS.
  • Atendé los [ATS WARN]: un PDF-imagen o sin el nombre/email extraíbles no pasa filtros ATS. Usá --no-verify solo para iterar rápido sobre el layout.
  • No commitees PDFs con datos sensibles a un remoto sin confirmación.

Handoff

Confirmá (approval) antes de instalar cv_export.py en el workspace o sobrescribir PDFs. Cuando el PDF está READY y verificado, el siguiente paso suele ser /cover-letter para el mensaje de aplicación.

리뷰

아직 리뷰가 없습니다. 사용해 본 소감을 남겨 주세요.

댓글

로그인 없이 쓸 수 있습니다. 사용 후기, 질문, 작동하지 않은 환경 등을 편하게 남겨 주세요.

아직 댓글이 없습니다. 첫 댓글을 남겨 보세요.

보내면 바로 공개됩니다. 이메일 주소나 전화번호 같은 개인 정보는 쓰지 마세요. URL은 2개까지입니다.

0 / 1,000자

이 양식은 reCAPTCHA로 보호되며 Google 개인정보처리방침 및 서비스 약관이 적용됩니다.

같은 저장소의 스킬

Plan, design, and implement A/B tests and experiments with statistical rigor. Covers hypothesis frameworks, sample sizing, metrics, and result analysis.

한국어 요약은 준비 중입니다. 원문 설명을 표시하고 있습니다.

SebastianLuser/claude-code-arcane32026년 10월 27일 업데이트

Web/mobile accessibility decision guide: WCAG 2.2 AA, ARIA, keyboard nav, focus management, contrast, testing. Use for: a11y, accessibility, wcag, aria, screen reader, keyboard, contrast.

한국어 요약은 준비 중입니다. 원문 설명을 표시하고 있습니다.

SebastianLuser/claude-code-arcane32026년 10월 27일 업데이트

Generate, iterate, and scale ad creative for paid advertising across Google, Meta, LinkedIn, and X. Covers platform specs, creative frameworks, and quality validation.

한국어 요약은 준비 중입니다. 원문 설명을 표시하고 있습니다.

SebastianLuser/claude-code-arcane32026년 10월 27일 업데이트

Musica interactiva para juegos: layering vertical, re-secuenciacion horizontal, stingers, reglas de transicion con sync points, y mapeo de estados de gameplay a musica. Usar para: musica adaptativa, sistema de musica dinamica, transiciones musicales, combat music.

한국어 요약은 준비 중입니다. 원문 설명을 표시하고 있습니다.

SebastianLuser/claude-code-arcane32026년 10월 27일 업데이트

Design multi-agent systems, create agent architectures, define communication patterns, and build autonomous agent workflows with structured evaluation frameworks.

한국어 요약은 준비 중입니다. 원문 설명을 표시하고 있습니다.

SebastianLuser/claude-code-arcane32026년 10월 27일 업데이트

Inter-agent communication protocol for C-suite agent teams. Defines invocation syntax, loop prevention, isolation rules, response formats, and quality loops.

한국어 요약은 준비 중입니다. 원문 설명을 표시하고 있습니다.

SebastianLuser/claude-code-arcane32026년 10월 27일 업데이트

SebastianLuser의 스킬 모두 보기

이 스킬의 문제 신고