Borrowing it
Nothing to install: this file belongs to suraj-davariya/ai-job-search. 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/suraj-davariya/ai-job-search/main/.claude/skills/job-scraper/SKILL.mdgit clone --depth 1 https://github.com/suraj-davariya/ai-job-searchWrote 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/suraj-davariya/ai-job-search/job-scraper)<a href="https://agentmods.dev/skills/suraj-davariya/ai-job-search/job-scraper"><img src="https://agentmods.dev/badge/skills/suraj-davariya/ai-job-search/job-scraper/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/suraj-davariya/ai-job-search/job-scraper"><img src="https://agentmods.dev/badge/skills/suraj-davariya/ai-job-search/job-scraper.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.00075 | $0.02416 |
| Opus 5 | $0.00037 | $0.01208 |
| Sonnet 5 | $0.00015 | $0.00483 |
| Haiku 4.5 | $0.00007 | $0.00242 |
Grade A, and why
job-scraper 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 — 159 lines — stays where its author put it; the contents beside it link to each section on GitHub.
Purpose
This file is the Plane 1 knowledge anchor for the job search workflow (ARCH-0008, ARCH-0010). As a Plane 1 skill it lives under .claude/skills/job-scraper/ and provides the AI assistant with structured knowledge — it does not execute binaries or scrape via compiled code. The skill queries whatever job portals the user has configured, deduplicates results, performs a lightweight fit assessment, and presents new matches sorted by relevance. It covers REQ-1001 through REQ-1012.
The search core is country-agnostic (DEC-012, ADR-0004, NFR-0007): web search is the universal mechanism. No portal, country, locale, or site: string is hardcoded here — every target comes from the companion search-queries.md config. Pasted postings are a first-class input, never a fallback (DEC-011). The skill never fabricates postings (REQ-1012, ARCH-0007).
Trigger Phrases
- "Search for jobs" / "Find new jobs" / "Any new postings?"
- "Scrape job boards" / "Run a job search"
/search(optionally with a focus area, e.g./search data science)/scrape- "Search broadly" / "Run all my queries"
- Any phrase about discovering new job postings
Companion Files
| File | When to Read |
|---|---|
search-queries.md (this skill's folder) |
Always — the query strategy, portals, geography, and location-filter tiers come from here (data-req §17) |
job_scraper/seen_jobs.json |
Always — the deduplication registry (data-req §10); create {"seen": {}} if missing |
job_search_tracker.csv (repo root) |
Always — extract already-applied company+role pairs for dedup (REQ-1002) |
01-candidate-profile.md (job-application-assistant skill) |
When forming the quick-fit signal — to know the user's core skills |
This skill never modifies search-queries.md; it only reads it.
Contract — Steps by Requirement
Invocation (REQ-1001)
- Default (
/search, no argument): run the top 3 priority categories (Priority 1–3) fromsearch-queries.md. - Focus argument (e.g.
/search data science): prioritize the query categories that match the focus term, then fill with the highest-priority remaining categories. - "broad" (
/search broad): run all query categories (Priority 1–4). - Always load state (below) before issuing any search.
- No country-specific or portal-specific identifier is hardcoded in this skill; the breadth selection operates over whatever categories the user's config defines.
What ships with it
2 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.
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 · 159 lines · 75 tokens per session scan A ba8f7a5d1052
job-scraper is a skill published in the GitHub repository suraj-davariya/ai-job-search (22 stars, last pushed 2mo ago), licensed MIT. It adds 75 tokens to every session and 2,416 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
nft-standards
Implement NFT standards (ERC-721, ERC-1155) with proper metadata handling, minting strategies, and marketplace integration. Use when creating NFT contracts, building NFT marketplaces, or implementing digital asset systems.
istio-traffic-management
Configure Istio traffic management including routing, load balancing, circuit breakers, and canary deployments. Use when implementing service mesh traffic policies, progressive delivery, or resilience patterns.
postgresql-table-design
Use this skill when designing or reviewing a PostgreSQL-specific schema. Covers best-practices, data types, indexing, constraints, performance patterns, and advanced features.
event-store-design
Design and implement event stores for event-sourced systems. Use when building event sourcing infrastructure, choosing event store technologies, or implementing event persistence patterns.
projection-patterns
Build read models and projections from event streams. Use when implementing CQRS read sides, building materialized views, or optimizing query performance in event-sourced systems.
workflow-orchestration-patterns
Design durable workflows with Temporal for distributed systems. Covers workflow vs activity separation, saga patterns, state management, and determinism constraints. Use when building long-running processes, distributed transactions, or microservice orchestration.