Skip to main content

jobtracker

Score job postings, tailor resumes, and track applications with AI agents. Agents and skills for the coding agent you already use, paired with a local CLI (jobtracker, or jta). Your job-search data — scores, applications, resume content, preferences — lives in its own directory you control, never inside this package.

Quick Install

curl -fsSL https://jpatrickb.github.io/jobtracker/install.sh | bash

Installs via uv or pip, then launches the setup wizard: picks a data directory, then offers to run npx jobtracker-agents — pick which coding agent(s) you use and it installs the right files for each, plus your skills. On Claude Code or Codex, it can then drop you straight into a live session that's already running the preferences-onboarding skill, so the interview (hard gates, qualitative preferences, resume import, rubric weights) starts immediately. Not on Node? The wizard prints the equivalent manual commands instead — see Supported Platforms below.

Supported Platforms

npx jobtracker-agents

Lets you pick which agent(s) you use (Claude Code, Codex, Kilo Code, Cursor, Pi) and installs the right files for each, then offers to install skills too. This is what the setup wizard runs for you; run it yourself anytime to add another agent later, or if you skipped it during setup.

Platform Agents Manual install (if you'd rather not use npx jobtracker-agents)
Claude Code agents/ /plugin marketplace add jpatrickb/jobtracker then /plugin install jobtracker@jobtracker-marketplace
Codex .codex/agents/ auto-discovered
Kilo Code .kilo/agents/ auto-discovered
Cursor cursor-agents/ /add-plugin jpatrickb/jobtracker (run inside Cursor — this one can't be scripted, jobtracker-agents just prints it too)
Pi pi/agents/ see linked docs

Skills need no per-platform port — npx skills add jpatrickb/jobtracker installs all 4 (resume-update, resume-onboarding, submit-application, preferences-onboarding) on any of the above via Agent Skills. jobtracker-agents offers to run this for you too.

AGENTS.md (not CLAUDE.md) is the data directory's instructions file — an agent-agnostic convention several tools converge on.

Manual Setup

pip install jobtracker   # or: uv tool install jobtracker / pipx install jobtracker
jobtracker setup         # or: jobtracker init [path] for a non-interactive equivalent
PDF builds Typst — brew install typst

Then run npx jobtracker-agents (or see Supported Platforms above for manual steps).

What's Inside

Agents — dispatch directly, run several in parallel, one instance per posting.

Agent What it does
job-scorer Scores a posting against your rubric and hard gates, logs it to the tracker.
tailor-application Builds a tailored resume + cover letter for one posting. Ends with NEEDS REVIEW — dispatch resume-reviewer next.
resume-reviewer Independent second pass on any resume or cover letter draft.

Skills — conversational, run inline in your session, not for bulk dispatch.

Skill What it does
preferences-onboarding Interviews you to set up hard gates, qualitative preferences, and the rubric — usually the first skill you run, often auto-launched right after install.
resume-update General master-resume maintenance.
resume-onboarding One-time interview that builds your evidence ledger (EVIDENCE.md, BULLETS.md).
submit-application Pre-submit checklist, then a human-confirmation gate before marking a job Applied.

The Rule

No claim, number, or rewrite goes on a resume or cover letter unless it traces to a verified item in your evidence ledger, a measured value, or a signed-off estimate. Every agent and skill defers to this.

Data Directory

~/JobTracker/
├── .jobtracker/          # applications.json database
├── RUBRIC.md              # scoring weights
├── PREFERENCES.md         # hard gates + preferences
├── SCORING.md              # scoring-stack version
├── corrections.md           # scoring corrections log
├── anchors/                  # calibration jobs
├── listings/                  # posting text + extracted facts
├── inbox/                      # postings waiting to be scored
├── applications/                # one folder per tailored application
├── resume/                       # EVIDENCE.md, BULLETS.md, VOICE.md (optional)
└── AGENTS.md, CLAUDE.md            # agent instructions (CLAUDE.md is a symlink)

Customizing

Default Where
Resume length (1 page) resume-reviewer's instructions
Cover-letter policy (only when asked) tailor-application's instructions
Status lifecycle a constant in the CLI source
Scoring model model: in job-scorer's frontmatter

License

MIT

Metadata

Release files for jobtracker 0.4.0

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for jobtracker 0.4.0
File Size Uploaded
jobtracker-0.4.0.tar.gz 47.9 kB Details

Built distribution (wheel)

Table of built distributions (wheels) for jobtracker 0.4.0
File Interpreter ABI Platform
jobtracker-0.4.0-py3-none-any.whl Python 3 none any Details

Total release size: 103.4 kB

Release files / jobtracker-0.4.0.tar.gz

Download URL jobtracker-0.4.0.tar.gz
Size 47.9 kB
Tags Source
SHA-256 checksum
How to use checksums
d037af0685b20e4c0230f949feb430ea8da62577916ba1a1ac84e62226ce8b61
BLAKE2b-256 checksum
How to use checksums
807d46b5d1436ba254820018b75f93a6ac530010232d21025b8ac8461b2094d9
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.14

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Aug 3, 2026.

Transparency log

Release files / jobtracker-0.4.0-py3-none-any.whl

Download URL jobtracker-0.4.0-py3-none-any.whl
Size 55.5 kB
Tags Python 3
SHA-256 checksum
How to use checksums
0cffaa500cc2c14ba4f9b8bde6e06dc301179f124b3ea34acaabdb4deda48eb0
BLAKE2b-256 checksum
How to use checksums
6b0586737cdb9a94b7cb1a6a9dc67b0c275fc280b78a639ceae7930be8c9742a
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.14

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Aug 3, 2026.

Transparency log

Release history Release notifications | RSS feed

This release

0.4.0 This release

2 release files

0.3.0

2 release files

0.2.0

2 release files

0.1.0

2 release files

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page