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…
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
$ npx -y skills add gooseworks-ai/goose-skills --skill inbound-lead-triage --agent claude-codeHow it fires
How this skill gets triggered: by you, by Claude, or both.
/inbound-lead-triageContext preview
The summary Claude sees to decide when to auto-load this skill.
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
name: inbound-lead-triage version: 1.0.0 description: > 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. tags: [lead-generation]
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.
---
1. Pull leads from each configured source for the specified period 2. Normalize into a common schema regardless of source:
{
"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
}3. Deduplicate by email — if same person appears in multiple sources, merge into one record with all source types listed (this is a stronger signal)
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**
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.