Get the FREE Ultimate OpenClaw Setup Guide →

new-job

npx machina-cli add skill Mahashwetha/Job-search-email-system-claude/new-job --openclaw
Files (1)
SKILL.md
1.5 KB

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

  1. Ask the user for any missing info: company name (required), role title, job URL. If they provided it already, skip asking.
  2. Open List.xlsx using openpyxl. Handle PermissionError by working from a temp copy.
  3. Use the first sheet (wb.active at load time — read it before any writes to avoid sheet-shift bugs).
  4. Append the new row at the bottom: Company, Role, URL, Status, empty, empty.
  5. Save the file.
  6. 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.

Source

git clone https://github.com/Mahashwetha/Job-search-email-system-claude/blob/main/.claude/skills/new-job/SKILL.mdView on GitHub

Overview

This skill records a new job application in List.xlsx. It prompts for missing details (company, role, URL), appends a row with Company, Role, URL, Status, and empty HR/Comments fields on the first sheet, and saves. Status defaults to done unless you specify In progress for saved/not-yet-applied entries.

How This Skill Works

It uses openpyxl to open List.xlsx, reads the active sheet at load, and appends a new row at the bottom with: Company, Role, URL, Status, HR contact, and Comments. The Status defaults to done unless you indicate otherwise. After writing, it saves the file and reports the added row number and details; if the file is locked, it may operate from a temporary copy and then confirm the result.

When to Use It

  • You want to log a new company and role you applied to.
  • You want to save a company for later with status In progress.
  • You have a job posting URL to capture in the tracker.
  • You need to add a different role for the same company.
  • You want a confirmation of the exact row number added.

Quick Start

  1. Step 1: Gather required info: company name (required), role title, and job URL.
  2. Step 2: Open List.xlsx with openpyxl and append a new row with Company, Role, URL, Status, leaving HR and Comments blank.
  3. Step 3: Save the file and confirm the added row number, company, role, and status to the user.

Best Practices

  • Always ensure the company name is provided (required) before adding.
  • Check if the company already exists; if so, decide whether to add another row for a different role.
  • Use the provided URL if available; otherwise leave it blank for now.
  • Follow the default column order: A=Company, B=Role, C=URL, D=Status, E=HR contact, F=Comments.
  • Verify the added row number and summarize the entry back to the user.

Example Use Cases

  • Add Acme Corp – Frontend Developer – https://careers.acme.com/frontend
  • I applied to BetaTech – Data Scientist – https://betatech.example/jobs/123
  • Track Gamma Solutions – Marketing Manager – https://gamma.solutions/jobs/456
  • Save for later: Delta Systems – QA Engineer – https://deltasystems.example/careers/qa
  • New application at Orion Labs – DevOps – https://orionlabs.io/careers/devops

Frequently Asked Questions

Add this skill to your agents
Sponsor this space

Reach thousands of developers