Getting it into your agent
It runs from inside its repository, so the clone comes first — what it calls does not travel with the file alone.
git clone --depth 1 https://github.com/muggl3mind/career-managernpx agentmods add skills/muggl3mind/career-manager/job-trackerWrote this? Show the measurements
A badge with what this costs and how it scanned, read live from this page, so it follows the numbers instead of freezing them. Markdown for a README, HTML for a documentation site or a project page.
[](https://agentmods.dev/skills/muggl3mind/career-manager/job-tracker)<a href="https://agentmods.dev/skills/muggl3mind/career-manager/job-tracker"><img src="https://agentmods.dev/badge/skills/muggl3mind/career-manager/job-tracker/github.svg" alt="Measured on agentmods" height="20"></a>Or the 80×15 button, for a site that already has a row of RSS and ATOM ones. Only the verdict fits; the numbers stay here.
<a href="https://agentmods.dev/skills/muggl3mind/career-manager/job-tracker"><img src="https://agentmods.dev/badge/skills/muggl3mind/career-manager/job-tracker.svg" alt="Reviewed on agentmods" width="80" height="20"></a>What it costs to keep this loaded
Counted locally with the o200k_base tokenizer, which is exact for GPT models; Claude uses its own tokenizer and its counts differ. Treat this as one consistent yardstick across the catalogue rather than a bill. Prices are per million input tokens.
| Model | Per session | Once invoked |
|---|---|---|
| Fable 5.1 | $0.00036 | $0.00856 |
| Opus 5.5 | $0.00014 | $0.00342 |
| Sonnet 5.5 | $0.00007 | $0.00171 |
| Haiku 4.5 | $0.00004 | $0.00086 |
Grade A, and why
job-tracker scanned grade A with 0 findings against 26 rules in 11 categories — prompt injection, anti-refusal, data exfiltration, privilege escalation, supply chain, agent snooping, system-prompt leakage, SSRF and excessive agency — measured 28d ago.
A static scan of the body, not an audit. Every finding is printed with the line that produced it so you can judge whether it matters here. A mod is markdown that instructs an agent; that is exactly why what it instructs is worth reading.
Nothing flagged
None of the 26 patterns this scan looks for appear in this file: no shell pipes, no recursive deletes, no credential paths, no hidden text, no instruction-override or anti-refusal phrasing, no agent-config snooping. That is not a guarantee, it is the absence of the things that are checkable.
How it starts
The opening of the file, as written. The whole thing — 105 lines — stays where its author put it; the contents beside it link to each section on GitHub.
Job Application Tracker
Manage the job hunt pipeline. All data in data/applications.csv.
Commands
Parse user input to determine which command to run:
add [company] [role]
Add new application. Default: status=researching, priority=2. Override with -p 1|2|3.
update [company] [status]
Change status. Valid: researching → applied → interviewing → offer | rejected | declined
Auto-updates last_contact to today.
list
Show active applications grouped by priority (excludes offer/rejected/declined).
followup
Show applications needing follow-up (7+ days since last contact).
report
Weekly pipeline summary: counts, activity, what needs attention.
notes [company] [text]
Add timestamped note to application.
contact [company] [name] [email]
Add or update contact info.
priority [company] [1|2|3]
Change priority level.
archive
Show all applications including closed ones.
After Any Mutation
After any command that changes data/applications.csv (add, update, notes, contact, priority), regenerate the dashboard automatically:
uv run job-search/scripts/ops/generate_dashboard.py
Do not ask the user; this keeps the dashboard in sync with the tracker.
Implementation
Use scripts/tracker_commands.py for all CSV operations. Import and call functions directly — don't rewrite CSV logic.
CSV Schema
| Column | Description |
|---|---|
| company | Company name |
| role | Job title |
| job_url | Link to posting |
| status | Current status |
| date_added | When first added (YYYY-MM-DD) |
| date_applied | When formal application submitted (YYYY-MM-DD) |
| last_contact | Last communication date |
| contact_name | Hiring manager/recruiter |
| contact_email | Contact email |
| priority | 1=high, 2=standard, 3=backlog |
| notes | Timestamped notes |
Rules
- NEVER edit
applications.csvdirectly. Always usescripts/tracker_commands.pyfunctions (add_application,update_status,add_note,add_contact). Direct CSV edits bypass Todoist sync and validation. - After any tracker modification, sync to Todoist using
scripts/todoist_sync.py(skipped automatically ifintegrations.todoist_enabled: falseinconfig.yaml). - Read CSV before any operation
- Write CSV after any modification
- Preserve all existing data
- Use ISO date format (YYYY-MM-DD)
What ships with it
6 files beside SKILL.md in the same directory: the scripts, references and assets a skill reads on demand. Not counted in the per-session cost; read them before you install if any of them is executable.
What this file has done since we first saw it
Hashed on every crawl. A supply-chain change to an agent config is a question of when, not whether, so the history is kept rather than the latest state alone.
- 28d ago Changed · +9 lines d2ff89ee3547
- 1mo ago First seen · 96 lines · 36 tokens per session scan A ffb3ae1cf11d
job-tracker is a skill published in the GitHub repository muggl3mind/career-manager (24 stars, last pushed 27d ago), licensed MIT. It adds 36 tokens to every session and 856 once invoked, about $0.0001 per session on Opus 5.5. A static security scan graded it A with 0 findings. No closer match exists in the catalogue, so it is treated as the original; first seen 2026-08-30.
Other skills, from other repositories
job-application-agent
JobAppAgent, the open-source AI job application agent. Finds, evaluates, fills, submits (only with the candidate's approval), and tracks a candidate's own job applications using a verified resume, evidence-based targeting, secure local profile storage, and browser automation. Use only when the user names JobAppAgent…
apply
Apply to a single job (URL or pasted page) with fit review, or score and apply the job links pasted into an apply campaign when no argument is given.
scan-inbox
Classify unscanned mailbox messages, fuzzy-match each to an existing application, and write the proposal back. The user approves in /inbox.
resume-campaign
Resume a paused JobPilot campaign by id. Re-flips the campaign to inprogress and replays the apply loop on any remaining approved jobs without re-asking for fit confirmation.
autopilot-jobhunt
Run a job hunt in one agentic pass — scan configured company careers pages, score postings against the user's resume, draft a tailored resume + cover letter per chosen role (never applies), and export matches. Trigger when the user says /autopilot-jobhunt or asks to scan/find jobs or draft an application.
amlei-portfolio
A workflow for creating and checking a job portfolio: a collection of project case studies and evidence for employers. It selects real work, explains the person's contribution and decisions, and links claims to supporting material.