Social Media Management
manojbajaj95/claude-gtm-plugin
Comprehensive social media management for all platforms (LinkedIn, Twitter/X, Instagram, TikTok, Facebook, Pinterest, YouTube).
Converts any content, blog post URL, pasted article, GitHub PR description, or a description of something built, into a formatted LinkedIn post with proper hook, story arc, and formatting.
$ npx skills add Varnan-Tech/opendirectory --skill linkedin-post-generator -a claude-codeProject install by default; add -g for ~/.claude/skills/.
$ gh skill install Varnan-Tech/opendirectory linkedin-post-generator --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/Varnan-Tech/opendirectory.git skills-src && mkdir -p .claude/skills && cp -r skills-src/skills/linkedin-post-generator .claude/skills/linkedin-post-generator && 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-post-generator" agent skill from https://github.com/Varnan-Tech/opendirectory/tree/main/skills/linkedin-post-generator into .claude/skills/linkedin-post-generator/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "linkedin-post-generator", 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/Varnan-Tech/opendirectory/tree/main/skills/linkedin-post-generatorType 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 Varnan-Tech/opendirectory --skill linkedin-post-generator -a codexProject install goes to .agents/skills/; add -g for ~/.codex/skills/.
$ gh skill install Varnan-Tech/opendirectory linkedin-post-generator --agent codexProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/Varnan-Tech/opendirectory.git skills-src && mkdir -p .agents/skills && cp -r skills-src/skills/linkedin-post-generator .agents/skills/linkedin-post-generator && 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-post-generator" agent skill from https://github.com/Varnan-Tech/opendirectory/tree/main/skills/linkedin-post-generator into .agents/skills/linkedin-post-generator/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "linkedin-post-generator", 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 Varnan-Tech/opendirectory --skill linkedin-post-generator -a cursorProject install goes to .agents/skills/; add -g for ~/.cursor/skills/.
$ gh skill install Varnan-Tech/opendirectory linkedin-post-generator --agent cursorProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/Varnan-Tech/opendirectory.git skills-src && mkdir -p .cursor/skills && cp -r skills-src/skills/linkedin-post-generator .cursor/skills/linkedin-post-generator && 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-post-generator" agent skill from https://github.com/Varnan-Tech/opendirectory/tree/main/skills/linkedin-post-generator into .cursor/skills/linkedin-post-generator/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "linkedin-post-generator", 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/Varnan-Tech/opendirectory.git --path skills/linkedin-post-generator--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 Varnan-Tech/opendirectory --skill linkedin-post-generator -a gemini-cliProject install goes to .agents/skills/; add -g for ~/.gemini/skills/.
$ gh skill install Varnan-Tech/opendirectory linkedin-post-generator --agent gemini-cliProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/Varnan-Tech/opendirectory.git skills-src && mkdir -p .gemini/skills && cp -r skills-src/skills/linkedin-post-generator .gemini/skills/linkedin-post-generator && 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-post-generator" agent skill from https://github.com/Varnan-Tech/opendirectory/tree/main/skills/linkedin-post-generator into .gemini/skills/linkedin-post-generator/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "linkedin-post-generator", 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 Varnan-Tech/opendirectory linkedin-post-generatorInstalls 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 Varnan-Tech/opendirectory --skill linkedin-post-generator -a github-copilotProject install goes to .agents/skills/; add -g for ~/.copilot/skills/.
$ git clone --depth 1 https://github.com/Varnan-Tech/opendirectory.git skills-src && mkdir -p .github/skills && cp -r skills-src/skills/linkedin-post-generator .github/skills/linkedin-post-generator && 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-post-generator" agent skill from https://github.com/Varnan-Tech/opendirectory/tree/main/skills/linkedin-post-generator into .github/skills/linkedin-post-generator/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "linkedin-post-generator", 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 Varnan-Tech/opendirectory --skill linkedin-post-generator -a opencodeOpenCode documents no install command of its own. Project install goes to .agents/skills/; add -g for ~/.config/opencode/skills/.
$ gh skill install Varnan-Tech/opendirectory linkedin-post-generator --agent opencodeProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/Varnan-Tech/opendirectory.git skills-src && mkdir -p .opencode/skills && cp -r skills-src/skills/linkedin-post-generator .opencode/skills/linkedin-post-generator && 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-post-generator" agent skill from https://github.com/Varnan-Tech/opendirectory/tree/main/skills/linkedin-post-generator into .opencode/skills/linkedin-post-generator/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "linkedin-post-generator", 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-post-generatorConverts any content, blog post URL, pasted article, GitHub PR description, or a description of something built, into a formatted LinkedIn post with proper hook, story arc, and formatting.
Linkedin Post Generator is an agent skill from Varnan-Tech/opendirectory. Converts any content, blog post URL, pasted article, GitHub PR description, or a description of something built, into a formatted LinkedIn post with proper hook, story arc, and formatting. Optionally posts directly to LinkedIn via Composio. Use when asked to write a LinkedIn post, turn a blog into a LinkedIn update, announce a shipped feature, share a case study on LinkedIn, or post something professionally. Trigger when a user mentions LinkedIn, wants to share content professionally, says "post this to…
Its SKILL.md is about 2.6k tokens, which your agent loads only when the skill is triggered. The skill folder holds 7 other files, including reference files (for example `README.md`, `evals/evals.json` and `references/linkedin-format.md`). Compatibility notes: ["claude-code","gemini-cli","github-copilot"]
It sits in Writing & Content, covering Social media posts, Storytelling and Pull requests. It works with LinkedIn, GitHub and Composio. The repository describes itself as: AI Agent Skills built for Founders who hate Marketing. The licence is MIT.
8 steps, taken from the step headings in SKILL.md.
Read from SKILL.md and the folder at commit 62e437a. 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.
No scripts in the folder and no shell commands in SKILL.md.
From the folder's file list and the shell code blocks in SKILL.md.
No URLs in SKILL.md.
From URLs in SKILL.md, links to its own repository left out.
Names these keys or tokens, usually read from environment variables:
COMPOSIO_API_KEYFrom names ending in _API_KEY, _TOKEN, _SECRET, _KEY or _PASSWORD in SKILL.md.
["claude-code","gemini-cli","github-copilot"]
From compatibility in the SKILL.md frontmatter.
Linkedin Post Generator loads about 2.6k tokens when it runs, and up to ~5.8k if it reads all its reference files. Until then it costs about 150 tokens; SKILL.md has 1,483 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 noted patterns worth knowing about, such as sudo or a known installer.
ct posting, add COMPOSIO_API_KEY to your .env file. See README.md for setup."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); files beside SKILL.md are not scanned.
The full file from Varnan-Tech/opendirectory at commit 62e437a, republished under its MIT licence (© Varnan-Tech). 1,483 words, ~2,638 tokens.
.claude/skills/linkedin-post-generator/SKILL.md (or your agent's skills folder). This skill also uses 5 other files; get the full folder from GitHub.You are a content strategist who specialises in technical and founder LinkedIn content. Your job is to convert raw input into a high-performing LinkedIn post that follows the platform's proven content patterns.
DO NOT INVENT SPECIFICS. Metrics, numbers, company names, product names, and outcomes must come directly from the source material. Never fabricate results or claims.
Before starting: Confirm you have input material. Accepted inputs:
If no input was provided, ask: "What would you like to turn into a LinkedIn post? Give me a blog URL, paste article text, share a GitHub PR, or describe what you built."
Apply these rules to every post you generate. They override any default writing tendencies.
Active voice only. No passive constructions.
Short sentences. One idea per sentence. If a sentence needs two clauses to work, split it.
No em dashes. Replace with a period or a comma.
No semicolons.
No hashtags.
No markdown formatting. No bold, no italic, no asterisks. LinkedIn renders these as plain characters.
Address the reader directly. Use "you" and "your" where the post speaks to the audience.
No forbidden words. Do not use: can, may, just, very, really, literally, actually, certainly, probably, basically, could, maybe, delve, embark, enlightening, esteemed, shed light, craft, crafting, imagine, realm, game-changer, unlock, discover, skyrocket, abyss, revolutionize, disruptive, utilize, utilizing, dive deep, tapestry, illuminate, unveil, pivotal, intricate, elucidate, hence, furthermore, however, harness, exciting, groundbreaking, cutting-edge, remarkable, remains to be seen, glimpse into, navigating, landscape, stark, testament, in summary, in conclusion, moreover, boost, opened up, powerful, inquiries, ever-evolving.
No setup language. Never write "in conclusion", "in closing", "to summarize", or any phrase that signals you are wrapping up.
No clichés or metaphors.
Use data and examples to support claims. Concrete beats vague every time.
Handle each input type:
QA: State the core subject and the single most interesting or surprising thing about this content.
Before writing a single word, define these four things from the source material:
If any of these cannot be answered from the source material, ask the user for that specific item before proceeding.
State all four before moving to Step 3. This shapes every decision that follows.
Five formats. Match to the content type and the core insight from Step 2.
| Format | When to use | Opening line pattern |
|---|---|---|
| Operational Story | Shipped something, ran an incident, completed a project | "We cut X from Y to Z." or "This week we shipped X." |
| Case Study | Before/after with a measurable result | Lead with the result, then explain how |
| Contrarian Opinion | Disagreeing with a common assumption or practice | "Everyone says X. Here's why that's wrong." |
| Framework Post | Sharing a repeatable system or mental model | "[Name] framework: [N] principles for [outcome]." |
| Build-in-Public | Sharing progress, lessons, or metrics openly | "Month [N] building [X]: [honest observation]." |
Selection rule: If the content has a concrete outcome with numbers, use Operational Story or Case Study. If it's a strong opinion, use Contrarian. If it's a reusable system, use Framework. If it's a progress update, use Build-in-Public.
State the chosen format and one-sentence reason.
The hook is the first line. It must work as a standalone sentence before "see more" cuts off. It must not start with "I".
Five hook formulas. Pick the one that best fits the core insight and audience:
1. Contrarian: Challenge an assumption the audience holds.
"Everyone says [X]. They're wrong." "The conventional wisdom on [X] is backwards."
2. Specific Result: Lead with a concrete outcome (must come from source material).
"We reduced [metric] from [before] to [after] in [timeframe]." "[N] engineers. [X] hours saved per week. Here's what changed."
3. Mistake/Lesson: Acknowledge something that went wrong or cost something.
"I made a [consequence] mistake. Here's what I'd do differently." "We did [X] for [N] months before realizing it was the wrong approach."
4. Framework Reveal: Name a system or principle.
"The [N]-part system we use to [outcome]." "Three rules that changed how our team approaches [X]."
5. Provocative Question: A question that challenges assumptions (use sparingly).
"Why does [common practice] still exist when [better alternative] is available?"
State which formula you chose and show the hook draft before writing the full post.
Read references/linkedin-format.md in full. Internalize before writing:
Then read references/output-template.md and select the template for the chosen style.
Produce six outputs in this order:
(A) Three hook variants: different formulas, same core insight:
Label each with its formula type and character count.
(B) Full post using Hook 1:
(C) Spicier variant: same post with a more direct, opinionated, or blunt tone. One or two sentences strengthened. Not longer: just sharper. Label what changed and why.
(D) Three first-comment ideas:
Label each comment with its purpose. User picks one to post immediately after publishing.
Before presenting the output, run every item on this checklist and fix any violation:
Fix before presenting. State the character count in your output.
Check for COMPOSIO_API_KEY in the environment.
If set: Tell the user: "Post ready. Confirm to publish to LinkedIn via Composio, or say 'output only' to get the text."
On confirmation, call the linkedin_create_linkedin_post action with the post body.
After posting: show the first comment text and tell the user to post it immediately.
If not set: Present the post in a code block for easy copy-paste. Present the first comment text separately, clearly labelled. Add: "To enable direct posting, add COMPOSIO_API_KEY to your .env file. See README.md for setup."
© Varnan-Tech, 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 5 other files (references) in skills/linkedin-post-generator of Varnan-Tech/opendirectory.
Open the folder on GitHubat commit 62e437a
Linkedin Post Generator 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 Post Generator this skillVarnan-Tech/opendirectory | 674 | — | ~2.6k | Automated safety check: Notes | MIT | |
| Social Media Managementmanojbajaj95/claude-gtm-plugin | 105 | 1 repos | ~3.9k | Automated safety check: Pass | MIT | |
| Li RepurposeJakeschincariol/linkedin-agent-skill | 1.5k | — | ~680 | Automated safety check: Pass | MIT | |
| Blog RepurposeAgriciDaniel/claude-blog | 2.3k | — | ~3k | Automated safety check: Pass | MIT | |
| Content Pillar AtomizerAffitor/affiliate-skills | 699 | — | ~3.1k | Automated safety check: Pass | MIT | |
| Linkedin Content Repurposerborghei/Claude-Skills | 881 | — | ~3.6k | Automated safety check: Pass | MIT |
manojbajaj95/claude-gtm-plugin
Comprehensive social media management for all platforms (LinkedIn, Twitter/X, Instagram, TikTok, Facebook, Pinterest, YouTube).
Jakeschincariol/linkedin-agent-skill
Turn one long asset - a YouTube video, podcast, newsletter, blog post, transcript or client call - into a week of LinkedIn posts.
AgriciDaniel/claude-blog
Repurpose blog posts for social media, email, video, podcast, and community channels.
Affitor/affiliate-skills
Take 1 blog post or article and generate 15-30 platform-native micro-content pieces.
borghei/Claude-Skills
Turns something made for another channel (a thread, a video or talk transcript, a blog post, a newsletter) into a post that reads as native to LinkedIn, without changing what the source says.
mohitagw15856/pm-claude-skills
Turn one piece of content into a full multi-platform pack — X/Twitter thread, LinkedIn post, newsletter section, Instagram carousel, and a short-form video script — each rewritten natively for its…
Varnan-Tech/opendirectory
A skill your agent uses when fetching, searching, or analyzing transcripts from Lenny's Podcast, Dwarkesh Podcast, Cheeky Pint, 20VC, or A16z Podcast.
Varnan-Tech/opendirectory
Creates professionally designed B2B SaaS e-books in HTML + CSS, exported as print-ready PDF.
Varnan-Tech/opendirectory
Given a product utility and ICP, researches the internet to find the specific channels.
Varnan-Tech/opendirectory
Generates and updates README.md and API reference docs by reading your codebase's functions, routes, types, schemas, and architecture.
Varnan-Tech/opendirectory
Generates data visualization charts (bar, line, area, pie, doughnut, scatter, radar, treemap) as PNG using Apache ECharts v6.
Varnan-Tech/opendirectory
Creates animated looping GIFs from CSS animations (default) or AI image-to-video.
Categories
Converts any content, blog post URL, pasted article, GitHub PR description, or a description of something built, into a formatted LinkedIn post with proper hook, story arc, and formatting. Linkedin Post Generator is an agent skill from Varnan-Tech/opendirectory. Converts any content, blog post URL, pasted article, GitHub PR description, or a description of something built, into a formatted LinkedIn post with proper hook, story arc, and formatting.
Linkedin Post Generator fits situations like: asked to write a LinkedIn post; turn a blog into a LinkedIn update; announce a shipped feature; share a case study on LinkedIn.
Run `npx skills add Varnan-Tech/opendirectory --skill linkedin-post-generator -a claude-code`. Or copy the skill folder (skills/linkedin-post-generator in Varnan-Tech/opendirectory) into .claude/skills/linkedin-post-generator in your project. Claude Code loads it when a task matches its description.
Run `npx skills add Varnan-Tech/opendirectory --skill linkedin-post-generator -a codex`. Or copy the skill folder (skills/linkedin-post-generator in Varnan-Tech/opendirectory) into .agents/skills/linkedin-post-generator 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 Varnan-Tech/opendirectory --skill linkedin-post-generator -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-post-generator, .gemini/skills/linkedin-post-generator, .github/skills/linkedin-post-generator and .opencode/skills/linkedin-post-generator in your project.
Going by SKILL.md and its folder, Linkedin Post Generator needs credentials named COMPOSIO_API_KEY. Our summary lists: A credential in COMPOSIO_API_KEY. Compatibility (from SKILL.md): ["claude-code","gemini-cli","github-copilot"].
SKILL.md contains no URLs. Any network use would come from the scripts or tools the agent runs. This is read from the text; nothing was executed.
Our automated static check of SKILL.md found notes only (mentions a .env file), nothing it rates as a warning. It is not a guarantee. Review the folder before installing.
Linkedin Post Generator is published under the MIT licence (the repository's licence). It allows redistribution, so the full SKILL.md is shown on this page.
About 2.6k tokens (SKILL.md is roughly 11k 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 3.2k tokens, read only when the agent opens those files.
Skills that share tags, products or a category with Linkedin Post Generator: Social Media Management (manojbajaj95/claude-gtm-plugin, 105 stars), Li Repurpose (Jakeschincariol/linkedin-agent-skill, 1.5k stars), Blog Repurpose (AgriciDaniel/claude-blog, 2.3k stars) and Content Pillar Atomizer (Affitor/affiliate-skills, 699 stars). The comparison table on this page puts their stars, adoption, token cost, safety result and licence side by side.
Varnan-Tech (a GitHub organization) maintains it in Varnan-Tech/opendirectory, which has 674 GitHub stars. The repository holds 61 skills in this directory. The repository was last updated on August 16, 2026.
Source: Varnan-Tech/opendirectory on GitHub. Facts on this page come from the repository at the commit we read; the author's words are quoted as theirs.