Linkedin Thread Monitor
sergebulaev/linkedin-skills
Track which of your LinkedIn comments earned author replies.
Pull job postings from many boards in one run and prepare one validated, deduplicated table.
$ npx skills add apify/awesome-skills --skill apify-job-boards -a claude-codeProject install by default; add -g for ~/.claude/skills/.
$ gh skill install apify/awesome-skills apify-job-boards --agent claude-codeProject scope by default; add --scope user for a personal install. Needs GitHub CLI 2.90.0 or later (public preview).
$ git clone --depth 1 https://github.com/apify/awesome-skills.git skills-src && mkdir -p .claude/skills && cp -r skills-src/skills/apify-job-boards .claude/skills/apify-job-boards && rm -rf skills-srcUse ~/.claude/skills/ instead of .claude/skills for a personal install. The folder must contain SKILL.md.
Claude Code skills documentation · loads skills from .claude/skills/
Install the "apify-job-boards" agent skill from https://github.com/apify/awesome-skills/tree/main/skills/apify-job-boards into .claude/skills/apify-job-boards/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "apify-job-boards", then confirm the skill loads.Claude Code copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$skill-installer install https://github.com/apify/awesome-skills/tree/main/skills/apify-job-boardsType this inside Codex. $skill-installer <name> installs a curated skill from openai/skills. The installer writes to $CODEX_HOME/skills (default ~/.codex/skills). Restart Codex if the skill does not show up.
$ npx skills add apify/awesome-skills --skill apify-job-boards -a codexProject install goes to .agents/skills/; add -g for ~/.codex/skills/.
$ gh skill install apify/awesome-skills apify-job-boards --agent codexProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/apify/awesome-skills.git skills-src && mkdir -p .agents/skills && cp -r skills-src/skills/apify-job-boards .agents/skills/apify-job-boards && rm -rf skills-srcUse ~/.agents/skills/ instead of .agents/skills for a personal install.
Codex skills documentation · loads skills from .agents/skills/
Install the "apify-job-boards" agent skill from https://github.com/apify/awesome-skills/tree/main/skills/apify-job-boards into .agents/skills/apify-job-boards/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "apify-job-boards", then confirm the skill loads.Codex copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$ npx skills add apify/awesome-skills --skill apify-job-boards -a cursorProject install goes to .agents/skills/; add -g for ~/.cursor/skills/.
$ gh skill install apify/awesome-skills apify-job-boards --agent cursorProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/apify/awesome-skills.git skills-src && mkdir -p .cursor/skills && cp -r skills-src/skills/apify-job-boards .cursor/skills/apify-job-boards && rm -rf skills-srcUse ~/.cursor/skills/ instead of .cursor/skills for a personal install.
Cursor skills documentation · loads skills from .cursor/skills/, .agents/skills/, .claude/skills/, .codex/skills/
Install the "apify-job-boards" agent skill from https://github.com/apify/awesome-skills/tree/main/skills/apify-job-boards into .cursor/skills/apify-job-boards/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "apify-job-boards", then confirm the skill loads.Cursor copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$ gemini skills install https://github.com/apify/awesome-skills.git --path skills/apify-job-boards--scope user (default) or --scope workspace; --path is the subfolder of the repo that holds the skill; --consent skips the security confirmation prompt.
$ npx skills add apify/awesome-skills --skill apify-job-boards -a gemini-cliProject install goes to .agents/skills/; add -g for ~/.gemini/skills/.
$ gh skill install apify/awesome-skills apify-job-boards --agent gemini-cliProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/apify/awesome-skills.git skills-src && mkdir -p .gemini/skills && cp -r skills-src/skills/apify-job-boards .gemini/skills/apify-job-boards && rm -rf skills-srcUse ~/.gemini/skills/ instead of .gemini/skills for a personal install, then run /skills reload.
Gemini CLI skills documentation · loads skills from .gemini/skills/, .agents/skills/
Install the "apify-job-boards" agent skill from https://github.com/apify/awesome-skills/tree/main/skills/apify-job-boards into .gemini/skills/apify-job-boards/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "apify-job-boards", then confirm the skill loads.Gemini CLI copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$ gh skill install apify/awesome-skills apify-job-boardsInstalls for Copilot at project scope by default; add --scope user for a personal install. Preview a skill first with gh skill preview. Needs GitHub CLI 2.90.0 or later (public preview).
$ npx skills add apify/awesome-skills --skill apify-job-boards -a github-copilotProject install goes to .agents/skills/; add -g for ~/.copilot/skills/.
$ git clone --depth 1 https://github.com/apify/awesome-skills.git skills-src && mkdir -p .github/skills && cp -r skills-src/skills/apify-job-boards .github/skills/apify-job-boards && rm -rf skills-srcUse ~/.copilot/skills/ instead of .github/skills for a personal install. Commit .github/skills so cloud agent and code review can use it.
GitHub Copilot skills documentation · loads skills from .github/skills/, .claude/skills/, .agents/skills/
Install the "apify-job-boards" agent skill from https://github.com/apify/awesome-skills/tree/main/skills/apify-job-boards into .github/skills/apify-job-boards/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "apify-job-boards", then confirm the skill loads.GitHub Copilot copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$ npx skills add apify/awesome-skills --skill apify-job-boards -a opencodeOpenCode documents no install command of its own. Project install goes to .agents/skills/; add -g for ~/.config/opencode/skills/.
$ gh skill install apify/awesome-skills apify-job-boards --agent opencodeProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/apify/awesome-skills.git skills-src && mkdir -p .opencode/skills && cp -r skills-src/skills/apify-job-boards .opencode/skills/apify-job-boards && rm -rf skills-srcUse ~/.config/opencode/skills/ instead of .opencode/skills for a personal install.
OpenCode skills documentation · loads skills from .opencode/skills/, .claude/skills/, .agents/skills/
Install the "apify-job-boards" agent skill from https://github.com/apify/awesome-skills/tree/main/skills/apify-job-boards into .opencode/skills/apify-job-boards/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "apify-job-boards", then confirm the skill loads.OpenCode copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
apify-job-boardsPull job postings from many boards in one run and prepare one validated, deduplicated table.
Apify Job Boards is an agent skill from apify/awesome-skills, published by the product's own GitHub organization. Pull job postings from many boards in one run and prepare one validated, deduplicated table. Routes "find jobs / scrape job postings / build a job list / monitor new jobs / track a company's careers page" requests to a multi-board job scraper (LinkedIn, Indeed, Glassdoor, The Muse plus keyless boards) or a remote-only aggregator (RemoteOK, We Work Remotely, Remotive, Jobicy, Himalayas, HN Who is hiring), with output-locality checks, per-board raw/qualified/deduplicated counts, only-new-jobs monitoring, per-board…
Its SKILL.md is about 3.5k tokens, which your agent loads only when the skill is triggered. It is a single SKILL.md file with no bundled scripts.
It sits in Data & Analytics, covering Web scraping. It works with Apify and LinkedIn. The repository describes itself as: Community collection of Apify agent skills for AI coding assistants. The licence is Apache-2.0.
5 steps, taken from the step headings in SKILL.md.
Read from SKILL.md and the folder at commit 1eb0cd0. It shows what the files ask for, not the result of running them.
Pre-approves nothing: there is no allowed-tools line, so your agent's usual permission prompts apply.
From allowed-tools in the SKILL.md frontmatter.
No scripts in the folder and no shell commands in SKILL.md (its code samples are json).
From the folder's file list and the shell code blocks in SKILL.md.
Hosts in commands or code, which the agent is likely to contact:
hooks.slack.comAlso links to:
github.comapify.comconsole.apify.comFrom URLs in SKILL.md, links to its own repository left out.
Names these keys or tokens, usually read from environment variables:
APIFY_TOKENFrom names ending in _API_KEY, _TOKEN, _SECRET, _KEY or _PASSWORD in SKILL.md.
Apify Job Boards loads about 3.5k tokens when it runs. Until then it costs about 199 tokens; SKILL.md has 1,667 words of instructions outside code blocks.
Estimates: characters ÷ 4, the usual rule of thumb; real counts depend on the model's tokenizer. Scripts and assets cost tokens only if the agent reads them.
The automated check found no risky patterns in SKILL.md.
Automated static check — not a guarantee. Review scripts before installing. It scans the text of SKILL.md for risky patterns (piping downloads into a shell, reading credential files, hidden Unicode, destructive commands); files beside SKILL.md are not scanned.
The full file from apify/awesome-skills at commit 1eb0cd0, republished under its Apache-2.0 licence (© apify). 1,667 words, ~3,508 tokens.
.claude/skills/apify-job-boards/SKILL.md (or your agent's skills folder).Disclosure: the author of this skill owns both Actors it routes to (flash_scraper/multi-jobboard-scraper and flash_scraper/remote-job-aggregator). They are pay-per-result Actors on the Apify Store; no referral or tracking parameters are used anywhere in this skill.
Turn "I need job postings" into one validated, deduplicated dataset by routing the request to the right multi-board Actor, sizing the run so the user knows the cost before it starts, checking the returned locations and vacancy identities, and returning the rows with the board each job was found on. Treat the Actor output as raw input to these checks, not as proof that its location filtering or deduplication succeeded.
Prompts this skill handles:
For the Austin request, try all three requested boards, then validate each returned location and vacancy identity before delivery. If Glassdoor returns only wrong-city or unverifiable rows, deliver the qualified LinkedIn and Indeed rows as a partial result and report Glassdoor's raw, qualified and deduplicated counts as a board failure. Do not claim three-board coverage merely because Glassdoor returned rows.
Out of scope (the boundary):
apify login (OAuth, if using the Apify CLI)APIFY_TOKEN environment variableNever paste a token into a URL or into a file inside this skill; pass it as Authorization: Bearer (the CLI does this for you).
Copy this checklist and track progress:
Task Progress:
- [ ] Step 1: Get the four anchors (what, where, remote-only?, how many)
- [ ] Step 2: Route to the Actor
- [ ] Step 3: Build the input and state the cost
- [ ] Step 4: Run and wait
- [ ] Step 5: Validate and deliver: locality, vacancy identity, per-board counts and failuresAsk these as one block; do not start a run without them.
data analyst, registered nurse. Several are fine.Chicago, IL, or "remote".Optional follow-ups, only if the user raises them: posted-within window, salary required, job type, exclude staffing agencies, company watch list, Slack/Discord webhook for alerts.
| User need | Actor ID | Tier | Best for |
|---|---|---|---|
| Jobs by role + location across the big boards | flash_scraper/multi-jobboard-scraper | community | LinkedIn, Indeed, Glassdoor, The Muse by default; 8 more keyless boards optional; returns raw candidates that still require locality and vacancy-identity validation |
| Remote-only jobs from the remote boards | flash_scraper/remote-job-aggregator | community | RemoteOK, We Work Remotely, Working Nomads, DevITjobs, The Muse, Remotive, Jobicy, Himalayas, HN "Who is hiring", Arbeitnow (opt-in); cheapest per row |
| Watch named companies' careers pages | flash_scraper/multi-jobboard-scraper with atsCompanies | community | Greenhouse, Lever, Ashby and other ATS boards read directly; combine with onlyNewJobs for a daily alert |
Rule of thumb: a city or country in the request → multi-board scraper. "Remote" and nothing else → remote aggregator. Both Actors run without an API key, login or cookies.
Check the live input schema before building input (fields change; the schema wins over this file):
apify actors info "flash_scraper/multi-jobboard-scraper" --input --json \
--user-agent apify-awesome-skills/apify-job-boards 2>/dev/null
apify actors info "flash_scraper/remote-job-aggregator" --input --json \
--user-agent apify-awesome-skills/apify-job-boards 2>/dev/nullMulti-board (city/region search). Field names as in the live schema:
{
"searchTerm": "data analyst",
"location": "Chicago, IL",
"sites": ["linkedin", "indeed", "glassdoor", "muse"],
"maxResults": 20,
"countryIndeed": "usa",
"strictKeywordMatch": true
}sites accepts: linkedin, indeed, glassdoor, muse, remotive, jobicy, himalayas, hn_hiring, devitjobs_us, devitjobs_uk, remoteok, weworkremotely, working_nomads. Leave out google, zip_recruiter, bayt, bdjobs, naukri: they are in the enum for backwards compatibility but blocked at the source, and the run report will say so.maxResults is per board, so 4 boards × 20 = up to 80 rows before deduplication.strictKeywordMatch: true drops rows whose title and description never mention the search term (LinkedIn in particular returns loosely related postings). Filtered rows are not billed.isRemote: true restricts to remote postings and auto-adds the remote boards.searchTerms / locations arrays instead of the singular fields."atsCompanies": ["stripe", "openai"] reads their Greenhouse/Lever/Ashby boards directly; add "onlyNewJobs": true on a schedule so each run delivers only postings it has not sent before (the Actor remembers what it delivered for 90 days)."webhookUrl": "https://hooks.slack.com/..." posts a digest of new rows to Slack, Discord or any webhook.Remote aggregator. Field names as in the live schema:
{
"searchTerms": ["python"],
"boards": ["remoteok", "weworkremotely", "remotive", "jobicy", "himalayas", "hn_hiring"],
"maxItems": 100,
"matchDescriptions": true,
"postedWithinDays": 7
}matchDescriptions: true matches the keyword in descriptions as well as titles (the README's measured example: 28 rows title-only vs 194 with descriptions for python).salaryMinAnnual, seniority, countries, excludeKeywords are cheap filters that run before billing.onlyNewJobs and webhookUrl work the same way as above.Cost, stated before the run. Both Actors bill per delivered row; filtered and deduplicated rows are not billed. Read the current price from the Store Pricing tab (the schema fetch in Step 2 also returns the pricing block). At the time of writing the free-plan rate is $0.005 per job on the multi-board scraper and $0.002 per job on the remote aggregator; paid plans pay less. So a first multi-board run of 4 boards × 20 rows costs at most about $0.40 and usually less after deduplication; a 100-row remote run about $0.20. If the user asks for more than 500 rows, say the number and confirm before running.
apify actors call "flash_scraper/multi-jobboard-scraper" -i '{"searchTerm":"data analyst","location":"Chicago, IL","sites":["linkedin","indeed","glassdoor","muse"],"maxResults":20,"strictKeywordMatch":true}' \
--json \
--user-agent apify-awesome-skills/apify-job-boards \
2>/dev/null
apify actors call "flash_scraper/remote-job-aggregator" -i '{"searchTerms":["python"],"maxItems":100,"matchDescriptions":true,"postedWithinDays":7}' \
--json \
--user-agent apify-awesome-skills/apify-job-boards \
2>/dev/nullTypical durations: a 4-board, 20-per-board multi-board run finishes in about a minute; the remote aggregator answers a 100-row query in under a minute, and a 20-row query on the four single-request boards in a few seconds. The JSON output contains defaultDatasetId; fetch the rows with:
apify datasets get-items DATASET_ID --format json \
--user-agent apify-awesome-skills/apify-job-boards 2>/dev/nullTreat the downloaded dataset as raw output. Before delivery:
location against the requested city, region and country. Keep matching rows as qualified; separate wrong-location and missing or unverifiable locations. A board answered only if it produced qualified rows, not merely raw rows.found_on_sites or duplicate_count says the Actor already merged them. Merge rows only when their stable identity matches, combine their source boards, and retain genuinely distinct requisitions. Preserve the locality decision for each source row; a duplicate link must not turn an excluded location into qualified coverage.Report, in this order:
found_on_sites and duplicate_count are useful evidence but are not proof that deduplication is complete.title, company, location, site, date_posted, job_url, found_on_sites, duplicate_count; the dataset has 54 stable columns, all listed in the Actor README under "Output fields". Do not invent columns: if a field the user wants is not in the dataset, say so.Report saved:).Salary is present only where a board publishes it (roughly a third of postings on the big boards); set requireSalary: true on the multi-board scraper if the user needs salary on every row, and warn that the row count will drop.
maxResults.strictKeywordMatch: true (multi-board) or strictFilters: true (remote); both filter before billing.duplicate_count; merge confirmed matching identities across or within a board, but do not merge on company + normalized title alone because separate requisitions can share both.countryIndeed errors → Indeed and Glassdoor need a country code (usa, uk, canada, ...); the location string alone does not set it.onlyNewJobs: true an empty run means no new postings since the last delivery, which is the expected result, not a failure. The run's status message says so.maxResults is per board and sites may include boards the user did not mean; list the boards and the cap back to the user before the next run.© apify, Apache-2.0. Rendered from Markdown: HTML in the file is shown as text, images as links, and headings moved down two levels. Raw file
Just SKILL.md in skills/apify-job-boards of apify/awesome-skills.
Open the folder on GitHubat commit 1eb0cd0
Apify Job Boards next to the 5 skills that share the most tags, products or categories with it. Stars are the repository's; “used in” counts other GitHub owners with a copy.
| Skill | Stars | Used in | Tokens | Auto-check | Licence | Repo updated |
|---|---|---|---|---|---|---|
| Apify Job Boards this skillapify/awesome-skills | 265 | — | ~3.5k | Automated safety check: Pass | Apache-2.0 | |
| Linkedin Thread Monitorsergebulaev/linkedin-skills | 4.4k | 1 repos | ~1.4k | Automated safety check: Pass | MIT | |
| Linkedin Profile Post Scrapergooseworks-ai/goose-skills | 1.2k | 1 repos | ~495 | Automated safety check: Pass | MIT | |
| Job Scrapergooseworks-ai/goose-skills | 1.2k | 1 repos | ~2.6k | Automated safety check: Notes | MIT | |
| Lead Qualificationgooseworks-ai/goose-skills | 1.2k | 1 repos | ~3.8k | Automated safety check: Pass | MIT | |
| Signal Scannergooseworks-ai/goose-skills | 1.2k | 1 repos | ~1.4k | Automated safety check: Notes | MIT |
sergebulaev/linkedin-skills
Track which of your LinkedIn comments earned author replies.
gooseworks-ai/goose-skills
Scrape recent posts from LinkedIn profiles using Apify. An agent skill from gooseworks-ai/goose-skills.
gooseworks-ai/goose-skills
Search for job postings across LinkedIn and Indeed. An agent skill from gooseworks-ai/goose-skills.
gooseworks-ai/goose-skills
Lead qualification engine with conversational intake. An agent skill from gooseworks-ai/goose-skills.
gooseworks-ai/goose-skills
Detect buying signals across TAM companies and watchlist personas.
gooseworks-ai/goose-skills
Find speakers, hosts, and guest profiles at conferences and events on Luma.
apify/awesome-skills
Set up a recurring buying-signal detection pipeline that finds companies showing buying intent across three signal types — job postings (hiring for the persona), fundraising events (recent raises)…
apify/awesome-skills
Score and enrich a CSV of B2B leads using Apify Actors. An agent skill from apify/awesome-skills.
apify/awesome-skills
Pull structured Apple App Store and Google Play data — app metadata, price, rating, the 1–5★ ratings histogram, version, developer, and reviews — and watch it for changes over time.
apify/awesome-skills
Scrape Ashby jobs or discover companies using Ashby with the Apify Ashby Job Board API Actor (johnvc/ashby-job-board-scraper).
apify/awesome-skills
Pull structured B2B company data from Clutch.co with the Clutch.co Agency API Actor (johnvc/clutch-agency-api).
apify/awesome-skills
Build a local-business lead database from Google Maps in one Apify pipeline: search by target audience + geography, enrich each place with company contacts from its website, leads enrichment (names…
Categories
Pull job postings from many boards in one run and prepare one validated, deduplicated table. Apify Job Boards is an agent skill from apify/awesome-skills, published by the product's own GitHub organization. Pull job postings from many boards in one run and prepare one validated, deduplicated table.
Apify Job Boards fits situations like: the user asks to scrape jobs across job boards; glassdoor postings without an API key; collect remote developer jobs; watch a companys Greenhouse/Lever/Ashby careers page.
Run `npx skills add apify/awesome-skills --skill apify-job-boards -a claude-code`. Or copy the skill folder (skills/apify-job-boards in apify/awesome-skills) into .claude/skills/apify-job-boards in your project. Claude Code loads it when a task matches its description.
Run `npx skills add apify/awesome-skills --skill apify-job-boards -a codex`. Or copy the skill folder (skills/apify-job-boards in apify/awesome-skills) into .agents/skills/apify-job-boards in your project. Codex loads it when a task matches its description.
Cursor, Gemini CLI, GitHub Copilot and OpenCode also load SKILL.md folders. With the skills CLI, run `npx skills add apify/awesome-skills --skill apify-job-boards -a cursor` (or -a gemini-cli, github-copilot or opencode for the others). To copy it by hand, put the folder in .cursor/skills/apify-job-boards, .gemini/skills/apify-job-boards, .github/skills/apify-job-boards and .opencode/skills/apify-job-boards in your project.
Going by SKILL.md and its folder, Apify Job Boards needs credentials named APIFY_TOKEN. Our summary lists: Python 3; A credential in APIFY_TOKEN.
SKILL.md names 4 domains. In commands or code: hooks.slack.com; the agent is likely to contact it when it follows the instructions. As links in the text: github.com, apify.com and console.apify.com. This is read from the text; nothing was executed.
Our automated static check of SKILL.md found no risky patterns, such as piping downloads into a shell, reading credential files or hidden Unicode. It is not a guarantee. Review the folder before installing.
Apify Job Boards is published under the Apache-2.0 licence (the repository's licence). It allows redistribution, so the full SKILL.md is shown on this page.
About 3.5k tokens (SKILL.md is roughly 14k characters). Agents keep only the skill's name and description in context until a task matches; then they load SKILL.md in full.
Skills that share tags, products or a category with Apify Job Boards: Linkedin Thread Monitor (sergebulaev/linkedin-skills, 4.4k stars), Linkedin Profile Post Scraper (gooseworks-ai/goose-skills, 1.2k stars), Job Scraper (gooseworks-ai/goose-skills, 1.2k stars) and Lead Qualification (gooseworks-ai/goose-skills, 1.2k stars). The comparison table on this page puts their stars, adoption, token cost, safety result and licence side by side.
apify (a GitHub organization, an official publisher) maintains it in apify/awesome-skills, which has 265 GitHub stars. The repository holds 25 skills in this directory. The repository was last updated on September 22, 2026.
Source: apify/awesome-skills on GitHub. Facts on this page come from the repository at the commit we read; the author's words are quoted as theirs.