Skip to content
Back to skills

Social Kit

ASecurity

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.

  • 1,232 stars
  • 0 votes
  • 0 copies
  • 1 view
  • Added May 27, 2026
data-airustgo

Works with

  • claude code

Security analysis

A100/100

Pro scans all 2 files and shows the line behind each finding

Scanned September 4, 2026

npx -y skills add gooseworks-ai/goose-skills --skill social-kit --agent claude-code

Installs into .claude/skills of the current project.

Are you the author of Social Kit?

Add the live security badge to your README. It updates with every re-scan.

Security grade badge for Social Kit
[![Security: A — Skills Directory](https://www.skillsdirectory.com/api/skills/gooseworks-ai-social-kit/badge)](https://www.skillsdirectory.com/skills/gooseworks-ai-social-kit)

More formats (shields.io, HTML) on the badges page. Keep it an A: scan every change in CI with Pro.

Download with Pro
SKILL.md
---
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-<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 |

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

Files in this skill

  • SKILL.md7.2 KB
  • skill.meta.json692 B

Attribution

Is this your skill, or is something wrong with this listing? Request removal or report an issue. Author removals are honored within 72 hours.

Comments

Loading comments…

Newsletter

Get the weekly list of safe new skills, and the ones we pulled.