Borrowing it
Nothing to install: this file belongs to amikai/openings-mcp. Take a copy, put it at the same path in your own repository, and replace the rules that are about this project with yours.
curl -O https://raw.githubusercontent.com/amikai/openings-mcp/main/.agents/skills/discover-companies/SKILL.mdgit clone --depth 1 https://github.com/amikai/openings-mcpWrote this? Show the measurements
A badge with what this costs and how it scanned, read live from this page, so it follows the numbers instead of freezing them. Markdown for a README, HTML for a documentation site or a project page.
[](https://agentmods.dev/skills/amikai/openings-mcp/discover-companies)<a href="https://agentmods.dev/skills/amikai/openings-mcp/discover-companies"><img src="https://agentmods.dev/badge/skills/amikai/openings-mcp/discover-companies/github.svg" alt="Measured on agentmods" height="20"></a>Or the 80×15 button, for a site that already has a row of RSS and ATOM ones. Only the verdict fits; the numbers stay here.
<a href="https://agentmods.dev/skills/amikai/openings-mcp/discover-companies"><img src="https://agentmods.dev/badge/skills/amikai/openings-mcp/discover-companies.svg" alt="Reviewed on agentmods" width="80" height="20"></a>- NVIDIA SkillSpector pass
What it costs to keep this loaded
Counted locally with the o200k_base tokenizer, which is exact for GPT models; Claude uses its own tokenizer and its counts differ. Treat this as one consistent yardstick across the catalogue rather than a bill. Prices are per million input tokens.
| Model | Per session | Once invoked |
|---|---|---|
| Fable 5.1 | $0.00082 | $0.01203 |
| Opus 5 | $0.00041 | $0.00602 |
| Sonnet 5 | $0.00016 | $0.00241 |
| Haiku 4.5 | $0.00008 | $0.00120 |
Grade A, and why
discover-companies scanned grade A with 0 findings against 26 rules in 11 categories — prompt injection, anti-refusal, data exfiltration, privilege escalation, supply chain, agent snooping, system-prompt leakage, SSRF and excessive agency — measured 12d ago.
A static scan of the body, not an audit. Every finding is printed with the line that produced it so you can judge whether it matters here. A mod is markdown that instructs an agent; that is exactly why what it instructs is worth reading.
Nothing flagged
None of the 26 patterns this scan looks for appear in this file: no shell pipes, no recursive deletes, no credential paths, no hidden text, no instruction-override or anti-refusal phrasing, no agent-config snooping. That is not a guarantee, it is the absence of the things that are checkable.
How it starts
The opening of the file, as written. The whole thing — 100 lines — stays where its author put it; the contents beside it link to each section on GitHub.
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 legacyboards.greenhouse.iohost 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 " 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
- Dedupe first:
grep -ri "<name-or-slug>" internal/provider/*/companies.yaml unverified/*.yaml.ats.NewRegistryonly requires unique display names and slugs within one adapter's own roster; a hit inside the target provider's file disqualifies or renames the candidate. A hit in a different provider's roster is fine — cross-adapter collisions are allowed andRegistry.Resolvedisambiguates them by careers URL at runtime, not a curation bug to dodge here. The one exception: when the target adapter cannot render a careers URL for the candidate, its display name is the only disambiguation key left, so that name must collide with no other entry's name or slug anywhere —NewRegistryfails otherwise. - 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). - 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.
What this file has done since we first saw it
Hashed on every crawl. A supply-chain change to an agent config is a question of when, not whether, so the history is kept rather than the latest state alone.
- 12d ago First seen · 100 lines · 82 tokens per session scan A 55dcca6aa435
discover-companies is a skill published in the GitHub repository amikai/openings-mcp (92 stars, last pushed 18d ago), licensed MIT. It adds 82 tokens to every session and 1,203 once invoked, about $0.0004 per session on Opus 5. A static security scan graded it A with 0 findings. No closer match exists in the catalogue, so it is treated as the original; first seen 2026-08-30.
Other skills, from other repositories
adeu-redlining
Use this skill when reviewing, editing, redlining, or negotiating an existing Microsoft Word document (.docx) — including proposing edits as tracked changes, accepting or rejecting existing tracked changes, replying to comments, comparing two versions, sanitizing author metadata, or finalizing a contract for…
wiki
Rebuild a flow-first project wiki using the mimirs wiki MCP tool. Use when the user asks to generate, rebuild, refresh, or write the wiki for a codebase.
plan
Design an implementation plan before writing code — where the change lands, what it will touch, what could break, and the steps in order. Use when asked to plan a feature, scope a change, or figure out how to approach an edit before making it. To assess a change that already exists (a diff, refactor, or rename), use…
research
Answer a hard, open-ended question about how the project works or is built by synthesizing every source — code, structure, git history, prior decisions, discussion, caveats — and verifying each claim against the source. Use for deep cross-cutting questions that span more than one area. Narrower siblings — a single…
scout
Research the web for solutions, competitors, alternatives, or prior art for a decision facing this project — then store the findings in project memory so they survive the session. Use when choosing a library or approach, comparing tools, checking what others do, or evaluating whether to build vs adopt.
explore
Build an accurate mental model of an unfamiliar codebase, feature, or area before changing it — where it lives, how it connects, what it does, and why. Use when asked how something works, where something is, when onboarding to a repo, or before editing code you don't know. For a cross-cutting question that needs…