Mfrostbutter

Agentic Job Pipeline — Data skill for Claude Code

Data community

Open-source n8n + Apify + Claude pipeline that scrapes, scores, and drafts application packages for LinkedIn jobs.

How to install Agentic Job Pipeline

This entry records only its repository, not the path inside it, so there is no exact command to give. Open Mfrostbutter/agentic-job-pipeline and copy the folder into ~/.claude/skills/, or the file into ~/.claude/agents/.

What Agentic Job Pipeline does

Open-source n8n + Apify + Claude pipeline that scrapes, scores, and drafts application packages for LinkedIn jobs. Swap the filters and it retargets into a recruiter lead-gen tool.

Alternatives in Data

  • Notion Sync — /notion-sync - Push Ranked Jobs and Applications to a Notion Database 36.6k ★
  • Osint Employees — Gather employee names + email patterns for password spray prep 4.5k ★
  • n8n Code JavaScript — JavaScript in n8n Code nodes with data access patterns 3.6k ★

README

Job Pipeline

Scrape LinkedIn jobs daily, score them against your own rubric, triage them with a Claude agent, review the survivors in a web UI, and let a second agent draft the application package for the ones you pick. Postgres holds the state, n8n runs the automation, FastAPI serves the UI and the agents.

Point it one way and it is a job-hunting machine. Swap the filters and the profile and it is a recruiter's sourcing and warm-outreach engine; see [docs/RECRUITER-MODE.md](docs/RECRUITER-MODE.md). Either way the shape is the same: **scrape, score, human review, agent draft.**

**Setting this up with an AI assistant?** Paste [AI-SETUP-PROMPT.md](AI-SETUP-PROMPT.md) into Claude, ChatGPT, or your agent of choice and it will walk you (or itself) through the whole install.

![Job queue](https://raw.githubusercontent.com/Mfrostbutter/agentic-job-pipeline/main/docs/screenshots/queue.png)

How it works

                       ┌────────────────────────── n8n ──────────────────────────┐
  schedule / webhook → │ Config → LinkedIn scrape (Apify) → normalize → dedup     │
  custom-scrape form → │ → score → Postgres (jobs + seen_jobs) → Slack digest     │
                       └───────────────┬──────────────────────────────────────────┘
                                       │ POST /jobs/review
                       ┌───────────────▼───────────── FastAPI ────────────────────┐
                       │ review_new_jobs.py  (Claude Haiku triage: Top/Second/    │
                       │   Reject, grounded in YOUR profile + rubric)             │
                       │ web UI: queue, tier overrides, build flags, editor       │
                       │ build_packages.py   (Claude Sonnet writes resume.md,     │
                       │   Haiku critic scores it, Sonnet revises weak spots,     │
                       │   WeasyPrint renders the PDF)                            │
                       └──────────────────────────────────────────────────────────┘
  • **T