# LinkedIn Thought Leadership Plugin for Claude Code > Build authentic LinkedIn authority through algorithmic understanding, strategic consistency, and AI-assisted content creation. > **Solo-maintained, fork-and-own.** This plugin is a starting point, not a vendor product. Issues are welcome as signals; pull requests are not accepted. See [GOVERNANCE.md](GOVERNANCE.md) for the full model and what upstream provides. *AI-generated: all code produced by Claude Code through dialog-driven development. [Full disclosure →](../../README.md#ai-generated-code-disclosure)* ![Version](https://img.shields.io/badge/version-1.2.0-blue) ![Platform](https://img.shields.io/badge/platform-Claude_Code_Plugin-purple) ![Commands](https://img.shields.io/badge/commands-27-green) ![Agents](https://img.shields.io/badge/agents-16-orange) ![Hooks](https://img.shields.io/badge/hooks-9-red) ![Reference Docs](https://img.shields.io/badge/reference_docs-24-teal) ![License](https://img.shields.io/badge/license-MIT-lightgrey) A comprehensive Claude Code plugin that turns LinkedIn from a chore into a system. It covers the full content lifecycle — from ideation and drafting through publishing, analytics, and growth strategy — with 27 slash commands, 16 specialized agents, 9 automated hooks, and a 24-document knowledge base grounded in LinkedIn's actual algorithm signals. Updated for the January 2026 **360Brew** algorithm change, where LinkedIn now validates your profile before distributing content. --- ## Table of Contents - [What's New in v1.2.0](#whats-new-in-v120) - [What Is This?](#what-is-this) - [Quick Start](#quick-start) - [Commands](#commands) - [Agent Architecture](#agent-architecture) - [Knowledge Base](#knowledge-base) - [Skills](#skills) - [Hooks & Automation](#hooks--automation) - [Analytics System](#analytics-system) - [Personalization Engine](#personalization-engine) - [Workflow Examples](#workflow-examples) - [Content Quality Rules](#content-quality-rules) - [Configuration](#configuration) - [What This Plugin Does Not Cover](#what-this-plugin-does-not-cover) - [Version History](#version-history) - [License](#license) --- ## What's New in v1.2.0 **Friction reduction release** — fewer steps, faster output, smarter defaults. - **Auto-clipboard** — All 8 content commands (`post`, `quick`, `react`, `pipeline`, `first-post`, `video`, `multiplatform`, `carousel`) automatically copy finished content to your clipboard. No more manual copy-paste - **Reduced interactive steps** — Angle, format, and post type are inferred from context. Maximum 2 questions per post (down from 4-6) - **Deterministic state management** — Post tracking, streak updates, and content history are handled by `state-updater.mjs` (pure functions, tested, no AI involved). Content history auto-prunes entries older than 90 days - **MCP image carousel pipeline** — `/linkedin:carousel` can generate professional slide images via mcp-image with text overlays (1080x1350, 3:4 ratio). Falls back to Mermaid diagrams or text-based slides - **Progressive onboarding** — New users see a cleaner experience: personalization score hidden until 3+ posts, voice guardian suppressed until 5+ voice samples - **iCal calendar integration** — `/linkedin:batch` generates an `.ics` file importable into macOS Calendar, Google Calendar, or Outlook. Each post gets a calendar event with reminders --- ## What Is This? This plugin gives you a complete LinkedIn thought leadership system inside Claude Code. Instead of staring at a blank post editor, you work through structured workflows that handle ideation, drafting, optimization, scheduling, publishing, and post-publish analytics — all calibrated to how LinkedIn's algorithm actually works. Key capabilities: - **360Brew profile optimization** aligned with LinkedIn's AI-first content distribution (January 2026 update) - **Content Matrix System** that generates 40+ post ideas from a single topic using 8 universal thought leadership angles - **Full content pipeline** from ideation through post-publish 48-hour monitoring - **Batch content creation** — produce a full week of posts in one session - **Analytics pipeline** — import LinkedIn CSV exports, parse into structured JSON, generate performance reports - **Voice training** — learns your authentic writing style and flags drift - **Growth strategy** — phase-specific guidance from foundation (0-1K followers) through authority (10K+) - **Monetization and speaking** — readiness assessment, lead magnets, conference CFP templates - **Video scripting** — structured scripts for 30s/60s/90s/2min LinkedIn video - **Multi-platform repurposing** — adapt LinkedIn content for Twitter/X, newsletters, blogs, slides - **A/B testing framework** — design and track content experiments > [!TIP] > Start with `/linkedin:profile` to optimize for 360Brew, then `/linkedin:setup` to personalize, then `/linkedin:post` to create your first post. --- ## Quick Start ### Prerequisites - [Claude Code](https://docs.anthropic.com/en/docs/claude-code) with plugin support enabled - Node.js 18+ (for hooks and analytics CLI; analytics requires `tsx`: `cd scripts/analytics && npm install`) ### Installation Add the marketplace and browse plugins with `/plugin`: ```bash claude plugin marketplace add https://git.fromaitochitta.com/open/ktg-plugin-marketplace.git ``` Or enable directly in `~/.claude/settings.json`: ```json { "enabledPlugins": { "linkedin-thought-leadership@ktg-plugin-marketplace": true } } ``` ### Get Started (5 minutes) Run the onboarding wizard — it walks you through profile, setup, and your first post in one flow: ``` /linkedin:onboarding ``` The wizard handles everything: 360Brew profile checklist, voice and user profile setup, and a guided first post. ### Already Set Up? | Goal | Command | |------|---------| | Write a post | `/linkedin:post` | | Quick 5-min post | `/linkedin:quick` | | React to an article | `/linkedin:react` | | View your stats | `/linkedin:report` | | See all commands | `/linkedin` | --- ## Commands All 26 commands use colon notation: `/linkedin:post`, `/linkedin:quick`, etc. ### Onboarding | Command | Description | |---------|-------------| | `/linkedin:onboarding` | Multi-step onboarding wizard — guides you through profile optimization, plugin personalization, and your first post in one flow. | | `/linkedin:first-post` | First-post accelerator — zero to published in 10 minutes with guided hand-holding. | | `/linkedin:setup` | Guided setup to populate empty asset templates with your real voice, case studies, and audience data. | ### Content Creation | Command | Description | |---------|-------------| | `/linkedin:post` | Full interactive post creation with angle selection, format choice, and refinement. Best for substantial posts (1,200-1,800 characters). | | `/linkedin:quick` | 5-minute quick post using the 3-line formula. Target: 150-500 characters. Best for reactions, observations, tips, and questions. | | `/linkedin:templates` | Browse and apply proven post templates. 8 post types with fill-in-the-blank structures. | | `/linkedin:pipeline` | Full end-to-end content pipeline from idea to published post. Guides through ideation, drafting, optimization, scheduling, pre-engagement, publishing, and post-analysis. | | `/linkedin:batch` | Create a full week of LinkedIn content in one session. Input one theme, output 3-5 posts with varying angles and formats. Writes to scheduling queue. | | `/linkedin:calendar` | View and manage the post scheduling queue — upcoming, overdue, published. | | `/linkedin:publish` | Mark scheduled posts as published. Updates state and streak tracking. | | `/linkedin:video` | Video script generator for 30s, 60s, 90s, or 2-minute LinkedIn videos with pacing and visual cues. | | `/linkedin:multiplatform` | Adapt LinkedIn content for Twitter/X threads, newsletter sections, blog posts, presentation slides, and YouTube scripts. | | `/linkedin:react` | URL-to-post pipeline — paste an article, research paper, or news link and generate a reaction post. | ### Analytics | Command | Description | |---------|-------------| | `/linkedin:analyze` | Analyze content performance and troubleshoot engagement issues. Diagnoses algorithm penalties, profile-content mismatches, and reach drops. | | `/linkedin:audit` | Periodic content strategy audit. Reviews top/bottom posts, topic distribution, format mix, and engagement trends. Run quarterly. | | `/linkedin:report` | Generate weekly performance report from imported analytics data. Shows key metrics, top performers, trends, and actionable alerts. | | `/linkedin:import` | Import LinkedIn analytics CSV export into structured JSON. Auto-detects files in ~/Downloads, parses CSV, detects anomalies. | | `/linkedin:competitive` | Competitive analysis of other thought leaders in your niche. Analyzes posting frequency, content types, hooks, and identifies differentiation opportunities. | | `/linkedin:ab-test` | Design and manage A/B content tests. Track experiments across post variations. | ### Strategy | Command | Description | |---------|-------------| | `/linkedin:strategy` | Growth strategy planning based on your follower level. Phase-specific guidance from foundation (0-1K) through authority (10K+). | | `/linkedin:authority` | Systematic authority building. Tracks cited/shared posts, identifies signature content, builds repost schedules, and monitors growing influence. | | `/linkedin:monetize` | Monetization strategy with scored readiness assessment, stage-specific action plans, lead magnet blueprints, DM conversion workflows, and revenue dashboards. | | `/linkedin:speaking` | Generate speaking opportunities. Speaker readiness assessment, conference search, talk abstract templates, speaker bio variants, CFP templates, and pipeline tracking. | | `/linkedin:collab` | Orchestrate collaborations with other thought leaders. Partner scoring, 12 collaboration formats, outreach templates, and partnership frameworks. | ### Profile & Setup | Command | Description | |---------|-------------| | `/linkedin:profile` | 360Brew profile optimization checklist. Audits About section, Experience, Headline, content history alignment, and network patterns. | | `/linkedin:setup` | Guided setup to populate asset templates with real data. 6 sub-workflows: voice samples, case studies, frameworks, post analysis, demographics, user profile. Calculates personalization score. | | `/linkedin` | Main router. Shows posting status (streak, weekly progress) and lists all available commands with contextual guidance. | --- ## Agent Architecture The plugin delegates specialized work to 16 purpose-built agents. Each agent has its own model assignment, color identity, and focused responsibility. | Agent | Model | Color | Primary Responsibility | |-------|-------|-------|----------------------| | `content-optimizer` | Sonnet | Blue | Optimize posts against algorithm signals, hooks, CTAs | | `strategy-advisor` | Sonnet | Green | Growth strategy and phase-specific guidance | | `analytics-interpreter` | Sonnet | Yellow | Pattern discovery from analytics data | | `engagement-coach` | Haiku | Magenta | 5x5x5 method and first-hour engagement tactics | | `content-planner` | Sonnet | Cyan | Weekly/monthly content calendars and mix enforcement | | `content-tracker` | Haiku | Orange | Plan vs. published accountability tracking | | `performance-reporter` | Sonnet | Amber | Weekly/monthly performance reports | | `network-builder` | Sonnet | Teal | Strategic networking, connection scoring, DM templates | | `content-repurposer` | Sonnet | Purple | Format conversion and evergreen content refresh | | `comment-strategist` | Sonnet | Red | CEA commenting strategy and target selection | | `trend-spotter` | Sonnet | White | Trending topics, opportunity scoring, first-mover assessment | | `voice-trainer` | Sonnet | Pink | Voice profile building and drift detection | | `differentiation-checker` | Sonnet | Gray | Originality scoring and commodity content detection | | `post-feedback-monitor` | Haiku | Lime | Post-publish 48h monitoring and real-time interventions | | `personalization-scorer` | Haiku | Indigo | Asset completeness scoring and setup recommendations | | `video-scripter` | Sonnet | Violet | Video script creation with pacing and visual cues | ### Content Pipeline Agents collaborate across the end-to-end content lifecycle: ``` trend-spotter --> content-planner --> differentiation-checker --> content-optimizer --> [PUBLISH] | | voice-trainer engagement-coach | content-tracker --> performance-reporter comment-strategist ``` Parallel support agents: `strategy-advisor`, `analytics-interpreter`, `network-builder`, `content-repurposer`, `video-scripter`. ### Which Agent Do I Need? | Scenario | Agent | |----------|-------| | "Make this post better" | content-optimizer | | "What should I post about?" | content-planner, trend-spotter | | "Is this original enough?" | differentiation-checker | | "Plan my week's content" | content-planner | | "How did I do this week?" | performance-reporter | | "Analyze my LinkedIn data" | analytics-interpreter | | "Help me engage more" | engagement-coach | | "Who should I comment on?" | comment-strategist | | "Build my network" | network-builder | | "Does this sound like me?" | voice-trainer | | "Repurpose my best post" | content-repurposer | | "What's trending in my field?" | trend-spotter | | "How do I monetize?" | strategy-advisor | | "How is my latest post doing?" | post-feedback-monitor | | "How personalized is my plugin?" | personalization-scorer | | "Write a LinkedIn video script" | video-scripter | --- ## Knowledge Base The plugin includes **24 reference documents** covering the full LinkedIn thought leadership domain: | Category | Document | When to Use | |----------|----------|-------------| | Algorithm | `algorithm-signals-reference.md` | Profile setup, troubleshooting reach | | Angles | `thought-leadership-angles.md` | Choosing post angle (8 universal angles) | | Engagement | `engagement-frameworks.md` | Writing hooks, CTAs, 5x5x5 method | | Formats | `linkedin-formats.md` | Choosing content format | | Growth | `linkedin-growth-playbook-2025-2026.md` | Strategy deep-dive | | Monetization | `linkedin-monetization-strategies.md` | Revenue planning | | Newsletter | `newsletter-strategy-guide.md` | Newsletter strategy (5,000+ followers) | | Articles | `articles-strategy-guide.md` | Long-form content | | Roadmaps | `growth-roadmaps.md` | Monthly planning | | Low-frequency | `low-frequency-posting-strategy.md` | 2-3x/week strategy | | Collaborations | `collaborations-guide.md` | Partnership strategy | | Opportunities | `opportunity-generation.md` | Business development | | Analytics | `analytics-tools-guide.md` | Finding your edge | | Troubleshooting | `troubleshooting-guide.md` | When reach drops | | URLs | `url-processing-templates.md` | Converting external content | | AI Content | `ai-content-framework.md` | AI-specific angles | | First Comment | `first-comment-strategy.md` | Comment templates and timing | | Visual Style | `linkedin-visual-style.md` | Image and carousel specs | | Polls | `poll-strategy-guide.md` | Poll question types and follow-up | | A/B Testing | `ab-testing-framework.md` | Content experiment design | | Scheduling | `scheduling-strategy.md` | Optimal posting times and rotation | | Trajectory | `trajectory-strategy-adjustments.md` | Growth trajectory adjustments | | Video | `video-strategy-guide.md` | LinkedIn video best practices | | Glossary | `glossary.md` | 38 plugin-specific terms | --- ## Skills Six domain-specific skills organize the plugin's knowledge and route commands to the right context: | Skill | Domain | Commands Routed | |-------|--------|-----------------| | `linkedin-thought-leadership` | Router + shared knowledge (algorithm, quality rules) | `/linkedin`, `/linkedin:setup` | | `linkedin-content-creation` | Posts, templates, batch, pipeline, video, calendar | `/linkedin:post`, `:quick`, `:templates`, `:pipeline`, `:batch`, `:calendar`, `:publish`, `:video`, `:multiplatform` | | `linkedin-analytics` | Analysis, reporting, import, A/B testing | `/linkedin:analyze`, `:audit`, `:import`, `:report`, `:ab-test` | | `linkedin-strategy` | Growth, authority, competitive, monetization | `/linkedin:strategy`, `:authority`, `:competitive`, `:monetize` | | `linkedin-networking` | Engagement, collaborations, speaking | `/linkedin:speaking`, `:collab` | | `linkedin-voice` | Voice training, profile optimization, differentiation | `/linkedin:profile` | --- ## Hooks & Automation 9 hooks across 7 events provide automated quality gates, state management, and proactive reminders. All hooks are Node.js (.mjs) for cross-platform support. | Event | Type | Purpose | |-------|------|---------| | `SessionStart` | command | Load persistent state, posting metrics, REMEMBER.md context, and 10K milestone tracker | | `PreToolUse` (Write\|Edit) | command | **Content quality gate** — hook length, link check, tone, post length | | `PreToolUse` (Write\|Edit) | command | **Voice guardian** — AI authenticity check and voice matching | | `PreToolUse` (Write\|Edit) | command | **Topic rotation gate** — no back-to-back same pillar, no pillar >50% in 14-day window | | `Stop` | command | Update state file with posting metrics and pre-publish reminders | | `UserPromptSubmit` | command | LinkedIn context enrichment based on prompt keywords (two-tier matching) | | `PostToolUse` (Write) | command | Post-creation automation: alternative hooks, posting time, 5x5x5 reminder | | `PreCompact` | command | Preserve critical LinkedIn context during context compaction | | `Notification` (idle_prompt) | command | Proactive posting reminders: streak risk, weekly goals, optimal windows (rate-limited 30min) | ### How Hooks Collaborate PreToolUse hooks use a shared **content-gatekeeper** (`content-gatekeeper.mjs`) that first checks `isLinkedInContent()` before injecting the relevant prompt. This prevents false positives on non-LinkedIn file edits. Session markers (`/tmp/linkedin-hooks/session-active`) are set when LinkedIn content is detected. The Stop hook only fires state updates if this marker exists (max 12h staleness). The Notification hook rate-limits via a separate marker with a 30-minute cooldown. > [!NOTE] > Prompt content lives in `hooks/prompts/*.md` and is loaded dynamically at runtime. The compiled `hooks.json` is generated from `hooks.template.json` — do not edit it directly. --- ## Analytics System A Node.js CLI tool for parsing LinkedIn CSV exports into structured JSON. ### Workflow 1. Export analytics CSV from LinkedIn 2. Place in `assets/analytics/exports/` (or use auto-detect from ~/Downloads) 3. Run `/linkedin:import` to parse into structured JSON 4. Run `/linkedin:report` to generate weekly performance reports ### CLI Usage ```bash ANALYTICS_ROOT="${CLAUDE_PLUGIN_ROOT}/assets/analytics" \ node --import tsx "${CLAUDE_PLUGIN_ROOT}/scripts/analytics/src/cli.ts" import ANALYTICS_ROOT="${CLAUDE_PLUGIN_ROOT}/assets/analytics" \ node --import tsx "${CLAUDE_PLUGIN_ROOT}/scripts/analytics/src/cli.ts" report --week ANALYTICS_ROOT="${CLAUDE_PLUGIN_ROOT}/assets/analytics" \ node --import tsx "${CLAUDE_PLUGIN_ROOT}/scripts/analytics/src/cli.ts" trends --period

--metric ``` ### Storage ``` assets/analytics/ ├── exports/ # Raw CSV from LinkedIn (drop files here) ├── posts/ # Imported post data as JSON └── weekly-reports/ # Generated weekly reports ``` Agents that consume analytics data: `analytics-interpreter`, `performance-reporter`, `content-tracker`. --- ## Personalization Engine The plugin tracks how well you've populated asset templates with your own data. A higher personalization score means more tailored content output. ### Scoring Categories (100 points total) | Category | Weight | Source | |----------|--------|--------| | Voice samples | 25 | `assets/voice-samples/` | | User profile | 20 | `config/user-profile.local.md` | | Case studies | 15 | `assets/case-studies/` | | Frameworks | 10 | `assets/frameworks/` | | High-engagement posts | 10 | `assets/examples/` | | Demographics | 8 | `assets/audience-insights/` | | Engagement patterns | 7 | `assets/audience-insights/` | | Post templates | 5 | `assets/templates/` | Run `/linkedin:setup` to see your current score and walk through guided workflows for each category. The score is also displayed in your session status line at startup. ### Assets Directory | Directory | Contents | |-----------|----------| | `templates/` | Post type templates, carousel blueprints, article template, content calendar | | `checklists/` | Quality scorecard for pre-publish checks | | `examples/` | High-engagement post examples | | `voice-samples/` | Your authentic voice reference (add your own) | | `audience-insights/` | Demographics and engagement patterns | | `case-studies/` | Case study template for your real stories | | `frameworks/` | Framework template for your methodologies | | `analytics/` | Imported data, weekly reports (gitignored) | | `drafts/` | Post scheduling queue and weekly drafts (gitignored) | --- ## Workflow Examples ### 1. Sunday Content Prep ``` /linkedin:batch > Theme: AI adoption in government IT # Creates 3-5 posts with varying angles and formats # Posts are added to the scheduling queue /linkedin:calendar # Review the upcoming week's schedule ``` ### 2. Quick React Post (5 minutes) ``` /linkedin:quick > Just saw Microsoft announce Copilot Studio autonomous agents — > this changes everything for low-code teams ``` ### 3. Import Analytics and Review Performance ``` /linkedin:import > ~/Downloads/linkedin-analytics-2026-02.csv /linkedin:report > Show me last week's performance /linkedin:audit > Full quarterly review ``` ### 4. Grow from 2K to 5K Followers ``` /linkedin:strategy > I have about 2,500 followers and want to reach 5K /linkedin:competitive > Analyze the top 5 thought leaders in Microsoft AI for government ``` ### 5. Repurpose a Viral Post ``` /linkedin:multiplatform > Take my best-performing post and adapt it for a newsletter intro, > a Twitter thread, and 3 presentation slides ``` --- ## Content Quality Rules The plugin enforces quality standards through hooks and agent behavior: | Rule | Threshold | Enforcement | |------|-----------|-------------| | Hook length | 110-140 characters | PreToolUse quality gate | | Post length (standard) | 1,200-1,800 characters | PreToolUse quality gate | | Post length (quick) | 150-500 characters | PreToolUse quality gate | | No external links in body | 0 links | PreToolUse quality gate (40-50% reach suppression) | | No corporate buzzwords | Blocklist: leverage, synergy, paradigm shift, thought leader, disruptive, value proposition, ecosystem, holistic approach | PreToolUse quality gate | | Topic alignment | Must align with 5 core expertise areas | 360Brew signal check | | Topic rotation | No back-to-back same pillar; no pillar >50% in 14 days | Topic rotation gate (warn-only) | | Voice consistency | AI authenticity check + voice matching | Voice guardian hook | --- ## Configuration ### User Profile ```bash cp config/user-profile.template.md config/user-profile.local.md ``` Edit with your name, expertise areas, target audience, voice preferences, and LinkedIn goals. The more detail you provide, the more personalized the output. ### State File The plugin tracks posting metrics in `~/.claude/linkedin-thought-leadership.local.md`: ```yaml --- last_post_date: 2026-01-28 posts_this_week: 2 weekly_goal: 3 current_streak: 12 current_week: "2026-W05" follower_count: 0 follower_target: 10000 target_date: "2026-12-31" next_planned_topic: "" --- ``` State is automatically initialized on first session start (from `config/state-file.template.md`) and updated by the Stop hook after each content session. ### Post Queue Scheduled posts are tracked in `assets/drafts/queue.json`: - Managed by `queue-manager.mjs` (imported by session-start, posting-reminder, and commands) - Status flow: `draft` -> `scheduled` -> `published` (or `cancelled`) - Created by `/linkedin:batch` and `/linkedin:pipeline` - Viewed via `/linkedin:calendar` - Transitioned via `/linkedin:publish` --- ## What This Plugin Does Not Cover | Area | Why | Alternative | |------|-----|-------------| | LinkedIn API integration | No official API for content posting | Copy/paste from generated drafts | | Real-time analytics | LinkedIn doesn't provide streaming data | Periodic CSV import via `/linkedin:import` | | Engagement automation | Automated commenting violates LinkedIn ToS | Manual engagement guided by `/linkedin:collab` | | Profile editing | Plugin generates recommendations, not API calls | Apply changes manually on LinkedIn | | Team/multi-user workflows | Designed for individual thought leaders | Enterprise LinkedIn tools | | Content scheduling via API | No official scheduling API | Queue management with manual posting via `/linkedin:publish` | --- ## Version History | Version | Date | Highlights | |---------|------|-----------| | **1.2.0** | 2026-04-11 | Friction reduction release. Auto-clipboard on all content commands, reduced interactive steps (max 2 per post), deterministic state management (`state-updater.mjs`), MCP image carousel pipeline, progressive onboarding, iCal calendar integration for batch scheduling, auto-prune content history (90 days). | | **1.1.0** | 2026-04-08 | Q2 feature release. 27 commands (+onboarding, +carousel). Week-rollover automation, voice drift scoring, industry content matrix, multi-URL react, day-of-week heatmap, month-over-month reports. | | **1.0.0** | 2026-04-07 | Public release. 25 commands, 16 agents, 9 hooks, 6 skills, 24 reference docs. Agent model tiering (Sonnet/Haiku), all scripts Node.js, comprehensive documentation. | | **0.6.0** | 2026-02-07 | First formal version. 20 commands, 15 agents, 8 hooks, analytics system, 360Brew profile optimization, content matrix system, personalization engine, 20 reference documents. | See [CHANGELOG.md](CHANGELOG.md) for full details and known gaps. --- ## License This project is licensed under the [MIT License](LICENSE). The plugin architecture, content strategies, and algorithm analysis are original work. LinkedIn is a trademark of LinkedIn Corporation. --- *The algorithm rewards expertise, consistency, and authenticity. Everything else is noise.*