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.2.0.tar.gz (150.8 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.2.0-py3-none-any.whl (189.6 kB view details)

Uploaded Python 3

File details

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

File metadata

  • Download URL: resume_kit-0.2.0.tar.gz
  • Upload date:
  • Size: 150.8 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.2.0.tar.gz
Algorithm Hash digest
SHA256 6b40857baa33d18f162c6f6eff7535ec72dd3e4c81fb8c0d4282b6b66ff9cc39
MD5 c3c2e816ae7e7037a86ece7d032eab26
BLAKE2b-256 a351bd39dc33ec159e056b19a0a7497b26a61fcc4663fe07883199ccf43782e1

See more details on using hashes here.

Provenance

The following attestation bundles were made for resume_kit-0.2.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.2.0-py3-none-any.whl.

File metadata

  • Download URL: resume_kit-0.2.0-py3-none-any.whl
  • Upload date:
  • Size: 189.6 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.2.0-py3-none-any.whl
Algorithm Hash digest
SHA256 45f94e3d35995029635e73dfd0e575bada6a44a4e3ad3e8b3a018b7da41a6ee0
MD5 441211020b12a3e8dc3ea3f7c6321bbc
BLAKE2b-256 75029b82bda0c151fcc2ae9f489efc4d41f1b4abfb5abdd27d8e6fb8a8379734

See more details on using hashes here.

Provenance

The following attestation bundles were made for resume_kit-0.2.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