Job-search-email-system-claude new-job
This skill should be used when the user wants to add a new company or job to their Excel tracker (List.xlsx). Triggers on phrases like "add [company] to tracker", "I applied to [company]", "track [company]", "save [company] for later", "add [company] [role]", "new application at [company]".
install
source · Clone the upstream repo
git clone https://github.com/Mahashwetha/Job-search-email-system-claude
Claude Code · Install into ~/.claude/skills/
T=$(mktemp -d) && git clone --depth=1 https://github.com/Mahashwetha/Job-search-email-system-claude "$T" && mkdir -p ~/.claude/skills && cp -r "$T/.claude/skills/new-job" ~/.claude/skills/mahashwetha-job-search-email-system-claude-new-job && rm -rf "$T"
manifest:
.claude/skills/new-job/SKILL.mdsource content
Add New Job to Tracker
Add a new row to
List.xlsx (the job application tracker at the path in config.py → TRACKER_FILE).
Column layout
- A: Company name
- B: Role title
- C: Role link (job posting URL)
- D: Status
- E: HR contact (leave empty)
- F: Comments (leave empty)
Status values
- Default (applied):
done - Save for later / not yet applied:
In progress
If the user doesn't specify, use
done.
Steps
- Ask the user for any missing info: company name (required), role title, job URL. If they provided it already, skip asking.
- Open
using openpyxl. HandleList.xlsx
by working from a temp copy.PermissionError - Use the first sheet (
at load time — read it before any writes to avoid sheet-shift bugs).wb.active - Append the new row at the bottom: Company, Role, URL, Status, empty, empty.
- Save the file.
- Confirm to the user: company name, role, status, and which row it was added to.
Things to check
- If the company already exists in the tracker, mention it and ask if they still want to add a new row (they may have a different role).
- Leave columns E and F empty — HR contacts are managed separately via the update-hr workflow.