Carousels
TheCraigHewitt/skills
Turns a piece of Craig's content (an email, a YouTube script, an essay, or pasted text) into a polished image carousel publishable to both LinkedIn and Instagram from one set of 1080x1350 slides.
A skill your agent uses when writing the actual words of one LinkedIn feed post — turning a raw idea, story or asset into ready-to-paste copy: a text post, a document/carousel cover with slide copy…
$ npx skills add ericrisco/rsc-harness --skill linkedin-content -a claude-codeProject install by default; add -g for ~/.claude/skills/.
$ gh skill install ericrisco/rsc-harness linkedin-content --agent claude-codeProject scope by default; add --scope user for a personal install. Needs GitHub CLI 2.90.0 or later (public preview).
$ git clone --depth 1 https://github.com/ericrisco/rsc-harness.git skills-src && mkdir -p .claude/skills && cp -r skills-src/skills/linkedin-content .claude/skills/linkedin-content && rm -rf skills-srcUse ~/.claude/skills/ instead of .claude/skills for a personal install. The folder must contain SKILL.md.
Claude Code skills documentation · loads skills from .claude/skills/
Install the "linkedin-content" agent skill from https://github.com/ericrisco/rsc-harness/tree/main/skills/linkedin-content into .claude/skills/linkedin-content/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "linkedin-content", then confirm the skill loads.Claude Code copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$skill-installer install https://github.com/ericrisco/rsc-harness/tree/main/skills/linkedin-contentType this inside Codex. $skill-installer <name> installs a curated skill from openai/skills. The installer writes to $CODEX_HOME/skills (default ~/.codex/skills). Restart Codex if the skill does not show up.
$ npx skills add ericrisco/rsc-harness --skill linkedin-content -a codexProject install goes to .agents/skills/; add -g for ~/.codex/skills/.
$ gh skill install ericrisco/rsc-harness linkedin-content --agent codexProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/ericrisco/rsc-harness.git skills-src && mkdir -p .agents/skills && cp -r skills-src/skills/linkedin-content .agents/skills/linkedin-content && rm -rf skills-srcUse ~/.agents/skills/ instead of .agents/skills for a personal install.
Codex skills documentation · loads skills from .agents/skills/
Install the "linkedin-content" agent skill from https://github.com/ericrisco/rsc-harness/tree/main/skills/linkedin-content into .agents/skills/linkedin-content/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "linkedin-content", then confirm the skill loads.Codex copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$ npx skills add ericrisco/rsc-harness --skill linkedin-content -a cursorProject install goes to .agents/skills/; add -g for ~/.cursor/skills/.
$ gh skill install ericrisco/rsc-harness linkedin-content --agent cursorProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/ericrisco/rsc-harness.git skills-src && mkdir -p .cursor/skills && cp -r skills-src/skills/linkedin-content .cursor/skills/linkedin-content && rm -rf skills-srcUse ~/.cursor/skills/ instead of .cursor/skills for a personal install.
Cursor skills documentation · loads skills from .cursor/skills/, .agents/skills/, .claude/skills/, .codex/skills/
Install the "linkedin-content" agent skill from https://github.com/ericrisco/rsc-harness/tree/main/skills/linkedin-content into .cursor/skills/linkedin-content/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "linkedin-content", then confirm the skill loads.Cursor copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$ gemini skills install https://github.com/ericrisco/rsc-harness.git --path skills/linkedin-content--scope user (default) or --scope workspace; --path is the subfolder of the repo that holds the skill; --consent skips the security confirmation prompt.
$ npx skills add ericrisco/rsc-harness --skill linkedin-content -a gemini-cliProject install goes to .agents/skills/; add -g for ~/.gemini/skills/.
$ gh skill install ericrisco/rsc-harness linkedin-content --agent gemini-cliProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/ericrisco/rsc-harness.git skills-src && mkdir -p .gemini/skills && cp -r skills-src/skills/linkedin-content .gemini/skills/linkedin-content && rm -rf skills-srcUse ~/.gemini/skills/ instead of .gemini/skills for a personal install, then run /skills reload.
Gemini CLI skills documentation · loads skills from .gemini/skills/, .agents/skills/
Install the "linkedin-content" agent skill from https://github.com/ericrisco/rsc-harness/tree/main/skills/linkedin-content into .gemini/skills/linkedin-content/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "linkedin-content", then confirm the skill loads.Gemini CLI copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$ gh skill install ericrisco/rsc-harness linkedin-contentInstalls for Copilot at project scope by default; add --scope user for a personal install. Preview a skill first with gh skill preview. Needs GitHub CLI 2.90.0 or later (public preview).
$ npx skills add ericrisco/rsc-harness --skill linkedin-content -a github-copilotProject install goes to .agents/skills/; add -g for ~/.copilot/skills/.
$ git clone --depth 1 https://github.com/ericrisco/rsc-harness.git skills-src && mkdir -p .github/skills && cp -r skills-src/skills/linkedin-content .github/skills/linkedin-content && rm -rf skills-srcUse ~/.copilot/skills/ instead of .github/skills for a personal install. Commit .github/skills so cloud agent and code review can use it.
GitHub Copilot skills documentation · loads skills from .github/skills/, .claude/skills/, .agents/skills/
Install the "linkedin-content" agent skill from https://github.com/ericrisco/rsc-harness/tree/main/skills/linkedin-content into .github/skills/linkedin-content/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "linkedin-content", then confirm the skill loads.GitHub Copilot copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$ npx skills add ericrisco/rsc-harness --skill linkedin-content -a opencodeOpenCode documents no install command of its own. Project install goes to .agents/skills/; add -g for ~/.config/opencode/skills/.
$ gh skill install ericrisco/rsc-harness linkedin-content --agent opencodeProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/ericrisco/rsc-harness.git skills-src && mkdir -p .opencode/skills && cp -r skills-src/skills/linkedin-content .opencode/skills/linkedin-content && rm -rf skills-srcUse ~/.config/opencode/skills/ instead of .opencode/skills for a personal install.
OpenCode skills documentation · loads skills from .opencode/skills/, .claude/skills/, .agents/skills/
Install the "linkedin-content" agent skill from https://github.com/ericrisco/rsc-harness/tree/main/skills/linkedin-content into .opencode/skills/linkedin-content/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "linkedin-content", then confirm the skill loads.OpenCode copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
linkedin-contentA skill your agent uses when writing the actual words of one LinkedIn feed post — turning a raw idea, story or asset into ready-to-paste copy: a text post, a document/carousel cover with slide copy…
Linkedin Content is an agent skill from ericrisco/rsc-harness. Use when writing the actual words of one LinkedIn feed post — turning a raw idea, story or asset into ready-to-paste copy: a text post, a document/carousel cover with slide copy and caption, or a short native-video script. Covers fixing a weak hook, reformatting a wall of text for the mobile feed, and a CTA that provokes a real comment. NOT planning what or when to post (that is linkedin-strategy), NOT designing the carousel slides and PDF export (that is linkedin-carousels), NOT DM sequences (that is…
Its SKILL.md is about 3.8k tokens, which your agent loads only when the skill is triggered. The skill folder holds 7 other files, including scripts and reference files (for example `evals/README.md`, `evals/cases.yaml` and `references/hooks-and-formats.md`).
It sits in Documents & Office, covering Slides and decks, Infographics and Video scripts and shorts. It works with LinkedIn. The repository describes itself as: Your agent invents things because it has no memory, and can't touch your database because it has no arms. rsc is the meta-harness that gives it both, plus the trade to know the… The licence is MIT.
3 steps, taken from the first numbered list in SKILL.md.
Read from SKILL.md and the folder at commit 92fde8f. It shows what the files ask for, not the result of running them.
Pre-approves nothing: there is no allowed-tools line, so your agent's usual permission prompts apply.
From allowed-tools in the SKILL.md frontmatter.
Ships 1 file in scripts/ (Shell), which the agent can run.
From the folder's file list and the shell code blocks in SKILL.md.
Hosts in commands or code, which the agent is likely to contact:
linkedin.comdataslayer.aimeet-lea.comrichardvanderblom.comFrom URLs in SKILL.md, links to its own repository left out.
Names no API keys, tokens, secrets or passwords.
From names ending in _API_KEY, _TOKEN, _SECRET, _KEY or _PASSWORD in SKILL.md.
Linkedin Content loads about 3.8k tokens when it runs, and up to ~5.2k if it reads all its reference files. Until then it costs about 151 tokens; SKILL.md has 2,086 words of instructions outside code blocks.
Estimates: characters ÷ 4, the usual rule of thumb; real counts depend on the model's tokenizer. Scripts and assets cost tokens only if the agent reads them.
The automated check found no risky patterns in SKILL.md.
Automated static check — not a guarantee. Review scripts before installing. It scans the text of SKILL.md for risky patterns (piping downloads into a shell, reading credential files, hidden Unicode, destructive commands); the scripts in this folder are not scanned.
The full file from ericrisco/rsc-harness at commit 92fde8f, republished under its MIT licence (© ericrisco). 2,086 words, ~3,843 tokens.
.claude/skills/linkedin-content/SKILL.md (or your agent's skills folder). This skill also uses 4 other files; get the full folder from GitHub.You write the copy of one LinkedIn post. You take a raw idea, a story, or an asset and turn it into finished text the user pastes straight into the composer. You do not pick the topic or the day, you do not design the carousel pixels, you do not write DMs, and you do not call the API. You hand over words.
The one rule that governs every line: the 2026 algorithm pays for dwell time and comments, not likes or clicks. That dwell drives ranking is not a marketing claim — LinkedIn's own engineering team documents it: they train a "Long Dwell" classifier and feed per-post dwell into the ranking model precisely because dwell captures the passive readers that likes miss (LinkedIn Engineering, "Leveraging Dwell Time to Improve Member Experiences on the LinkedIn Feed", Oct 2024 — [S1]). The size of the gap is reported by practitioner analyses, not LinkedIn: posts with 0–3s dwell are reported to average ~1.2% engagement vs. ~15.6% at 61+s, a ~13x gap ([S2], corroborated by [S3]). Treat the mechanism as solid and the multiplier as directional. A 30-second read beats 50 quick likes. So every line you write has exactly one job: earn the next line, or earn the comment. If a sentence does neither, cut it. Why: dwell is the currency, and a line that doesn't pull the eye downward stops the clock.
Every figure below is keyed inline as [S#]. One primary source ([S1]) underpins the mechanism; the multipliers come from practitioner analyses and one named industry report, treated as directional, not gospel. All accessed 2026-06-02.
https://www.linkedin.com/blog/engineering/feed/leveraging-dwell-time-to-improve-member-experiences-on-the-linkedin-feed. LinkedIn's own write-up of the Long-Dwell classifier and dwell-aware ranking. Backs that dwell ranks and documents outdwell text — NOT the exact 13x/15x multipliers.https://www.dataslayer.ai/blog/linkedin-algorithm-february-2026-whats-working-now. Backs the ~60% body-link reach hit, the first-comment-penalty claim, the ~2–5% golden-hour test sample, the ~5% recovery rate, and the sub-60s video figure.https://meet-lea.com/en/blog/linkedin-algorithm-explained. Independently states the 1.2% vs. 15.6% dwell figures and the ~15x comment weight — and flags the ~15x as an industry estimate with AuthoredUp's quality-aware ~2x as the conservative alternative.https://richardvanderblom.com/. Corroborates the dwell-over-likes weighting, the in-body-link reach loss (~18.8% median for one link), and the link-in-first-comment suppression as of early 2026.When a fact rests on [S2] alone for a time-stamped algorithm behavior (notably the first-comment penalty), the body hedges it as reported, not confirmed — see the link rule below.
The nearest miss is strategy vs. words. Deciding whether to post, on what topic, at what cadence is ../linkedin-strategy/SKILL.md. Writing the actual words of this one post is you. "Plan my month of LinkedIn" routes away; "write this post" stays.
The second is words vs. pixels. For a document/carousel post, ../linkedin-carousels/SKILL.md designs the slides — layout, visual system, PDF export. You write the document post's text: the cover-slide line, the per-slide copy, and the feed caption that frames it. Words here, pixels there.
Also route out: connection notes and DM sequences → ../linkedin-outreach/SKILL.md; programmatic schedule/publish → ../linkedin-api/SKILL.md; the durable brand tone the copy must obey → ../brand-voice/SKILL.md; a cross-platform short-form video idea → ../video-shorts/SKILL.md.
Each format has a different engagement ceiling and a different structure, so choose before you write a word. This branches, so use the table.
| Format | 2026 avg engagement | Pick it when | Structure you write |
|---|---|---|---|
| Document / PDF (carousel) | ~6.6–7.0% (+14% YoY) — highest | The idea is a list, a framework, a teardown, or a before→after that wants pages | Cover line + 3–10 slides of copy + 100–200-word caption |
| Native video | ~5.6% (+36% YoY, growing 2x faster; ~3x a text post) | A face, a demo, a story that lands better spoken | 30–90s script beats + caption |
| Text only | Lowest of the three | A sharp story or insight that needs no asset; fastest to ship | One 1,300–1,900-char post |
Per-format engagement rates from [S3] and the named research report [S4]; the document-format edge is corroborated by LinkedIn Engineering's own finding that document/carousel updates generate longer dwell than text or image updates ([S1]). Format choice is a real lever, not a coin flip — a document post can clear ~6x a text-only one on the same idea.
The mobile feed truncates after ~150–210 characters (the first ~3 lines) before see more ([S2] / [S3]). If those lines don't earn the tap, dwell never starts and the rest of your post is invisible. The hook is the whole game.
Rules, each with its why:
| Bad hook | Good hook |
|---|---|
| "Excited to share that we hit a new milestone this quarter! 🎉" | "We almost shut the product down in March. Then one churned customer told us why." |
| "I've been thinking a lot about leadership lately." | "I fired my best engineer. Revenue went up. Here's what that taught me about teams." |
| "Some thoughts on remote work and productivity." | "We went fully remote and our output dropped 30%. The fix wasn't more meetings." |
| "Happy to announce our new feature is live!" | "It took 4 rewrites and a near-mutiny to ship one button. Worth it." |
For the full 8–10 pattern library (number-lead, false-start, contrarian, open-loop, named-stakes), see references/hooks-and-formats.md.
A text post runs hook → turn → payoff → CTA. The length sweet spot is 1,300–1,900 characters — reported as ~47% higher engagement than short posts because it sustains dwell while staying consumable; the hard max is 3,000 ([S3] / [S4]). Budget it:
| Section | Budget | Job |
|---|---|---|
| Hook | ~150 chars (first ~3 lines) | Earn the see more tap |
| Turn | ~300–400 chars | The pivot — the thing that wasn't obvious |
| Payoff | ~600–900 chars | The lesson/story/proof the hook promised |
| CTA | ~100–200 chars | Provoke a comment only the reader can give |
Don't pad to hit the range; if the idea is genuinely a 700-char post, ship 700. The range is where most stories should land, not a quota.
Short 1–2 sentence paragraphs with line breaks are reported to sustain ~40% longer dwell than a wall of text ([S2] / [S3]). The composer has no native bold or italic, so Unicode is the only in-feed emphasis — use it on one or two phrases at most, never a whole line.
Rules: one idea per line; a blank line between thought-blocks; emoji as occasional bullets (▸, →, or a single 📌), never confetti.
Bad (wall):
We tried three onboarding flows over six months and the first two failed because they front-loaded configuration before value, which meant users churned before they ever saw the product work, so we rebuilt it around a single first action and activation jumped from 19% to 54% in two weeks which taught us that time-to-value beats feature-completeness every time.Good (broken for the thumb):
We tried three onboarding flows in six months.
The first two failed for the same reason:
they made users configure before they saw value.
So we cut everything but one first action.
Activation went 19% → 54% in two weeks.
The lesson: time-to-value beats feature-completeness. Every time.Comments are widely reported as ~15x the weight of likes ([S2] / [S3]) — though that exact multiplier is an industry estimate, and AuthoredUp's quality-aware analysis puts it closer to ~2x ([S3]). Either way the direction holds: a comment outweighs a like, and a meaningful comment more still. So the CTA's only job is to provoke a comment the reader is uniquely able to give. Why: a generic ask gets a generic like; a specific question gets a sentence, and a sentence is a comment.
Ask for the reader's own experience, number, or disagreement — something they can answer without you. Banlist of dead CTAs that get scrolled past: "thoughts?", "agree?", "let me know below", "what do you think?", "drop a comment".
| Dead CTA | Live CTA |
|---|---|
| "Thoughts?" | "What's the one onboarding step you'd kill if you could?" |
| "Agree?" | "If you've shipped fully remote — did output go up or down for you? Curious where I'm wrong." |
| "Let me know below." | "What metric finally made you trust an activation number?" |
Document / PDF post — write three things, never the slide design:
Hand the slide text to ../linkedin-carousels/SKILL.md for layout and export.
Native video — best at 30–90 seconds, and sub-60s short-form is reported to get ~53% more engagement than longer ([S2]). Write:
Full templates with char budgets for all three formats live in references/hooks-and-formats.md.
Put no link in the post body. A body link is reported to cost ~60% of reach ([S2], with [S4] measuring one in-body link at ~18.8% median reach loss — both agree the hit is large; the exact figure varies by sample). The riskier, time-stamped claim is that the old "link in the first comment" workaround is also penalized as of early 2026 — reported by both [S2] and the named research report [S4], which describes external-link comments being suppressed. It is not confirmed by LinkedIn, so treat it as a strong reported signal, not a law: the safe default is to assume the escape hatch is at least partly closed. If a link is non-negotiable, accept the reach hit knowingly; otherwise put the URL nowhere and tell people to DM/comment for it. Why: LinkedIn suppresses anything that pulls users off-platform, and the comment trick is widely reported as detected.
Work the golden hour. LinkedIn first tests a post on only ~2–5% of your network in the first hour; only ~5% of posts that underperform in that window are reported to ever recover broader reach ([S2]). The first-hour-test mechanism is consistent with LinkedIn Engineering's described pipeline of scoring early engagement on an initial sample before expanding distribution ([S1]). So after posting: reply to every comment fast, and seed the thread with a real follow-up question. The post you abandon for an hour is the post the algorithm abandons.
If the project has an 02-DOCS/ post log, read it before drafting: pull prior posts and their measured outcomes (impressions, dwell, comments, saves) and bias the new draft toward the hook patterns, formats, and CTA types that actually performed for this account — not generic best practice. Then log the new post back with its hook, format, and CTA type so the next draft is sharper. The front-matter schema (date, format, hook, cta_type, impressions, dwell_s, comments, saves) is in references/hooks-and-formats.md.
| Anti-pattern | Why it kills the post | Fix |
|---|---|---|
| Link in the body (or "link in first comment") | ~60% reach hit; comment trick reported penalized too ([S2]/[S4]) | URL nowhere; offer it via DM/comment, or accept the hit knowingly |
| Greeting / "excited to share" hook | Reads as an ad; eye skips before see more | Open on the most surprising true thing, ≤150 chars |
| Wall of text | Tanks dwell ~40% vs. broken copy | 1–2 sentence paragraphs, blank line between blocks |
| "Thoughts?" CTA | Gets a like, not a comment; comments weigh ~15x | Ask what only the reader can answer |
| Post then ghost the golden hour | Underperforms the first-hour test → ~5% recover | Reply fast, seed a real question for 60–90 min |
| Chasing likes over comments | Likes are the weakest signal | Write the arc toward a comment, not applause |
| Padding to hit 1,900 chars | Padding lowers dwell, doesn't raise it | Ship the true length; the range is a target, not a quota |
| Picking text by default | Text is the lowest-ceiling format | Choose format from the idea (Step 0) — document/video often win |
Run the mechanical lint on the drafted file — it catches reach-killers, not judgment:
scripts/verify.sh path/to/draft.mdIt flags an over-long hook line, an http(s) link in the body, banned dead CTAs, and wall-of-text blocks. It is read-only and exits 0 on a clean or empty file. Judgment (does the hook actually pull? is the CTA answerable?) stays with you and the capability eval.
© ericrisco, MIT. Rendered from Markdown: HTML in the file is shown as text, images as links, and headings moved down two levels. Raw file
SKILL.md and 4 other files (scripts, references) in skills/linkedin-content of ericrisco/rsc-harness.
Open the folder on GitHubat commit 92fde8f
Linkedin Content next to the 5 skills that share the most tags, products or categories with it. Stars are the repository's; “used in” counts other GitHub owners with a copy.
| Skill | Stars | Used in | Tokens | Auto-check | Licence | Repo updated |
|---|---|---|---|---|---|---|
| Linkedin Content this skillericrisco/rsc-harness | 156 | — | ~3.8k | Automated safety check: Pass | MIT | |
| CarouselsTheCraigHewitt/skills | 156 | — | ~2.3k | Automated safety check: Pass | MIT | |
| Threads Carouselitchernetski/threads-carousel-claude-skill | 107 | — | ~3.5k | Automated safety check: Pass | MIT | |
| Linkedin Carousel Generatordmccreary/ibook-skills | 105 | — | ~3.7k | Automated safety check: Pass | CC-BY-NC-4.0 | |
| Carousel Writer Smsblacktwist/social-media-skills | 557 | — | ~4.1k | Automated safety check: Pass | MIT | |
| Social Media Carouseldanielmeppiel/agentic-sdlc-handbook | 157 | 1 repos | ~2.2k | Automated safety check: Pass | Custom licence |
TheCraigHewitt/skills
Turns a piece of Craig's content (an email, a YouTube script, an essay, or pasted text) into a polished image carousel publishable to both LinkedIn and Instagram from one set of 1080x1350 slides.
itchernetski/threads-carousel-claude-skill
Convert text posts into visual carousel images or presentations for Threads, Instagram, LinkedIn, TikTok, YouTube.
dmccreary/ibook-skills
Generates a 13-slide LinkedIn carousel (a "document post" — PPTX/PDF) that showcases an intelligent textbook's key features, with real screenshots, mascot art, and metrics pulled from the project.
blacktwist/social-media-skills
When the user wants to write content for a LinkedIn carousel, Instagram carousel, Facebook carousel, TikTok photo carousel, Pinterest Idea Pin, or any swipeable multi-slide format.
danielmeppiel/agentic-sdlc-handbook
Multi-slide carousel design for Instagram, LinkedIn, and Twitter/X with layout rules and hooks.
coleam00/ai-transformation-workshop
Generate and edit presentation slides as PPTX files. An agent skill from coleam00/ai-transformation-workshop.
ericrisco/rsc-harness
A skill your agent uses when designing or analyzing a controlled experiment — falsifiable hypothesis, sample size from an MDE, reading significance/CI/power, CUPED, or rescuing tests that won't go…
ericrisco/rsc-harness
A skill your agent uses when making a web UI conform to WCAG 2.2 Level AA — axe-core or Lighthouse a11y violations, keyboard operability, focus management, ARIA roles/names/live regions, contrast…
ericrisco/rsc-harness
A skill your agent uses when running or fixing paid acquisition on Google or Meta — campaign structure (Performance Max, Demand Gen, Search, Advantage+), platform-fit creative, budget/scaling rules…
ericrisco/rsc-harness
A skill your agent uses when measuring whether an LLM or agent system actually got better and gating merges on it: golden sets, fixing an inflated LLM-as-judge, scoring RAG (faithfulness, contextual…
ericrisco/rsc-harness
A skill your agent uses when a creative goal must become a finished media file: pick and order generative-media models per modality — AI voiceover, image-to-video clips, score — then glue them with…
ericrisco/rsc-harness
A skill your agent uses when instrumenting product or web analytics — GA4/PostHog SDK wiring, event taxonomy, funnels, double-counted events, consent gating, PII scrubbing.
Works with
Categories
A skill your agent uses when writing the actual words of one LinkedIn feed post — turning a raw idea, story or asset into ready-to-paste copy: a text post, a document/carousel cover with slide copy…. Linkedin Content is an agent skill from ericrisco/rsc-harness. Use when writing the actual words of one LinkedIn feed post — turning a raw idea, story or asset into ready-to-paste copy: a text post, a document/carousel cover with slide copy and caption, or a short native-video script.
Linkedin Content fits situations like: writing the actual words of one LinkedIn feed post — turning a raw idea; asset into ready-to-paste copy: a text post; A document/carousel cover with slide copy and caption; A short native-video script.
Run `npx skills add ericrisco/rsc-harness --skill linkedin-content -a claude-code`. Or copy the skill folder (skills/linkedin-content in ericrisco/rsc-harness) into .claude/skills/linkedin-content in your project. Claude Code loads it when a task matches its description.
Run `npx skills add ericrisco/rsc-harness --skill linkedin-content -a codex`. Or copy the skill folder (skills/linkedin-content in ericrisco/rsc-harness) into .agents/skills/linkedin-content in your project. Codex loads it when a task matches its description.
Cursor, Gemini CLI, GitHub Copilot and OpenCode also load SKILL.md folders. With the skills CLI, run `npx skills add ericrisco/rsc-harness --skill linkedin-content -a cursor` (or -a gemini-cli, github-copilot or opencode for the others). To copy it by hand, put the folder in .cursor/skills/linkedin-content, .gemini/skills/linkedin-content, .github/skills/linkedin-content and .opencode/skills/linkedin-content in your project.
Going by SKILL.md and its folder, Linkedin Content needs a shell for the scripts in its folder. Our summary lists: A Bash shell.
SKILL.md names 4 domains. In commands or code: linkedin.com, dataslayer.ai, meet-lea.com and richardvanderblom.com; the agent is likely to contact these when it follows the instructions. This is read from the text; nothing was executed.
Our automated static check of SKILL.md found no risky patterns, such as piping downloads into a shell, reading credential files or hidden Unicode. It is not a guarantee. The check reads SKILL.md only: the scripts in the folder are not scanned, so read them before running anything.
Linkedin Content is published under the MIT licence (the repository's licence). It allows redistribution, so the full SKILL.md is shown on this page.
About 3.8k tokens (SKILL.md is roughly 15k characters). Agents keep only the skill's name and description in context until a task matches; then they load SKILL.md in full. Its references folder adds about 1.4k tokens, read only when the agent opens those files.
Skills that share tags, products or a category with Linkedin Content: Carousels (TheCraigHewitt/skills, 156 stars), Threads Carousel (itchernetski/threads-carousel-claude-skill, 107 stars), Linkedin Carousel Generator (dmccreary/ibook-skills, 105 stars) and Carousel Writer Sms (blacktwist/social-media-skills, 557 stars). The comparison table on this page puts their stars, adoption, token cost, safety result and licence side by side.
ericrisco (a GitHub user) maintains it in ericrisco/rsc-harness, which has 156 GitHub stars. The repository holds 229 skills in this directory. The repository was last updated on October 6, 2026.
Source: ericrisco/rsc-harness on GitHub. Facts on this page come from the repository at the commit we read; the author's words are quoted as theirs.