Content · Claude Code skill

LinkedIn Post Writer skill and the Yalc Framework

The single highest-leverage content skill if you post on LinkedIn weekly. Voice-calibrated, anti-detection rules baked in, written from operator memory of what works.

Yalc Fit Score
9/10
License
MIT (Yalc)
Voice
Othmane (calibrated)
Rules
10 from live edits
Last reviewed
2026-04-29
Trigger phrases

Say this to fire the LinkedIn Post Writer skill

Any of these natural language phrases activates the skill inside Claude Code.

write a LinkedIn post
LinkedIn post about <topic>
draft a post for LinkedIn
write a post about <topic>
What it does

LinkedIn Post Writer, plainly

The LinkedIn Post Writer skill drafts posts in Othmane Khadri's voice for the Yalc and Earleads brands. Voice calibration comes from a corpus of past winning posts plus 10 explicit rules captured from live edits ("don't start with I", "no em dashes", "no Here's the X", etc.).

The skill applies two voice profiles depending on topic: Voice 1 (GTM Intelligence) for posts a CMO would care about, Voice 2 (AI-Native Builder) for posts an engineer would care about. The split rule is "Would a CMO care more, or would an engineer care more?"

Where it slots in

Position in the GTM operating system

Intake
Enrich
Score
Route
Draft
Send
Listen

The LinkedIn Post Writer sits at the **draft** node for LinkedIn content. It produces a post draft in the right voice profile, with the rules audit applied (no em dashes, no AI tells, no throat-clearing intros).

Output is a draft ready for human review. The post never goes live without Othmane's eyes on it. The skill's value is in producing a 90 percent draft that needs minimal editing, not a 50 percent draft that needs full rewrite.

The Yalc Framework

Running the LinkedIn Post Writer skill end to end

Workflow position

The LinkedIn content drafter. Yalc invokes this skill when the user wants a post written. Output is a draft; publishing is manual through LinkedIn's UI or via the Unipile API.

Required inputs

  • → Topic or thesis (the core insight or story to share)
  • → Voice profile (auto-detected via the CMO vs engineer rule, or explicit override)
  • → [object Object]
  • → [object Object]

Outputs

  • → Post draft in markdown ready for LinkedIn paste
  • → Hook line (first 2 lines, since LinkedIn shows only those before "see more")
  • → Suggested hashtags (or none, depending on post archetype)
  • → [object Object]

Chaining recommendations

UpstreamIdea or insight → linkedin-post (draft)
DownstreamApproved draft → manual paste to LinkedIn or unipile-outreach for API publish

Anti patterns to avoid

Don't skip the hook review. The first 2 lines determine open rate. The skill produces a hook; review it explicitly before approving.
Don't paste the draft to LinkedIn without final read-through. Voice calibration is good but not perfect.
Don't override the no-em-dashes rule for "stylistic" reasons. The rule exists because em dashes are an AI signature pattern. Reddit and LinkedIn audiences sniff them out.
Operator take

Pros, cons, who it's for

Pros

  • Two voice profiles cover the full range of post archetypes
  • 10 explicit rules from live edits prevent common AI tells
  • Hook-aware (optimizes for LinkedIn's "see more" cutoff)
  • Optional visual proposition output for posts that benefit from imagery
  • Othmane's calibrated voice (not generic LinkedIn marketing slop)

Cons

  • Specific to Othmane's voice. For other operators, fork the rules and corpus.
  • Doesn't auto-publish. Manual paste or separate tool required.
  • Single-language (English). For non-English posts, voice calibration is weaker.
  • Long-form posts (above 1500 chars) sometimes lose voice consistency mid-post

Who it's for

  • Othmane Khadri and the Yalc/Earleads brand voices
  • Operators who post on LinkedIn weekly and want voice consistency
  • Founders building thought leadership through LinkedIn content
Dependencies

What this skill expects to find

Voice corpus lives at `02_Areas/Marketing/Brand_Voice/` (Voice 1 and Voice 2 profile files). Live-edit rules at `memory/linkedin-writing-rules.md`. The skill reads both at runtime. Updating either changes the output style for all future posts.

Related

The LinkedIn Post Writer ecosystem inside Yalc

Alternatives

Skills that overlap

FAQ

Frequently asked

How does the skill choose between Voice 1 and Voice 2?

Auto-detection based on topic. If the angle leans GTM strategy, market positioning, or commercial framing, Voice 1 (CMO-care). If it leans engineering, AI-native architecture, or technical experimentation, Voice 2. Override explicitly if needed.

Why no em dashes?

Em dashes are an AI signature pattern. LinkedIn audiences (especially the AI-savvy ones Othmane targets) recognize them as LLM-generated. The skill grep-checks output before returning.

Can the skill write threads (multi-part posts)?

Yes. Specify "thread" in the input. The skill produces a sequence of related posts with hook continuity across them.

What's the optimal post length?

Depends on archetype. Insights and hooks land at 600 to 1200 chars. Stories land at 1200 to 1800. Lists land at 800 to 1500. The skill respects the target length you specify.

How is the voice corpus updated?

Manually. When new posts perform well, add them to `02_Areas/Marketing/Brand_Voice/Voice_X_examples.md`. The skill reads the latest file at runtime, so updates take effect immediately.

Does the skill handle hashtags?

Conditionally. Some post archetypes benefit from 2 to 3 targeted hashtags; others (story posts) read better without. The skill recommends based on archetype; you decide.

Get the LinkedIn Post Writer skill

Clone the Yalc skill set, drop in your env, run from your next Claude Code session.

gh repo clone Othmane-Khadri/YALC-the-GTM-operating-system && cp -r YALC-the-GTM-operating-system/.claude/skills/linkedin-post ./.claude/skills/