AgentSkillsCN

job-search

由TheirStack驱动的职位发布搜索代理。可在195个国家/地区,按职位名称、地点、薪资、公司、技术、职级等条件,搜索超过1.68亿个职位发布信息。适用于以下场景:(1) 用户说“寻找工作”“搜索工作”“求职”“谁在招聘”“职位空缺”“职业机会”“/求职”;(2) 用户询问招聘趋势、哪些公司正在招聘,或市场供需情况;(3) 用户希望找到特定岗位(例如,“在纽约寻找资深React工程师”);(4) 用户询问某岗位的薪资或薪酬待遇。不适用于:申请职位、撰写简历,或准备面试。

SKILL.md
--- frontmatter
name: job-search
description: >
  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.

Job Search

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.

CLI Tool

All commands run from this skill directory:

bash
cd <skill-dir>/job-search
source ~/.config/env/global.env

Search

bash
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 output

Company

bash
bun 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).

Cache

bash
bun run job-search.ts cache clear

1-hour TTL. Avoids repeat API charges.

Natural Language to CLI Mapping

When the user asks a natural language job search question, decompose it into structured CLI flags:

User saysMaps 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

Seniority values

intern, entry, junior, mid_level, senior, staff, principal, c_level

Employment type values

full_time, part_time, contract, temporary, internship

Common technology slugs

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

Country codes (most common)

US, GB, CA, DE, FR, NL, AU, IN, SG, JP, BR, IE, SE, CH, IL, ES, IT, KR

Funding stages

seed, series_a, series_b, series_c, series_d, series_e, ipo

Research Loop (Agentic)

When doing comprehensive job market research (not a quick lookup), follow this loop:

1. Decompose the Question

Turn the research question into 2-4 targeted searches:

  • Direct role search: title + location + seniority
  • Technology angle: what companies want this tech stack?
  • Company angle: what's this company hiring for?
  • Market scan: broad filters to gauge volume and salary ranges

2. Search and Assess

Run each query via CLI. After each, assess:

  • Are results relevant? Tighten title or description patterns if noisy.
  • Salary ranges consistent? Note outliers.
  • Interesting companies appearing? Run company <name> for the full picture.
  • Missing results? Broaden with fewer filters or try synonym titles.

3. Company Deep-Dive

When a company appears interesting:

bash
bun run job-search.ts company <name-or-domain>

4. Synthesize

Group findings by theme:

  • Hot roles: what titles appear most?
  • Salary bands: what's the market paying?
  • Tech stacks: what technologies dominate?
  • Company clusters: startups vs. enterprises?
  • Geography: where are the jobs concentrated?

5. Save

Use --save or save manually to ~/clawd/drafts/job-search-{slug}-{date}.md.

Cost Awareness

TheirStack uses credits: 1 credit per job returned. Free tier = 200 credits.

  • Default limit is 10 results (10 credits per search)
  • Quick mode: 5 results (5 credits)
  • Cached repeats: free
  • Cache TTL: 1 hour (4 hours in quick mode)
  • Use --limit conservatively — start small, refine, then expand

File Structure

code
skills/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)