write-linkedin-post

$npx mdskill add techwolf-ai/ai-first-toolkit/write-linkedin-post

Write or develop LinkedIn posts from ideas or drafts.

  • Avoids repeating topics by checking published posts first.
  • Reads style guidelines and professional profile for consistency.
  • Identifies overlapping insights and suggests new angles or references.
  • Varies hooks, sentence patterns, and closing lines to avoid repetition.

SKILL.md

.github/skills/write-linkedin-postView on GitHub ↗
---
name: write-linkedin-post
description: Write or develop a LinkedIn post. Use ALWAYS for LinkedIn content - writing, drafting, developing ideas into drafts, or editing.
---

# Write LinkedIn Post

You are helping write a LinkedIn post for the author.

## Before Writing (MANDATORY)

**You MUST complete these steps before writing ANY content:**

1. Run `./scripts/print-published.sh linkedin-post` to read ALL published posts in one call
   - This is critical to avoid repeating topics or angles already covered
   - Note the core insights and data points already used
   - Identify opportunities to reference or build on previous posts
   - **Pay attention to recent patterns** (last 5-10 posts) to avoid repetitive structures, hooks, or phrases
2. Read `guidelines/linkedin.md` for style rules
3. Read `references/professional-profile.md` for background

**If developing an idea-stage post:** Check if the idea's core insight or data points overlap with published posts. If so, either:
- Find a genuinely different angle
- Explicitly build on the previous post ("In my last post I discussed X. Here's the flip side...")
- Recommend against developing the idea

## Avoid Repetitive Patterns

When reading recent posts, actively note and vary:

**Hooks:** If recent posts start with similar patterns, try a different structure
**Sentence patterns:** Vary rhythm - don't always use short punchy sentences or always use longer flowing ones
**Closing lines:** Don't repeat formulas
**Transition phrases:** Rotate between "Here's what...", "The pattern...", "This matters because...", etc.
**Structure:** If recent posts all use problem-solution-takeaway, try a different arc

The goal is a consistent voice with varied execution. Each post should feel fresh while still sounding like the author.

## Style Requirements

- Target word count per `guidelines/linkedin.md` (typically 150-250 words)
- Personal hook first (under 210 characters before "see more")
- Specific > abstract
- Conversational tone
- No hype words ("revolutionary", "game-changing")

## Hook Priority

1. Personal anecdote
2. Company experience
3. Surprising outcome
4. Counterintuitive framing

## Process

1. If given a topic, develop it into a draft
2. If given an existing idea file (search with `./scripts/search-posts.sh`), develop the content
3. Always check word count against target
4. Save to content/posts/ with type: linkedin-post, stage: 02-drafts

## Validation

After saving the draft, run the word count checker:
```bash
scripts/check-word-count.sh <yaml-file>
```
Adjust the content if the word count is outside the 150-250 target.

## Sub-Agent Review

Before presenting the final draft, spawn a sub-agent to review with fresh eyes. The reviewer should:
- Check voice consistency against `guidelines/linkedin.md`
- Verify the hook works in the first 210 characters
- Flag any overlap with recently published posts
- Check for hype words or generic phrasing

Incorporate the reviewer's feedback before finalizing.

## Creating New Files

Get timestamp first:
```bash
date -u +"%Y%m%d-%H%M%S"  # For slug
date -u +"%Y-%m-%dT%H:%M:%S.000Z"  # For created/lastUpdated
```

More from techwolf-ai/ai-first-toolkit

SkillDescription
ai-firstifyAnalyze, re-engineer, or bootstrap projects to align with AI-first design principles. Use when asked to review, audit, improve, 'ai-firstify', or start a new project. Performs deep analysis across 7 dimensions, actively restructures existing projects, or guides new project setup through discovery questions. Based on the 9 design principles and 7 design patterns from the TechWolf AI-First Bootcamp.
brainstorm-linkedinGenerate LinkedIn post ideas from external sources (files, URLs, research). Use when the user provides source material (PDFs, URLs, articles) to brainstorm topics. NOT for writing or developing drafts - use write-linkedin-post instead.
brainstorm-opinionGenerate opinion piece ideas from recent LinkedIn posts (last 30 days). Use when asked to find opinion topics, brainstorm article ideas, or cross-pollinate content between LinkedIn and opinion pieces.
build-mcpBuild an MCP server end to end, tailored to how it will be used. Use when asked to build an MCP, create an MCP server, wrap an API as a tool, make a tool for Claude, expose a service to an agent, build a Claude connector, or turn a service into MCP tools. Asks up front who the server is for (just me, my org, or public) and what it wraps, then walks through analyze, build, deploy, scale, and distribute with steps tailored to that answer. Builds on the example-skills:mcp-builder skill for implementation depth.
content-studioEntry point for the TechWolf content-studio plugin. Use to understand the workflow, pick the right content skill, or start setup for a new author/repository.
customer-statusSynthesised view of account health and activity for managers overseeing customer-facing teams (Sales, CS, Professional Services, Presales). Scans project channels, email threads, and Notion pages to surface status, risks, and upcoming milestones, without requiring the manager to trawl through individual channels. Supports proactive account management.
goal-promptTurn a task, plan, or feature request into a ready-to-paste Claude Code /goal command — a single completion condition with a measurable end state, a demonstrable proof, and the constraints that must not drift. Use when the user says "give me a goal", "goal prompt", "make this a /goal", "turn this into a goal", or wants an autonomous long-running objective for Claude Code.
kb-answer|
kb-import|
kb-refresh|