Skip to main content

CareerClaw: AI-powered job search assistant (ClawHub/OpenClaw skill)

Project description

CareerClaw

CI

Privacy-first job search automation for OpenClaw.

CareerClaw turns your AI agent into a structured daily workflow: fetch listings → rank matches → draft outreach → track applications.

  • Local-first: your resume and results stay on your machine
  • No subscription: one-time purchase for Pro
  • Bring your own LLM API key (optional): use OpenAI/Anthropic to enhance drafts

Works best for roles where job boards and public listings are common (engineering, product, design, ops, marketing, finance).


How It Works

  1. Fetches job listings from supported sources (baseline sources are always available; integrations expand over time)
  2. Ranks them against your profile using keyword overlap, experience alignment, salary fit, and work-mode preference
  3. Drafts outreach for each top match (deterministic template in Free; optional LLM enhancement in Pro)
  4. Tracks your application pipeline locally (JSON files under .careerclaw/)

One command. Everything local.


Quickstart

1. Install

git clone https://github.com/orestes-garcia-martinez/careerclaw
cd careerclaw
python -m venv .venv

# Activate (macOS/Linux)
source .venv/bin/activate

# Activate (Windows PowerShell)
.\.venv\Scripts\Activate

# Install with dev dependencies
pip install -e ".[dev]"

2. Set up via OpenClaw (recommended)

If you are running CareerClaw through OpenClaw/ClawHub, the agent can guide you through setup. Provide your resume and it will create your profile, ask a couple of preference questions (work mode + salary), and run your first briefing.

3. Set up manually

Create the runtime directory and your profile:

mkdir -p .careerclaw

Create .careerclaw/profile.json:

{
  "skills": ["python", "react", "sql"],
  "target_roles": ["data analyst", "backend engineer"],
  "experience_years": 5,
  "work_mode": "remote",
  "resume_summary": "Experienced analyst with 5 years delivering data pipelines and dashboards.",
  "location": "Austin, TX",
  "salary_min": 90000
}

4. Run your first briefing

# Dry run first — no files written, safe to preview
python -m careerclaw.briefing --dry-run

# With your resume for better match quality (recommended)
python -m careerclaw.briefing --resume-pdf .careerclaw/resume.pdf --dry-run

# Full run when you're happy with the results
python -m careerclaw.briefing --resume-pdf .careerclaw/resume.pdf

Sample Output

=== CareerClaw Daily Briefing ===
User: local-user
Fetched jobs: 244 | After dedupe: 244
Duration: 29482ms

Top Matches:
...

Free vs Pro

Feature Free Pro
Job ingestion (baseline supported sources)
Additional job sources / integrations ✅ (as released)
Top matches with score breakdown
Outreach email draft (deterministic)
Application tracking (local JSON)
Manual briefing trigger
JSON output for agent integration
Gap analysis (ATS shadowing)
LLM-enhanced outreach (your LLM API key)
Resume intelligence (section-aware weighting)
Scheduled / automated daily briefings ✅ (roadmap)
CSV / Sheets export ✅ (roadmap)

Pro tier: $39 one-time (lifetime license).

Purchase on Gumroad: https://ogm.gumroad.com/l/careerclaw-pro


Optional: Pro + Setup & Configuration (1:1)

If you want it running quickly, Gumroad also offers “Pro + Setup & Configuration (1:1)” (limited slots). It includes:

  • Install CareerClaw into your OpenClaw workspace
  • Configure env vars + optional LLM API keys
  • Get your first daily briefing running successfully
  • Async troubleshooting included

(Select that version at checkout.)


Pro: Upgrading

Purchase a license key on Gumroad. Gumroad delivers the key by email immediately after payment.

Activating — Docker / self-hosted users

docker compose run --rm openclaw-cli \
  config set agents.defaults.sandbox.docker.env.CAREERCLAW_PRO_KEY "YOUR-KEY-HERE"

Or add it to your .env file:

CAREERCLAW_PRO_KEY=YOUR-KEY-HERE

The key is activated on first use and cached locally as a SHA-256 hash. Re-validation happens every 7 days (requires internet access).

Activating — MyClaw managed users

Tell your OpenClaw agent:

"Set my CAREERCLAW_PRO_KEY to YOUR-KEY-HERE"

The agent stores the key in your OpenClaw config and activates it on the next CareerClaw run.


Pro: LLM-Enhanced Drafts

With a valid Pro license, you can supply your own LLM API key to receive personalized outreach emails. CareerClaw falls back to the deterministic template silently on any failure.

export CAREERCLAW_PRO_KEY=YOUR-KEY-HERE
export CAREERCLAW_LLM_KEY=sk-...
python -m careerclaw.briefing --resume-pdf .careerclaw/resume.pdf

Application Tracking

Tracking is written automatically on each non-dry-run. Status options:

savedappliedinterviewrejected

Runtime files — all stored under .careerclaw/ (gitignored by default):

File Contents
profile.json Your profile
resume.txt / resume.pdf Your resume
tracking.json Saved jobs keyed by stable job_id
runs.jsonl Append-only run log (one line per run)
resume_intel.json Cached resume intelligence (Pro)
.license_cache Pro license validation cache (SHA-256 hash only)

Security & Privacy

CareerClaw is built on a local-first architecture. Your data never leaves your machine unless you configure an LLM API key.

  • No backend. No telemetry. No analytics endpoint.
  • API keys never stored. LLM keys are read from the environment at runtime and never written to disk or logs.
  • License cache is hash-only. Only a SHA-256 hash of the license key is written locally — the raw key is never stored.
  • No PII transmission. Your resume, profile, and application history are stored only in .careerclaw/ on your local machine.

See SECURITY.md for the vulnerability disclosure policy.


Changelog

See CHANGELOG.md for the full version history.


License

  • Free tier: MIT License — see LICENSE
  • Pro tier: Commercial license

Support

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

careerclaw-0.7.2.tar.gz (39.7 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

careerclaw-0.7.2-py3-none-any.whl (45.2 kB view details)

Uploaded Python 3

File details

Details for the file careerclaw-0.7.2.tar.gz.

File metadata

  • Download URL: careerclaw-0.7.2.tar.gz
  • Upload date:
  • Size: 39.7 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.12.0

File hashes

Hashes for careerclaw-0.7.2.tar.gz
Algorithm Hash digest
SHA256 37d2dc9b469d0d61bac8cf528ef28443228556d0719260f255dbdb185377082e
MD5 7669865ba214f8e0ccf3f0a1f6cb2bc3
BLAKE2b-256 e5fe17928311200dc808aa6572aadb5f6c10701ddf561e8b6a62b5dc3a5bb496

See more details on using hashes here.

File details

Details for the file careerclaw-0.7.2-py3-none-any.whl.

File metadata

  • Download URL: careerclaw-0.7.2-py3-none-any.whl
  • Upload date:
  • Size: 45.2 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.12.0

File hashes

Hashes for careerclaw-0.7.2-py3-none-any.whl
Algorithm Hash digest
SHA256 7a0276c40555cfd7f6a4c6e360db3d40bc1e703c9d1d171e92df9a28cc2041b7
MD5 eae06e193669e2cad10d2cdb21a0abc7
BLAKE2b-256 374d20826ba7e3276e8e76c60ff4076a6f08755c26da25f58a4c63e4062c3315

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page