contentsocial

Social Kit

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.

Gooseby Athina AI
Install
Terminal
npx gooseworks install --all

# then, in Claude Code, Cursor, or Codex:
/gooseworks use the social-kit skill
About This Skill

Social Kit

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.

Invocation

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

Inputs

FlagRequiredDefault
--briefYes (asked if missing)
--formatNoAsked with recommendations
--styleNomatt-gray if the user has no stated preference; otherwise asked
--outputNo./content/YYYY-MM-DD-<topic-slug>/
--variants-xNocreate-x-content decides
--variants-linkedinNocreate-linkedin-content decides
--skip-graphicNofalse
--skip-xNofalse
--skip-linkedinNofalse

Workflow

Step 1 — Intake

  1. Resolve the brief (prompt if missing).
  2. Derive a topic-slug from the brief (short kebab-case, 2–4 words).
  3. Resolve <output> — default ./content/YYYY-MM-DD-<topic-slug>/. Create the directory if it doesn't exist.

Step 2 — Pre-flight voice guide check

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.

Step 3 — Draft X variants

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.

Step 4 — Draft LinkedIn variants

Invoke /create-linkedin-content with the same args. Wait for completion.

Skip if --skip-linkedin.

Step 5 — Pick a graphic format

If --format was passed, use it.

Otherwise, analyse the brief and recommend 1–2 formats using this heuristic:

Brief shapeRecommended format
One strong claim, stat, or launch announcementposter (1080×1350)
Numbered steps, how-to, or sequential processcarousel (1080×1080 per slide)
Mechanism/data/timeline with multiple sectionsinfographic (1080×variable)
Single testimonial, quote, or result metrictweet (1080×1080)
Vertical, mobile-first, under 6 beatsstory (1080×1920)
Widescreen presentation or demoslides (1920×1080)
Chart or data visualizationchart (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.

Step 6 — Pick a style

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.

Step 7 — Generate the graphic

Invoke /goose-graphics with:

--style <style>
--format <format>
--brief "<distilled-brief>"

Point output at <resolved-output>/graphic/. The distilled brief should include:

  • The headline/hook from the most substantive X variant
  • 2–4 key beats (steps, numbers, or sections)
  • Any specific strings that must appear verbatim (tool names, commands, prices)

Wait for completion. Capture paths to PNG exports + index.html.

Skip if --skip-graphic.

Step 8 — Deliver

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

Output Layout

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

Dependencies

Required skills:

  • create-x-content
  • create-linkedin-content
  • goose-graphics

Recommended:

  • 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.

Examples

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.

Tips

  • First-time users: run /generate-voice-guide once before your first /social-kit invocation. This is a one-time setup.
  • When the recommended format feels off, it probably is. The heuristic is a starting point — trust your read of the brief more than the recommendation.
  • Pair drafts with graphics intentionally. A long 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.
  • Iterate on voice before iterating on content. If your drafts feel off, 80% of the fix is re-running /generate-voice-guide with more recent posts or more iterations — not rewriting the skill prompts.
  • Output path convention: uses a standard content/YYYY-MM-DD-<topic>/ layout. Keep it consistent for easier cross-referencing later.

What's included

·
The headline/hook from the most substantive X variant
·
2–4 key beats (steps, numbers, or sections)
·
Any specific strings that must appear verbatim (tool names, commands, prices)
·
create-x-content
·
create-linkedin-content
You Might Also Like

Render VO Anchored Motion Listicle

Assemble an expert/educator motion-graphic LISTICLE video ad from a config — a spoken authoritative voiceover carries a numbered listicle while N web-animated hyperframe beats (HTML plus the Web Animations API, one branded design system of alternating tiles, big hero numerals, and glass-pill callouts) are rendered frame-by-frame via Playwright and anchored to the VO's word-level timestamps, periodic color-graded B-roll windows give visual breath, and captions burn ONLY inside those B-roll windows (2-word chunks, ASS Format header carrying a Name field so none drop) with the VO mixed under a low music bed. This is the FREE deterministic assembly stage (Playwright beat render plus ffmpeg concat plus window-masked caption burn plus VO-and-music mix plus final composite) — the VO, the music bed, and the stock B-roll come from create-vo-elevenlabs, create-music-elevenlabs, and media-proxy. Use for the vo-anchored-motion-listicle format.

Render Stopmotion Hand Swatch Cycle

Assemble a stop-motion hand-swatch-cycle product-demo ad from a config — a sequence of still PLATES (one hand swiping a single-barrel cosmetic across a cream skin-patch, the barrel + swatch changing per plate while the hand, background, crop, and lighting stay locked) is PNG→mp4 loop-encoded at each plate's own stop-motion hold (fast motion frames 150–250ms, per-shade ~380ms, hero beats 1100–1800ms), concat-demuxed with HARD cuts into a silent master, closed on a Playwright HTML-rendered branded end card (serif tagline + sans subtitle + real logo SVG over a hero BG, never AI-rendered text), and muxed with a pre-sourced music track playing under the end card with a fade tail (no VO). This is the FREE deterministic assembly stage (loop-encode + concat-demux + end-card render + music mux); the master-anchor plate, shade plates, and end-card BG come from create-image-gpt-image-fal and the track from create-music-elevenlabs. Use for the stopmotion-hand-swatch-cycle format.

Render Split Screen Creator

Assemble a split-screen creator ad from a config — a two-zone vertical composite where a supplied AI-creator lip-sync take fills the BOTTOM ~48% while real 16:9 product/demo clips run uncropped in the TOP ~52%, each top clip contain-fit with a darkened blurred cover-scale fill of the same clip (never black bars), a 3px brand-color divider between the zones, the creator slice cover-fit per the per-scene VO timing, scenes hard-concatenated with the body audio being the concatenated creator VO slices, an end card held on the last sharp frame ~3s, then the ASSEMBLED cut transcribed with local Whisper (not the raw VO — concat drops inter-scene silence) and word-level captions burned in the chosen style. This is the FREE deterministic assembly + caption stage (two-zone composite + blurred fill + divider + hard-concat + end card + captions); the VO comes from create-vo-elevenlabs, the anchor from create-image-gpt-image-fal, and the whole-VO lip-sync from a paid VEED Fabric 1.0 take (a no-atom upstream input). Use for the split-screen-creator format.

Newsletter

Learn to build Growth systems with AI

2-3 compounding systems per week using Claude Code, OpenClaw, and more.