From antigravity-awesome-skills
Generates LinkedIn posts, carousels, newsletters, and 30-day calendars with niche-specific SEO and a reinforcement-learning memory system that adapts to your feedback.
How this skill is triggered — by the user, by Claude, or both
Slash command
/antigravity-awesome-skills:linkedin-content-generatorThe summary Claude sees in its skill listing — used to decide when to auto-load this skill
A full LinkedIn content-creation suite for Claude Code that turns a topic and niche into
A full LinkedIn content-creation suite for Claude Code that turns a topic and niche into publish-ready posts, multi-slide carousels, long-form newsletter editions, and 30-day content calendars — all wired through a personal reinforcement-learning memory system so every output improves as you give feedback.
Seven coordinated commands cover the full content workflow:
| Command | Purpose |
|---|---|
/generate-post | Single ready-to-publish LinkedIn post |
/generate-carousel | Numbered slide content + caption |
/generate-newsletter | Long-form newsletter edition |
/generate-calendar | 30-day posting calendar with Markdown table |
/show-memory | Display current preferences and feedback log |
/feedback | Save what worked for future outputs |
/clear-memory | Reset memory to factory defaults |
All helper scripts are bundled inside skills/linkedin-content-generator/scripts/ and ship
alongside this SKILL.md. They build richly engineered prompts, inject your saved
preferences, and enforce LinkedIn SEO rules before Claude generates output.
A local memory.md file persists your style, tone, successful hooks, and top-performing
formats across every session.
Python 3.8 or later must be available in your shell path.
The skill is self-contained. Install it from the antigravity skills library:
# Install via antigravity CLI (recommended)
antigravity install linkedin-content-generator
# Or copy manually into your Claude Code skills directory
cp -r skills/linkedin-content-generator ~/.claude/skills/
All six Python scripts and the default memory.md are bundled inside the
scripts/ subdirectory of this skill. No additional cloning or downloads are required.
No API keys, external services, or network access are needed.
User command (/generate-post ...)
│
▼
SKILL.md parses $ARGUMENTS
│
▼
Python script builds prompt
• Injects LinkedIn SEO rules
• Injects memory.md preferences
│
▼
Claude generates publish-ready output
│
▼
/feedback saves what worked → memory.md
(loop — every future output improves)
Open ~/.claude/skills/linkedin-content-generator/scripts/memory.md and update the
Primary Niche field:
## Core Identity & Tone
- **Primary Niche:** AI & Technology ← change this
This field is injected into every prompt. Without it, the skill defaults to
"AI & Technology".
Run any of the seven commands described in the Commands Reference section below. Claude reads the script output and produces the final content directly in the chat.
After each output, save successful patterns with /feedback:
/feedback the storytelling hook in this post got 3x more comments than usual
The feedback is appended to memory.md and automatically injected into all future
generation prompts.
/generate-post — Single LinkedIn PostGenerates a scroll-stopping, SEO-optimised LinkedIn text post.
Usage:
/generate-post <topic> [in <niche>] [tone: controversial|storytelling|educational|motivational|professional]
Parameters:
| Parameter | Default | Options |
|---|---|---|
topic | required | any subject |
niche | "AI & Technology" | any industry |
tone | professional | professional · storytelling · controversial · educational · motivational |
style | list-based | list-based · text-only · storytelling · data-driven · contrarian |
Examples:
/generate-post why most developers fail at time management in Software Engineering tone: storytelling
/generate-post the real cost of technical debt in SaaS tone: controversial
/generate-post 5 things I wish I knew before my first startup in Entrepreneurship tone: educational style: list-based
Output structure:
/generate-carousel — LinkedIn CarouselGenerates numbered slide content plus a ready-to-use LinkedIn caption.
Usage:
/generate-carousel <topic> [in <niche>] [<n> slides] [style: how-to|listicle|myth-busting|framework|story-arc]
Parameters:
| Parameter | Default | Options |
|---|---|---|
topic | required | any subject |
niche | "AI & Technology" | any industry |
slides | 7 | 3–12 |
style | listicle | how-to · listicle · myth-busting · framework · story-arc |
Style guide:
| Style | Structure |
|---|---|
how-to | Slide 1 = problem → slides 2–N = steps → last = result / CTA |
listicle | Each slide = one item with bold title + 1–2 sentence explanation |
myth-busting | Each slide = MYTH: [belief] → TRUTH: [reality] |
framework | Introduce a proprietary framework; each slide = one component |
story-arc | Slide 1 = before → middle = journey → last = after + CTA |
Examples:
/generate-carousel 10 prompt engineering mistakes 8 slides style: myth-busting
/generate-carousel building a second brain in Knowledge Management 7 slides style: how-to
/generate-carousel the PARA method for productivity in Personal Development style: framework
Output: Slides numbered 1 through N, followed by a LinkedIn caption with hook,
teaser context, "Swipe →" prompt, and hashtags.
/generate-newsletter — LinkedIn Newsletter EditionGenerates a complete long-form newsletter edition structured for the LinkedIn Newsletter editor.
Usage:
/generate-newsletter <topic> [in <niche>] [length: short|medium|long] [title: "<series title>"]
Parameters:
| Parameter | Default | Options |
|---|---|---|
topic | required | any subject |
niche | "AI & Technology" | any industry |
length | medium | short (~700 w) · medium (~1,200 w) · long (~2,000 w) |
title | auto-generated | optional series name |
Examples:
/generate-newsletter how AI is reshaping hiring in HR & Recruiting length: medium
/generate-newsletter the state of developer tools in 2026 in DevTools length: long title: "Build Layer Weekly"
Output structure:
/generate-calendar — 30-Day Content CalendarGenerates a Markdown table calendar with monthly theme, SEO keywords, and format breakdown.
Usage:
/generate-calendar [niche: <niche>] [days: <n>] [frequency: <freq>] [goal: awareness|engagement|leads|authority|growth]
Parameters:
| Parameter | Default | Options |
|---|---|---|
niche | required | any industry |
days | 30 | any positive integer |
frequency | "3 times a week" | any posting cadence |
goal | growth | awareness · engagement · leads · authority · growth |
Goal guide:
| Goal | Strategy |
|---|---|
awareness | Shareable, relatable, trending; heavy on carousels and contrarian takes |
engagement | Opinion posts, polls, questions, storytelling to maximise comments |
leads | Educational value posts + authority-building + clear DM CTAs |
authority | Deep insights, data-backed posts, thought leadership, newsletters |
growth | Mix viral formats (carousels, lists, contrarian) with high-value education |
Examples:
/generate-calendar niche: Fintech days: 30 frequency: daily goal: authority
/generate-calendar niche: Marketing Agencies days: 14 frequency: 5 times a week goal: leads
Output: Markdown table (# | Day | Format | Topic / Angle | Hook | CTA) + monthly theme +
top 5 SEO keywords + format breakdown summary.
/show-memory — Display PreferencesDisplays current memory contents: niche, tone, style, and all saved feedback entries.
Usage:
/show-memory
Output: Full memory.md content with entry count, primary niche, and tone summary.
/feedback — Save Successful PatternsAppends a labelled feedback entry to memory.md. Future outputs automatically incorporate
saved patterns.
Usage:
/feedback <what worked well>
Examples:
/feedback the contrarian hook "everyone is wrong about X" drove 400% more impressions
/feedback myth-busting carousels in the DevOps niche get 3x more saves than listicles
/feedback storytelling tone with a personal failure story outperforms data-driven in my audience
/clear-memory — Reset MemoryResets memory.md to factory defaults. The command asks for confirmation before
executing.
Usage:
/clear-memory
The skill injects these rules into every prompt via the bundled scripts/utils.py. They are not
optional; they are part of the prompt engineering that makes outputs platform-native.
"In today's...", "I am excited to...", "Happy to share...",
"Thrilled to announce...".#AI, #Marketing, #Leadership).#AIAgents, #ContentMarketing, #StartupLife).#LinkedInTips, #PersonalBranding).Primary Niche in memory.md before generating any content./feedback after any post that performs well — the memory compounds over time./generate-calendar first when planning a content sprint; it provides topics
for /generate-post and /generate-carousel runs.controversial tone on topics where you have a genuine, defensible stance;
avoid it for topics where nuance is more valuable than edge./feedback loop — without it, every output starts from generic
LinkedIn best practices rather than your specific audience data.data-driven style without real statistics to cite; fabricated
numbers destroy credibility faster than any other LinkedIn mistake.goal; the default growth
goal mixes formats broadly and may not match a specific campaign objective.memory.md.slides parameter is clamped to the range 3–12. Carousels outside this range
will silently be adjusted to the nearest boundary.memory.md grows unbounded as feedback accumulates. Very large memory files (500+
entries) may exceed prompt context limits and cause truncation. Periodically archive
old entries using /clear-memory and re-seed with your top learnings.python3 is unavailable or Bash tool
calls are blocked.This skill uses the Bash allowed-tool to run Python scripts bundled at
~/.claude/skills/linkedin-content-generator/scripts/. All scripts are read-only
operations except memory_manager.py, which writes only to memory.md inside that
same bundled scripts/ directory.
~/.claude/skills/linkedin-content-generator/scripts/ are modified.clear command in memory_manager.py overwrites only the bundled memory.md;
it does not delete any other files.--feedback and --id arguments passed to memory_manager.py are written
verbatim to memory.md. Do not pass shell metacharacters or sensitive data as
feedback strings.All Bash commands in this skill are local Python invocations with no elevated privileges required:
# SKILL_SCRIPTS resolves to ~/.claude/skills/linkedin-content-generator/scripts
SKILL_SCRIPTS="${HOME}/.claude/skills/linkedin-content-generator/scripts"
python3 "${SKILL_SCRIPTS}/generate_post.py" --topic "..." --niche "..." --tone professional --style list-based
python3 "${SKILL_SCRIPTS}/memory_manager.py" add --id "..." --feedback "..." --tags "..."
python3 "${SKILL_SCRIPTS}/memory_manager.py" read
python3 "${SKILL_SCRIPTS}/memory_manager.py" clear
Problem: Script exits with ModuleNotFoundError or No module named 'utils'.
Solution: Each script uses sys.path.insert(0, SCRIPT_DIR) to locate utils.py
relative to itself, so they must be invoked with an absolute path — not from inside
the scripts/ directory. Use
python3 "${HOME}/.claude/skills/linkedin-content-generator/scripts/generate_post.py" ....
Problem: Memory is not being applied to generated content.
Solution: Check that memory.md exists at
~/.claude/skills/linkedin-content-generator/scripts/memory.md. Run /show-memory
to confirm. If missing, run any generator command once — it auto-creates the file from
the bundled template.
Problem: Calendar output is missing days or the table is malformed.
Solution: Verify the --days value is a positive integer and --frequency is
quoted if it contains spaces (e.g., "3 times a week"). The script passes these
values directly into the prompt string.
Problem: Carousel slides exceed the requested count.
Solution: The slides value is clamped server-side to [3, 12]. If Claude
generates more slides than requested, it is following the style guide structure
(cover + content + CTA). Specify an exact count and style to get precise control.
Problem: Generated post sounds generic despite feedback being saved.
Solution: Memory entries are injected as context, not as hard rules. Use specific,
actionable feedback: "opening with a personal failure story outperforms stats for my audience" is more useful than "storytelling was good".
Problem: python3 not found on Windows.
Solution: Install Python 3.8+ from python.org and ensure it is on PATH, or run via
py "%USERPROFILE%\.claude\skills\linkedin-content-generator\scripts\generate_post.py" .... On Windows without WSL, the Bash tool invocation
may need adjustment in the SKILL.md allowed-tools context.
@content-creator — Broader brand voice analysis, SEO optimisation, and
cross-platform content frameworks. Use when building a full content marketing system
beyond LinkedIn alone.@content-strategy — Topic cluster planning, editorial roadmap, and content mix
strategy. Use before running /generate-calendar when you need to define pillar topics
first.@content-marketer — Campaign-level content planning across channels. Complements
this skill when LinkedIn is one channel in a broader multi-platform launch.@linkedin-automation — Programmatic LinkedIn post publishing via the Composio/Rube
MCP. Use alongside this skill when you want to automate the publishing step after
generating content here.@linkedin-profile-optimizer — LinkedIn profile and personal brand optimisation.
Use before running this skill to align generated content voice with your profile's
headline, summary, and featured section.npx claudepluginhub sickn33/antigravity-awesome-skills --plugin antigravity-bundle-aas-mobile-app-builderGuides step-by-step repurposing of YouTube videos, blogs, guides, or insights into LinkedIn posts matching Ben's voice. Activates on LinkedIn post requests.
Generates LinkedIn posts in your voice by building an author profile via interviews and scraping, then drafts with news and humanizes. Automates personal content creation.
Generates two viral LinkedIn posts in proven formats, matched to the founder's voice, using battle-tested templates. Auto-selects formats based on topic.