Skip to content
Marketing
Skill

/linkedin-post-generator

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

From plugin
opendirectory-gtm-skills
68865 skills

Claude Code

$ npx -y skills add Varnan-Tech/opendirectory --skill linkedin-post-generator --agent claude-code

SKILL.md

linkedin-post-generator.SKILL.md
name: linkedin-post-generator
description: 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 LinkedIn", or asks to repurpose a blog/article/PR for social media.
author: OpenDirectory
version: 1.0.0

linkedin-post-generator

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:

  • A URL to a blog post or article
  • Pasted article, case study, or tutorial text
  • A GitHub PR URL or PR description
  • A description of what was built or shipped

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

---

Writing Style

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.

---

Workflow

Step 1: Detect Input Type and Fetch Content

Handle each input type:

  • Blog/article URL: fetch the page. Extract headline, body text, key data points, author name.
  • Pasted text: read directly. Identify the type: case study, tutorial, opinion, or announcement.
  • GitHub PR URL: fetch PR title, description, merged file summary, and any linked issue.
  • Free-form description: treat as a brief. Ask only if critical info is missing (what was built, for whom, what result).

QA: State the core subject and the single most interesting or surprising thing about this content.

---

Step 2: Audience and Positioning

Before writing a single word, define these four things from the source material:

1. **Audience:** Who specifically will read this post? ("senior engineers who manage CI/CD" not "developers") 2. **Goal:** What should they do or think after reading? (Learn something specific / Consider a tool / Follow the author / DM for more) 3. **Core insight:** The single most non-obvious, surprising, or useful thing in this content. One sentence. 4. **Proof:** What evidence or specifics support the core insight? (numbers, before/after, named outcome)

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.

---

Step 3: Choose Post Format

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.

---

Step 4: Select Hook Formula

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 wr

Read more
@varnan-tech
Ships withopendirectory-gtm-skills

AI Agent Skills built for Founders who hate Marketing

Stars on GitHub

Momentum

stars in total
688
Star history of Varnan-Tech/opendirectory on GitHub, a chart by star-history.com

Other skills on opendirectory-gtm-skills.

More skills from other plugins.

seo

seo

Comprehensive SEO analysis for any website or business type. Full site audits, single-page analysis, technical SEO (crawlability,…

@agricidaniel@agricidanielInstall Skill
brag

brag

Turn the current project website into a short, polished, shareable launch video using Hyperframes. Use when someone says "/brag",…

brag2w21k
@latent-spaces@latent-spacesInstall Skill
geo-audit

geo-audit

Full website GEO+SEO audit with parallel subagent delegation. Orchestrates a comprehensive Generative Engine Optimization audit…

Questions about linkedin-post-generator.

Which coding agents can use linkedin-post-generator?
linkedin-post-generator installs in Claude Code, Codex, Cursor, Gemini CLI, GitHub Copilot, OpenCode and Windsurf with the skills CLI, using each agent's flag shown on this page. Flowy's auto-invocation, which fires a skill when your prompt matches, runs in Claude Code only.