linkedin-writer
Creates viral LinkedIn posts using proven formats, post templates, and voice matching. Use when user needs engaging, high-performing posts for LinkedIn.
What this skill does
# LinkedIn Writer
## Purpose
Generate 2 viral LinkedIn posts in different proven formats, matched to the founder's voice, using battle-tested templates and patterns that drive engagement on LinkedIn.
---
## Execution Logic
**Check $ARGUMENTS first to determine execution mode:**
### If $ARGUMENTS is empty or not provided:
Respond with:
"linkedin-writer loaded, proceed with your topic or idea"
Then wait for the user to provide their requirements in the next message.
### If $ARGUMENTS contains content:
Proceed immediately to Task Execution (skip the "loaded" message).
---
## Task Execution
When user requirements are available (either from initial $ARGUMENTS or follow-up message):
### 1. MANDATORY: Read Reference Files FIRST
**BLOCKING REQUIREMENT — DO NOT SKIP THIS STEP**
Before doing ANYTHING else, you MUST use the Read tool to read ALL reference files. This is non-negotiable:
```
Read: ./references/linkedin-formats.md
Read: ./references/linkedin-posts.md
```
**What you will find:**
- **linkedin-formats.md**: 7 proven LinkedIn post formats with structure templates, psychology, rules, and when-to-use matching logic
- **linkedin-posts.md**: 8+ proven viral LinkedIn posts organized by format type — the example and voice library
**DO NOT PROCEED** to Step 2 until you have read all files and have their content in context.
### 2. Check for Business Context
Check if `FOUNDER_CONTEXT.md` exists in the project root.
- **If it exists:** Read it and use the business context to personalize output (industry terminology, audience pain points, brand voice, company name, products, achievements).
- **If it doesn't exist:** Proceed using defaults from "Defaults & Assumptions."
### 3. Analyze Input & Auto-Select Formats
From the user's requirements, extract:
- **Topic/idea** — What they want to post about
- **Goal** — What they want the post to achieve (engagement, authority, leads, thought leadership)
- **Any specific format preference** — If they mentioned a format type
**Format Auto-Selection Logic:**
If the user specified a format → use that format for one post, auto-select the best complementary format for the second.
If the user did NOT specify a format, auto-select 2 different formats based on the topic:
| If the topic involves... | Best format match |
|---|---|
| Multiple tips, lessons, mistakes, or advice points | **Lessons Learned** |
| A complete process, roadmap, or "how to achieve X" | **Actionable Blueprint** |
| A personal experience, failure, setback, or pivotal moment | **Personal Story** |
| Explaining one specific technique, hack, or strategy with proof | **Strategy Breakdown** |
| Analyzing a specific company, product, or brand | **Case Study** |
| A strong opinion, industry trend, prediction, or contrarian view | **Industry Hot Take** |
| A small but impactful tip or optimization | **Quick Hack** |
**Always select 2 DIFFERENT formats.** Choose the primary format based on the strongest topic match, then select a complementary second format that gives the user a different angle on the same topic.
### 4. Generate 2 Viral LinkedIn Posts
Using the formats and posts you loaded in Steps 1-3:
1. **Study the example posts** in linkedin-posts.md for your selected formats — internalize the rhythm, structure, hook style, and length
2. **Extract the voice DNA** from the reference posts — match the writing style:
- Conversational and direct, like talking to a peer
- Short paragraphs (1-3 sentences each)
- Heavy line breaks for readability
- Mixes professional insight with personality
- Uses specific numbers and data
- First-person perspective with real examples
- No corporate jargon
3. **If FOUNDER_CONTEXT.md exists**, blend the founder's brand voice with the voice DNA from the reference posts
4. **Draft each post** following the format's structure template, the voice DNA, and all Writing Rules below
5. **Run each post through the Engagement Test:** "Would someone save this post or leave a comment?" If no → rewrite before continuing
**Critical requirements:**
- Each post must use a DIFFERENT format (no repeats)
- Each post must match the voice DNA from the reference posts
- Each post must be about the user's SPECIFIC topic (not generic advice)
- Each post must follow the format's structure template from linkedin-formats.md
- Each post must be ready to copy-paste and post immediately — no placeholders, no [brackets], no instructions
- The first 2 lines of each post must work as a compelling hook above LinkedIn's "see more" fold
### 5. Format and Verify
- Structure output according to **Output Format** section
- Complete **Quality Checklist** self-verification before presenting output
- If any post feels generic, forced, or wouldn't pass the Engagement Test → rewrite before presenting
---
## Writing Rules
Hard constraints. No interpretation.
### Core Rules (Apply to ALL LinkedIn posts)
- **First 2 lines are everything.** LinkedIn cuts off at ~210 characters with "see more." Your hook must compel the click. Make it the strongest part of the post.
- Use frequent line breaks. On LinkedIn, white space = readability = engagement. One idea per paragraph.
- Short paragraphs only — 1-3 sentences max per paragraph. Wall of text = scroll past.
- Specific numbers > vague claims ("52% increase" not "significant increase", "23-person agency" not "large agency").
- Active voice only. Never passive.
- Present tense preferred.
- Conversational tone — write like you're talking to one person, not presenting to a boardroom.
- No hashtags in the body of the post. If used at all, maximum 3 at the very end below a line break.
- No engagement bait ("Like if you agree", "Share this with someone who needs it"). It kills credibility on LinkedIn.
- Every sentence must earn its place. If you can cut it without losing value, cut it.
- Use emojis strategically and sparingly — numbered emojis (1️⃣ 2️⃣ 3️⃣), arrows (↳ →), checkmarks (✅), and pointers (👉) are functional. Decorative emojis are fine but don't overdo them.
- Opinions > generic facts. LinkedIn rewards bold, specific takes from experience.
- No "I think" or "In my opinion" — state opinions as earned truths from experience.
- End with engagement drivers: direct questions, invitations to share experiences, or specific CTAs — but make them specific to the topic, not generic.
### Voice-Matching Rules
- Study the reference posts in linkedin-posts.md to absorb the writing DNA — the rhythm, the sentence length, the way ideas are paced.
- Match the conversational, peer-to-peer tone. Not guru-to-student. Not corporate-to-employee. Founder-to-founder.
- Use the same structural patterns: short opener → context → value → engaging closer.
- If FOUNDER_CONTEXT.md exists, weave in the founder's specific terminology, industry language, and brand voice.
- The posts should sound like they were written by a real person sharing real experience — never like AI-generated content.
- Do NOT copy phrases or examples directly from the reference posts. Create original content that matches the voice structurally.
### Format-Specific Rules
- **Lessons Learned:** Lead with credential. Each numbered item needs 2-4 lines of context, not just a title. End with a question.
- **Actionable Blueprint:** Every step must be actionable with specific tools/numbers. End with math that proves the outcome.
- **Personal Story:** Start with emotion. Use short sentences for tension. Lesson must feel earned by the narrative. End with an invitation to share.
- **Strategy Breakdown:** Lead with surprising stat or result. Use numbered sub-points with arrows (↳). End with a next step.
- **Case Study:** Use real company names. Lead with counterintuitive insight. Show contrast with "normal." End with a question.
- **Industry Hot Take:** Take a clear side — no hedging. Build argument progressively. Closer must be quotable and memorable.
- **Quick Hack:** Start with "Quick hack" signal. Show before/after. Use visual markers (✅ 👉). KeepRelated in Image & Video
watch
IncludedWatch a video (URL or local path). Downloads with yt-dlp, extracts auto-scaled frames with ffmpeg, pulls the transcript from captions (or Whisper API fallback), and hands the result to Claude so it can answer questions about what's in the video.
physical-ai-defect-image-generation
IncludedUse when the user wants to orchestrate defect image generation, run associated setup, or handle outputs on OSMO. The Day 0 path handles cold-start with USD-to-ROI, image-edit augmentation, and AnomalyGen to create initial PCBA datasets. The Day 1 path performs inference and labeling on real images. This skill helps with first-time asset setup, creation of finetuning checkpoints, and configuring deployment. Trigger keywords: defect image generation, dig workflow, dig pipeline, defect image detection workflow, aoi pipeline, aoi anomalygen, usd2roi anomalygen, day 0 pcba, day 1 pcba, day 1 real-photo alignment, day 1 manual roi, metal surface anomaly, glass defect, anomalygen finetune, setup_pcb, setup_metal, setup_glass, setup_pretrained, dig setup, dig datasets, dig pretrained checkpoint, dig image-edit endpoint.
accelint-react-best-practices
IncludedReact performance optimization and best practices. ALWAYS use this skill when working with any React code - writing components, hooks, JSX; refactoring; optimizing re-renders, memoization, state management; reviewing for performance; fixing hydration mismatches; debugging infinite re-renders, stale closures, input focus loss, animations restarting; preventing remounting; implementing transitions, lazy initialization, effect dependencies. Even simple React tasks benefit from these patterns. Covers React 19+ (useEffectEvent, Activity, ref props). Triggers - useEffect, useState, useMemo, useCallback, memo, inline components, nested components, components inside components, re-render, performance, hydration, SSR, Next.js, useDeferredValue, combined hooks.
elevenlabs-agents
IncludedBuild conversational AI voice agents with ElevenLabs Platform using React, JavaScript, React Native, or Swift SDKs. Configure agents, tools (client/server/MCP), RAG knowledge bases, multi-voice, and Scribe real-time STT. Use when: building voice chat interfaces, implementing AI phone agents with Twilio, configuring agent workflows or tools, adding RAG knowledge bases, testing with CLI "agents as code", or troubleshooting deprecated @11labs packages, Android audio cutoff, CSP violations, dynamic variables, or WebRTC config. Keywords: ElevenLabs Agents, ElevenLabs voice agents, AI voice agents, conversational AI, @elevenlabs/react, @elevenlabs/client, @elevenlabs/react-native, @elevenlabs/elevenlabs-js, @elevenlabs/agents-cli, elevenlabs SDK, voice AI, TTS, text-to-speech, ASR, speech recognition, turn-taking model, WebRTC voice, WebSocket voice, ElevenLabs conversation, agent system prompt, agent tools, agent knowledge base, RAG voice agents, multi-voice agents, pronunciation dictionary, voice speed control, elevenlabs scribe, @11labs deprecated, Android audio cutoff, CSP violation elevenlabs, dynamic variables elevenlabs, case-sensitive tool names, webhook authentication
humanizer
IncludedHumanize AI-generated text by detecting and removing patterns typical of LLM output. Rewrites text to sound natural, specific, and human. Uses 28 pattern detectors, 560+ AI vocabulary terms across 3 tiers, and statistical analysis (burstiness, type-token ratio, readability) for comprehensive detection. Use when asked to humanize text, de-AI writing, make content sound more natural/human, review writing for AI patterns, score text for AI detection, or improve AI-generated drafts. Covers content, language, style, communication, and filler categories.
generating-mermaid-diagrams
IncludedSalesforce architecture diagrams using Mermaid with ASCII fallback. Use this skill when generating text-based diagrams for Salesforce architecture, OAuth flows, ERDs, integration sequences, or Agentforce structure. TRIGGER when: user says "diagram", "visualize", "ERD", or asks for sequence diagrams, flowcharts, class diagrams, or architecture visualizations in Mermaid. DO NOT TRIGGER when: user wants PNG/SVG image output (use generating-visual-diagrams), or asks about non-Salesforce systems.