Individual skill
linkedin-post-writer
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.
skills/linkedin-post-writer/SKILL.md
Source commit 64deebf681e1438c489609f1fa7000dfb331eabe
What was checked
- Matches the observed repository HEAD
- Yes
- Scanner rules are current
- Yes
- Repository scan complete
- Yes
- Skill scan complete
- Yes
- Observed behavior
- Instructions only
- Last checked
- Nov 11, 2026
These are observations at the recorded commit, not a guarantee of safety. Review the source before running it.
Install this skill
Choose an agent in your Stack or copy a command below. Commands fetch the pinned commit and copy only this skill directory. Existing destinations are refused. Copying a command does not install anything.
Claude Code
Destination .claude/skills/linkedin-post-writer
(
set -euo pipefail
destination='./.claude/skills/linkedin-post-writer'
if [ -e "$destination" ] || [ -L "$destination" ]; then printf '%s\n' 'Destination already exists; nothing overwritten.' >&2; exit 1; fi
work=$(mktemp -d)
trap 'rm -rf -- "$work"' EXIT
git clone --filter=blob:none --no-checkout -- 'https://github.com/aakashg/pm-claude-skills.git' "$work/repo"
git -C "$work/repo" checkout --detach 64deebf681e1438c489609f1fa7000dfb331eabe
git -C "$work/repo" archive --format=tar '64deebf681e1438c489609f1fa7000dfb331eabe:skills/linkedin-post-writer' > "$work/skill.tar"
mkdir -p -- './.claude/skills'
mkdir -- "$destination"
tar -xf "$work/skill.tar" -C "$destination"
)Codex
Destination .agents/skills/linkedin-post-writer
(
set -euo pipefail
destination='./.agents/skills/linkedin-post-writer'
if [ -e "$destination" ] || [ -L "$destination" ]; then printf '%s\n' 'Destination already exists; nothing overwritten.' >&2; exit 1; fi
work=$(mktemp -d)
trap 'rm -rf -- "$work"' EXIT
git clone --filter=blob:none --no-checkout -- 'https://github.com/aakashg/pm-claude-skills.git' "$work/repo"
git -C "$work/repo" checkout --detach 64deebf681e1438c489609f1fa7000dfb331eabe
git -C "$work/repo" archive --format=tar '64deebf681e1438c489609f1fa7000dfb331eabe:skills/linkedin-post-writer' > "$work/skill.tar"
mkdir -p -- './.agents/skills'
mkdir -- "$destination"
tar -xf "$work/skill.tar" -C "$destination"
)Cursor
Destination .cursor/skills/linkedin-post-writer
(
set -euo pipefail
destination='./.cursor/skills/linkedin-post-writer'
if [ -e "$destination" ] || [ -L "$destination" ]; then printf '%s\n' 'Destination already exists; nothing overwritten.' >&2; exit 1; fi
work=$(mktemp -d)
trap 'rm -rf -- "$work"' EXIT
git clone --filter=blob:none --no-checkout -- 'https://github.com/aakashg/pm-claude-skills.git' "$work/repo"
git -C "$work/repo" checkout --detach 64deebf681e1438c489609f1fa7000dfb331eabe
git -C "$work/repo" archive --format=tar '64deebf681e1438c489609f1fa7000dfb331eabe:skills/linkedin-post-writer' > "$work/skill.tar"
mkdir -p -- './.cursor/skills'
mkdir -- "$destination"
tar -xf "$work/skill.tar" -C "$destination"
)Gemini CLI
Destination .gemini/skills/linkedin-post-writer
(
set -euo pipefail
destination='./.gemini/skills/linkedin-post-writer'
if [ -e "$destination" ] || [ -L "$destination" ]; then printf '%s\n' 'Destination already exists; nothing overwritten.' >&2; exit 1; fi
work=$(mktemp -d)
trap 'rm -rf -- "$work"' EXIT
git clone --filter=blob:none --no-checkout -- 'https://github.com/aakashg/pm-claude-skills.git' "$work/repo"
git -C "$work/repo" checkout --detach 64deebf681e1438c489609f1fa7000dfb331eabe
git -C "$work/repo" archive --format=tar '64deebf681e1438c489609f1fa7000dfb331eabe:skills/linkedin-post-writer' > "$work/skill.tar"
mkdir -p -- './.gemini/skills'
mkdir -- "$destination"
tar -xf "$work/skill.tar" -C "$destination"
)GitHub Copilot
Destination .github/skills/linkedin-post-writer
(
set -euo pipefail
destination='./.github/skills/linkedin-post-writer'
if [ -e "$destination" ] || [ -L "$destination" ]; then printf '%s\n' 'Destination already exists; nothing overwritten.' >&2; exit 1; fi
work=$(mktemp -d)
trap 'rm -rf -- "$work"' EXIT
git clone --filter=blob:none --no-checkout -- 'https://github.com/aakashg/pm-claude-skills.git' "$work/repo"
git -C "$work/repo" checkout --detach 64deebf681e1438c489609f1fa7000dfb331eabe
git -C "$work/repo" archive --format=tar '64deebf681e1438c489609f1fa7000dfb331eabe:skills/linkedin-post-writer' > "$work/skill.tar"
mkdir -p -- './.github/skills'
mkdir -- "$destination"
tar -xf "$work/skill.tar" -C "$destination"
)OpenCode
Destination .opencode/skills/linkedin-post-writer
(
set -euo pipefail
destination='./.opencode/skills/linkedin-post-writer'
if [ -e "$destination" ] || [ -L "$destination" ]; then printf '%s\n' 'Destination already exists; nothing overwritten.' >&2; exit 1; fi
work=$(mktemp -d)
trap 'rm -rf -- "$work"' EXIT
git clone --filter=blob:none --no-checkout -- 'https://github.com/aakashg/pm-claude-skills.git' "$work/repo"
git -C "$work/repo" checkout --detach 64deebf681e1438c489609f1fa7000dfb331eabe
git -C "$work/repo" archive --format=tar '64deebf681e1438c489609f1fa7000dfb331eabe:skills/linkedin-post-writer' > "$work/skill.tar"
mkdir -p -- './.opencode/skills'
mkdir -- "$destination"
tar -xf "$work/skill.tar" -C "$destination"
)Repository context
- Repository stars (not skill ratings)
- 116
- Repository last updated
- Aug 8, 2026
- License
- MIT
Observed agent integration: No specific integration evidence. Standard SKILL.md installation does not imply verified compatibility.
- ai-agents Repository topic
- ai-skills Repository topic
- claude-code Repository topic
- pm-tools Repository topic
- product-management Repository topic
- ai Repository topic
- automation Repository topic
- claude Repository topic
- skills Repository topic
- productivity Derived category
- productivity-notes Derived category
Files and excerpt
File metadata and permitted, redacted excerpts come from the recorded scan. Source links are pinned to that commit.
Browse files
SKILL.mdcore · 7,391 bytesreferences/post-patterns.mddoc · 7,280 bytes
Read excerpt
# LinkedIn Post Writer
Turn a rough idea into one publishable LinkedIn post: one hook, one format, one CTA.
## Step 0 — Read first
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 |