Install
openclaw skills install @zepoldani/linkedin-post-optimizerTakes an existing LinkedIn draft and returns a fully optimized version with a change log explaining every decision. Use when a user pastes a LinkedIn post and asks to optimize, improve, rewrite, fix, or strengthen it — trigger phrases include "optimize this LinkedIn post," "make this LinkedIn post stronger," "rewrite my LinkedIn post," "fix this LinkedIn post," "improve my LinkedIn post," "my LinkedIn post isn't performing," "can you punch up this draft," or "make this post better." This is an optimizer, not a writer — it requires an existing draft as input.
openclaw skills install @zepoldani/linkedin-post-optimizerTakes the draft you already wrote and makes it perform — returning a fully formatted revision with a change log that explains every decision. This is an optimizer, not a writer.
Trigger this skill when the user:
Do NOT trigger for:
Required: The LinkedIn draft itself — any polish level, 80–600 words.
Optional (use if provided, don't ask twice):
If goal and tone aren't provided, infer them from the draft and state your inference at the top of the output: "Reading this as: [goal], [tone]. Let me know if that's off."
State 1 — Polished but underperforming (primary) User has a clean, formatted draft but suspects the hook, structure, or CTA is weak. Optimize for hook strength, lede position, and CTA clarity. Preserve voice aggressively — this person knows how to write.
State 2 — Rough prose (primary) User has the ideas but not the structure. Optimize for formatting, line breaks, hook pull-forward, and CTA. May require more structural work than State 1. Still an optimizer — the raw ideas and voice are theirs; the shape is what changes.
State 3 — Old post being repurposed (edge case) User explicitly flags this as a past post or says "I want to reuse this." Optimize as above, but also: freshen the opening so it doesn't read as recycled, and flag if any time-sensitive language needs updating (e.g., "last week," "this year").
Do not ask for clarification on both length and goal in the same message. If multiple things are unclear, pick the one that most affects the optimization and ask about that.
Deliver all core deliverables in a single response, in this order, clearly labeled with H2 headers. Never skip a core deliverable.
The revised post, clean and copy-paste ready. Format exactly as it would appear on LinkedIn:
Immediately below the post, on its own line:
Hook: [X] chars — [clears / does not clear] the 210-char mobile cutoff.
4–5 bullets. Each bullet names the specific change and explains the reasoning in one sentence. Specific, non-preachy, educational.
Format:
Rules:
1–2 sentences. Not a score. Format: strongest element + biggest remaining risk.
Example: "Strongest: the hook is specific and counterintuitive — it earns the scroll. Risk: the CTA asks for a comment and a share; pick one or the other to maximize the single action you actually want."
This is the post-optimization signal that tells the creator what to watch for when they publish — and what to test next time.
After delivering the three core sections above, offer once:
"Want 3 alternative opening lines with different angles? I can give you a curiosity hook, a story hook, and a counterintuitive-claim hook for the same post."
Generate all three only if the user asks. Each variant is one line only (≤210 chars), labeled by type. Do not rewrite the full post for each variant — the hook is the only thing that changes.
Hook rule: The first line must be ≤210 characters. This is the mobile "see more" cutoff — everything above it is visible without a tap; everything below requires one. The hook must be a complete thought that creates curiosity, tension, a counterintuitive claim, or specific stakes. It must not end mid-sentence at the cutoff.
No buried lede: The post's most important insight, story beat, or claim must surface in the first 3 lines. If the draft puts its best material in paragraph 4, move it up or surface a version of it in the hook.
Line break rhythm: Maximum 2–3 sentences per paragraph before a hard line break. LinkedIn is read on mobile, in a feed, in 10-second windows. Walls of text lose readers before the CTA.
One CTA: Single call to action, placed at the end. Multiple CTAs ("like this, share it, follow me, and DM me") split intent and reduce each action's rate. If the draft stacks CTAs, flag it in the change log and consolidate to the highest-priority one.
Hashtag ceiling: 3 hashtags maximum, placed at the end. More than 3 reads as spammy and dilutes topical relevance signals. If the draft has more, trim to the 3 most relevant to the post's core topic.
No bullet points: Use line breaks, em-dashes, and numbered lines instead. Bullet points don't render consistently across LinkedIn's mobile clients and break reading flow in a feed context.
Apply judgment on:
"This skill optimizes structure, formatting, and hook strength — factors within your control. Engagement also depends on posting time, your existing network, algorithm state, and luck. A well-structured post can still underperform; a weak one occasionally goes viral. What we can guarantee: your post will be easier to read, faster to hook, and clearer in its ask."
After delivering the package, offer once:
Do not auto-regenerate unless asked.