Skip to main content

Resume Intelligence Toolkit (resume-kit)

A reusable, trustworthy system for evaluating, comparing, aligning, generating, and validating resume materials against specific jobs. It answers five core questions:

  • Can an ATS reliably parse this resume?
  • How closely does this resume match a specific job?
  • Which relevant qualifications are missing or poorly represented?
  • What truthful changes would improve alignment?
  • Did the revised resume actually improve?

Resume-kit is a shared core engine exposed through an agent plugin, an MCP server, a CLI (resume-tool), and a REST API. All interfaces are thin adapters over the same core — no business rule lives only in a route, command, handler, or skill.

Installation

resume-kit ships as a single self-contained wheel that vendors every internal import package. Choose extras for the surface(s) you want:

pip install resume-kit          # core engine + export (base)
pip install "resume-kit[cli]"   # + the resume-tool CLI
pip install "resume-kit[mcp]"   # + the MCP server
pip install "resume-kit[api]"   # + the FastAPI/uvicorn REST API
pip install "resume-kit[all]"   # everything

The base install carries the engine and export third-party runtime dependencies (pydantic, markitdown, pdfminer.six, python-docx, reportlab). Extras add typer (cli), mcp (mcp), and fastapi + uvicorn (api).

The resume-tool command

Installing the cli extra exposes the console script:

pip install "resume-kit[cli]"
resume-tool --help

Building & publishing

Build the umbrella wheel and sdist locally with uv:

uv build            # produces dist/resume_kit-*.whl and dist/resume_kit-*.tar.gz

The wheel vendors all import packages (schemas, core, document-parser, job-parser, ats, matching, policy, evidence, alignment, export, facade, cli, mcp, api, and the job-hunter bridge) via Hatch force-include, so the shipped metadata declares only third-party dependencies — no internal resume-kit-* requirements. The per-package pyproject.toml files remain only for local uv workspace development.

Publishing to PyPI uses Trusted Publishing (OIDC, no long-lived API tokens). The GitHub Actions workflow in .github/workflows/publish.yml builds and publishes on a v* version tag; it is not triggered by ordinary pushes. To cut a release, push a tag:

git tag v0.1.0
git push origin v0.1.0

As a manual fallback (also Trusted-Publishing-friendly), you can upload from a local build with twine:

uv build
python -m twine upload dist/*

Note: resume-kit has not been published to PyPI yet. The commands above describe how a release would be cut once the project is ready.

Status

Early development. Built by selectively porting proven behavior from Resume-Matcher (Apache 2.0) into a clean, modular architecture. Resume-Matcher is a donor codebase and upstream reference, not the product architecture. See references/ for the upstream audit, reuse inventory, and attribution.

Language & distribution

Implemented in Python (the donor codebase and all extractable subsystems are Python: Pydantic models, MarkItDown extraction, LiteLLM providers). Distribution targets PyPI, not npm — see ADR-0001.

Principles

  • Deterministic parsing, checks, diffs, and scoring before any LLM reasoning; LLM usage is optional, explicit, and replaceable by local/no-LLM modes.
  • Never fabricate employers, titles, dates, accomplishments, metrics, certifications, or experience. The user is the final authority over truth.
  • Original resumes are preserved by default; every change ships with a structured diff, claim provenance, and a truth-validation report.

Repository layout

packages/      core, schemas, document-parser, job-parser, matching, alignment,
               evidence, policy, ats, llm, export, cli, mcp, api
plugins/       resume-intelligence agent plugin
integrations/  job-hunter bridge
references/    upstream-audit.md, reuse-inventory.md, attribution.md, ADRs
tests/         fixtures, characterization, unit, integration, evals

License

Apache 2.0. See LICENSE and NOTICE.

Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

resume_kit-0.3.0.tar.gz (152.6 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

resume_kit-0.3.0-py3-none-any.whl (190.8 kB view details)

Uploaded Python 3

File details

Details for the file resume_kit-0.3.0.tar.gz.

File metadata

  • Download URL: resume_kit-0.3.0.tar.gz
  • Upload date:
  • Size: 152.6 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/7.0.0 CPython/3.13.14

File hashes

Hashes for resume_kit-0.3.0.tar.gz
Algorithm Hash digest
SHA256 188f0a7783a744cdf172f01985fc4e2dbb1d21e35c825cc2fac68ddc8cdd12e2
MD5 fbfd6ddd0ec634ac97530a644e97d9b8
BLAKE2b-256 f0fa040c28302d406424ae172bda2664c97562bdddc37ee267db21b04079d251

See more details on using hashes here.

Provenance

The following attestation bundles were made for resume_kit-0.3.0.tar.gz:

Publisher: publish.yml on dcassil/resume-kit

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file resume_kit-0.3.0-py3-none-any.whl.

File metadata

  • Download URL: resume_kit-0.3.0-py3-none-any.whl
  • Upload date:
  • Size: 190.8 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/7.0.0 CPython/3.13.14

File hashes

Hashes for resume_kit-0.3.0-py3-none-any.whl
Algorithm Hash digest
SHA256 02205a0431db62710aa8b835c1c2edd974b1abd09ba39cfa63ae55ae72f636f6
MD5 f761a96635a45a635592803ae9c92cdc
BLAKE2b-256 04e485eb41382f79206d2c649b839e45c05bf38d8d71d5d044354c7b7bda194d

See more details on using hashes here.

Provenance

The following attestation bundles were made for resume_kit-0.3.0-py3-none-any.whl:

Publisher: publish.yml on dcassil/resume-kit

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page