--- name: social-kit description: > 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. tags: [content, social] --- # 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 | 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-/` | | `--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 | ## 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 `` — default `./content/YYYY-MM-DD-/`. 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 . (a) Generate one now via /generate-voice-guide --platforms (b) Paste an existing path (c) Skip for this run ``` Do not proceed without resolving every non-skipped platform. ### Step 3 — Draft X variants Invoke `/create-x-content` with: ``` --brief "" --output [--variants ] ``` 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 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`. ### 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