write-linkedin-post
Write or develop a LinkedIn post. Use ALWAYS for LinkedIn content - writing, drafting, developing ideas into drafts, or editing.
git clone --depth 1 https://github.com/techwolf-ai/ai-first-toolkit /tmp/write-linkedin-post && cp -r /tmp/write-linkedin-post/plugins/content-studio/skills/write-linkedin-post ~/.claude/skills/write-linkedin-postSKILL.md
# 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
```Find context from past Claude Code (CLI) and Claude Cowork (desktop) sessions on this Mac. Use when the user wants to recall something they did before but can't find it , phrasings like "where did I work on X", "find that session where I…", "when did I last do Y", "pull up the conversation about Z", "that time I built/tried/discussed …". Searches by kind (code/cowork), time range, title, working directory, or free-text content across all transcripts.
Mine the user's Claude Code + Cowork session history into a structured task profile, what they do with AI, how often, how successfully where friction lives, then propose atomic skills that would reduce iteration. Use when the user asks to "analyse my Claude use", "build a task profile", "what tasks do I do with Claude", "where am I spending tokens", "what skills would help me", or mentions reviewing past sessions for patterns. Produces profile.csv (shareable), explorer.html (personal coaching view with AI-first principle comparison + token-spend chart), and skill-proposals.md.
Personal diagnosis of where your Claude Code + Cowork spend goes. Reads local transcripts, prints your conversation length distribution, marathon share, cache rebuild costs, and per-project diagnosis (good projects and problem projects) right in the terminal. Then offers a deeper dive that fans out parallel Haiku subagents over your most expensive (and most efficient) sessions and writes a tight Markdown report. Use when the user asks "why is my Claude spend so high", "where am I burning tokens", "diagnose my Claude habits", "audit my Claude usage", or asks for a personal token-cost diagnosis.
Analyze, 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.
Analyze engagement patterns across published posts to identify what works. Use when asked to review performance, find successful patterns, or optimize future content.
Generate 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.
Generate 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.
Entry 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.