remove-hot-job
npx machina-cli add skill Mahashwetha/Job-search-email-system-claude/remove-hot-job --openclawRemove Hot Jobs
Manage the hot jobs list in daily_hot_jobs.json. Hot jobs are sticky LinkedIn listings shown at the top of the daily email, 5 per category (or 8 for Tech Lead / AI categories).
Key concepts
- current_jobs: dict of category → list of job objects. Clear a slot by removing from this list — it backfills on next run.
- blocklist: list of
[company, title]pairs. Blocklisted jobs never reappear in that category. - If a job was applied to (company is in the tracker), do NOT blocklist it — the system auto-removes tracker companies naturally.
- If a job is being dismissed without applying, blocklist it so it doesn't come back.
Categories (exact keys in JSON)
Senior JavaBackend JavaProduct OwnerAssistant Project ManagerTech Lead / Lead DeveloperAI / GenAI Engineer
What to do based on what the user says
Remove a single job (applied or dismissed) — remove it from current_jobs[category]. If dismissed (not applied), also add [company.lower(), title.lower()] to blocklist.
Clear all jobs in a category — set current_jobs[category] = []. For each job, blocklist it unless the user says they applied to it (or it's already in the tracker).
Remove from blocklist — find and delete the matching [company, title] pair from the blocklist array.
List current hot jobs for a category — read and print current_jobs[category].
Steps
- Read
daily_hot_jobs.json. - If the user didn't specify which jobs they applied to vs dismissed, ask — applied jobs should NOT be blocklisted.
- Make the changes (clear slots + update blocklist as needed).
- Write the file back.
- Confirm: how many slots cleared, how many blocklisted, which category.
Important notes
- Blocklist entries must be
[company.lower().strip(), title.lower().strip()]— lowercase, no leading/trailing spaces. - Clearing slots triggers backfill on the next daily run (11:00 AM).
- Do NOT run the daily script after editing — changes take effect on the next scheduled run.
Source
git clone https://github.com/Mahashwetha/Job-search-email-system-claude/blob/main/.claude/skills/remove-hot-job/SKILL.mdView on GitHub Overview
This skill edits the Hot Jobs list in daily_hot_jobs.json to remove, clear, or blocklist entries from the daily email. Hot jobs are sticky LinkedIn listings shown at the top of the daily email, limited to 5 per category (8 for Tech Lead / AI). It manages current_jobs and a blocklist to control visibility and reappearance.
How This Skill Works
The skill reads daily_hot_jobs.json, which stores current_jobs (category → job list) and blocklist (pairs of [company, title]). To remove a single job, it deletes it from current_jobs[category]. Clearing a category sets current_jobs[category] to [] and blocklists jobs as needed. If a job was applied to, it won't be blocklisted; if dismissed without applying, it should be blocklisted. After changes, it writes the file back and relies on the next daily run (11:00 AM) to reflect the updates.
When to Use It
- You want to remove a specific job from a category in Hot Jobs.
- You want to clear all hot jobs for a category (and handle blocklisting accordingly).
- You want to remove a [company, title] pair from the blocklist.
- You want to list or check current hot jobs for a category.
- You want to confirm how many slots were cleared and what was blocklisted after an action.
Quick Start
- Step 1: Read daily_hot_jobs.json to locate current_jobs and blocklist.
- Step 2: Decide if the target is a single removal, a full category clear, or a blocklist update (and whether applied vs dismissed).
- Step 3: Apply changes, write the file back, and confirm how many slots were cleared and what was blocklisted.
Best Practices
- Use lowercase and trim whitespace when adding blocklist entries: [company, title].
- Always specify the target category to avoid unintended removals across categories.
- If a job was applied to, do not blocklist it; use the tracker to manage such entries.
- Clearing slots backfills on the next daily run (11:00 AM); plan edits accordingly.
- Do not manually run the daily script after editing; let the next scheduled run apply changes.
Example Use Cases
- Remove 'Acme Corp' from 'Senior Java' hot jobs.
- Clear hot jobs for 'Backend Java'.
- Blocklist 'OldTech' hot job with title 'Senior Java Engineer'.
- I applied to 'Nova AI' from hot jobs; ensure it isn't blocklisted.
- List current hot jobs for 'Tech Lead / Lead Developer' to review before changes.