Getting it into your agent
One page per mod, every tool's command on it. A separate URL per tool would split the same page into five that compete with each other.
npx skills add Mahashwetha/Job-search-email-system-claude --skill update-hrgit clone --depth 1 https://github.com/Mahashwetha/Job-search-email-system-claudeWrote 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/mahashwetha/job-search-email-system-claude/update-hr)<a href="https://agentmods.dev/skills/mahashwetha/job-search-email-system-claude/update-hr"><img src="https://agentmods.dev/badge/skills/mahashwetha/job-search-email-system-claude/update-hr/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/mahashwetha/job-search-email-system-claude/update-hr"><img src="https://agentmods.dev/badge/skills/mahashwetha/job-search-email-system-claude/update-hr.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.00089 | $0.00642 |
| Opus 5.5 | $0.00036 | $0.00257 |
| Sonnet 5.5 | $0.00018 | $0.00128 |
| Haiku 4.5 | $0.00009 | $0.00064 |
Grade A, and why
update-hr 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 1mo 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 — 45 lines — stays where its author put it; the contents beside it link to each section on GitHub.
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.
Adding a single contact to one row (e.g. a verified recruiter email)
For one contact on one specific row, use the append-only script instead of editing the cell by hand:
python .claude/skills/update-hr/scripts/add_hr_contact.py --row 311 --name "Jane Doe" --url "https://www.linkedin.com/in/..." [--title "Tech Recruiter"] [--email "[email protected]"]
python .claude/skills/update-hr/scripts/add_hr_contact.py --company "Bluecoders" --name ... (all rows of that company)
It keeps every existing contact, appends the new one with CHAR(10), does nothing if the name is already there, takes the shared tracker lock and backs up List.xlsx first. Never write to column E with ad hoc openpyxl code (that is how row 311's contacts were once overwritten).
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_CONTACTSdict. 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.
What ships with it
1 file 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.
- 1mo ago Changed · +9 lines 5993aea4a001
- 1mo ago First seen · 36 lines · 89 tokens per session scan A ad13f98da33c
update-hr is a skill published in the GitHub repository Mahashwetha/Job-search-email-system-claude (10 stars, last pushed today), licensed MIT. It adds 89 tokens to every session and 642 once invoked, about $0.0004 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-31.
Other skills, from other repositories
google-apps-script
Build Google Apps Script automation for Sheets and Workspace. Custom menus, triggers (onEdit / time-driven / form submit), dialogs, sidebars, email batches, PDF export, external API. Use whenever the user wants to automate a Google Sheet, build a Sheets menu / sidebar / dialog, hit a Sheets row from email or a…
dgn-to-excel
Convert DGN files (v7-v8) to Excel databases. Extract elements, levels, and properties from infrastructure CAD files.
dwg-to-excel
Convert AutoCAD DWG files (1983-2026) to Excel databases using DwgExporter CLI. Extract layers, blocks, attributes, and geometry data without Autodesk licenses.
ifc-to-excel
Convert IFC files (2x3, 4x1, 4x3) to Excel databases using IfcExporter CLI. Extract BIM data, properties, and geometry without proprietary software.
historical-data-manager
Extract, clean, and organize legacy construction data from archives. Migrate historical project data, cost records, and schedules into modern formats.
pdf-report-generator
Automatically generate PDF reports from construction data. Create formatted project reports with charts and tables.