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…
Draft voice-tuned LinkedIn post variants from a free-form brief. Reads a personal voice guide (generated via generate-voice-guide), produces 2–5 variants with distinct framings, applies LinkedIn-specific defaults (arrow bullets, "why this matters" beat, 150–500 words), and
$ npx -y skills add gooseworks-ai/goose-skills --skill create-linkedin-content --agent claude-codeHow it fires
How this skill gets triggered: by you, by Claude, or both.
/create-linkedin-contentContext preview
The summary Claude sees to decide when to auto-load this skill.
Draft voice-tuned LinkedIn post variants from a free-form brief. Reads a personal voice guide (generated via generate-voice-guide), produces 2–5 variants with distinct framings, applies LinkedIn-specific defaults (arrow bullets, "why this matters" beat, 150–500 words), and
name: create-linkedin-content description: > Draft voice-tuned LinkedIn post variants from a free-form brief. Reads a personal voice guide (generated via generate-voice-guide), produces 2–5 variants with distinct framings, applies LinkedIn-specific defaults (arrow bullets, "why this matters" beat, 150–500 words), and self-checks against the voice guide's banned phrases before returning. tags: [content, social]
Draft LinkedIn post variants that sound like a real human practitioner, not a LinkedIn thought-leader persona. Reads a voice guide the user has already generated (or prompts to create one), produces multiple framings of the same idea, and saves each variant as its own markdown file with frontmatter.
**This is an agent-executed skill** — the agent does the drafting and self-check inline. No Python script.
Mirrors `create-x-content` structurally; differences are marked ★.
/create-linkedin-content --brief "New open-source CLI that turns Figma files into React components. Called figma2react. Free, MIT licensed."
Or interactively:
/create-linkedin-content
| Flag | Required | Default | |------|----------|---------| | `--brief` | Yes (asked interactively if missing) | — | | `--variants` | No | Skill decides based on brief richness (2–5) | | `--voice-guide` | No | Resolved via chain below | | `--output` | No | `./content/YYYY-MM-DD-<topic-slug>/` | | `--topic` | No | Derived from brief |
Resolve in this order, stop at first hit:
1. `--voice-guide <path>` flag 2. `~/.goose-skills/config.json` → `voice_guides.linkedin` 3. `~/.goose-skills/voice-guides/voice-linkedin.md` (default path) 4. **Fallback prompt** — no guide found. Three options:
Apply these unless the voice guide explicitly says otherwise:
Same as `create-x-content` Phase 1 — load voice guide, extract banned phrases, hook patterns, format rules, dos/don'ts, examples.
Same 2–5 decision rubric. LinkedIn briefs often warrant fewer variants than X because LinkedIn posts are longer and the audience expects more narrative coherence — 3 strong framings usually beats 5.
Framings tuned for LinkedIn (subset of the X framings, plus a few LinkedIn-native ones):
| Framing | Structure | When to use | |---------|-----------|-------------| | `builder-story` ★ | "I built X. Here's why. Here's what I learned." | LinkedIn-native — builder stories outperform tactical posts here | | `product-launch` ★ | Clear hook + 2-step quickstart + link | New tool/product announcements | | `problem-first` | Open with the pain, then solution | Universal | | `ecosystem-map` | Curated list of N related tools/companies | Landscape posts | | `contrarian-insight` | "Your X might be worth more than Y" | Opinion pieces with a fresh take | | `workflow-tutorial` | Arrow-bulleted step-by-step, with numbers | Tactical how-tos (denser than X version) |
Same 4 checks as `create-x-content`: 1. Banned phrase check 2. Length check (150–500 for LinkedIn) 3. "Meat" check — specific tools/numbers/builds 4. Voice-match spot check
Plus LinkedIn-specific: 5. **Arrow-bullet check** — if the post uses lists, are they `→` style (or numbered emojis), matching the LinkedIn convention? 6. **"Why this matters" check** — does the post explain the stakes, or does it just state the facts? Add a "why this matters" beat if missing. 7. **No corporate tone** — does it sound like a press release? If yes, rewrite to sound like a human practitioner.
File naming (the `linkedin-` prefix distinguishes from X variants when they live in the same folder):
linkedin-<letter>-<framing-slug>.md
Examples: `linkedin-a-builder-story.md`, `linkedin-b-product-launch.md`.
Frontmatter:
--- id: <topic-slug>-li-<letter> platform: linkedin format: standard | long topic: <slug> framing: <framing-slug> status: draft ---
Print output directory, file list, framing summary, suggested next step.
**Builder story brief:**
/create-linkedin-content --brief "Built a CRM for my AI agents using just markdown files and Claude Code. No Salesforce, no HubSpot. Works better than both."
→ 3 variants (builder-story, contrarian-insight, workflow-tutorial)
**Launch brief:**
/create-linkedin-content --brief "Launching goose-aeo — open-source CLI that measures your brand's visibility on AI search engines like ChatGPT, Perplexity, Gemini. npm install, three commands to run."
→ 3 variants (product-launch, problem-first, workflow-tutorial)
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.