~/codigoagente
AI agents

Social Media Skills for Claude: how to use them for LinkedIn, Instagram and YouTube content

A post going around Facebook claims a GitHub repo "turns Claude into a content growth machine": it analyses your top posts, generates ideas and hooks in your voice and helps you grow on LinkedIn, Instagram, X and YouTube. The repo is charlie947/social-media-skills, a pack of 17 skills for Claude and Codex under the MIT licence.

We cloned it, read every skill, ran its validator and installed it in Claude Code. This guide covers what each skill does, how to install them, the order to use them in and which parts of the claim hold up. Short version: it is a solid system for LinkedIn, with some help for Instagram Reels and YouTube thumbnails. X only shows up as a research source.

What social-media-skills is

A *skill* is a folder with a SKILL.md file: Markdown instructions the assistant loads when your request matches its description. It is not a program that runs on its own or a cloud service. It is a set of procedures Claude or Codex follows inside your project.

Repo facts at the time of testing:

  • Version: 1.1.0 (15 September 2026, per VERSIONS.md). 1.0.0 shipped on 22 April 2026.
  • Licence: MIT. You can use, modify and adapt the skills for clients.
  • Works with: Claude Code (as a plugin), Claude Desktop (uploading each skill) and Codex (via its installer or by copying to .agents/skills/).
  • Author: Charlie Hills, who documents the system in the *MarTech AI* newsletter.

The README is upfront that this is a public toolkit, not the author's full private system (no Figma pipeline, accounts or configuration).

The 17 skills and what each one does

Grouped by output rather than README order:

SkillWhat it doesPlatform
`voice-builder`Short interview + 3 to 5 of your texts → creates `about-me.md` and `voice.md`. Everything else builds on it.All
`newsletter-voice`Extra rules for your newsletter → `newsletter-voice.md`.Newsletter
`post-writer`Drafts posts in your voice from a topic or raw notes.LinkedIn
`post-formatter`Turns a topic into a post with a fixed framework: PAS, AIDA, BAB, STAR or SLAY.LinkedIn
`hook-generator`6 two-line hooks (40 characters max per line) from different angles.LinkedIn
`content-matrix`Crosses your 3-5 pillars with 8 formats → 24 to 40 post ideas.LinkedIn
`niche-research`Finds up to 20 stories in your niche from the last 7 days (Reddit, X, Google).Research
`post-scorer`Scores a draft against your real post history.LinkedIn
`analytics-dashboard`Turns a LinkedIn Analytics export into a React dashboard + 5 recommendations.LinkedIn
`profile-optimizer`Rewrites headline, About, experience and featured section.LinkedIn
`graphic-designer`HTML/CSS graphic (PNG if a renderer is available) or a Gemini prompt.LinkedIn
`gemini-carousel`Carousel brief and per-slide prompts.LinkedIn
`gemini-infographic`Whiteboard-style infographic brief and prompt.LinkedIn
`quote-post`Original quotes + image prompt.LinkedIn
`pinned-comment`Meme-style pinned comment with an image prompt.Community
`reels-scripting`Analyses a reference Reel and writes your own script.Instagram
`youtube-thumbnail`Video title to a Gemini thumbnail prompt.YouTube

Thirteen of the seventeen revolve around LinkedIn. If Instagram or X is your main channel, the pack gives you much less than the Facebook post suggests.

How to install the skills

Claude Code (plugin)

The repo ships a .claude-plugin/marketplace.json, so it installs as a plugin. Inside Claude Code:

snippettext
/plugin marketplace add charlie947/social-media-skills
/plugin install social-media-skills

Same thing from the terminal (tested with Claude Code 2.1.284):

terminalsh
claude plugin marketplace add charlie947/social-media-skills
claude plugin install social-media-skills@social-media-skills
claude plugin list

The last command should list social-media-skills@social-media-skills, version 1.1.0, status *enabled*. Running claude plugin validate on the repo passes with a single warning (the marketplace has no description), which does not affect usage.

Claude Desktop

Zip each skill folder (including its references/ subfolder when present) and upload it from the skills settings. The README suggests:

terminalsh
cd social-media-skills/skills
zip -r voice-builder.skill voice-builder

Each upload contains only that skill. Start with voice-builder and add the rest as you need them.

Codex

Ask the Codex skill installer to install skills by path (skills/voice-builder, skills/post-writer...) or clone the repo into your project and copy each folder to .agents/skills/<name>/. The README includes a copy loop that never overwrites existing skills, so customised versions are preserved.

How to use it, step by step

Always work in a project folder dedicated to your content (for example linkedin-content/). That is where the skills read and write your voice files, not inside the plugin folder.

1. Build your voice with voice-builder

Say "build my voice". The skill does not introduce itself; it goes straight to two rounds of questions:

  1. Who you are and what you do, who you write for, the 3-5 topics you want to be known for and your contrarian view on your industry.
  2. What you want people to think when they see your name and what you refuse to write about.

It then asks for 3 to 5 published texts (posts, newsletters, emails) and will not continue with fewer than 3. It analyses sentence length, rhythm, hook types, closings and, most usefully, what you never do (for example, 0 of 5 samples use em dashes or rhetorical questions). It writes two files to the project root:

  • about-me.md (300 words max): role, audience, pillars, point of view, brand promise and off-limits topics.
  • voice.md (500 words max): tone, rhythm, hooks, openings, closings, signature phrases and what your voice avoids.

With no samples you can type "use samples" to load a starter set. Only do that to try it out: you would be borrowing someone else's voice.

2. Decide what to post: content-matrix and niche-research

  • content-matrix crosses your pillars with 8 formats (actionable, motivational, analytical, contrarian, observation, X vs Y, present vs future and listicle). Each cell is a concrete headline, not a vague theme. In Claude Code it saves the table to content-matrix-YYYY-MM-DD.md.
  • niche-research looks for stories from the last 7 days on Reddit, the X "For You" feed and Google, checks every date and drops anything older. It needs browser or web search access in your assistant; without it, it tells you rather than making things up.

3. Write: post-writer, hook-generator and post-formatter

  • post-writer requires about-me.md and voice.md; if they are missing it sends you to voice-builder and stops. It suggests three angles and a framework, returns the post in a paste-ready code block and allows up to 3 revision rounds.
  • hook-generator produces 6 two-line hooks: number-led, contrarian, personal transformation, authority reference, admission and future shock. It only writes "I" when you give it a real experience of your own.
  • post-formatter applies a strict framework (PAS, AIDA, BAB, STAR or SLAY), 20 lines max, formatted for mobile.

4. Measure: post-scorer and analytics-dashboard

This is the "analyses your top-performing posts" part of the Facebook claim, and it comes with fine print.

post-scorer rates a draft from 1 to 10 on five criteria: hook strength, voice match, value density, structure and format, and publish readiness. To compare it with your history it needs real data from one of these routes:

  1. An export of your posts that you upload.
  2. An Apify run (actor apimaestro/linkedin-profile-posts, up to 100 posts) on your own account, which costs money and asks for confirmation first.
  3. With no data, an editorial-only review, labelled as such.

With data, it computes an engagement score per post (reactions + comments × 3), takes the top 10% and extracts their patterns: hook type, length, format, CTA and topics. It saves the result to outputs/post-scorer/ and suggests a refresh when the data is more than 14 days old.

analytics-dashboard starts from the LinkedIn Analytics .xlsx export (Analytics → 30, 60 or 90 day range → Export). It builds a React + Recharts dashboard (headline metrics, engagement trend, follower growth, impressions vs engagement scatter, day-of-week heatmap and audience breakdown) plus a written analysis with 5 data-backed recommendations.

5. Visuals: carousels, infographics and thumbnails

The gemini-*, quote-post, pinned-comment and youtube-thumbnail skills produce prompts for Gemini. You need Gemini image generation access to get the actual image; without it you get a ready prompt. graphic-designer can produce an editable HTML/CSS graphic and, if your environment can render (a browser with screenshots), an inspected PNG.

Instagram Reels: what reels-scripting needs

The most technical skill. Given a reference Reel URL it:

  1. Downloads the video with Apify (apify/instagram-reel-scraper) to outputs/reels/<slug>/downloads/.
  2. Sends it to Gemini 2.5 Flash for a timestamped transcript and an analysis of the hook, language patterns and structure.
  3. Writes your own script (0-3 s hook, points, CTA and caption) to outputs/reels/<slug>/reel-<slug>.md, built on a topic from your newsletter.

Requirements: APIFY_API_TOKEN and GOOGLE_AI_API_KEY environment variables, Node.js 18+ and the apify-client and @google/generative-ai packages. If you already have the video you can skip Apify, and a transcript lets you skip both analysis steps.

What the Facebook post leaves out

  • X has no dedicated skills. It is only a source in niche-research. To write X threads you would have to adapt post-writer yourself.
  • YouTube is thumbnails only. No long-form scripts or channel analysis.
  • Nothing gets published. The README is explicit: saving a draft is not publishing, and no skill sends messages or touches your accounts.
  • "Performance analysis" depends on your data. Without an export or Apify, the score is editorial opinion, and the skill labels it that way.
  • No comment scraping. Every scraping route is limited to your post bodies and aggregate counts; the skills forbid collecting comments or replies.
  • British English by default. Several rules say "British English throughout". If you write in American English or another language, state it in voice.md and in each request.

Common errors

error: unable to open loose object ...: Filename too long when cloning on Windows

We hit this cloning into a long path: Git on Windows runs into the 260-character limit. Clone to a short path or enable long paths for that clone:

terminalsh
git -c core.longpaths=true clone --depth 1 https://github.com/charlie947/social-media-skills C:/src/sms

FileNotFoundError: [WinError 2] running tests/test-codex-portability.py

The test calls a hard-coded /bin/bash, which does not exist on native Windows. Without -X utf8 it fails even earlier with a UnicodeDecodeError reading the README. It is a contributor test; you do not need it to use the skills. The other validator, bash validate-skills.sh, works in Git Bash: it checks all 17 skills with 87 checks passed and 0 failures.

post-writer stops and asks you to "build my voice"

Not a bug: post-writer will not write without about-me.md and voice.md in the project root. Run voice-builder first, or open the right project if those files live in another folder.

FAQ

Is social-media-skills free?

Yes. The skills are MIT-licensed. What can cost money is external: your Claude or Codex plan, Apify runs and Gemini API usage.

Do I need Apify and Gemini?

Not for the basics. Voice, posts, hooks, the content matrix and editorial scoring work with the assistant alone. Apify pulls your history or downloads a Reel; Gemini analyses video and generates images.

Does it work for Instagram and X?

Partly. Instagram gets Reel scripts only, and X is only read as a news source. Most of the pack targets LinkedIn.

Can I use it for my agency's clients?

Yes, the licence allows it. Create one project per client with its own about-me.md and voice.md; the skills insist on never mixing authors or inheriting someone else's data.

Does it post to my accounts automatically?

No. It produces drafts, prompts and analysis; publishing is still up to you.

Conclusion

social-media-skills is a well-ordered system for producing LinkedIn content in your own voice: voice-builder first, then ideas (content-matrix, niche-research), writing (post-writer, hook-generator) and measurement (post-scorer, analytics-dashboard). For Instagram, X and YouTube it covers far less than the viral post claims. Next step: install the plugin, create a project folder and spend 15 minutes with voice-builder. Without those two voice files, every other skill underperforms.

// source code

Repository in this article
The code this article covers is public: browse it, star it or clone it from here.

// implementation

Need this automation running in your business?
Don't spend weeks wiring servers, APIs and agents. Safe Build Labs, the agency that sponsors codigoagente, builds it for you, production-ready.
We tested mcp-builder, Anthropic's official skill for building MCP servers: one for a small shop in 99 seconds for 0.25 USD, plus two version bugs to avoid.
  • Skills for your agents
  • Claude Code
read article
We tested webapp-testing, Anthropic's official skill that tests your local web app with Playwright: setup, with_server.py, two real pitfalls and what it costs.
  • Skills for your agents
  • Claude Code
read article
video-shotcraft is an Apache-2.0 skill with 150 shots that lets Claude Code build your product's promo video in Remotion. How it works and what it costs.
  • Skills for your agents
  • Claude Code
read article