Job posting search agent powered by TheirStack. Search 168M+ job postings across 195 countries by title, location, salary, company, technology, seniority, and more. Use when: (1) user says "find jobs", "search for jobs", "job search", "who's hiring", "job openings", "career opportunities", "/job-search", (2) user asks about hiring trends, what companies are hiring for, or market demand, (3) user wants to find specific roles (e.g., "find senior React jobs in NYC"), (4) user asks about salaries or compensation for a role. NOT for: applying to jobs, resume writing, or interview prep.
3f:T17bf,
Agentic job posting search powered by TheirStack. Translate natural language job queries into structured API calls, search across 168M+ postings from 312K+ sources, and synthesize findings.
For TheirStack API details (endpoints, parameters, response format): read references/theirstack-api.md.
All commands run from this skill directory:
cd <skill-dir>/job-search
source ~/.config/env/global.env
bun run job-search.ts search [options]
bun run job-search.ts search "software engineer" --remote --limit 10
Positional args after search are treated as a title filter.
Options:
--title <t> — job title filter (repeatable)--location <l> — location filter (repeatable)--country <c> — country code, e.g. US, GB, DE (repeatable)--remote — remote jobs only--seniority <s> — seniority level (repeatable)--employment <e> — employment type--min-salary <n> — minimum annual salary in USD--max-salary <n> — maximum annual salary in USD--company <c> — company name filter (repeatable)--domain <d> — company domain filter (repeatable)--tech <t> — technology filter (repeatable)--desc <p> — job description keyword (repeatable)--exclude-desc <p> — exclude jobs with keyword (repeatable)--min-employees <n> — minimum company size--max-employees <n> — maximum company size--min-funding <n> — minimum company funding in USD--max-age <days> — max posting age in days--yc — YC companies only--funding-stage <s> — funding stage filter (repeatable)--limit <n> — max results to return (default: 10)--page <n> — page number for pagination--quick — quick mode: limit=5, max-age=7, 4hr cache TTL--save — save results to ~/clawd/drafts/job-search-{slug}-{date}.md--json — raw JSON output--markdown — markdown outputbun run job-search.ts company <name-or-domain> [--limit N] [--max-age N] [--json]
Lists open positions at a specific company. Accepts company name or domain (e.g., stripe.com).
bun run job-search.ts cache clear
1-hour TTL. Avoids repeat API charges.
When the user asks a natural language job search question, decompose it into structured CLI flags:
| User says | Maps to |
|---|---|
| "senior engineer jobs" | --title "engineer" --seniority senior |
| "remote Python jobs" | --tech python --remote |
| "jobs at Stripe" | --company "Stripe" |
| "React jobs in NYC paying $150k+" | --tech react --location "New York" --min-salary 150000 |
| "startup jobs (seed stage)" | --funding-stage seed |
| "YC companies hiring engineers" | --yc --title "engineer" |
| "who's hiring for Kubernetes?" | --tech kubernetes |
| "ML jobs at big companies" | --title "machine learning" --min-employees 1000 |
| "recent contract jobs in London" | --location "London" --employment contract --max-age 7 |
| "devops jobs $200k+ remote" | --title "devops" --min-salary 200000 --remote |
| "what's Anthropic hiring for?" | company anthropic.com |
| "entry level frontend jobs in Germany" | --title "frontend" --seniority junior --country DE |
intern, entry, junior, mid_level, senior, staff, principal, c_level
full_time, part_time, contract, temporary, internship
python, javascript, typescript, react, nodejs, java, golang, rust, kubernetes, docker, aws, gcp, azure, postgresql, mongodb, redis, elasticsearch, terraform, graphql, nextjs, vue, angular, swift, kotlin, ruby, rails, django, flask, spring, c-sharp, dotnet, php, laravel, hadoop, spark, kafka, airflow, snowflake, dbt
US, GB, CA, DE, FR, NL, AU, IN, SG, JP, BR, IE, SE, CH, IL, ES, IT, KR
seed, series_a, series_b, series_c, series_d, series_e, ipo
When doing comprehensive job market research (not a quick lookup), follow this loop:
Turn the research question into 2-4 targeted searches:
Run each query via CLI. After each, assess:
company <name> for the full picture.When a company appears interesting:
bun run job-search.ts company <name-or-domain>
Group findings by theme:
Use --save or save manually to ~/clawd/drafts/job-search-{slug}-{date}.md.
TheirStack uses credits: 1 credit per job returned. Free tier = 200 credits.
--limit conservatively — start small, refine, then expandskills/job-search/
├── SKILL.md (this file)
├── job-search.ts (CLI entry point)
├── lib/
│ ├── api.ts (TheirStack API wrapper)
│ ├── cache.ts (file-based cache, 1hr TTL)
│ └── format.ts (terminal + markdown formatters)
├── data/
│ └── cache/ (auto-managed)
└── references/
└── theirstack-api.md (API reference)