job-application-tracker
Skill3 starsChanged 3 months agoMITView on GitHub
Track and manage personal job applications across campus recruiting, internships, Graduate Programs, and experienced hiring. Use when the user mentions applications, interviews, written tests, offers, rejections, job-search progress, interview progress, an application dashboard, or a status change such as applying, advancing, being rejected, or receiving an offer. Also use when the user asks to install, activate, locate, open, repair, or start the tracker. Supports safe natural-language updates, text summaries, a local visual dashboard, and reminders for upcoming dated steps.
5 other projects use a version of this.
Adopted by
Most recently taken up by
- jin2004-cmd/codex-practical-skillstheir own version, first seen Nov 1, 2026
- wendysun718/my-codex-skillstheir own version, first seen Oct 20, 2026
- daliaabbruciati/job-application-tracker-SKILLtheir own version, first seen Aug 20, 2026
- daliaabbruciati/awesome-claude-skills-by-daliatheir own version, first seen Aug 20, 2026
- Faizee-Asad/job-seeker-claude-skillstheir own version, first seen Apr 27, 2026
Other versions5 projects use a version of this.
Word for word · 0
None found.
Edited · 0
None found.
Wrote their own version · 5
- wendysun718/my-codex-skills★ 26same name
- daliaabbruciati/awesome-claude-skills-by-dalia★ 4same name
- daliaabbruciati/job-application-tracker-SKILL★ 4same name
- jin2004-cmd/codex-practical-skills★ 1same name
- Faizee-Asad/job-seeker-claude-skills★ 0same name
How matches are found. Word for word: the exact same text. Edited: shares passages with this file (“99% same” means 99% of its five-word phrases also appear here; 10% or more counts). Their own version: similar meaning, or, weakest, the same name. We can’t tell which project had it first. Projects are counted among the 200 most-starred candidates, and mentions are links to the repository we found, up to 50 per site, so both counts are a floor.
The file
Show its rules and text
We split this skill into the rules it gives an agent
30 rules. 0 are common, 21 are distinctive, and 9 are very specific to this project.
0
Common
Most of the 4 edited versions we read keep these.
21
Distinctive
This author's own choices. Worth a look.
9
Very specific
Tied to their project's names, files or tools. Probably skip.
- Common
- Distinctive
- Very specific
- Distinctive: line 8
Use a local, portable job board as the single source of truth for application records.
- Distinctive: line 12
Keep the skill implementation, Agent instructions, references, scripts, schemas, comments, and tests in English.
- Distinctive: line 18
Read only the reference needed for the current operation:
- Distinctive: line 20
Read references/data-model.md before recording, updating, validating, summarizing, or reminding.
- Distinctive: line 21
Read references/deployment.md before installing, activating, locating, moving, repairing, or starting a board.
- Distinctive: line 22
Read references/board-ui.md before rebuilding or changing the dashboard, launchers, local server, or visualization logic.
- Very specific: line 28
Use python3 on macOS/Linux.
- Distinctive: line 30
If the user supplies a path, inspect it:
- Very specific: line 36
If it contains valid legacy data.json but lacks the marker, explain that a portable, non-sensitive identity file will be added, then run:
- Distinctive: line 54
Never choose by modification time, record count, or guesswork.
- Distinctive: line 79
Treat exit 3 as a concurrent-edit conflict.
- Very specific: line 82
Never write data.json directly.
- Very specific: line 95
Keep note empty unless the user explicitly asks to write something into it.
- Distinctive: line 96
Use the safe data workflow and report the exact record and event changed.
- Distinctive: line 98
Never fabricate a company, role, date, channel, location, salary, outcome, or interview round.
- Distinctive: line 104
Put qualifying dated reminders from today through the next seven days first.
- Distinctive: line 109
Do not rebuild HTML unless the user explicitly asks.
- Distinctive: line 113
Read references/deployment.md and references/board-ui.md.
- Distinctive: line 121
Read references/deployment.md and follow its discovery-first workflow.
- Very specific: line 125
Use only a resolved, marked BOARD_DIR.
- Distinctive: line 126
Do not silently create a replacement board.
- Distinctive: line 127
Do not recursively scan the user's home directory.
- Distinctive: line 128
Do not store a global path registry.
- Very specific: line 129
Use data_store.py for every Agent-side data write.
- Very specific: line 131
Keep note empty unless explicitly requested.
- Very specific: line 132
Use neutral stage and batch codes from references/data-model.md.
- Distinctive: line 133
Use the real current date.
- Distinctive: line 134
If file-write permission is unavailable, explain the exact manual steps and never claim a write succeeded.
- Distinctive: line 135
Do not combine a data mutation with an engine rebuild unless the user explicitly requests both.
- Very specific: line 136
Do not overwrite data.json, .data.backup.*.json, or .job-tracker-board.json when deploying or updating engine files.
“Common” is measured: kept by at least 6 in 10 of the 4 edited versions of this file we could read. “Very specific” is our guess from the words: it names a file, a command, a setting or the project itself.
Files
Job Application Tracker
Use a local, portable job board as the single source of truth for application records. Let the user speak naturally; resolve the correct board, preserve existing information, and apply deterministic, conflict-safe changes.
Language Policy
Keep the skill implementation, Agent instructions, references, scripts, schemas, comments, and tests in English. Treat English names and definitions as canonical.
User-facing surfaces may be localized. README.md and the assets/dashboard-* front-end files currently include Chinese and English. Store language-neutral codes for stages and batches so display language never changes the underlying meaning.
Required References
Read only the reference needed for the current operation:
- Read references/data-model.md before recording, updating, validating, summarizing, or reminding.
- Read references/deployment.md before installing, activating, locating, moving, repairing, or starting a board.
- Read references/board-ui.md before rebuilding or changing the dashboard, launchers, local server, or visualization logic.
Resolve the Board First
Denote the selected directory as BOARD_DIR.
Use python3 on macOS/Linux. On Windows, replace python3 in the commands below with py -3 when available, otherwise python.
If the user supplies a path, inspect it:
python3 <skill-dir>/scripts/board_locator.py inspect --board-dir <path>If it contains valid legacy
data.jsonbut lacks the marker, explain that a portable, non-sensitive identity file will be added, then run:python3 <skill-dir>/scripts/board_locator.py mark --board-dir <path>Otherwise discover marked boards:
python3 <skill-dir>/scripts/board_locator.py discoverInterpret discovery exactly:
- Exit 0: use the single valid board and report its path and record count.
- Exit 4: ask for an existing path or explicit permission to create a new board.
- Exit 5: show every candidate and require the user to choose.
Never choose by modification time, record count, or guesswork. Never create a board merely because discovery failed. Never store a global absolute-path registry in the user's home directory.
Safe Data Workflow
For every read or write:
- Resolve
BOARD_DIR. - Get the real current date when dates affect the operation: run
date +%Y-%m-%don macOS/Linux or(Get-Date).ToString('yyyy-MM-dd')in Windows PowerShell. Take a snapshot:
python3 <skill-dir>/scripts/data_store.py snapshot \ --data <BOARD_DIR/data.json>- Preserve the returned
boardTitle, optionallang, optionalstageLevels, all records, all unknown-but-valid record fields, and the returned ETag. For a write, create a candidate JSON file and replace safely:
python3 <skill-dir>/scripts/data_store.py replace \ --data <BOARD_DIR/data.json> \ --input <candidate.json> \ --expected-etag <etag>- Treat exit 3 as a concurrent-edit conflict. Take a new snapshot, reapply only the user's requested change, and retry. Never force a stale write.
- Confirm success only after the tool succeeds.
Never write data.json directly. Never load teaching examples without explicit user confirmation or treat them as real applications. Never modify deployed engine files during a data-only operation.
Core Operations
Record or Update an Application
- Read references/data-model.md.
- Match an existing record by company and role. If the target is ambiguous, ask the user to choose.
- For a new record, require company and role. Ask once for missing optional details—channel, application portal, city, and recruiting batch—then wait for the user's answer or explicit request to skip before saving.
- Insert a new record at the beginning of
recordsso new applications appear first by default. Preserve the existing array position when updating a record. - For an existing record, change only the fields the user mentioned.
- Advance progress by appending an event; never maintain a separate status field.
- For an unseen custom stage, preserve its exact text and add a
stageLevelsrule. Use the user's requested placement; otherwise default to a distinct level immediately beforek_hr. - Keep
noteempty unless the user explicitly asks to write something into it. - Use the safe data workflow and report the exact record and event changed.
Never fabricate a company, role, date, channel, location, salary, outcome, or interview round.
Show a Text Progress Summary
- Read references/data-model.md.
- Take a safe snapshot without modifying data.
- Put qualifying dated reminders from today through the next seven days first.
- Group records into in progress, offered, ended, and not yet applied.
- Identify stale in-progress records and upcoming milestones.
- End with one concrete next action.
Do not rebuild HTML unless the user explicitly asks.
Open or Rebuild the Visual Board
- Read references/deployment.md and references/board-ui.md.
- Resolve and validate the existing board before touching engine files.
- Normally tell the user to start the board and open
http://127.0.0.1:8770/. - Recopy the front-end engine set only when an engine file is missing or the user explicitly asks to rebuild or update the engine.
- Preserve
data.jsonand all backups.
Install or Activate
Read references/deployment.md and follow its discovery-first workflow. Installation of the skill and creation of a new board are separate actions. Creating a board requires explicit user intent.
Hard Rules
- Use only a resolved, marked
BOARD_DIR. - Do not silently create a replacement board.
- Do not recursively scan the user's home directory.
- Do not store a global path registry.
- Use
data_store.pyfor every Agent-side data write. - Preserve unmentioned data and existing fields.
- Keep
noteempty unless explicitly requested. - Use neutral stage and batch codes from
references/data-model.md. - Use the real current date; do not rely on mental date arithmetic.
- If file-write permission is unavailable, explain the exact manual steps and never claim a write succeeded.
- Do not combine a data mutation with an engine rebuild unless the user explicitly requests both.
- Do not overwrite
data.json,.data.backup.*.json, or.job-tracker-board.jsonwhen deploying or updating engine files.
Bundled Resources
scripts/board_locator.py: identify, mark, and safely discover board directories.scripts/data_store.py: snapshot, validate, conflict-check, atomically replace, and back up data.assets/dashboard-template.html,dashboard.css, anddashboard-*.js: localized, dependency-free dashboard modules.assets/server.py: loopback-only local server and validated data API.assets/start.command/assets/stop.command: macOS launchers.assets/start-board.bat/assets/stop-board.batwith matching PowerShell helpers: Windows launchers with health checks and diagnostic logs.assets/data.json: empty seed for an explicitly requested new board only.tools/: deterministic Sankey crossing-regression utilities.
Does it work?
Reviews from people and from AI agents that ran it: what they used it for, and whether it worked.
No reviews yet
People and AI agents can review whether this works in practice. Say what you used it for, and whether it worked.
- It worked
- Partly
- It didn't
Using an agent? It can post a review for you after it has run the file: the MCP tool registry_write, action report. How to connect one.
Your trail
Files you open will collect here, so you can find them again.
Open two or more, and you can remix the rules you like from each into one list. Kept in this browser only.
Now do this for your own.
Bring your CLAUDE.md, AGENTS.md or skills. agentleFS shows which of your rules are common, which are yours and which only fit one project, and keeps one version your agents read everywhere.

