Linkedin Message Writer
gooseworks-ai/goose-skills
Research LinkedIn profiles and write personalized messages for any LinkedIn message type — connection requests, InMails, DMs, message requests, post comments, and comment replies.
Score and enrich a CSV of B2B leads using Apify Actors. An agent skill from apify/awesome-skills.
$ npx skills add apify/awesome-skills --skill apify-lead-scoring-enrichment -a claude-codeProject install by default; add -g for ~/.claude/skills/.
$ gh skill install apify/awesome-skills apify-lead-scoring-enrichment --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-lead-scoring-enrichment .claude/skills/apify-lead-scoring-enrichment && 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-lead-scoring-enrichment" agent skill from https://github.com/apify/awesome-skills/tree/main/skills/apify-lead-scoring-enrichment into .claude/skills/apify-lead-scoring-enrichment/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "apify-lead-scoring-enrichment", 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-lead-scoring-enrichmentType 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-lead-scoring-enrichment -a codexProject install goes to .agents/skills/; add -g for ~/.codex/skills/.
$ gh skill install apify/awesome-skills apify-lead-scoring-enrichment --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-lead-scoring-enrichment .agents/skills/apify-lead-scoring-enrichment && 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-lead-scoring-enrichment" agent skill from https://github.com/apify/awesome-skills/tree/main/skills/apify-lead-scoring-enrichment into .agents/skills/apify-lead-scoring-enrichment/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "apify-lead-scoring-enrichment", 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-lead-scoring-enrichment -a cursorProject install goes to .agents/skills/; add -g for ~/.cursor/skills/.
$ gh skill install apify/awesome-skills apify-lead-scoring-enrichment --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-lead-scoring-enrichment .cursor/skills/apify-lead-scoring-enrichment && 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-lead-scoring-enrichment" agent skill from https://github.com/apify/awesome-skills/tree/main/skills/apify-lead-scoring-enrichment into .cursor/skills/apify-lead-scoring-enrichment/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "apify-lead-scoring-enrichment", 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-lead-scoring-enrichment--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-lead-scoring-enrichment -a gemini-cliProject install goes to .agents/skills/; add -g for ~/.gemini/skills/.
$ gh skill install apify/awesome-skills apify-lead-scoring-enrichment --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-lead-scoring-enrichment .gemini/skills/apify-lead-scoring-enrichment && 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-lead-scoring-enrichment" agent skill from https://github.com/apify/awesome-skills/tree/main/skills/apify-lead-scoring-enrichment into .gemini/skills/apify-lead-scoring-enrichment/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "apify-lead-scoring-enrichment", 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-lead-scoring-enrichmentInstalls 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-lead-scoring-enrichment -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-lead-scoring-enrichment .github/skills/apify-lead-scoring-enrichment && 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-lead-scoring-enrichment" agent skill from https://github.com/apify/awesome-skills/tree/main/skills/apify-lead-scoring-enrichment into .github/skills/apify-lead-scoring-enrichment/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "apify-lead-scoring-enrichment", 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-lead-scoring-enrichment -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-lead-scoring-enrichment --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-lead-scoring-enrichment .opencode/skills/apify-lead-scoring-enrichment && 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-lead-scoring-enrichment" agent skill from https://github.com/apify/awesome-skills/tree/main/skills/apify-lead-scoring-enrichment into .opencode/skills/apify-lead-scoring-enrichment/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "apify-lead-scoring-enrichment", 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-lead-scoring-enrichmentScore and enrich a CSV of B2B leads using Apify Actors. An agent skill from apify/awesome-skills.
Apify Lead Scoring Enrichment is an agent skill from apify/awesome-skills, published by the product's own GitHub organization. Score and enrich a CSV of B2B leads using Apify Actors. Takes a CSV with company URLs, free-text scoring rules, and an enrichment preference; runs BuiltWith (tech stack), Website Content Crawler (content classification), and Contact Info Scraper (company metadata) for scoring; enriches with either department-specific contacts (Contact Info Scraper + Bulk Email Finder fallback) or copywriter discovery (Google Search Scraper → AI Web Scraper → Bulk Email Finder). Outputs an enriched CSV with a numeric score and a…
Its SKILL.md is about 4.4k tokens, which your agent loads only when the skill is triggered. The skill folder holds 15 other files, including scripts and reference files (for example `examples/scoring-rules.example.md`, `references/actor-index.md` and `references/gotchas.md`).
It sits in Data & Analytics, covering Web scraping, Copywriting and Lead generation. It works with Apify and Shopify. The repository describes itself as: Community collection of Apify agent skills for AI coding assistants. The licence is Apache-2.0.
7 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.
Ships 7 files in scripts/ (JavaScript), which the agent can run.
Shell commands in SKILL.md call:
nodenpmFrom 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:
acme.comAlso links to:
apify.comconsole.apify.commcp.apify.comdocs.apify.comgithub.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 Lead Scoring Enrichment loads about 4.4k tokens when it runs, and up to ~7.7k if it reads all its reference files. Until then it costs about 247 tokens; SKILL.md has 1,852 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 noted patterns worth knowing about, such as sudo or a known installer.
- A `.env` file at the skill root containing `APIFY_TOKEN=apify_api_...`node --env-file=.env scripts/run_scoring.js \node --env-file=.env scripts/enrich_departments.js \node --env-file=.env scripts/enrich_copywriters.js \N not set`** — the scripts read it from `.env` via `node --env-file=.env`. Ensure `.env` is at the directory you `cd`'dAutomated 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); the scripts in this folder are not scanned.
The full file from apify/awesome-skills at commit 1eb0cd0, republished under its Apache-2.0 licence (© apify). 1,852 words, ~4,414 tokens.
.claude/skills/apify-lead-scoring-enrichment/SKILL.md (or your agent's skills folder). This skill also uses 12 other files; get the full folder from GitHub.Turn a CSV of company URLs into a scored, contact-enriched pitch list. The agent asks the user for scoring rules in plain English ("+10 if using Shopify", "-5 if company size <10"), picks an enrichment path (departments or copywriters), and orchestrates six Apify Actors through four helper scripts.
APIFY_TOKEN (Console → Settings → Integrations)--env-file support).env file at the skill root containing APIFY_TOKEN=apify_api_...scripts/: npm install (installs csv-parse, csv-stringify)Optional but recommended: the Apify CLI (npm i -g apify-cli) for ad-hoc Actor
calls. The helper scripts hit the REST API directly and do not need the CLI.
Copy this checklist and track progress:
Task Progress:
- [ ] Step 1: Collect CSV path and validate required column (company_url)
- [ ] Step 2: Collect scoring rules per source (tech / content / metadata)
- [ ] Step 3: Collect enrichment path (departments OR copywriters)
- [ ] Step 4: Run scoring Actors (writes scoring.json)
- [ ] Step 5: Apply scoring rules per lead → assign per-source scores + outreach_hook (writes scored.json)
- [ ] Step 5b: Compute theoretical min/max score, ask user for qualification threshold, filter leads → qualified_leads.csv
- [ ] Step 6: Run enrichment path against qualified_leads.csv (writes enrichment.json)
- [ ] Step 7: Merge scoring + enrichment onto the ORIGINAL CSV → leads.enriched.csv (qualified column marks who made the cut)Ask the user for the CSV path. Required column: company_url. Recognized
optional columns pass through untouched: company_name, first_name,
last_name, role, department. Reject the run if company_url is
missing. Trim to a bare domain (strip trailing slash, www. optional) when
feeding downstream Actors that expect a domain.
Ask one question per source so it's obvious to the user (and to you at
Step 5) which data each rule tests. Ask only for the sources the user
wants to fetch — each source has a matching --enable-* flag in Step 4.
2a. Tech-stack rules — applied against
scoring.json[url].tech (BuiltWith output). Only ask if the user wants
--enable-tech. Example rules to show:
2b. Website-content rules — applied against
scoring.json[url].content (Website Content Crawler markdown/text). Only
ask if the user wants --enable-content. Also ask for maxCrawlDepth
here (default 0 = homepage only; higher = more $). Example rules:
2c. Company-metadata rules — applied against
scoring.json[url].metadata (Contact Info Scraper metadata). Only ask if
the user wants --enable-metadata. Example rules:
Store each rule block verbatim, tagged with its source. If the user folds a metadata rule into the tech block (e.g. "+3 if size >50" under tech), re-file it to the correct block before Step 5 and tell them why.
Any source the user has no rules for should also be dropped from the
Step 4 --enable-* flags — no point paying for a signal you won't
score on. Full example rule sets: examples/scoring-rules.example.md.
Ask: "Which enrichment path?
site:{domain} blog, extract author names from top posts, find their emails. Good for guest-post outreach."For Path A, collect two more inputs:
c_suite, product, engineering_technical, design, education,
finance, human_resources, information_technology, legal,
marketing, medical_health, operations, sales, consulting.
Example: marketing,sales.max_leads × domain_count > 500.For Path B no additional input is needed.
node --env-file=.env scripts/run_scoring.js \
--input leads.csv \
--output scoring.json \
--enable-tech --enable-content --enable-metadata \
--content-crawl-depth 0run_scoring.js batches all URLs into a single call per enabled Actor (not
one call per lead), then reshapes the datasets into a per-URL sidecar so the
agent can look up every signal by company_url. Actors that weren't
--enable-*'d are skipped. Read the resulting scoring.json — its shape
is { "https://acme.com": { "tech": {...}, "content": {...}, "metadata": {...} }, ... }.
For each lead in scoring.json, run one pass per source using only
that source's rules from Step 2. This keeps the score auditable — if
content_score = -5 on a lead the user expected to convert, you can
inspect exactly which content rule fired without re-deriving the whole
computation.
Produce five fields per lead:
tech_score (number, or null if --enable-tech was off) — sum of
Step 2a rule deltas against scoring.json[url].tech.content_score (number, or null if --enable-content was off) —
sum of Step 2b rule deltas against scoring.json[url].content.metadata_score (number, or null if --enable-metadata was off) —
sum of Step 2c rule deltas against scoring.json[url].metadata.score (number) — sum of the three above, treating null as 0.outreach_hook (string, one sentence) — the single most-personalizable
signal across all sources: a specific CMS ("uses Shopify"), a
named analytics tool, an industry match, a hiring signal in the copy
— whatever a human sales rep would open the email with.The null vs 0 distinction matters: a source that wasn't fetched must
not be conflated with a source that was fetched and simply scored zero.
Downstream CSV columns render null as blank, 0 as "0".
Store scored rows as an intermediate scored.json (agent writes it
directly, keyed by canonical https://domain), then pass it to
filter_qualified.js at Step 5b and to merge_output.js at Step 7.
Enrichment is the expensive part — running it on unqualified leads burns credits with no ROI. Gate it with a user-set threshold before you call any enrichment Actor.
Compute the theoretical score range from the Step 2 rules the
user gave. For each source's rule set, sum every positive delta into
max_source and every negative delta into min_source. Then
min_total = min_tech + min_content + min_metadata and same for
max_total. This is a hard bound: no lead can score outside it.
Also compute the observed range from scored.json — the actual
minimum and maximum score values across all leads. Often the
observed range is much narrower than the theoretical one.
Present both to the user, plus a rough tiering suggestion:
*"Theoretical range: {min_total} to {max_total}. Observed range in your list: {observed_min} to {observed_max} across {n_leads} leads. Distribution: {count above 75th percentile} / {count above 50th percentile} / {count above 25th percentile} at those thresholds. What threshold do you want? Leads scoring at or above the threshold move to enrichment; everything below is flagged in the final CSV as
qualified=falseand skipped."*
Recommend the 75th-percentile score as a starting point if the user is unsure — enrichment cost drops ~75% while keeping the top of the funnel. Warn if their chosen threshold would qualify 0 leads or qualify all of them (no filtering).
Mark qualified: true|false on every row in scored.json based
on the chosen threshold (write it back), then run:
node scripts/filter_qualified.js \
--leads leads.csv \
--scores scored.json \
--output qualified_leads.csvfilter_qualified.js is a pure-Node CSV filter — it reads
scored.json, keeps only rows where qualified === true, and
writes them to qualified_leads.csv preserving all original columns.
The full lead list (including unqualified rows) still lives in the
original leads.csv — Step 7's merge uses that as the join base.
Feed qualified_leads.csv from Step 5b into the enrichment scripts,
not the original leads.csv. This is where the threshold gate pays for
itself.
Path A — Department contacts:
node --env-file=.env scripts/enrich_departments.js \
--input qualified_leads.csv \
--department marketing,sales \
--max-leads 5 \
--output enrichment.jsonAdd --verify-emails to also validate every returned email (small extra
charge per verified/invalid/disposable result; catch-all and unknown are
free per the Actor docs).
Path B — Copywriter hunt:
node --env-file=.env scripts/enrich_copywriters.js \
--input qualified_leads.csv \
--output enrichment.jsonPath A calls vdrmota/contact-info-scraper with the Business leads
enrichment add-on enabled (maximumLeadsEnrichmentRecords +
leadsEnrichmentDepartments) so the Actor returns actual people
per domain — name, title, work email, LinkedIn. For any lead that comes
back without a resolved email, the script calls
scalelist/email-finder on the (firstName, lastName, domain)
triple as a fallback. Path B chains
apify/google-search-scraper → apify/ai-web-scraper (with the
get-author-name-from-blog-post
example input) → scalelist/email-finder.
node scripts/merge_output.js \
--leads leads.csv \
--scoring scoring.json \
--enrichment enrichment.json \
--scores scored.json \
--output leads.enriched.csvNote that --leads is the original leads.csv, not
qualified_leads.csv. That way every input lead appears in the final
CSV — unqualified ones simply have blank enrichment columns and
qualified=false. This preserves the audit trail: you can see which
leads got scored below threshold and why.
merge_output.js is pure Node (no Actor calls). It left-joins on
company_url and emits leads.enriched.csv with the original columns plus:
tech_summary, content_summary, company_size, industry,
tech_score, content_score, metadata_score, score (sum),
qualified (true / false — matches Step 5b threshold), outreach_hook,
leads (full JSON of the per-domain people found via Path A),
lead_names and lead_titles (semicolon-separated summaries for CSV
readability), emails (semicolon-separated), and authors (Path B).
| User intent | Actor | Tier | Notes |
|---|---|---|---|
| Detect tech stack | builtwith/builtwith-official-technology-scraper | community | Input: { "startDomains": ["acme.com", ...] } (bare domains, no protocol). CMS, analytics, hosting drive outreach hooks. |
| Website content classification | apify/website-content-crawler | apify | Set maxCrawlDepth: 0 for homepage only; higher = more $. |
| Company metadata (scoring path) | vdrmota/contact-info-scraper | community | Add-on OFF. Returns emails/phones/socials + company metadata from About/Contact pages. |
| Dept-specific leads (Path A enrichment) | vdrmota/contact-info-scraper | community | Add-on ON via maximumLeadsEnrichmentRecords + leadsEnrichmentDepartments (enum). Returns actual people: name, title, work email, LinkedIn. |
| Blog discovery | apify/google-search-scraper | apify | Query site:{domain} blog, resultsPerPage: 5. |
| Blog author extraction | apify/ai-web-scraper | apify | Use example get-author-name-from-blog-post. |
| Email finder fallback | scalelist/email-finder | community | Input: { "leads": [{ "first_name", "last_name", "company_domain" }] }. Called only for leads with a name but no email. |
Full input schemas and quirks: references/actor-index.md.
Every apify CLI call must carry three flags (CI-enforced):
apify actors call ACTOR_ID \
-i 'JSON_INPUT' \
--user-agent apify-awesome-skills/apify-lead-scoring-enrichment \
--json 2>/dev/nullapify actors info ACTOR_ID --input \
--user-agent apify-awesome-skills/apify-lead-scoring-enrichment \
--json 2>/dev/nullapify datasets get-items DATASET_ID \
--user-agent apify-awesome-skills/apify-lead-scoring-enrichment \
--format json 2>/dev/nullThe helper scripts use the REST API directly and set the same
apify-awesome-skills/apify-lead-scoring-enrichment user-agent header on
every request, so attribution is consistent whether you drive by CLI or by
script.
If you skip the helper scripts, you still need to apply the Step 5 scoring logic yourself and produce the final CSV.
APIFY_TOKEN not set — the scripts read it from .env via node --env-file=.env. Ensure .env is at the directory you cd'd into, not in the skill dir. Absolute paths help: node --env-file=/abs/path/.env scripts/....fetch failed on Node <20.6 — --env-file requires 20.6+. Check node --version. Upgrade or export APIFY_TOKEN manually in the shell.acme.com) not the full URL, and retry the failed rows only.c_suite alongside marketing) or fall back to the copywriter path for that segment.scalelist/email-finder on (firstName, lastName, domain). If the fallback also returns nothing, the person's email is genuinely not in Scalelist's index — try LinkedIn Sales Navigator manually or drop the row.run_scoring.js v1. Re-run against a smaller CSV slice. See references/gotchas.md for cost estimates per Actor.© 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
SKILL.md and 12 other files (scripts, references) in skills/apify-lead-scoring-enrichment of apify/awesome-skills.
Open the folder on GitHubat commit 1eb0cd0
Apify Lead Scoring Enrichment 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 Lead Scoring Enrichment this skillapify/awesome-skills | 266 | — | ~4.4k | Automated safety check: Notes | Apache-2.0 | |
| Linkedin Message Writergooseworks-ai/goose-skills | 1.2k | 1 repos | ~3.4k | Automated safety check: Notes | MIT | |
| Apify Multi-Platform Scraperapify/agent-skills | 2.4k | 2 repos | ~1.4k | Automated safety check: Notes | None | |
| Champion Trackergooseworks-ai/goose-skills | 1.2k | 1 repos | ~1.1k | Automated safety check: Notes | MIT | |
| Fullenrich Event AttendeesOthmane-Khadri/YALC-the-GTM-operating-system | 318 | — | ~1.4k | Automated safety check: Warn | MIT | |
| Etsy Product Detailbrowser-act/skills | 6.1k | — | ~2.3k | Automated safety check: Pass | MIT |
gooseworks-ai/goose-skills
Research LinkedIn profiles and write personalized messages for any LinkedIn message type — connection requests, InMails, DMs, message requests, post comments, and comment replies.
apify/agent-skills
Scrapes public data from social, maps, search and review platforms by choosing from about a hundred Apify Actors and running them through the Apify CLI.
gooseworks-ai/goose-skills
Track product champions for job changes and qualify their new companies against ICP.
Othmane-Khadri/YALC-the-GTM-operating-system
A skill your agent uses when the user says "enrich this LinkedIn event", "enrich attendees of this event", "enrich this attendees CSV", "scrape and enrich LinkedIn event {URL}", "FullEnrich event…
browser-act/skills
Etsy product detail scraper: given an Etsy listing URL, returns full product detail including listingId, title, priceCurrent, priceOriginal, currency, images (all), description, shopName, shopUrl…
sickn33/agentic-awesome-skills
Scrape leads from multiple platforms using Apify Actors. An agent skill from sickn33/agentic-awesome-skills.
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
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…
apify/awesome-skills
Build a marketing agency database from Clutch.co with the Clutch.co Agency API Actor (johnvc/clutch-agency-api).
Categories
Score and enrich a CSV of B2B leads using Apify Actors. An agent skill from apify/awesome-skills. Apify Lead Scoring Enrichment is an agent skill from apify/awesome-skills, published by the product's own GitHub organization. Score and enrich a CSV of B2B leads using Apify Actors.
Apify Lead Scoring Enrichment fits situations like: user asks to score leads; enrich a lead list; detect a companys tech stack for outreach; find marketing/sales/engineering contacts at a list of companies.
Run `npx skills add apify/awesome-skills --skill apify-lead-scoring-enrichment -a claude-code`. Or copy the skill folder (skills/apify-lead-scoring-enrichment in apify/awesome-skills) into .claude/skills/apify-lead-scoring-enrichment in your project. Claude Code loads it when a task matches its description.
Run `npx skills add apify/awesome-skills --skill apify-lead-scoring-enrichment -a codex`. Or copy the skill folder (skills/apify-lead-scoring-enrichment in apify/awesome-skills) into .agents/skills/apify-lead-scoring-enrichment 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-lead-scoring-enrichment -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-lead-scoring-enrichment, .gemini/skills/apify-lead-scoring-enrichment, .github/skills/apify-lead-scoring-enrichment and .opencode/skills/apify-lead-scoring-enrichment in your project.
Going by SKILL.md and its folder, Apify Lead Scoring Enrichment needs JavaScript for the scripts in its folder, the command-line tools its instructions call (node and npm) and credentials named APIFY_TOKEN. Our summary lists: Node.js; A credential in APIFY_TOKEN.
SKILL.md names 6 domains. In commands or code: acme.com; the agent is likely to contact it when it follows the instructions. As links in the text: apify.com, console.apify.com, mcp.apify.com, docs.apify.com and github.com. This is read from the text; nothing was executed.
Our automated static check of SKILL.md found notes only (mentions a .env file), nothing it rates as a warning. It is not a guarantee. The check reads SKILL.md only: the scripts in the folder are not scanned, so read them before running anything.
Apify Lead Scoring Enrichment 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 4.4k tokens (SKILL.md is roughly 18k characters). Agents keep only the skill's name and description in context until a task matches; then they load SKILL.md in full. Its references folder adds about 3.3k tokens, read only when the agent opens those files.
Skills that share tags, products or a category with Apify Lead Scoring Enrichment: Linkedin Message Writer (gooseworks-ai/goose-skills, 1.2k stars), Apify Multi-Platform Scraper (apify/agent-skills, 2.4k stars), Champion Tracker (gooseworks-ai/goose-skills, 1.2k stars) and Fullenrich Event Attendees (Othmane-Khadri/YALC-the-GTM-operating-system, 318 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 266 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.