skills/composites/social-kit/SKILL.md
End-to-end composite that turns a single brief into voice-tuned X post variants, LinkedIn post variants, and a matching social graphic. Orchestrates create-x-content + create-linkedin-content + goose-graphics in one invocation. Asks about graphic format when not specified, with heuristic-driven recommendations.
npx skillsauth add gooseworks-ai/goose-skills social-kitInstall this skill globally with one command. Works with Claude Code, Cursor, and Windsurf.
3 of 9 scanners reported clean
Some scanners were skipped, did not run, or reported a non-clean status. Review each row below.
One command → X variants + LinkedIn variants + a graphic. A thin orchestrator that chains create-x-content, create-linkedin-content, and goose-graphics, with sensible defaults and a pre-flight check for voice guides.
Full args:
/social-kit --brief "..." --format poster --style matt-gray --output ./content/2026-04-21-my-topic/
Partial (asks for format):
/social-kit --brief "..."
Interactive:
/social-kit
| Flag | Required | Default |
|------|----------|---------|
| --brief | Yes (asked if missing) | — |
| --format | No | Asked with recommendations |
| --style | No | matt-gray if the user has no stated preference; otherwise asked |
| --output | No | ./content/YYYY-MM-DD-<topic-slug>/ |
| --variants-x | No | create-x-content decides |
| --variants-linkedin | No | create-linkedin-content decides |
| --skip-graphic | No | false |
| --skip-x | No | false |
| --skip-linkedin | No | false |
topic-slug from the brief (short kebab-case, 2–4 words).<output> — default ./content/YYYY-MM-DD-<topic-slug>/. Create the directory if it doesn't exist.Check ~/.goose-skills/config.json for voice_guides.x and voice_guides.linkedin. If either is missing and that platform isn't skipped:
Missing voice guide for <platform>.
(a) Generate one now via /generate-voice-guide --platforms <platform>
(b) Paste an existing path
(c) Skip <platform> for this run
Do not proceed without resolving every non-skipped platform.
Invoke /create-x-content with:
--brief "<brief>"
--output <resolved-output>
[--variants <N>]
Wait for completion. Capture the list of created files + the most substantive variant for use in Step 5's graphic brief.
Skip if --skip-x.
Invoke /create-linkedin-content with the same args. Wait for completion.
Skip if --skip-linkedin.
If --format was passed, use it.
Otherwise, analyse the brief and recommend 1–2 formats using this heuristic:
| Brief shape | Recommended format | |-------------|-------------------| | One strong claim, stat, or launch announcement | poster (1080×1350) | | Numbered steps, how-to, or sequential process | carousel (1080×1080 per slide) | | Mechanism/data/timeline with multiple sections | infographic (1080×variable) | | Single testimonial, quote, or result metric | tweet (1080×1080) | | Vertical, mobile-first, under 6 beats | story (1080×1920) | | Widescreen presentation or demo | slides (1920×1080) | | Chart or data visualization | chart (1080×1080) |
Present recommendations as a short menu:
Based on the brief, I'd recommend one of these:
1. poster — single strong claim, fits the "X costs $0.01 to run" shape
2. carousel — if you want to walk through the how-it-works steps
Which? (or paste another format name)
Skip this step if --skip-graphic.
If --style was passed, use it.
Otherwise, default to matt-gray unless the user stops the skill to pick another. To change the default per-user, a future enhancement can add a style_default key to ~/.goose-skills/config.json.
Invoke /goose-graphics with:
--style <style>
--format <format>
--brief "<distilled-brief>"
Point output at <resolved-output>/graphic/. The distilled brief should include:
Wait for completion. Capture paths to PNG exports + index.html.
Skip if --skip-graphic.
Print a summary:
Social kit ready at <resolved-output>/
X drafts (N variants):
- variant-a-<framing>.md
- variant-b-<framing>.md
- ...
LinkedIn drafts (N variants):
- linkedin-a-<framing>.md
- linkedin-b-<framing>.md
- ...
Graphic (<format>, <style>):
- graphic/slides/ (HTML source)
- graphic/exports/ (PNG files, N files)
- graphic/index.html (preview in browser)
Next steps:
- Open graphic/index.html to review visuals
- Open any variant-*.md to copy/paste
- Pair a variant with a graphic for LinkedIn/X
content/YYYY-MM-DD-<topic>/
├── variant-a-<framing>.md # X drafts
├── variant-b-<framing>.md
├── ...
├── linkedin-a-<framing>.md # LinkedIn drafts
├── linkedin-b-<framing>.md
└── graphic/
├── slides/ # HTML source (1+ files depending on format)
├── exports/ # PNG exports
└── index.html # preview
Required skills:
create-x-contentcreate-linkedin-contentgoose-graphicsRecommended:
generate-voice-guide (create voice guides once before first use of social-kit)Voice guides + config at ~/.goose-skills/voice-guides/ and ~/.goose-skills/config.json are discovered automatically.
Typical run (format asked):
/social-kit --brief "Claude can now verify email deliverability for $0.01 per check. Install gooseworks and ask. Runs MX, SMTP, RCPT TO, catch-all, disposable, blocklist checks."
→ Drafts X + LinkedIn variants → asks "poster or carousel?" → generates graphic → delivers.
Full args (one-shot):
/social-kit --brief "Someone vibe-coded a full lead gen tool in Claude Code in 2 weeks. Scrapes every business off Google Maps with 30+ data fields, pulls verified emails, reads up to 50 reviews to find pain points. Running $4200 ACV deals." --format carousel --style heatwave-orange
→ Runs end-to-end with no prompts.
Skip graphic:
/social-kit --brief "..." --skip-graphic
→ Just the X + LinkedIn drafts.
/generate-voice-guide once before your first /social-kit invocation. This is a one-time setup.mechanism-breakdown X variant pairs with a carousel. A short hype variant pairs with a poster. The file naming makes these pairings easy to spot./generate-voice-guide with more recent posts or more iterations — not rewriting the skill prompts.content/YYYY-MM-DD-<topic>/ layout. Keep it consistent for easier cross-referencing later.development
End-to-end skill that turns a single reference image into a fully-installed, example-rendered style preset for the goose-graphics composite. Analyzes the image, writes the slim style spec, registers it in styles/index.json, generates all 7 format examples using the standard brief, renders PNGs via Playwright, and updates examples/manifest.json. Invoke with /goose-graphics-create-style.
development
Evaluate YC batch companies for investment — scrapes the YC directory, researches each company and its founders (work history, LinkedIn, website), assesses founder-company fit, and exports to Google Sheets with priority rankings. Use when asked to evaluate YC companies, research a YC batch, screen startups, or do due diligence on YC companies.
tools
Take screenshots of any website using Notte browser automation. Use when asked to screenshot, capture, or snap a webpage.
development
Search the web, platforms, and datasets. Use when asked to search, find, look up, research, or discover information from the web, YouTube, Amazon, eBay, news, academic sources, or any online platform.