test-run
npx machina-cli add skill Mahashwetha/Job-search-email-system-claude/test-run --openclawTest Run — Manual Script Execution
Manually trigger the daily or remote job search scripts outside their scheduled runs. Run all commands from the project root: C:/Users/mahas/Learnings/claude-job-agent.
Daily job search
Run daily_job_search.py. This reads List.xlsx, fetches hot jobs from LinkedIn, and sends the styled HTML digest email.
To force a full hot jobs refresh (re-fetch everything), delete daily_hot_jobs.json before running.
Remote job search
Run remote_search/remote_job_search.py.
Always add --no-save for test runs. Without it, previous_jobs.json gets overwritten and the NEW flag detection breaks for the real scheduled run. The Excel file still gets updated either way.
Only omit --no-save when running for real (i.e. as a substitute for the scheduled run).
Common issues
config.py not found— copyconfig.template.pytoconfig.pyand fill in credentials.PermissionErroron Excel — the script handles this with a temp copy fallback, but closingList.xlsxfirst is cleaner.- Email not received — check spam, verify
EMAIL_CONFIGinconfig.py.
Source
git clone https://github.com/Mahashwetha/Job-search-email-system-claude/blob/main/.claude/skills/test-run/SKILL.mdView on GitHub Overview
The test-run skill lets you manually trigger the daily or remote job search scripts from the project root, enabling testing of the job digest and remote listings before automated runs. It covers running daily_job_search.py to fetch hot LinkedIn jobs and send a styled HTML digest, as well as remote_search.py for remote listings, with guidance on test flags and common issues.
How This Skill Works
From the project root, run daily_job_search.py to pull hot jobs from List.xlsx and generate the HTML digest, or run remote_search/remote_job_search.py to fetch remote listings. For test runs, always include --no-save to avoid overwriting previous_jobs.json; omit it only for real scheduled runs.
When to Use It
- Test the daily job digest generation
- Validate the remote job search results
- Force a full hot jobs refresh before testing
- Troubleshoot config or Excel access during tests
- Verify email delivery behavior without affecting the scheduled run
Quick Start
- Step 1: Open a terminal and go to C:/Users/mahas/Learnings/claude-job-agent
- Step 2: Run the daily job test: python daily_job_search.py (delete daily_hot_jobs.json first if you want a full refresh)
- Step 3: Run the remote job test: python remote_search/remote_job_search.py --no-save (omit --no-save for real runs)
Best Practices
- Run commands from the project root as documented
- Use --no-save for test runs to protect real data
- Close or safely handle List.xlsx to prevent Excel errors
- Delete daily_hot_jobs.json to force a full refresh when needed
- Ensure config.py exists and credentials are correctly set in config.py
Example Use Cases
- Debug daily digest by running daily_job_search.py and inspecting the generated HTML
- Test remote search execution with --no-save and compare results with previous_jobs.json
- Force a complete refresh of hot jobs by removing daily_hot_jobs.json before a test run
- Resolve credentials by copying config.template.py to config.py and filling in values
- Address Excel permissions by closing List.xlsx before re-running the script