Find Leads
eracle/OpenOutreach
Find qualified B2B leads with OpenOutreach — run openoutreach find N [emails], read the CSV it prints on stdout, and hand the rows to whatever sends.
Triages all inbound leads from a given period — demo requests, free trial signups, content downloads, webinar registrations, chatbot conversations.
$ npx skills add gooseworks-ai/goose-skills --skill inbound-lead-triage -a claude-codeProject install by default; add -g for ~/.claude/skills/.
$ gh skill install gooseworks-ai/goose-skills inbound-lead-triage --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/gooseworks-ai/goose-skills.git skills-src && mkdir -p .claude/skills && cp -r skills-src/skills/lead-generation/composites/inbound-lead-triage .claude/skills/inbound-lead-triage && 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 "inbound-lead-triage" agent skill from https://github.com/gooseworks-ai/goose-skills/tree/main/skills/lead-generation/composites/inbound-lead-triage into .claude/skills/inbound-lead-triage/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "inbound-lead-triage", 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/gooseworks-ai/goose-skills/tree/main/skills/lead-generation/composites/inbound-lead-triageType 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 gooseworks-ai/goose-skills --skill inbound-lead-triage -a codexProject install goes to .agents/skills/; add -g for ~/.codex/skills/.
$ gh skill install gooseworks-ai/goose-skills inbound-lead-triage --agent codexProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/gooseworks-ai/goose-skills.git skills-src && mkdir -p .agents/skills && cp -r skills-src/skills/lead-generation/composites/inbound-lead-triage .agents/skills/inbound-lead-triage && rm -rf skills-srcUse ~/.agents/skills/ instead of .agents/skills for a personal install.
Codex skills documentation · loads skills from .agents/skills/
Install the "inbound-lead-triage" agent skill from https://github.com/gooseworks-ai/goose-skills/tree/main/skills/lead-generation/composites/inbound-lead-triage into .agents/skills/inbound-lead-triage/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "inbound-lead-triage", 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 gooseworks-ai/goose-skills --skill inbound-lead-triage -a cursorProject install goes to .agents/skills/; add -g for ~/.cursor/skills/.
$ gh skill install gooseworks-ai/goose-skills inbound-lead-triage --agent cursorProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/gooseworks-ai/goose-skills.git skills-src && mkdir -p .cursor/skills && cp -r skills-src/skills/lead-generation/composites/inbound-lead-triage .cursor/skills/inbound-lead-triage && 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 "inbound-lead-triage" agent skill from https://github.com/gooseworks-ai/goose-skills/tree/main/skills/lead-generation/composites/inbound-lead-triage into .cursor/skills/inbound-lead-triage/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "inbound-lead-triage", 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/gooseworks-ai/goose-skills.git --path skills/lead-generation/composites/inbound-lead-triage--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 gooseworks-ai/goose-skills --skill inbound-lead-triage -a gemini-cliProject install goes to .agents/skills/; add -g for ~/.gemini/skills/.
$ gh skill install gooseworks-ai/goose-skills inbound-lead-triage --agent gemini-cliProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/gooseworks-ai/goose-skills.git skills-src && mkdir -p .gemini/skills && cp -r skills-src/skills/lead-generation/composites/inbound-lead-triage .gemini/skills/inbound-lead-triage && 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 "inbound-lead-triage" agent skill from https://github.com/gooseworks-ai/goose-skills/tree/main/skills/lead-generation/composites/inbound-lead-triage into .gemini/skills/inbound-lead-triage/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "inbound-lead-triage", 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 gooseworks-ai/goose-skills inbound-lead-triageInstalls 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 gooseworks-ai/goose-skills --skill inbound-lead-triage -a github-copilotProject install goes to .agents/skills/; add -g for ~/.copilot/skills/.
$ git clone --depth 1 https://github.com/gooseworks-ai/goose-skills.git skills-src && mkdir -p .github/skills && cp -r skills-src/skills/lead-generation/composites/inbound-lead-triage .github/skills/inbound-lead-triage && 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 "inbound-lead-triage" agent skill from https://github.com/gooseworks-ai/goose-skills/tree/main/skills/lead-generation/composites/inbound-lead-triage into .github/skills/inbound-lead-triage/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "inbound-lead-triage", 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 gooseworks-ai/goose-skills --skill inbound-lead-triage -a opencodeOpenCode documents no install command of its own. Project install goes to .agents/skills/; add -g for ~/.config/opencode/skills/.
$ gh skill install gooseworks-ai/goose-skills inbound-lead-triage --agent opencodeProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/gooseworks-ai/goose-skills.git skills-src && mkdir -p .opencode/skills && cp -r skills-src/skills/lead-generation/composites/inbound-lead-triage .opencode/skills/inbound-lead-triage && 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 "inbound-lead-triage" agent skill from https://github.com/gooseworks-ai/goose-skills/tree/main/skills/lead-generation/composites/inbound-lead-triage into .opencode/skills/inbound-lead-triage/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "inbound-lead-triage", 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.
inbound-lead-triageTriages all inbound leads from a given period — demo requests, free trial signups, content downloads, webinar registrations, chatbot conversations.
Inbound Lead Triage is an agent skill from gooseworks-ai/goose-skills. Triages all inbound leads from a given period — demo requests, free trial signups, content downloads, webinar registrations, chatbot conversations. Classifies by urgency, qualifies against ICP, enriches with context, and produces a prioritized action queue with recommended response for each lead. Tool-agnostic — works with any CRM, form tool, or lead source.
Its SKILL.md is about 3.9k tokens, which your agent loads only when the skill is triggered. The skill folder holds 1 other file (for example `skill.meta.json`).
It sits in Marketing & SEO, covering Lead generation. The repository describes itself as: Library of Growth & GTM skills + data APIs for Claude Code, Codex, Cursor to run ads, social, content, lead gen, seo and data scraping. The licence is MIT.
6 steps, taken from the step headings in SKILL.md.
Read from SKILL.md and the folder at commit c650c6d. 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 and markdown).
From the folder's file list and the shell code blocks in SKILL.md.
No URLs in SKILL.md.
From URLs in SKILL.md, links to its own repository left out.
Names no API keys, tokens, secrets or passwords.
From names ending in _API_KEY, _TOKEN, _SECRET, _KEY or _PASSWORD in SKILL.md.
Inbound Lead Triage loads about 3.9k tokens when it runs. Until then it costs about 95 tokens; SKILL.md has 1,618 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 gooseworks-ai/goose-skills at commit c650c6d, republished under its MIT licence (© gooseworks-ai). 1,618 words, ~3,919 tokens.
.claude/skills/inbound-lead-triage/SKILL.md (or your agent's skills folder). This skill also uses 1 other file; get the full folder from GitHub.Pulls all inbound leads from a specified period, classifies them by source urgency, qualifies against ICP, enriches with company/person context, and produces a prioritized action queue. Turns a messy inbox of form fills into a clear "who to call first" list.
Load this composite when:
[Lead Sources] → Step 1: Collect → Step 2: Classify & Rank → Step 3: Qualify → Step 4: Enrich → Step 5: Route & Respond
↓ ↓ ↓ ↓ ↓
Raw lead list Urgency-ranked list ICP-scored list Context-rich list Action queue + draftsEach step has a clear input/output contract. Tools are configured once per client, not hardcoded.
On first run, ask the user to configure their lead sources and preferences. Save to the current working directory or wherever the user prefers (e.g., config/inbound-triage.json).
{
"lead_sources": {
"demo_requests": {
"source_tool": "HubSpot | Salesforce | Typeform | CSV | other",
"access_method": "API | CSV export | MCP tool | manual paste",
"fields_available": ["name", "email", "company", "title", "message"]
},
"free_trial_signups": {
"source_tool": "product database | Stripe | CSV | other",
"access_method": "API | CSV export | manual paste",
"fields_available": ["name", "email", "company", "signup_date", "plan"]
},
"content_downloads": {
"source_tool": "HubSpot | Marketo | CSV | other",
"access_method": "API | CSV export | manual paste",
"fields_available": ["name", "email", "company", "content_title", "download_date"]
},
"webinar_registrations": {
"source_tool": "Zoom | Luma | CSV | other",
"access_method": "API | CSV export | manual paste",
"fields_available": ["name", "email", "company", "webinar_title", "attended"]
},
"chatbot_conversations": {
"source_tool": "Intercom | Drift | Crisp | CSV | other",
"access_method": "API | CSV export | manual paste",
"fields_available": ["name", "email", "company", "conversation_summary", "intent"]
}
},
"urgency_overrides": {},
"response_preferences": {
"demo_request_sla": "< 1 hour",
"trial_signup_sla": "< 4 hours",
"default_sla": "< 24 hours"
},
"qualification_prompt_path": "path/to/existing/qualification-prompt.md or null"
}On subsequent runs: Load config silently, skip setup.
If user provides a raw CSV or pastes leads inline: Skip source config — just classify what's given.
{
"name": "",
"email": "",
"company": "",
"title": "", // if available
"source_type": "", // demo_request | free_trial | content_download | webinar | chatbot | other
"source_detail": "", // which form, which webinar, which content piece
"timestamp": "",
"raw_message": "", // form message, chat transcript, or null
"raw_fields": {} // all original fields preserved
}Present the collected leads count by source. Ask: "These are the leads I found. Proceed with triage?"
Rank every lead into one of four urgency tiers based on their source type and behavioral signals.
Tier 1 — Respond NOW (< 1 hour SLA)
Tier 2 — Respond TODAY (< 4 hours SLA)
Tier 3 — Respond within 24 hours
Tier 4 — Batch response / nurture
If the user configured custom urgency rules in urgency_overrides, apply those after the default classification.
urgency_tier, urgency_reason, signal_boosters[], signal_dampeners[]For each lead, run a lightweight ICP qualification check. This is NOT the full lead-qualification capability — it's a fast pass to separate likely-fit from unlikely-fit.
lead-qualification capability): Apply it in fast mode — check hard disqualifiers only, skip deep enrichmenticp_fit, fit_reasoning (one sentence)For leads in Tier 1 and Tier 2 (and strong/likely fit Tier 3), gather context that helps the responder have a better conversation.
Company enrichment (per unique company):
Person enrichment:
Engagement context:
1. Response action:
| Urgency | ICP Fit | Action |
|---|---|---|
| Tier 1 | Strong/Likely | Immediate personal outreach — draft personalized email or call script |
| Tier 1 | Unknown | Immediate outreach + qualify on call — draft email with discovery questions |
| Tier 1 | Poor | Still respond (they requested a demo) — draft polite response, qualify on call |
| Tier 2 | Strong/Likely | Same-day personal outreach — draft personalized welcome/check-in email |
| Tier 2 | Unknown | Same-day templated outreach — send template with one personalized line |
| Tier 2 | Poor | Templated response — standard welcome, no prioritization |
| Tier 3 | Strong/Likely | Next-day personalized outreach — draft email referencing what they engaged with |
| Tier 3 | Unknown/Poor | Add to nurture sequence — automated drip, no manual effort |
| Tier 4 | Any | Nurture sequence only — batch add to appropriate drip campaign |
| Flag: Competitor | — | Log for competitive intel — do not send sales outreach |
| Flag: Customer | — | Route to CS team — flag upsell opportunity if relevant |
2. Draft response (for Tier 1-3 leads with personal outreach):
Draft a response email that:
3. Assign owner (if team structure is configured):
Present as a clear, actionable table organized by urgency tier:
## Inbound Lead Triage: [Period]
Generated: [timestamp]
### Summary
- **Total leads:** X from Y sources
- **Tier 1 (respond now):** X leads
- **Tier 2 (respond today):** X leads
- **Tier 3 (respond within 24h):** X leads
- **Tier 4 (nurture):** X leads
- **Flagged:** X competitors, X existing customers
---
### 🔴 Tier 1 — Respond NOW
#### Lead: [Name] — [Company] — [Title]
- **Source:** Demo request via [tool] at [time]
- **Urgency reason:** Explicit demo request + company matches ICP
- **ICP fit:** Strong — [one sentence reasoning]
- **Company:** [one sentence what they do, size, stage]
- **Signal context:** [any signals from other composites]
- **Engagement:** "[quote from form message or chat]"
- **Recommended action:** Personal email + calendar link
- **Draft response:**
> [ready-to-send email draft]
---
#### Lead: [Name] — [Company] — [Title]
...
---
### 🟡 Tier 2 — Respond TODAY
...
### 🟢 Tier 3 — Respond Within 24h
...
### ⚪ Tier 4 — Add to Nurture
[Batch list — name, company, source, content engaged with. No individual drafts.]
### 🔵 Flagged
- **Competitors:** [list with company name — route to competitive intel]
- **Existing customers:** [list with company name — route to CS]Also produce a flat CSV with all leads and their triage data:
urgency_tier, urgency_reason, icp_fit, fit_reasoningrecommended_action, response_draftcompany_context, person_context, engagement_contextSave to the current working directory or wherever the user prefers (e.g., leads/inbound-triage-[date].csv).
No leads in period: Report "No new inbound leads found for [period]" with a note on which sources were checked.
Lead with no email: Still triage if company + name are available. Flag as "no direct contact — needs manual lookup."
Lead from a very large company (enterprise): Boost urgency by one tier. Enterprise inbound is rare and high-value. Note: "Enterprise lead — consider executive-level response."
Lead that's already in an active outbound sequence: Flag: "Already in outbound sequence [campaign name] — check for overlap before responding." Don't send a second competing message.
Duplicate lead (same person, same source, same period): Keep the most recent submission. Note the repeat engagement as a signal booster.
Partial data (no company, no title): Classify based on what IS available. Source type still determines urgency tier. Note: "Incomplete data — consider enrichment before outreach."
High volume (100+ leads in period): For Tier 3-4 leads, skip individual enrichment. Batch-qualify company names against ICP, produce summary stats instead of individual briefs. Focus human attention on Tier 1-2 only.
The agent should have access to:
email-drafting capability for response frameworks© gooseworks-ai, MIT. 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 1 other file in skills/lead-generation/composites/inbound-lead-triage of gooseworks-ai/goose-skills.
Open the folder on GitHubat commit c650c6d
We found 1 copy of this SKILL.md (exact, near-identical or edited) in other folders, from 1 other GitHub owner. This page covers the copy in gooseworks-ai/goose-skills, which our catalogue first saw on October 7, 2026.
Inbound Lead Triage 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 |
|---|---|---|---|---|---|---|
| Inbound Lead Triage this skillgooseworks-ai/goose-skills | 1.2k | 1 repos | ~3.9k | Automated safety check: Pass | MIT | |
| Find Leadseracle/OpenOutreach | 3.2k | — | ~4.6k | Automated safety check: Pass | GPL-3.0 | |
| Business Contact and Social Links Finderbrowser-act/skills | 6.1k | 1 repos | ~1.6k | Automated safety check: Pass | MIT | |
| Google Maps API Skillbrowser-act/skills | 6.1k | 1 repos | ~1.4k | Automated safety check: Pass | MIT | |
| Google Maps Reviews API Skillbrowser-act/skills | 6.1k | 1 repos | ~1.4k | Automated safety check: Pass | MIT | |
| Google Maps Leadsgmapsscraper/google-maps-agent-skills | 132 | — | ~1.2k | Automated safety check: Pass | MIT |
eracle/OpenOutreach
Find qualified B2B leads with OpenOutreach — run openoutreach find N [emails], read the CSV it prints on stdout, and hand the rows to whatever sends.
browser-act/skills
Finds a company's official website and social profiles from its name, or collects social links from a website URL, using BrowserAct templates run by a Python script.
browser-act/skills
This skill helps users automatically scrape business data from Google Maps using the BrowserAct Google Maps API.
browser-act/skills
This skill is designed to help users automatically extract reviews from Google Maps via the Google Maps Reviews API.
gmapsscraper/google-maps-agent-skills
Generate qualified B2B leads from Google Maps. An agent skill from gmapsscraper/google-maps-agent-skills.
explorium-ai/gtm-skills
Prospecting skill for Claude Code and Codex: build a targeted list of B2B prospects or businesses from a natural-language ICP brief using real-time company and contact data.
gooseworks-ai/goose-skills
Scrape and search Reddit posts using Apify. An agent skill from gooseworks-ai/goose-skills.
gooseworks-ai/goose-skills
Generate or edit an image via any FAL image model (nano-banana edit, gpt-image, flux, ...), ROUTED THROUGH THE fal-proxy so it bills the Ads agent.
gooseworks-ai/goose-skills
Replace an existing video's opening with a supplied clip or free kinetic text hook while retaining and verifying every original body frame, audio, captions and ending.
gooseworks-ai/goose-skills
Scrape blog posts via RSS feeds (free, no API key) with Apify fallback for JS-heavy sites.
gooseworks-ai/goose-skills
Find leads by scraping engagers from a competitor's top LinkedIn posts.
gooseworks-ai/goose-skills
Assemble a ChatGPT chat-reveal video ad from a thread + timeline JSON — one continuous Playwright recording of a ChatGPT mobile chat (user types with the iOS keyboard up → taps send → keyboard…
Categories
Triages all inbound leads from a given period — demo requests, free trial signups, content downloads, webinar registrations, chatbot conversations. Inbound Lead Triage is an agent skill from gooseworks-ai/goose-skills. Triages all inbound leads from a given period — demo requests, free trial signups, content downloads, webinar registrations, chatbot conversations.
Inbound Lead Triage fits situations like: tasks that involve Lead generation.
Run `npx skills add gooseworks-ai/goose-skills --skill inbound-lead-triage -a claude-code`. Or copy the skill folder (skills/lead-generation/composites/inbound-lead-triage in gooseworks-ai/goose-skills) into .claude/skills/inbound-lead-triage in your project. Claude Code loads it when a task matches its description.
Run `npx skills add gooseworks-ai/goose-skills --skill inbound-lead-triage -a codex`. Or copy the skill folder (skills/lead-generation/composites/inbound-lead-triage in gooseworks-ai/goose-skills) into .agents/skills/inbound-lead-triage 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 gooseworks-ai/goose-skills --skill inbound-lead-triage -a cursor` (or -a gemini-cli, github-copilot or opencode for the others). To copy it by hand, put the folder in .cursor/skills/inbound-lead-triage, .gemini/skills/inbound-lead-triage, .github/skills/inbound-lead-triage and .opencode/skills/inbound-lead-triage in your project.
SKILL.md names no scripts, command-line tools or credentials: Inbound Lead Triage is instructions for the agent only.
SKILL.md contains no URLs. Any network use would come from the scripts or tools the agent runs. 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.
Inbound Lead Triage is published under the MIT licence (the repository's licence). It allows redistribution, so the full SKILL.md is shown on this page.
About 3.9k tokens (SKILL.md is roughly 16k 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 Inbound Lead Triage: Find Leads (eracle/OpenOutreach, 3.2k stars), Business Contact and Social Links Finder (browser-act/skills, 6.1k stars), Google Maps API Skill (browser-act/skills, 6.1k stars) and Google Maps Reviews API Skill (browser-act/skills, 6.1k stars). The comparison table on this page puts their stars, adoption, token cost, safety result and licence side by side.
gooseworks-ai (a GitHub organization) maintains it in gooseworks-ai/goose-skills, which has 1,240 GitHub stars. The repository holds 273 skills in this directory. The repository was last updated on October 8, 2026.
Source: gooseworks-ai/goose-skills on GitHub. Facts on this page come from the repository at the commit we read; the author's words are quoted as theirs.