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…
Generate detailed, differentiated content briefs at scale. Each brief includes SERP analysis, competing page breakdown, unique angles from real customer language (reviews, Reddit), internal linking plan, and SERP feature targets. Batch mode produces 10-50 briefs in one run.
$ npx -y skills add gooseworks-ai/goose-skills --skill content-brief-factory --agent claude-codeHow it fires
How this skill gets triggered: by you, by Claude, or both.
/content-brief-factoryContext preview
The summary Claude sees to decide when to auto-load this skill.
Generate detailed, differentiated content briefs at scale. Each brief includes SERP analysis, competing page breakdown, unique angles from real customer language (reviews, Reddit), internal linking plan, and SERP feature targets. Batch mode produces 10-50 briefs in one run.
name: content-brief-factory description: > Generate detailed, differentiated content briefs at scale. Each brief includes SERP analysis, competing page breakdown, unique angles from real customer language (reviews, Reddit), internal linking plan, and SERP feature targets. Batch mode produces 10-50 briefs in one run. Crushes generic "keyword density" briefs from tools like Surfer or Clearscope. tags: [content]
Most content briefs are garbage. They tell you "mention these keywords 7 times" and call it a strategy. This skill produces briefs that include competitive analysis, unique angles mined from what real customers say, SERP feature targeting, and a differentiated outline — so your writer knows exactly what to create and why it'll rank.
**Core principle:** A great brief doesn't just say "write about X." It says "here's what's already ranking, here's why it's winning, here's the gap they missed, here's the customer language that proves the gap matters, and here's exactly how to structure a page that beats them."
**Batch mode:** Process 10-50 keywords in a single run. Each brief takes ~30 seconds in enhanced mode, ~60 seconds in baseline.
Briefs are significantly better with real SERP data (what's actually ranking, what SERP features appear) rather than inferred analysis.
> "I can create strong content briefs using competitive research and customer language mining. For the best results — especially accurate SERP analysis and keyword metrics — I'd recommend connecting a SERP data API." > > **Recommended: SerpAPI** (100 free searches/month, $50/month for 5,000) > - Sign up at serpapi.com → get API key > - Set `SERPAPI_KEY` env var > > **Alternatives that also work:** > - **Serper.dev** (2,500 free searches, then $50/month for 50K) → set `SERPER_API_KEY` > - **DataForSEO SERP** (pay-per-use, ~$0.01/search) → set `DATAFORSEO_LOGIN` + `DATAFORSEO_PASSWORD` > - **ValueSERP** (free tier available) → set `VALUESERP_API_KEY` > > "Want to use one of these, or should I proceed with baseline mode? Baseline uses web search to analyze competing pages — still produces great briefs, just with less precise SERP feature and volume data."
1. **Keywords** — List of target keywords (1-50). Can be:
2. **Your site URL** — So we check for existing coverage 3. **ICP** — Who's reading this content? (role, pain, goal) 4. **Brand voice** — Formal/casual/technical? (or link to brand voice doc) 5. **Content type preference** — Blog posts, landing pages, guides, glossary entries? 6. **Brief depth** — Standard (outline + angle + competitors) or Deep (all of the above + customer quotes + SERP feature targeting + internal links)? 7. **Tool preference** — Enhanced mode with SERP API, or baseline? (see Tool Enhancement above)
Run `site-content-catalog` on your site:
python3 skills/site-content-catalog/scripts/catalog_content.py \ --url "<your_site_url>" \ --output json
For each target keyword, check:
For each keyword, run in parallel where possible:
**Enhanced mode (SerpAPI / Serper / DataForSEO):**
# SerpAPI example
GET https://serpapi.com/search?q={keyword}&api_key={key}&num=10Extract per keyword:
**Baseline mode:**
Use `web_search` for each keyword:
For top 3-5 ranking pages per keyword, fetch via `fetch_webpage`:
Analyze each:
Run `review-site-scraper` + `reddit-post-finder` for the topic:
# Reviews — find how ICP talks about this problem python3 skills/capabilities/review-site-scraper/scripts/scrape_reviews.py \ --platform g2 \ --url "<relevant_product_review_url>" \ --output json # Reddit — find real questions and pain language python3 skills/reddit-post-finder/scripts/search_reddit.py \ --subreddit "<relevant_subs>" \ --keywords "<keyword>,<to
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.