Jobs Hunter Claw 🎯
Unified skill for job hunting automation: Discover → Apply → Track.
ClawHub: https://clawhub.ai/QuantDeveloperUSA/jobs-hunter-claw
GitHub: https://github.com/ABFS-Inc/jobs-hunter-claw
Installation
Option 1: ClawHub (Recommended)
CODEBLOCK0
Option 2: Git Clone
CODEBLOCK1
Prerequisites
1. gog CLI (Google Workspace)
The skill uses gog for Google Sheets access:
CODEBLOCK2
2. Google Sheet Setup
Create a Google Sheet with these tabs:
| Tab | Purpose |
|---|
| Jobs | Main tracker (columns A-P) |
| Activity Log |
Timestamped event history |
|
Add or Edit Job | Form interface (optional) |
See references/google-sheet-setup.md for detailed setup.
3. Configure Spreadsheet ID (Required)
Set the environment variable with your Google Sheet ID:
CODEBLOCK3
The ID is found in your Google Sheet URL:
CODEBLOCK4
For persistent configuration, add to your shell profile (~/.bashrc, ~/.zshrc):
CODEBLOCK5
For OpenClaw agents, set in the agent's environment or TOOLS.md.
Quick Start
CODEBLOCK6
Agent Setup
Create a dedicated agent to run job hunting automation.
Model Requirement
This skill requires google/gemini-flash-latest for optimal performance and cost efficiency.
Gemini Flash provides:
- - Fast response times for frequent job board scanning
- Cost-effective for high-volume cron jobs (hourly scans, daily reviews)
- Sufficient capability for structured data operations (CRUD, search, logging)
- Good tool-use performance for shell command execution
Do not use Opus, Sonnet, or other premium models — they're overkill for this skill and will incur unnecessary costs.
1. Create the Agent
CODEBLOCK7
2. Configure Agent Identity
Create IDENTITY.md in the agent workspace:
CODEBLOCK8
3. Configure Agent Tools
Create TOOLS.md in the agent workspace with the spreadsheet ID:
CODEBLOCK9 bash
Set spreadsheet ID
export JOB
TRACKERSPREADSHEET_ID="your-sheet-id"
Run commands
/openclaw/skills/jobs-hunter-claw/scripts/job-tracker.sh list
/openclaw/skills/jobs-hunter-claw/scripts/job-tracker.sh add --company "X" --role "Y"
CODEBLOCK10
4. Configure Heartbeat (Optional)
Create HEARTBEAT.md for periodic checks:
CODEBLOCK11
Cron Job Setup
Automate job hunting tasks with OpenClaw cron jobs.
Important: Cron jobs need the spreadsheet ID in the task prompt or agent environment.
Job 1: Email Scan (Hourly, Business Hours)
CODEBLOCK12
Schedule: Every hour from 9 AM - 6 PM EST (14-23 UTC), Monday-Friday.
Job 2: Weekly Pipeline Review (Monday Morning)
CODEBLOCK13
Schedule: Monday 9 AM EST (14:00 UTC).
Managing Cron Jobs
CODEBLOCK14
CLI Reference
Commands
| Command | Description |
|---|
| INLINECODE7 | Add new job with auto-generated ID |
| INLINECODE8 |
Modify existing job fields |
|
delete | Delete a job (clears row, preserves logs) |
|
log | Add timestamped activity entry |
|
show | Display detailed job view |
|
list | List jobs with optional filters |
|
search | Search with regex or fuzzy matching |
|
logs | View activity history |
|
next-id | Get next available job ID |
|
schema | Show valid statuses and event types |
|
help | Show command help |
Adding a Job
CODEBLOCK15
Required: --company, INLINECODE19
Updating a Job
CODEBLOCK16
Logging Activity
CODEBLOCK17
Deleting a Job
CODEBLOCK18
Note: Delete clears the row data but preserves the activity log history.
Searching Jobs
CODEBLOCK19
Filtering Jobs
CODEBLOCK20
Validation Rules
Status Values (Title Case)
| Status | Meaning |
|---|
| INLINECODE20 | Found but not yet applied |
| INLINECODE21 |
Application submitted |
|
Screening | Initial review/HR screen |
|
Interview | Active interview process |
|
Karat Test Scheduled | Technical assessment pending |
|
Offer | Offer received |
|
Rejected | Not selected |
|
Withdrawn | Candidate withdrew |
|
Accepted | Offer accepted |
|
Closed | Position no longer available |
The CLI auto-normalizes status to Title Case (interview → Interview).
Event Types (lowercase)
| Event | Meaning |
|---|
| INLINECODE32 | Initial job discovery |
| INLINECODE33 |
Application submitted |
|
recruiter_contact | Recruiter reached out |
|
user_reply | You responded to recruiter |
|
interview_scheduled | Interview booked |
|
interview_completed | Interview done |
|
test_scheduled | Assessment booked |
|
test_completed | Assessment done |
|
offer_received | Offer extended |
|
rejection | Application rejected |
|
follow_up | Follow-up action needed |
|
status_change | Status was updated |
|
note | General note |
Contact Validation
Contacts must be Google Contacts links:
CODEBLOCK21
Bypass with --no-strict-contacts flag.
Google Apps Script (Optional)
For manual job entry via the Google Sheet form tab, install the Apps Script:
- 1. Open your Google Sheet
- Go to Extensions → Apps Script
- Delete existing code in INLINECODE46
- Paste contents of INLINECODE47
- Click Save
- Refresh the Google Sheet
- Use the new 🎯 Job Tracker menu
Menu Functions
- - ➕ Add Job — Creates job from form fields
- 📥 Load Job to Edit — Loads existing job into form
- 💾 Save Changes — Saves form changes back
- 📝 Add Log Entry — Adds activity log
- 🧹 Clear Form — Clears form fields
- 🔄 Refresh Next ID — Updates ID counter
- ⚙️ Setup Data Validation — Adds dropdowns (run once)
Files
CODEBLOCK22
Troubleshooting
"JOBTRACKERSPREADSHEET_ID environment variable is required"
Set the environment variable:
CODEBLOCK23
"gog: command not found"
Install gog CLI:
CODEBLOCK24
"Google API error (403)"
Authenticate gog with Sheets access:
CODEBLOCK25
"Permission denied" when running job-tracker.sh
Fix executable permission:
CODEBLOCK26
Cron jobs not delivering to Discord
Use the full channel format: channel:CHANNEL_ID (not just discord).
Version History
- - 1.4.0 — Specified
google/gemini-flash-latest as required model for cost efficiency - 1.3.0 — Added
delete command for removing jobs; uses gog sheets clear for proper row clearing - 1.2.0 — Removed hardcoded spreadsheet ID, now requires
JOB_TRACKER_SPREADSHEET_ID env var - 1.1.0 — Added agent setup and cron job documentation
- 1.0.2 — File extensions fixed for ClawHub compatibility
- 1.0.0 — Initial release
Jobs Hunter Claw 🎯
统一的工作搜索自动化技能:发现 → 申请 → 追踪。
ClawHub: https://clawhub.ai/QuantDeveloperUSA/jobs-hunter-claw
GitHub: https://github.com/ABFS-Inc/jobs-hunter-claw
安装
方式一:ClawHub(推荐)
bash
安装技能
clawhub install jobs-hunter-claw
验证安装
clawhub list
修复可执行权限(安装后必需)
chmod +x /path/to/skills/jobs-hunter-claw/scripts/job-tracker.sh
方式二:Git 克隆
bash
克隆到你的技能目录
git clone https://github.com/ABFS-Inc/jobs-hunter-claw.git /path/to/skills/jobs-hunter-claw
前置条件
1. gog CLI(Google Workspace)
该技能使用 gog 访问 Google 表格:
bash
安装 gog
brew install steipete/tap/gogcli
使用 Google 进行身份验证
gog auth credentials /path/to/client_secret.json
gog auth add your@gmail.com --services sheets
2. Google 表格设置
创建一个包含以下标签页的 Google 表格:
| 标签页 | 用途 |
|---|
| Jobs | 主追踪器(A-P 列) |
| Activity Log |
带时间戳的事件历史记录 |
|
Add or Edit Job | 表单界面(可选) |
详细设置请参阅 references/google-sheet-setup.md。
3. 配置电子表格 ID(必需)
使用你的 Google 表格 ID 设置环境变量:
bash
export JOBTRACKERSPREADSHEET_ID=your-google-sheet-id
该 ID 可在你的 Google 表格 URL 中找到:
https://docs.google.com/spreadsheets/d/[这就是ID]/edit
如需持久化配置,请添加到你的 shell 配置文件(~/.bashrc、~/.zshrc):
bash
echo export JOBTRACKERSPREADSHEET_ID=your-google-sheet-id >> ~/.bashrc
对于 OpenClaw 代理,请在代理的环境或 TOOLS.md 中设置。
快速开始
bash
首先设置你的电子表格 ID
export JOB
TRACKERSPREADSHEET_ID=your-google-sheet-id
查看所有命令
./scripts/job-tracker.sh help
添加发现的职位
./scripts/job-tracker.sh add --company Morgan Stanley --role AI Architect --source LinkedIn
列出活跃的面试
./scripts/job-tracker.sh list --status interview
记录事件
./scripts/job-tracker.sh log JOB002 --event interview_scheduled --details 第3轮,周一上午10点
搜索职位
./scripts/job-tracker.sh search citi --columns company,role
代理设置
创建一个专用代理来运行求职自动化。
模型要求
该技能需要 google/gemini-flash-latest 以获得最佳性能和成本效益。
Gemini Flash 提供:
- - 频繁扫描招聘网站时的快速响应时间
- 高容量定时任务的经济高效(每小时扫描、每日回顾)
- 对结构化数据操作(增删改查、搜索、日志记录)具有足够的能力
- 良好的 shell 命令执行工具使用性能
不要使用 Opus、Sonnet 或其他高级模型——它们对该技能来说大材小用,且会产生不必要的成本。
1. 创建代理
bash
openclaw agents create job-hunter \
--model google/gemini-flash-latest \
--workspace /path/to/workspace-job-hunter
2. 配置代理身份
在代理工作区创建 IDENTITY.md:
markdown
IDENTITY.md
- - 名称: [名] [姓]
- 角色: 职业自动化助手
- 风格: 积极主动、有条理、以候选人为中心
- 表情符号: 🎯
3. 配置代理工具
在代理工作区创建包含电子表格 ID 的 TOOLS.md:
markdown
TOOLS.md
环境变量
在运行 job-tracker 命令前设置:
- - JOBTRACKERSPREADSHEET_ID — 你的 Google 表格 ID
Jobs Hunter Claw 技能
安装位置: /openclaw/skills/jobs-hunter-claw
使用方法
bash
设置电子表格 ID
export JOB
TRACKERSPREADSHEET_ID=your-sheet-id
运行命令
/openclaw/skills/jobs-hunter-claw/scripts/job-tracker.sh list
/openclaw/skills/jobs-hunter-claw/scripts/job-tracker.sh add --company X --role Y
Google 表格
- - URL: https://docs.google.com/spreadsheets/d/your-sheet-id
- 标签页: Jobs, Activity Log, Add or Edit Job
4. 配置心跳(可选)
创建 HEARTBEAT.md 用于定期检查:
markdown
HEARTBEAT.md
定期检查
- - [ ] 扫描招聘人员的邮件
- [ ] 检查日历中的即将到来的面试
- [ ] 审查状态为面试的职位,进行后续跟进
- [ ] 查找与个人资料匹配的新职位发布
定时任务设置
使用 OpenClaw 定时任务自动化求职任务。
重要提示: 定时任务需要在任务提示或代理环境中包含电子表格 ID。
任务 1:邮件扫描(每小时,工作时间)
bash
openclaw cron add \
--id job-email-scan \
--schedule 0 14-23 1-5 \
--agent job-hunter \
--channel channel:YOURDISCORDCHANNEL_ID \
--task 从 TOOLS.md 设置 JOBTRACKERSPREADSHEET_ID,然后扫描邮件中与职位相关的消息。使用 /openclaw/skills/jobs-hunter-claw/scripts/job-tracker.sh 进行更新。
时间表:美国东部时间上午 9 点至下午 6 点(UTC 14-23),周一至周五,每小时一次。
任务 2:每周管道审查(周一早上)
bash
openclaw cron add \
--id job-weekly-review \
--schedule 0 14 1 \
--agent job-hunter \
--channel channel:YOURDISCORDCHANNEL_ID \
--task 每周管道审查。设置 JOBTRACKERSPREADSHEET_ID,然后:
- 1. job-tracker.sh list --status Interview
- job-tracker.sh list --status Applied
- job-tracker.sh list --status Discovered
报告摘要和建议操作。
时间表:周一美国东部时间上午 9 点(UTC 14:00)。
管理定时任务
bash
列出所有定时任务
openclaw cron list
暂停/恢复任务
openclaw cron pause job-email-scan
openclaw cron resume job-email-scan
删除任务
openclaw cron delete job-email-scan
CLI 参考
命令
| 命令 | 描述 |
|---|
| add | 添加新职位,自动生成 ID |
| update |
修改现有职位字段 |
| delete | 删除职位(清除行,保留日志) |
| log | 添加带时间戳的活动记录 |
| show | 显示详细职位视图 |
| list | 列出职位,可带筛选条件 |
| search | 使用正则或模糊匹配搜索 |
| logs | 查看活动历史 |
| next-id | 获取下一个可用职位 ID |
| schema | 显示有效状态和事件类型 |
| help | 显示命令帮助 |
添加职位
bash
./scripts/job-tracker.sh add \
--company Goldman Sachs \
--role VP, AI Engineering \
--location NYC \
--salary $200k-$275k \
--source LinkedIn \
--url https://linkedin.com/jobs/view/123456 \
--status Discovered
必需参数:--company、--role
更新职位
bash
./scripts/job-tracker.sh update JOB015 \
--status Applied \
--resume AI-Architect-Resume-v3 \
--applied-date 2026-03-19
###