OatileM

CVFormatterAgent — AI skill for Claude Code

AI community

An AI-powered agent that reformats your CV to maximise compatibility with Applicant Tracking Systems (ATS).

How to install CVFormatterAgent

This entry records only its repository, not the path inside it, so there is no exact command to give. Open OatileM/CVFormatterAgent and copy the folder into ~/.claude/skills/, or the file into ~/.claude/agents/.

What CVFormatterAgent does

An AI-powered agent that reformats your CV to maximise compatibility with Applicant Tracking Systems (ATS). Built on the [Strands Agents SDK](https://strandsagents.com/) with Amazon Bedrock (Claude Sonnet 4) as the default LLM.

Alternatives in AI

  • Axonhub — ⚡️ Open-source AI Gateway — Use any SDK to call 100+ LLMs 3.2k ★
  • Claude Usage Tracker — Native macOS menu bar app for tracking Claude AI usage limits in real-time 2.2k ★
  • Phantom — An AI co-worker with its own computer 1.3k ★

README

CV Formatter Agent

An AI-powered agent that reformats your CV to maximise compatibility with Applicant Tracking Systems (ATS). Built on the [Strands Agents SDK](https://strandsagents.com/) with Amazon Bedrock (Claude Sonnet 4) as the default LLM.

What it does

  1. Parses your CV from PDF, DOCX, or TXT format.
  2. Extracts required and preferred keywords from a job specification.
  3. Analyses keyword gaps between your CV and the job spec, computing an ATS score.
  4. Reformats your CV to ATS standards: standard section headers, single-column plain text, MM/YYYY dates, Skills immediately after Summary.
  5. Generates a .txt and a .docx output file, each with a keyword match report appended.

Requirements

  • Python 3.11+
  • AWS credentials configured (for Amazon Bedrock), or set MODEL_PROVIDER / MODEL_ID env vars to use a different provider.

Installation

pip install -e ".[dev]"

Or install runtime dependencies only:

pip install strands-agents>=1.0.0 pdfplumber>=0.11.0 python-docx>=1.1.0

Usage

python main.py path/to/your_cv.pdf path/to/job_spec.txt

Or pass the job spec as an inline string:

python main.py your_cv.docx "We are looking for a Python developer with 5+ years experience..."

Output files are written to the `output/` directory by default:

output/
  your_cv.txt     # ATS-optimised plain text CV + keyword report
  your_cv.docx    # ATS-optimised DOCX CV + keyword report

Environment variables

Variable Default Description
MODEL_PROVIDER bedrock LLM provider (bedrock, anthropic, etc.)
MODEL_ID us.anthropic.claude-sonnet-4-20250514-v1:0 Model identifier

Project structure

cv-formatter-agent/
  main.py                         # CLI entry point
  agent.py                        # Strands Agent configuration
  models.py                       # Shared dataclass models
  exceptions.py                   #