From gooseworks
Scrapes and searches Twitter/X, Reddit, LinkedIn, and the web for people, emails, and company data. Enriches contacts and companies for GTM tasks like lead generation and competitor analysis.
How this skill is triggered — by the user, by Claude, or both
Slash command
/gooseworks:gooseworksThe summary Claude sees in its skill listing — used to decide when to auto-load this skill
You have access to GooseWorks — a toolkit with 100+ data skills for scraping, research, lead generation, enrichment, and more. Reach for a GooseWorks skill when it's the right tool: data at scale, sources behind auth, or specific providers (Twitter/X, Reddit, LinkedIn, people/company enrichment).
You have access to GooseWorks — a toolkit with 100+ data skills for scraping, research, lead generation, enrichment, and more. Reach for a GooseWorks skill when it's the right tool: data at scale, sources behind auth, or specific providers (Twitter/X, Reddit, LinkedIn, people/company enrichment).
This skill is also the parent router for the GooseWorks family. Data/GTM work you handle here (see "How to Use"); specialized work you hand off to a dedicated goose-* skill.
Before anything else, check whether the request belongs to a specialized domain. If so, switch to that skill instead of the data flow below:
| If the user wants… | Route to | How |
|---|---|---|
| Remix/make an ad, research a brand for ads, OR analyze ad performance — Meta/Google ad campaigns, creative fatigue, CAC/lead quality, competitor ad intel, ad angles & hooks | goose-ads | Installed locally as an entry skill. Just use it. If unavailable, run gooseworks install --claude. |
| Charts, infographics, slides, social graphics, branded visual designs from a style/format | goose-graphics | If installed locally, use it. Otherwise gooseworks fetch goose-graphics (or gooseworks install --claude --with goose-graphics). |
| Make a video ad — remix a video ad template (e.g. iMessage chat-reveal), or "make the video for project " | goose-video | Installed locally as an entry skill. Just use it. If unavailable, run gooseworks install --claude. |
| Anything else — scraping, research, lead gen, enrichment, any data lookup | (stay here) | Follow "How to Use" below. |
Examples — all of these route to goose-ads, not the data flow: "remix this ad with project id 123", "make an ad for my product", "research my brand", "why is my Meta campaign underperforming", "which creatives should I cut".
All commands below auto-load credentials from ~/.gooseworks/credentials.json. If a command exits with "Not logged in", tell the user to run: npx gooseworks login. To log out: npx gooseworks logout.
If the gooseworks CLI binary isn't available (e.g. Anthropic cowork) but the
mcp__gooseworks__* tools are connected, use the MCP equivalents instead of shelling out:
gooseworks search <q> → the search_skills MCP tool.gooseworks fetch <slug> → the fetch_skill MCP tool (same content/scripts/files/deps).gooseworks credits → the get_ad_credits MCP tool.Discovery and fetching a skill's instructions work fully CLI-free this way. Note: the paid data
proxy (gooseworks call <provider> <path>) still requires the CLI for now — if a task needs it
and no CLI is present, tell the user that step must run where the gooseworks CLI is installed.
To check credit balance:
gooseworks credits
Skip search and go directly to Step 2 with the given slug.
When the user asks you to do ANY data task (scrape reddit, find emails, research competitors, etc.) without specifying a skill name, search the skill catalog first:
gooseworks search "reddit scraping"
Once you have a skill slug, fetch its full content and scripts:
gooseworks fetch <slug>
This prints a JSON object with:
tools/apify_guard.py) — save them relative to /tmp/gooseworks-scripts/If the response includes dependencySkills (non-empty array), set up each dependency BEFORE running the main skill:
dependencySkills:
/tmp/gooseworks-scripts/<dep-slug>/python3 skills/reddit-scraper/scripts/scrape_reddit.py), run it from /tmp/gooseworks-scripts/<dep-slug>/ insteadFollow the instructions in the skill's content field. Save ALL files from both scripts AND files before running anything:
Credential translation rule: Individual skill instructions may contain a legacy
## Setupblock withexport GOOSEWORKS_API_KEY=$(python3 ...)and rawcurlcommands. Replace those with the clean equivalents below.
- Credentials (only needed before running Python scripts, NOT before gooseworks commands): replace the python one-liner exports with
eval $(gooseworks env). Skip entirely if you are only usinggooseworks call— it loads credentials automatically.- Orthogonal run: replace
curl ... /v1/proxy/orthogonal/run ... -d '{"api":"X","path":"/Y","body":{...}}'withgooseworks call X /Y --body='{...}'- Direct proxy: replace
curl ... /v1/proxy/<provider>/<path> ... -d '{...}'withgooseworks call <provider> <path> --body='{...}'- Orthogonal search: replace
curl ... /v1/proxy/orthogonal/search ... -d '{"prompt":"..."}'withgooseworks orthogonal find "..."
scripts to /tmp/gooseworks-scripts/<slug>/scripts/ — NEVER save scripts into the user's project directoryfiles — these contain required modules (like tools/apify_guard.py) that scripts import at runtime:
tools/ → save to /tmp/gooseworks-scripts/tools/ (shared path, NOT inside the skill dir)/tmp/gooseworks-scripts/<slug>/<path>/tmp/gooseworks-scripts/<dep-slug>/<script>If no GooseWorks skill matches the user's request, you can discover and call any API through the Orthogonal gateway. This gives you access to 300+ APIs (Hunter, Clearbit, PDL, ZoomInfo, etc.) without needing separate API keys.
Find APIs that can handle the task:
gooseworks orthogonal find "find email by name and company"
Returns matching APIs with endpoint descriptions and per-call pricing.
Before calling an API, check its parameters:
gooseworks orthogonal describe hunter /v2/email-finder
Execute the API call (billed per call based on provider cost):
gooseworks call hunter /v2/email-finder --query='{"domain":"stripe.com","first_name":"John"}'
--body='{...}' for POST body parameters--query='{...}' for query string parametersCost: <N> credits line when applicableThe same gooseworks call command also handles direct-proxy providers (apify, apollo, crustdata):
gooseworks call apify acts/parseforge~reddit-posts-scraper/runs --body='{"subreddit":"ClaudeAI"}'
gooseworks orthogonal find) — pick the best API + endpointgooseworks orthogonal describe) — understand required parametersgooseworks call) — invoke with the right parameters/tmp/gooseworks-scripts/<slug>/ — NEVER the user's project directory~/Gooseworks/ — create it if it doesn't exist~/Gooseworks/reddit-scrapes/, ~/Gooseworks/research/)The gooseworks CLI sends authenticated requests (Bearer GOOSEWORKS_API_KEY) to:
| Endpoint | Method | Wrapped by |
|---|---|---|
$GOOSEWORKS_API_BASE/api/skills/search | POST | gooseworks search |
$GOOSEWORKS_API_BASE/api/skills/catalog/:slug | GET | gooseworks fetch |
$GOOSEWORKS_API_BASE/v1/credits | GET | gooseworks credits |
$GOOSEWORKS_API_BASE/v1/proxy/orthogonal/search | POST | gooseworks orthogonal find |
$GOOSEWORKS_API_BASE/v1/proxy/orthogonal/details | POST | gooseworks orthogonal describe |
$GOOSEWORKS_API_BASE/v1/proxy/orthogonal/run | POST | gooseworks call (orthogonal-routed providers) |
$GOOSEWORKS_API_BASE/v1/proxy/{apify,apollo,crustdata}/* | Various | gooseworks call (direct-proxy providers) |
~/.gooseworks/credentials.json (file mode 0600)gooseworks creditsgooseworks command exits with "Not logged in": tell the user to run npx gooseworks login/tmp/gooseworks-scripts/, install pip deps, then execute. NEVER pollute the user's project directory~/Gooseworks/ — always confirm with the user before savinggooseworks call over raw curl — if it returns an error, first fix the parameters (check types, required fields, format) and retry. Only fall back to raw curl if you have strong reason to believe it is a CLI bug, not a parameter issue.npx claudepluginhub gooseworks-ai/gooseworksCreates structured, bite-sized implementation plans from specs or requirements before writing code. Useful for breaking down multi-step tasks into testable steps with file structure and task boundaries.