Borrowing it
Nothing to install: this file belongs to treymorgan/jobsearch-apply-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/treymorgan/jobsearch-apply-mcp/main/.agents/skills/freehire-search/SKILL.mdgit clone --depth 1 https://github.com/treymorgan/jobsearch-apply-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/treymorgan/jobsearch-apply-mcp/freehire-search)<a href="https://agentmods.dev/skills/treymorgan/jobsearch-apply-mcp/freehire-search"><img src="https://agentmods.dev/badge/skills/treymorgan/jobsearch-apply-mcp/freehire-search/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/treymorgan/jobsearch-apply-mcp/freehire-search"><img src="https://agentmods.dev/badge/skills/treymorgan/jobsearch-apply-mcp/freehire-search.svg" alt="Reviewed on agentmods" width="80" height="20"></a>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.00143 | $0.02728 |
| Opus 5.5 | $0.00057 | $0.01091 |
| Sonnet 5.5 | $0.00029 | $0.00546 |
| Haiku 4.5 | $0.00014 | $0.00273 |
Grade A, and why
freehire-search 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 1mo 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.
This is a copy
95% identical to freehire-search — 59 lines differ, which has more behind it and is treated as the original. This page carries a canonical link to it rather than competing with it.
How it starts
The opening of the file, as written. The whole thing — 200 lines — stays where its author put it; the contents beside it link to each section on GitHub.
freehire Search Skill
Search live job listings from the freehire.me job
aggregator — an open-source IT job board that normalizes postings from ~50 ATS
platforms across many countries into one schema. No authentication, no API key,
and zero runtime dependencies — it runs with just bun. The market is chosen
per query via facet flags (--region, --country), so the same skill works for a
forker in any market out of the box.
This is a country-agnostic worked example of the repo's job-portal-skill pattern. It queries freehire's public JSON API, so results are structured (skills, seniority, region facets) rather than parsed from markup.
⚠️ Scope: tech-focused
freehire's corpus already includes some non-tech postings (it crawls whole company career pages), but its faceted filtering — skills, categories, and seniority dictionaries — is tuned tech-first today, so this skill scopes its triggers to software / data / engineering / tech roles, where the filtering is strong. Non-tech coverage exists but is still maturing; don't rely on this skill for general (non-technical) job coverage yet.
ℹ️ Hosted-service dependency (best-effort, no SLA)
This skill depends on a third-party hosted service, freehire.me. Reads are public and unauthenticated, so there is no signup or API key.
freehire.me is a personal project but actively maintained; it runs on a best-effort basis (no formal SLA). If the API is unreachable, the CLI fails gracefully — a non-zero exit with a clear error message — so an outage degrades this source rather than breaking the surrounding workflow.
Self-hosting / swappable base URL. The freehire backend is a separate
MIT-licensed repo — strelov1/freehire
(Go + PostgreSQL + Meilisearch) — that stands up with one command via Docker
Compose (make up → API on :8080, same /api/v1/... paths). The skill honors a
base-URL env var, FREEHIRE_API_URL (default https://freehire.me), so pointing
it at a local instance is a one-line change:
What ships with it
14 files beside SKILL.md in the same directory: the scripts, references and assets a skill reads on demand. Not counted in the per-session cost; read them before you install if any of them is executable.
- cli/package.json 612 B
- cli/README.md 3.9 KB
- cli/src/cli.ts 9.5 KB runs code
- cli/src/commands/detail.ts 2.3 KB runs code
- cli/src/commands/search.ts 6.1 KB runs code
- cli/src/helpers.ts 7.6 KB runs code
- cli/tests/cli-flag-validation.test.ts 3.7 KB runs code
- cli/tests/commands.test.ts 8.3 KB runs code
- cli/tests/helpers.ts 1.0 KB runs code
- cli/tests/parsing.test.ts 3.4 KB runs code
- cli/tests/request-timeout.test.ts 957 B runs code
- cli/tests/retry-backoff.test.ts 2.4 KB runs code
- cli/tsconfig.json 305 B
- url-reference.md 7.0 KB
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.
- 1mo ago First seen · 200 lines · 143 tokens per session scan A 26ffd4ec7c84
freehire-search is a skill published in the GitHub repository treymorgan/jobsearch-apply-mcp (0 stars, last pushed 2mo ago), licensed MIT. It adds 143 tokens to every session and 2,728 once invoked, about $0.0006 per session on Opus 5.5. A static security scan graded it A with 0 findings. It is 95% identical to freehire-search, differing in 59 lines, and is treated as a copy.
Other skills, from other repositories
tanstack-form-composition
Migrate a React @tanstack/react-form codebase from the prop-drilled useForm + erased-form-type pattern to the official createFormHook composition API (useAppForm / withForm / field.X). Use when a project threads a form object (often cast to an any-erased type like ReactFormExtendedApi ) through field-wrapper…
apply
Apply to a single job (URL or pasted page) with fit review, or score and apply the job links pasted into an apply campaign when no argument is given.
tailor-resume
Choose the best existing resume base/variant for a job, or create a new tailored variant when nothing fits.
pr-review
Review a JobPilot pull request on its own branch, resolve merge conflicts with main, remove over-engineering, redundancy, redundant tests, and noisy comments from the PR's changes, and commit the cleanup locally. Then stop so the user can review and add their own changes. Only after the user approves, push to the PR…
teaser-video
Film, edit, and deliver a launch-quality teaser of any web app - real footage captured at 2x with Playwright + CDP (and Windows Graphics Capture for external windows such as an agent's browser), edited in Remotion with a virtual camera, motion graphics, kinetic type, and a synthesized license-free soundtrack. Use for…
auto-apply
Search a job board and autonomously apply to matching jobs one at a time, until paused, exhausted, or the max-applications cap is hit.