Get the FREE Ultimate OpenClaw Setup Guide →

update-hr

npx machina-cli add skill Mahashwetha/Job-search-email-system-claude/update-hr --openclaw
Files (1)
SKILL.md
2.0 KB

Update HR Contacts

Find LinkedIn recruiter profiles for a company and add them to column E of List.xlsx.

Step 1 — Search LinkedIn

Use WebSearch with this query:

"{company}" recruiter OR "talent acquisition" OR "hiring manager" OR "HR manager" OR "people partner" Paris OR France OR EMEA site:linkedin.com/in

Location priority: Paris first, then France, then EMEA as a fallback. Only use EMEA-level contacts when no Paris or France-specific person is found. Ignore contacts based in India, US, or APAC unless the company has no EU presence at all.

Step 2 — Add to the HR_CONTACTS dict

Open update_hr_contacts.py and add or extend the company entry in the HR_CONTACTS dictionary. Use the company name exactly as it appears in column A of List.xlsx. If the company is already in the dict, append the new contacts to its list — don't replace existing ones.

Step 3 — Run the script

Run update_hr_contacts.py from the project root. The script reads existing cell content first and only appends contacts whose names aren't already there. Running it twice produces zero changes the second time.

Step 4 — Verify

The script reports how many rows were updated. Check that the count matches expectations.

Rules

  • Never overwrite manually entered contacts — the script is append-only.
  • Write names directly, no [UNVERIFIED] prefix.
  • To remove a contact: delete it from Excel AND remove it from the HR_CONTACTS dict. That's the only case requiring both steps.
  • Don't drag the fill handle in Excel after running — it creates ghost rows with duplicated formulas.

Source

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

Overview

This skill automates locating HR contacts (recruiters, talent acquisition, hiring managers) for a company using LinkedIn searches and appends them to the List.xlsx HR fields. It prioritizes EU-based contacts and preserves existing manual entries by appending new information instead of overwriting.

How This Skill Works

Step 1 uses WebSearch with a recruiter-focused query to locate LinkedIn profiles, prioritizing Paris, then France, and finally EMEA, while ignoring India, US, or APAC unless no EU presence exists. Step 2 updates the HR_CONTACTS dictionary in update_hr_contacts.py by adding or appending the company's contacts using the exact company name from List.xlsx. Step 3 runs the script from the project root; it appends only new contacts and reports how many rows were updated.

When to Use It

  • When you need to find current HR contacts (recruiters, talent acquisition, hiring managers) for a company listed in List.xlsx.
  • When you want to add a new recruiter or HR contact found on LinkedIn for a company.
  • When updating HR contacts without overwriting existing manual entries.
  • When you need to verify the number of updated rows matches expectations after a run.
  • When expanding EU-focused recruitment and prioritizing Paris or France-based contacts before broader EU/EMEA searches.

Quick Start

  1. Step 1: Search LinkedIn using the query "{company}" recruiter OR "talent acquisition" OR "hiring manager" OR "HR manager" OR "people partner" Paris OR France OR EMEA site:linkedin.com/in and apply the location priority.
  2. Step 2: Open update_hr_contacts.py and append the new contacts to the HR_CONTACTS entry for the company (or create it if it doesn't exist) using the exact company name from List.xlsx.
  3. Step 3: Run update_hr_contacts.py from the project root and verify the script reports how many rows were updated.

Best Practices

  • Use the LinkedIn query exactly as shown to maximize relevant results.
  • Only append new contacts; never overwrite manually entered ones in List.xlsx or HR_CONTACTS.
  • Ensure the company name in List.xlsx matches the key in HR_CONTACTS exactly.
  • After running, check the reported updated row count to confirm the update.
  • Periodically audit HR_CONTACTS for duplicates and remove outdated roles.

Example Use Cases

  • A company in List.xlsx gains three EU-based recruiters added to the HR_CONTACTS dict and column E, with Paris-based contacts prioritized.
  • A new recruiter for a company is found in LinkedIn and appended without overwriting existing entries in HR_CONTACTS.
  • An update run adds a hiring manager and talent acquisition lead for a company with EU presence, while ignoring US-based contacts.
  • After running the script, the reported updated row count matches the expected number of new contacts added.
  • Manually entered contacts remain intact; the next run only appends additional, non-duplicate contacts.

Frequently Asked Questions

Add this skill to your agents
Sponsor this space

Reach thousands of developers