create-image-fal
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. image_urls…
Extract speaker names, titles, companies, and bios from conference websites. Supports direct HTML scraping and Apify web scraper fallback for JS-heavy sites. Use for pre-event research and outreach targeting.
$ npx -y skills add gooseworks-ai/goose-skills --skill conference-speaker-scraper --agent claude-codeHow it fires
How this skill gets triggered: by you, by Claude, or both.
/conference-speaker-scraperContext preview
The summary Claude sees to decide when to auto-load this skill.
Extract speaker names, titles, companies, and bios from conference websites. Supports direct HTML scraping and Apify web scraper fallback for JS-heavy sites. Use for pre-event research and outreach targeting.
name: conference-speaker-scraper description: > Extract speaker names, titles, companies, and bios from conference websites. Supports direct HTML scraping and Apify web scraper fallback for JS-heavy sites. Use for pre-event research and outreach targeting.
Extract speaker names, titles, companies, and bios from conference website /speakers pages. Supports direct HTML scraping with multiple extraction strategies, plus Apify fallback for JS-heavy sites.
No API key needed for direct scraping mode.
# Scrape speakers from a conference page python3 skills/conference-speaker-scraper/scripts/scrape_speakers.py \ --url "https://example.com/speakers" # Use Apify for JS-heavy sites python3 skills/conference-speaker-scraper/scripts/scrape_speakers.py \ --url "https://example.com/speakers" --mode apify # Custom conference name (otherwise inferred from URL) python3 skills/conference-speaker-scraper/scripts/scrape_speakers.py \ --url "https://example.com/speakers" --conference "Sage Future 2026" # Output formats python3 skills/conference-speaker-scraper/scripts/scrape_speakers.py --url URL --output json # default python3 skills/conference-speaker-scraper/scripts/scrape_speakers.py --url URL --output csv python3 skills/conference-speaker-scraper/scripts/scrape_speakers.py --url URL --output summary
Fetches the page HTML and tries multiple extraction strategies in order, using whichever returns the most results:
1. **Strategy A -- CSS class hints:** Looks for speaker cards with class names containing "speaker", "presenter", "faculty", "panelist", "team-member" 2. **Strategy B -- Heading + paragraph patterns:** Looks for repeated `<h2>`/`<h3>` + `<p>` structures 3. **Strategy C -- JSON-LD structured data:** Checks for `<script type="application/ld+json">` with speaker data 4. **Strategy D -- Platform embeds:** Detects Sched.com/Sessionize patterns used by many conferences
Uses `apify/cheerio-scraper` actor with a custom page function that targets common speaker card selectors. Standard POST/poll/GET dataset pattern.
| Flag | Default | Description | |------|---------|-------------| | `--url` | *required* | Conference speakers page URL | | `--conference` | inferred | Conference name (otherwise inferred from URL domain) | | `--mode` | direct | `direct` (HTML scraping) or `apify` (Apify cheerio scraper) | | `--output` | json | Output format: `json`, `csv`, or `summary` | | `--token` | env var | Apify token (only needed for apify mode) | | `--timeout` | 300 | Max seconds for Apify run |
{
"name": "Jane Smith",
"title": "VP of Finance",
"company": "Acme Corp",
"bio": "Jane leads the finance transformation at...",
"linkedin_url": "https://linkedin.com/in/janesmith",
"image_url": "https://...",
"conference": "Sage Future 2026",
"source_url": "https://sagefuture2026.com/speakers"
}HTML scraping is inherently fragile across conference sites. The multi-strategy approach maximizes coverage, but JS-heavy sites will require Apify mode. When direct scraping returns 0 results, try `--mode apify`.
Put your AI agent on the growth team. Research customers and competitors, analyze what is working, create the next campaign, and learn from the result.
Repo: 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. image_urls…
Generate a single photoreal or designed image with OpenAI gpt-image via fal.ai. Supports gpt-image-1 (default, fixed sizes — the FAL fallback for Higgsfield's…
Generate an instrumental music bed via ElevenLabs Music, ROUTED THROUGH THE elevenlabs-proxy so it bills the Ads agent. Trims any sparse intro, loudnorm, fades…
Image-to-video (or text-to-video) via any FAL video model (Kling, Seedance, Veo), ROUTED THROUGH THE GooseWorks fal-proxy so the call bills the Ads agent. The…
Generate a voiceover (VO) clip via ElevenLabs text-to-speech, ROUTED THROUGH THE elevenlabs-proxy so it bills the Ads agent. Voice id + script text come from…
Scrape competitor ads from Google Ads by domain. Returns ad creatives, formats, and campaign details. Use for competitive ad research and messaging analysis.