agentsclimarketplace

Discover companies

Skill Flowxtra/career-agent/.agents/skills/discover-companies

Use when growing one ATS provider's curated roster with net-new companies — "find more <provider> companies", "add <industry/region/theme> companies to <provider>", or a roster is thin for a segment. Input is one existing roster-based provider. Not for pruning or promoting entries already on file (verify-companies) or adding a new ATS platform (integrate-new-provider).From its SKILL.md

Install
npx -y skills add Flowxtra/career-agent --skill discover-companies

Assembled from the repository path, not quoted from the project. Check it against their README if it does not work.

2 things to look at

  • 14 days oldThe repository was created 14 days ago. New is not bad, but a brand new repository carrying a familiar-sounding name is the shape a typosquat arrives in, and there has been no time for anyone else to find a problem with it.
  • 0 stars0 stars. Stars are a popularity signal and not a quality one, but at this level it is likely that nobody has read this closely except its author, and you would be relying on your own review.

SKILL.md

4.2 KB, 929 tokens by cl100k_base, as published. Nobody here has run it

Discover Companies

Overview

Given one roster-based provider, source companies hosted on that ATS that no roster has yet, confirm each against the live adapter path, and land them in internal/provider/<provider>/companies.yaml. This skill covers the sourcing; verification and promotion mechanics are the verify-companies skill, and the roster commit convention is in CLAUDE.md. Scope a session to one provider — rosters land one per PR.

The providers in scope are the --provider values of cmd/verify-companies (providerOrder). SmartRecruiters keeps a roster too but has no adapter yet; spot-check its candidates with go run ./cmd/smartrecruiters --company <id> search instead.

Sourcing channels

Work from the provider's public board-host shape — the entry for the provider in careersHostPatternsByAdapter (internal/ats/registry.go). Mix channels; each one alone dries up:

  • Site dorks — WebSearch site:<board host> <theme keywords> (e.g. site:jobs.lever.co fintech, site:job-boards.greenhouse.io robotics — for greenhouse the legacy boards.greenhouse.io host is indexed too and redirects). Dork the public board host, never the API host — search engines index board pages, not API responses. Vary keywords by industry, region, and role; page past the first results.
  • Theme-first probing — start from a company list (industry roundups, accelerator batches, "companies using <ATS>" articles), websearch <company> careers, and keep the ones whose careers URL matches the provider's host shape. The slug comes from that URL, never from guessing the company name.
  • Migration finds — verify-companies audits surface companies that moved ATS; their new host names the provider and slug directly.

A careers URL matching a different supported provider's host shape is still a find — park it in unverified/<other>.yaml rather than mixing rosters in one session.

Candidate to entry

  1. Dedupe first: grep -ri "<name-or-slug>" internal/provider/*/companies.yaml unverified/*.yaml. ats.NewRegistry requires display names and slugs to be globally unique across all adapters, so a hit anywhere disqualifies or renames the candidate.
  2. Copy the YAML key shape from the target companies.yaml — every provider names its identifier differently, and workday needs the tenant/instance/site triple from the careers URL, one row per tenant (the adapter dedupes by tenant and serves only the first).
  3. Display name comes from an authoritative source (the company's own site or the board's page title). A slug with an unconfirmed name goes to unverified/<provider>.yaml, not the curated roster.

Verify the batch

  1. Append the batch to companies.yaml, then go run ./cmd/verify-companies --provider <name> — rosters are go:embed'd, so go run picks the additions up. Keep the default timeout; big full-dump boards need it.
  2. Drop confirmed-stale ERRORs; retry transients first (the verify-companies skill's audit steps). zero-job entries are fine — board live, no current openings.
  3. go test ./... — registry tests catch collisions and shape mistakes.
  4. Commit per the roster: convention in CLAUDE.md: one batch, one commit, one PR.

Common mistakes

  • Probing a guessed slug and accepting any 200 — a wrong slug can be a different company's live board. The board's company name must match the candidate.
  • Promoting a slug straight into companies.yaml with the slug as its display name — that's what unverified/ quarantines.
  • Dorking the API host (api.lever.co, api.ashbyhq.com) and finding nothing.
  • Adding several rows for one workday tenant; only the first is served.
  • Sourcing across providers in one session and batching multiple rosters into one PR.

What ships with it

Read from the repository

Just SKILL.md. No reference files, no scripts.

Keep looking

Skills are one crate of 326,852. Ordering is by how many stacks a row turns up in, so the top of any crate is what has actually been picked rather than what has the most stars.