← 返回
未分类 中文

Jobs Hunter Claw

Automate job discovery, application submission, status tracking, and activity logging using Google Sheets as the central data store for your job hunt.
使用Google表格作为中央数据存储,自动化职位发现、投递申请、状态追踪和活动记录,助您高效求职。
quantdeveloperusa
未分类 clawhub v1.4.0 1 版本 100000 Key: 无需
★ 0
Stars
📥 699
下载
💾 0
安装
1
版本
#latest

概述

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)

# Install the skill
clawhub install jobs-hunter-claw

# Verify installation
clawhub list

# Fix executable permission (required after install)
chmod +x /path/to/skills/jobs-hunter-claw/scripts/job-tracker.sh

Option 2: Git Clone

# Clone to your skills directory
git clone https://github.com/ABFS-Inc/jobs-hunter-claw.git /path/to/skills/jobs-hunter-claw

Prerequisites

1. gog CLI (Google Workspace)

The skill uses gog for Google Sheets access:

# Install gog
brew install steipete/tap/gogcli

# Authenticate with Google
gog auth credentials /path/to/client_secret.json
gog auth add your@gmail.com --services sheets

2. Google Sheet Setup

Create a Google Sheet with these tabs:

TabPurpose
--------------
JobsMain tracker (columns A-P)
Activity LogTimestamped event history
Add or Edit JobForm 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:

export JOB_TRACKER_SPREADSHEET_ID="your-google-sheet-id"

The ID is found in your Google Sheet URL:

https://docs.google.com/spreadsheets/d/[THIS-IS-THE-ID]/edit

For persistent configuration, add to your shell profile (~/.bashrc, ~/.zshrc):

echo 'export JOB_TRACKER_SPREADSHEET_ID="your-google-sheet-id"' >> ~/.bashrc

For OpenClaw agents, set in the agent's environment or TOOLS.md.

Quick Start

# Set your spreadsheet ID first
export JOB_TRACKER_SPREADSHEET_ID="your-google-sheet-id"

# View all commands
./scripts/job-tracker.sh help

# Add a discovered job
./scripts/job-tracker.sh add --company "Morgan Stanley" --role "AI Architect" --source LinkedIn

# List active interviews
./scripts/job-tracker.sh list --status interview

# Log an event
./scripts/job-tracker.sh log JOB002 --event interview_scheduled --details "3rd round Monday 10am"

# Search jobs
./scripts/job-tracker.sh search "citi" --columns company,role

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

openclaw agents create job-hunter \
  --model google/gemini-flash-latest \
  --workspace /path/to/workspace-job-hunter

2. Configure Agent Identity

Create IDENTITY.md in the agent workspace:

# IDENTITY.md

- **Name:** [First Name] [Last Name]
- **Creature:** Career automation assistant
- **Vibe:** Proactive, organized, candidate-focused
- **Emoji:** 🎯

3. Configure Agent Tools

Create TOOLS.md in the agent workspace with the spreadsheet ID:

# TOOLS.md

## Environment Variables

Set before running job-tracker commands:
- `JOB_TRACKER_SPREADSHEET_ID` — Your Google Sheet ID

## Jobs Hunter Claw Skill

**Installed at:** `/openclaw/skills/jobs-hunter-claw`

### Usage

Set spreadsheet ID

export JOB_TRACKER_SPREADSHEET_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"


## Google Sheet

- **URL:** https://docs.google.com/spreadsheets/d/your-sheet-id
- **Tabs:** Jobs, Activity Log, Add or Edit Job

4. Configure Heartbeat (Optional)

Create HEARTBEAT.md for periodic checks:

# HEARTBEAT.md

## Periodic Checks
- [ ] Scan email for recruiter messages
- [ ] Check calendar for upcoming interviews
- [ ] Review jobs with status "Interview" for follow-ups
- [ ] Look for new job postings matching profile

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)

openclaw cron add \
  --id job-email-scan \
  --schedule "0 14-23 * * 1-5" \
  --agent job-hunter \
  --channel "channel:YOUR_DISCORD_CHANNEL_ID" \
  --task "Set JOB_TRACKER_SPREADSHEET_ID from TOOLS.md, then scan email for job-related messages. Use /openclaw/skills/jobs-hunter-claw/scripts/job-tracker.sh for updates."

Schedule: Every hour from 9 AM - 6 PM EST (14-23 UTC), Monday-Friday.

Job 2: Weekly Pipeline Review (Monday Morning)

openclaw cron add \
  --id job-weekly-review \
  --schedule "0 14 * * 1" \
  --agent job-hunter \
  --channel "channel:YOUR_DISCORD_CHANNEL_ID" \
  --task "Weekly pipeline review. Set JOB_TRACKER_SPREADSHEET_ID, then:
1. job-tracker.sh list --status Interview
2. job-tracker.sh list --status Applied
3. job-tracker.sh list --status Discovered
Report summary and recommended actions."

Schedule: Monday 9 AM EST (14:00 UTC).

Managing Cron Jobs

# List all cron jobs
openclaw cron list

# Pause/resume a job
openclaw cron pause job-email-scan
openclaw cron resume job-email-scan

# Delete a job
openclaw cron delete job-email-scan

CLI Reference

Commands

CommandDescription
----------------------
addAdd new job with auto-generated ID
updateModify existing job fields
deleteDelete a job (clears row, preserves logs)
logAdd timestamped activity entry
showDisplay detailed job view
listList jobs with optional filters
searchSearch with regex or fuzzy matching
logsView activity history
next-idGet next available job ID
schemaShow valid statuses and event types
helpShow command help

Adding a Job

./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

Required: --company, --role

Updating a Job

./scripts/job-tracker.sh update JOB015 \
  --status Applied \
  --resume "AI-Architect-Resume-v3" \
  --applied-date "2026-03-19"

Logging Activity

./scripts/job-tracker.sh log JOB015 \
  --event interview_scheduled \
  --details "3rd round with VP Engineering, Monday 10am"

Deleting a Job

# Delete with confirmation prompt
./scripts/job-tracker.sh delete JOB015

# Delete without confirmation (for scripts/automation)
./scripts/job-tracker.sh delete JOB015 --force

Note: Delete clears the row data but preserves the activity log history.

Searching Jobs

# Simple text search
./scripts/job-tracker.sh search "goldman"

# Search specific columns
./scripts/job-tracker.sh search "AI.*Architect" --columns role --regex

# Fuzzy search
./scripts/job-tracker.sh search "goldmn" --fuzzy

Filtering Jobs

# By status
./scripts/job-tracker.sh list --status interview

# Limit results
./scripts/job-tracker.sh list --limit 10

# JSON output
./scripts/job-tracker.sh list --json

Validation Rules

Status Values (Title Case)

StatusMeaning
-----------------
DiscoveredFound but not yet applied
AppliedApplication submitted
ScreeningInitial review/HR screen
InterviewActive interview process
Karat Test ScheduledTechnical assessment pending
OfferOffer received
RejectedNot selected
WithdrawnCandidate withdrew
AcceptedOffer accepted
ClosedPosition no longer available

The CLI auto-normalizes status to Title Case (interviewInterview).

Event Types (lowercase)

EventMeaning
----------------
discoveredInitial job discovery
appliedApplication submitted
recruiter_contactRecruiter reached out
user_replyYou responded to recruiter
interview_scheduledInterview booked
interview_completedInterview done
test_scheduledAssessment booked
test_completedAssessment done
offer_receivedOffer extended
rejectionApplication rejected
follow_upFollow-up action needed
status_changeStatus was updated
noteGeneral note

Contact Validation

Contacts must be Google Contacts links:

https://contacts.google.com/person/c[alphanumeric]

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
  2. Go to Extensions → Apps Script
  3. Delete existing code in Code.gs
  4. Paste contents of scripts/job-tracker-appscript.js
  5. Click Save
  6. Refresh the Google Sheet
  7. 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

jobs-hunter-claw/
├── SKILL.md                           # This file
├── README.md                          # GitHub readme
├── scripts/
│   ├── job-tracker.sh                 # CLI for CRUD operations
│   └── job-tracker-appscript.js       # Google Apps Script
└── references/
    └── google-sheet-setup.md          # Sheet setup guide

Troubleshooting

"JOB_TRACKER_SPREADSHEET_ID environment variable is required"

Set the environment variable:

export JOB_TRACKER_SPREADSHEET_ID="your-google-sheet-id"

"gog: command not found"

Install gog CLI:

brew install steipete/tap/gogcli

"Google API error (403)"

Authenticate gog with Sheets access:

gog auth add your@gmail.com --services sheets

"Permission denied" when running job-tracker.sh

Fix executable permission:

chmod +x /path/to/skills/jobs-hunter-claw/scripts/job-tracker.sh

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

版本历史

共 1 个版本

  • v1.4.0 当前
    2026-05-01 17:15 安全 安全

安全检测

腾讯云安全 (Keen)

安全,无风险
查看报告

腾讯云安全 (Sanbu)

安全,无风险
查看报告

🔗 相关推荐

ai-intelligence

Self-Improving + Proactive Agent

ivangdavila
自我反思+自我批评+自我学习+自组织记忆。智能体评估自身工作、发现错误并持续改进。
★ 1,349 📥 317,690
developer-tools

Github

steipete
使用 `gh` CLI 与 GitHub 交互,通过 `gh issue`、`gh pr`、`gh run` 和 `gh api` 管理议题、PR、CI 运行及高级查询。
★ 666 📥 323,779
security-compliance

Skill Vetter

spclaudehome
AI智能体技能安全预审工具。安装ClawdHub、GitHub等来源技能前,检查风险信号、权限范围及可疑模式。
★ 1,210 📥 266,137