Social
coreyhaines31/marketingskills
When the user wants help creating, scheduling, or optimizing social media content for LinkedIn, Twitter/X, Instagram, TikTok, or Facebook, or wants to do social listening and engagement triage.
A skill your agent uses when the user asks to write, draft, or rewrite a LinkedIn post, turn notes or an article into a LinkedIn post, or fix a hook that is not landing.
$ npx skills add aakashg/pm-claude-skills --skill linkedin-post-writer -a claude-codeProject install by default; add -g for ~/.claude/skills/.
$ gh skill install aakashg/pm-claude-skills linkedin-post-writer --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/aakashg/pm-claude-skills.git skills-src && mkdir -p .claude/skills && cp -r skills-src/skills/linkedin-post-writer .claude/skills/linkedin-post-writer && 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-writer" agent skill from https://github.com/aakashg/pm-claude-skills/tree/main/skills/linkedin-post-writer into .claude/skills/linkedin-post-writer/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "linkedin-post-writer", 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/aakashg/pm-claude-skills/tree/main/skills/linkedin-post-writerType 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 aakashg/pm-claude-skills --skill linkedin-post-writer -a codexProject install goes to .agents/skills/; add -g for ~/.codex/skills/.
$ gh skill install aakashg/pm-claude-skills linkedin-post-writer --agent codexProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/aakashg/pm-claude-skills.git skills-src && mkdir -p .agents/skills && cp -r skills-src/skills/linkedin-post-writer .agents/skills/linkedin-post-writer && 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-writer" agent skill from https://github.com/aakashg/pm-claude-skills/tree/main/skills/linkedin-post-writer into .agents/skills/linkedin-post-writer/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "linkedin-post-writer", 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 aakashg/pm-claude-skills --skill linkedin-post-writer -a cursorProject install goes to .agents/skills/; add -g for ~/.cursor/skills/.
$ gh skill install aakashg/pm-claude-skills linkedin-post-writer --agent cursorProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/aakashg/pm-claude-skills.git skills-src && mkdir -p .cursor/skills && cp -r skills-src/skills/linkedin-post-writer .cursor/skills/linkedin-post-writer && 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-writer" agent skill from https://github.com/aakashg/pm-claude-skills/tree/main/skills/linkedin-post-writer into .cursor/skills/linkedin-post-writer/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "linkedin-post-writer", 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/aakashg/pm-claude-skills.git --path skills/linkedin-post-writer--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 aakashg/pm-claude-skills --skill linkedin-post-writer -a gemini-cliProject install goes to .agents/skills/; add -g for ~/.gemini/skills/.
$ gh skill install aakashg/pm-claude-skills linkedin-post-writer --agent gemini-cliProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/aakashg/pm-claude-skills.git skills-src && mkdir -p .gemini/skills && cp -r skills-src/skills/linkedin-post-writer .gemini/skills/linkedin-post-writer && 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-writer" agent skill from https://github.com/aakashg/pm-claude-skills/tree/main/skills/linkedin-post-writer into .gemini/skills/linkedin-post-writer/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "linkedin-post-writer", 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 aakashg/pm-claude-skills linkedin-post-writerInstalls 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 aakashg/pm-claude-skills --skill linkedin-post-writer -a github-copilotProject install goes to .agents/skills/; add -g for ~/.copilot/skills/.
$ git clone --depth 1 https://github.com/aakashg/pm-claude-skills.git skills-src && mkdir -p .github/skills && cp -r skills-src/skills/linkedin-post-writer .github/skills/linkedin-post-writer && 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-writer" agent skill from https://github.com/aakashg/pm-claude-skills/tree/main/skills/linkedin-post-writer into .github/skills/linkedin-post-writer/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "linkedin-post-writer", 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 aakashg/pm-claude-skills --skill linkedin-post-writer -a opencodeOpenCode documents no install command of its own. Project install goes to .agents/skills/; add -g for ~/.config/opencode/skills/.
$ gh skill install aakashg/pm-claude-skills linkedin-post-writer --agent opencodeProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/aakashg/pm-claude-skills.git skills-src && mkdir -p .opencode/skills && cp -r skills-src/skills/linkedin-post-writer .opencode/skills/linkedin-post-writer && 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-writer" agent skill from https://github.com/aakashg/pm-claude-skills/tree/main/skills/linkedin-post-writer into .opencode/skills/linkedin-post-writer/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "linkedin-post-writer", 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-writerA skill your agent uses when the user asks to write, draft, or rewrite a LinkedIn post, turn notes or an article into a LinkedIn post, or fix a hook that is not landing.
Linkedin Post Writer is an agent skill from aakashg/pm-claude-skills. Use when the user asks to write, draft, or rewrite a LinkedIn post, turn notes or an article into a LinkedIn post, or fix a hook that is not landing. Do NOT use for X/Twitter threads, newsletters, or blog posts — those need different length and hook rules.
Its SKILL.md is about 1.8k tokens, which your agent loads only when the skill is triggered. The skill folder holds 2 other files, including reference files (for example `references/post-patterns.md`).
It sits in Writing & Content, covering Social media posts. It works with LinkedIn. The repository describes itself as: 5 Claude Code skills for product managers. Drop them in your .claude/skills/ folder and go. The licence is MIT.
3 steps, taken from the step headings in SKILL.md.
Read from SKILL.md and the folder at commit 64deebf. 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 no API keys, tokens, secrets or passwords.
From names ending in _API_KEY, _TOKEN, _SECRET, _KEY or _PASSWORD in SKILL.md.
Linkedin Post Writer loads about 1.8k tokens when it runs, and up to ~3.7k if it reads all its reference files. Until then it costs about 69 tokens; SKILL.md has 858 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); files beside SKILL.md are not scanned.
The full file from aakashg/pm-claude-skills at commit 64deebf, republished under its MIT licence (© aakashg). 858 words, ~1,833 tokens.
.claude/skills/linkedin-post-writer/SKILL.md (or your agent's skills folder). This skill also uses 1 other file; get the full folder from GitHub.Turn a rough idea into one publishable LinkedIn post: one hook, one format, one CTA.
Read these before writing a single line. Do not write from memory of "how LinkedIn posts go."
| Source | Path | What to extract |
|---|---|---|
| Project context | CLAUDE.md | Who the user is, their product, banned words, audience |
| Post patterns | references/post-patterns.md | 5 full worked posts + why each works |
| User's raw input | whatever they pasted | The one insight, the specific numbers, the personal detail |
| Prior posts | any file/link the user names | Their actual voice — match it, do not invent one |
If references/post-patterns.md is missing, say so and proceed with the worked example below only.
These are mandatory. Violating any one means the draft is not done.
Before drafting, verify three things:
If two of three are missing, do not draft. Say which are missing and ask for exactly those. A post with no insight and no evidence is engagement bait, and publishing it costs the user credibility.
Ask, in one message:
If the user pasted raw notes, a thread, or an article, extract the insight yourself and confirm it in one line. Never ask the user to organize their notes first.
| Format | Best for | Optimizes for |
|---|---|---|
| Listicle | Tips, lessons, frameworks | Saves |
| Story arc | Personal turning points | Comments |
| Hot take | Challenging conventional wisdom | Shares |
| Before/after | Transformations, results | Saves |
| Framework | Teaching a concept | Saves |
| Observation | Industry trends | Speed |
Produce exactly this, in this order. No preamble, no "here's your post!"
[HOOK — one line, no context needed to understand it]
[RE-HOOK — one line: adds heft, creates contrast, or preempts the objection]
[BODY — 8–16 lines. Chosen format. 1-3 line paragraphs, alternating single
lines with short clusters. At least one signpost line showing how the author
knows this. Specific numbers throughout.]
[CLOSER — the reusable line. The part someone screenshots.]
[CTA — one question, low friction, easy to answer. "P.S." form works well.]Then, below the post, output:
Input: "I want to write about how I only got clients once I stopped posting about myself. Got my first 10 clients in 2024 with under 1,000 followers."
Output:
How to get your first 10 clients on LinkedIn:
(even if you have less than 1,000 followers)
Most people overcomplicate this.
They build funnels, run ads, and buy courses.
But the people I've watched go from 0 to 6 figures did 4 things:
1. Picked ONE problem they solve
→ Not 5. Not "I help businesses grow." One specific pain.
2. Posted 3x/week about that problem
→ Not about themselves. About the reader's pain.
3. Commented on 20 posts a day from their ideal clients
→ Not "Great post!" — they added a missing insight or tip #8.
4. Ended every conversation with "How can I help?"
→ Not "Buy my thing." Just helped. For free. Consistently.
That's it. No funnel. No ads. No viral post needed.
The boring stuff works. Most people just won't do it long enough.
P.S. What's the one thing that got YOU your first client?Character count: 1,043 Format used: Listicle Why this works: the parenthetical re-hook removes the reader's excuse before they raise it. Each point carries a DO and a DON'T, which forces specificity. The P.S. is low friction.
Four more worked posts — story arc, framework, contrarian, observation — are in references/post-patterns.md. Read them before choosing a format.
| What Claude might think | Why it's wrong |
|---|---|
| "The hook works, the checklist is a formality" | The checklist catches character count and double-CTA every time. Run it. |
| "Two lines make a stronger hook" | Two-line hooks measurably lose reach. Cut to one. |
| "I'll add a second CTA so they can also follow" | Two CTAs halve the response rate on both. |
| "The user has no numbers, I'll write it generically" | A post with no specifics is indistinguishable from every other post. Ask for the number. |
| "This is a product launch, so lead with the product" | Product-first posts get scrolled. Insight first, always. |
| "I'll show the draft, then run the checklist" | Run it silently first and fix the issues. Show only the clean version. |
Run this silently. Fix every failure, then present the clean draft. Not complete until every box is checked. Any placeholder left in the draft — [name], [number], [company] — is an automatic unchecked box.
/idea-validator before they post a claim they cannot back./prompt-engineer.© aakashg, 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 1 other file (references) in skills/linkedin-post-writer of aakashg/pm-claude-skills.
Open the folder on GitHubat commit 64deebf
Linkedin Post Writer 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 Writer this skillaakashg/pm-claude-skills | 112 | — | ~1.8k | Automated safety check: Pass | MIT | |
| Socialcoreyhaines31/marketingskills | 54k | 4 repos | ~4.5k | Automated safety check: Pass | MIT | |
| Social Contentfreekmurze/dotfiles | 1k | 23 repos | ~2.1k | Automated safety check: Pass | None | |
| Linkedin Marketingsergebulaev/linkedin-skills | 4.4k | 1 repos | ~3.2k | Automated safety check: Notes | MIT | |
| Linkedin Content Plannersergebulaev/linkedin-skills | 4.4k | 1 repos | ~2.1k | Automated safety check: Pass | MIT | |
| Typefullyfreekmurze/dotfiles | 1k | 1 repos | ~3.4k | Automated safety check: Notes | None |
coreyhaines31/marketingskills
When the user wants help creating, scheduling, or optimizing social media content for LinkedIn, Twitter/X, Instagram, TikTok, or Facebook, or wants to do social listening and engagement triage.
freekmurze/dotfiles
When the user wants help creating, scheduling, or optimizing social media content for LinkedIn, Twitter/X, Instagram, TikTok, Facebook, or other platforms.
sergebulaev/linkedin-skills
Plan, draft, audit, and publish LinkedIn posts and comments.
sergebulaev/linkedin-skills
Generate a 7-day LinkedIn content plan from a theme, audience, and pillars.
freekmurze/dotfiles
Create, schedule, and manage social media posts via Typefully.
FlorianBruniaux/claude-code-ultimate-guide
Turns CHANGELOG.md entries for a release or a week into LinkedIn, Twitter/X, newsletter and Slack posts in French and English.
aakashg/pm-claude-skills
A skill your agent uses when the user asks to validate a product idea, stress-test an idea, evaluate whether an idea is good, or decide whether to build something.
aakashg/pm-claude-skills
A skill your agent uses when the user asks to review a design, critique a UI or mockup, give design feedback, or check a screen for usability and accessibility issues.
aakashg/pm-claude-skills
A skill your agent uses when the user asks to improve, optimize, rewrite, debug, or shorten a prompt, or asks why a prompt is producing bad output.
aakashg/pm-claude-skills
A skill your agent uses when the user asks to write a status update, weekly or monthly update, stakeholder update, project update, standup, status report, or QBR.
Works with
Categories
A skill your agent uses when the user asks to write, draft, or rewrite a LinkedIn post, turn notes or an article into a LinkedIn post, or fix a hook that is not landing. Linkedin Post Writer is an agent skill from aakashg/pm-claude-skills. Use when the user asks to write, draft, or rewrite a LinkedIn post, turn notes or an article into a LinkedIn post, or fix a hook that is not landing.
Linkedin Post Writer fits situations like: the user asks to write; rewrite a LinkedIn post; an article into a LinkedIn post; fix a hook that is not landing.
Run `npx skills add aakashg/pm-claude-skills --skill linkedin-post-writer -a claude-code`. Or copy the skill folder (skills/linkedin-post-writer in aakashg/pm-claude-skills) into .claude/skills/linkedin-post-writer in your project. Claude Code loads it when a task matches its description.
Run `npx skills add aakashg/pm-claude-skills --skill linkedin-post-writer -a codex`. Or copy the skill folder (skills/linkedin-post-writer in aakashg/pm-claude-skills) into .agents/skills/linkedin-post-writer 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 aakashg/pm-claude-skills --skill linkedin-post-writer -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-writer, .gemini/skills/linkedin-post-writer, .github/skills/linkedin-post-writer and .opencode/skills/linkedin-post-writer in your project.
SKILL.md names no scripts, command-line tools or credentials: Linkedin Post Writer is instructions for the agent only.
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 no risky patterns, such as piping downloads into a shell, reading credential files or hidden Unicode. It is not a guarantee. Review the folder before installing.
Linkedin Post Writer is published under the MIT licence (the repository's licence). It allows redistribution, so the full SKILL.md is shown on this page.
About 1.8k tokens (SKILL.md is roughly 7.3k 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.8k tokens, read only when the agent opens those files.
Skills that share tags, products or a category with Linkedin Post Writer: Social (coreyhaines31/marketingskills, 54k stars), Social Content (freekmurze/dotfiles, 1k stars), Linkedin Marketing (sergebulaev/linkedin-skills, 4.4k stars) and Linkedin Content Planner (sergebulaev/linkedin-skills, 4.4k stars). The comparison table on this page puts their stars, adoption, token cost, safety result and licence side by side.
aakashg (a GitHub user) maintains it in aakashg/pm-claude-skills, which has 112 GitHub stars. The repository holds 5 skills in this directory. The repository was last updated on August 8, 2026.
Source: aakashg/pm-claude-skills on GitHub. Facts on this page come from the repository at the commit we read; the author's words are quoted as theirs.