Trim the front-door README to essentials: value prop, two engines, quick start, full command overview, compact 19-agent roster (lint-required model surface), merged boundaries, quality rules, 2 examples, license. Deep reference (knowledge base, hooks/skills/personalization/config/analytics internals, agent pipeline) now points to references/ and CLAUDE.md; full version history points to CHANGELOG. The pre-1.0 note is gap-framed (what is not done yet), not a promised roadmap. No functionality changed; lint green (74/0). Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
260 lines
15 KiB
Markdown
260 lines
15 KiB
Markdown
# LinkedIn Studio Plugin for Claude Code
|
||
|
||
> Turn your expertise into LinkedIn authority — without the blank page, the guesswork, or the generic AI slop.
|
||
|
||
> **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)*
|
||
|
||

|
||

|
||

|
||

|
||

|
||

|
||

|
||
|
||
Most experts know they *should* post on LinkedIn — and quietly don't. The blank editor wins. LinkedIn Studio turns that chore into a system: structured workflows that take you from idea to published, in your own voice, calibrated to how LinkedIn's **topic-relevance** ranking model (2026) actually distributes content. Two engines under one surface — a **feed engine** for short-form posts, carousels, and video scripts, and a **long-form engine** that runs newsletter editions and essays through a serious editorial pipeline before they ever lock.
|
||
|
||
This is not a shortcut. Hand the wheel to the AI and you land where everyone who did the same lands — the forgettable middle. The plugin removes the friction; the judgment, the genuine engagement, and the effort that make content worth reading remain entirely yours.
|
||
|
||
> [!TIP]
|
||
> New here? Run `/linkedin:onboarding` — it walks you through profile optimization, personalization, and your first published post in one guided flow (~10 minutes).
|
||
|
||
> [!NOTE]
|
||
> **Pre-1.0 (v0.4.0).** The earlier 1.0.0–4.1.0 numbering reflected ambition, not maturity. Honest about where it stands today: user data still lives inside the plugin, no command has been through a hardening gate, command testing is incomplete, and there is no GUI yet. See [CHANGELOG.md](CHANGELOG.md).
|
||
|
||
---
|
||
|
||
## Two Engines
|
||
|
||
LinkedIn Studio is really two content engines sharing one surface. They have different speeds, different gates, and different goals.
|
||
|
||
### ⚡ The Feed Engine — short-form, fast, frictionless
|
||
|
||
For everyday presence. The point is *velocity without losing quality*: every content command auto-copies the result to your clipboard, asks at most two questions, and runs your draft through the same algorithm-aware quality gates before it leaves your editor.
|
||
|
||
| Want to… | Command | Time |
|
||
|----------|---------|------|
|
||
| React to an article or observation | `/linkedin:quick` | ~5 min |
|
||
| Write a substantial post | `/linkedin:post` | 10–15 min |
|
||
| Turn a URL into a reaction post | `/linkedin:react` | ~5 min |
|
||
| Build a carousel (highest engagement format) | `/linkedin:carousel` | ~15 min |
|
||
| Script a video | `/linkedin:video` | ~10 min |
|
||
| Fill a whole week in one sitting | `/linkedin:batch` | ~30 min |
|
||
|
||
### 📖 The Long-Form Engine — `/linkedin:newsletter`
|
||
|
||
For the pieces that build authority — newsletter editions, essays, series articles. This is what sets LinkedIn Studio apart from "AI writes your post" tools: a **16-phase pipeline where the draft has to survive a gauntlet of quality gates *before it locks*.**
|
||
|
||
```
|
||
skeleton gate ──▶ voice scrub ──▶ fact-check ──▶ editorial craft gate ──▶
|
||
persona resonance ──▶ cold adversarial review ──▶ visual assets ──▶ LOCK ──▶ hook conversion
|
||
(before prose) (de-AI) (sources) (is it well-made?)
|
||
(does it land?) (cold, headless)
|
||
```
|
||
|
||
Each gate exists because skipping it is expensive: spine errors are caught at the outline stage, not after a full draft; claims past the model's knowledge cutoff *must* be web-searched; an editor judges craft a resonance sweep can't see; and a frozen draft is re-read by reviewers carrying *no* drafting-session context (argument, language, facts, reader-fit) — inline at Step 6.5 or in a fresh session via `/linkedin:headless-review` for maximum independence.
|
||
|
||
> Short-form lives in `/linkedin:post`, `:quick`, `:react`, `:carousel`, `:video`. Long-form lives in `/linkedin:newsletter`. `/linkedin:multiplatform` adapts short-form across platforms; long-form repurposing routes back to `/linkedin:newsletter`.
|
||
|
||
---
|
||
|
||
## 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-studio@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
|
||
```
|
||
|
||
### Already Set Up?
|
||
|
||
| Goal | Command |
|
||
|------|---------|
|
||
| Write a post | `/linkedin:post` |
|
||
| Quick 5-min post | `/linkedin:quick` |
|
||
| React to an article | `/linkedin:react` |
|
||
| Write a long-form edition | `/linkedin:newsletter` |
|
||
| View your stats | `/linkedin:report` |
|
||
| See all commands | `/linkedin` |
|
||
|
||
---
|
||
|
||
## Commands
|
||
|
||
All 29 commands use colon notation: `/linkedin:post`, `/linkedin:quick`, etc. The surface is organized into five journeys (Start · Create · Engage · Measure · Grow); `/linkedin:create` and `/linkedin:measure` are guided front-doors that route you to the right command when you know the journey but not the exact command. Run `/linkedin` for the live router with your posting status.
|
||
|
||
### Onboarding & Setup
|
||
|
||
| Command | Description |
|
||
|---------|-------------|
|
||
| `/linkedin:onboarding` | Multi-step wizard — profile optimization, 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` | Populate asset templates with your real voice, case studies, and audience data (6 sub-workflows; calculates personalization score). |
|
||
| `/linkedin:profile` | profile/topic-relevance optimization checklist — About, Experience, Headline, content-history alignment. |
|
||
| `/linkedin` | Main router — posting status (streak, weekly progress) + the full command menu. |
|
||
|
||
### Content Creation
|
||
|
||
| Command | Description |
|
||
|---------|-------------|
|
||
| `/linkedin:create` | **Create front-door.** Routes you to the creation command that owns the format (post/quick/react/carousel/video/multiplatform/batch/newsletter). Delegates only. |
|
||
| `/linkedin:post` | Full interactive post creation — angle, format, drafting, refinement. Best for substantial posts (1,200–1,800 chars). |
|
||
| `/linkedin:quick` | 5-minute quick post (3-line formula, 150–500 chars) + the 8 post-type templates. |
|
||
| `/linkedin:react` | URL-to-post pipeline — paste an article or link, get a reaction post. |
|
||
| `/linkedin:carousel` | Structured multi-slide carousel with per-slide copy + layout guidance; optional slide images via `mcp-image`. |
|
||
| `/linkedin:video` | Video script generator for 30s/60s/90s/2-min videos with pacing and visual cues. |
|
||
| `/linkedin:multiplatform` | Adapt LinkedIn content for X threads, newsletter sections, blog posts, slides, YouTube scripts. |
|
||
| `/linkedin:batch` | A full week of content in one session — one theme in, 3–5 posts out, written to the queue. |
|
||
| `/linkedin:pipeline` | Full end-to-end pipeline from idea to published post (ideation → publish → post-analysis). |
|
||
| `/linkedin:newsletter` | Long-form orchestrator — newsletter/essay/series article at series quality. Multi-session 16-phase pipeline; all gates BEFORE lock. |
|
||
| `/linkedin:headless-review` | Cold adversarial review package on a FROZEN draft (`content-reviewer` + `language-reviewer` + `fact-reviewer` + `persona-reviewer`) — run in a fresh session for maximum isolation. |
|
||
| `/linkedin:pivot` | Re-open a long-form edition after a substantive late change so cleared gates re-run before lock (heuristic: >20 % word-count or >2 new sections). |
|
||
|
||
### Engage
|
||
|
||
| Command | Description |
|
||
|---------|-------------|
|
||
| `/linkedin:calendar` | View/manage the scheduling queue + run the publish action (mark a post published, update state/streak, surface the first-hour plan). |
|
||
| `/linkedin:firsthour` | Post-publish first-hour / reply-loop sprint — timestamped targets, draft comments, timeline; hands off to `post-feedback-monitor`. |
|
||
| `/linkedin:outreach` | Collaborations + speaking under one paradigm — partner scoring, CFP search, formats, abstracts, pipeline tracker (unlocks ~1K). |
|
||
|
||
### Measure
|
||
|
||
| Command | Description |
|
||
|---------|-------------|
|
||
| `/linkedin:measure` | **Measure front-door.** Routes you to the right analytics command (import/report/analyze/audit/ab-test). Delegates only. |
|
||
| `/linkedin:import` | Import a LinkedIn analytics CSV export into structured JSON (auto-detects ~/Downloads, parses, flags anomalies). |
|
||
| `/linkedin:report` | Weekly performance report from imported data — metrics, top performers, trends, alerts. |
|
||
| `/linkedin:analyze` | Diagnose performance issues — algorithm penalties, profile-content mismatch, reach drops. |
|
||
| `/linkedin:audit` | Periodic strategy audit — top/bottom posts, topic distribution, format mix, trends. Run quarterly. |
|
||
| `/linkedin:ab-test` | Design and track A/B content experiments. |
|
||
| `/linkedin:competitive` | Competitive analysis of niche thought leaders — frequency, formats, hooks, differentiation gaps. |
|
||
|
||
### Grow
|
||
|
||
| Command | Description |
|
||
|---------|-------------|
|
||
| `/linkedin:strategy` | Growth + authority — phase guidance (0–1K → 10K+), trajectory-aware adjustments, signature-content compounding. |
|
||
| `/linkedin:monetize` | Monetization — scored readiness, stage-specific plans, lead magnets, DM conversion, revenue dashboards (unlocks ~1K). |
|
||
|
||
---
|
||
|
||
## Agents
|
||
|
||
19 purpose-built agents power the commands — each with a fixed model and a focused job. The collaboration pipeline and a "which agent do I need?" map live in [CLAUDE.md](CLAUDE.md).
|
||
|
||
| Agent | Model | Responsibility |
|
||
|-------|-------|----------------|
|
||
| `content-optimizer` | Sonnet | Optimize posts — hooks, structure, CTAs |
|
||
| `strategy-advisor` | Sonnet | Growth strategy + phase guidance |
|
||
| `analytics-interpreter` | Sonnet | Audience patterns + weekly/monthly reports |
|
||
| `engagement-coach` | Sonnet | 5x5x5 + first-hour + CEA commenting |
|
||
| `content-planner` | Sonnet | Weekly/monthly content calendars |
|
||
| `network-builder` | Sonnet | Strategic networking + outreach |
|
||
| `content-repurposer` | Sonnet | Format conversion + evergreen refresh |
|
||
| `trend-spotter` | Sonnet | Trending topics + opportunity scores |
|
||
| `voice-trainer` | Sonnet | Voice profile building + drift detection |
|
||
| `differentiation-checker` | Sonnet | Originality scoring + commodity detection |
|
||
| `video-scripter` | Sonnet | Video scripts with pacing + visual cues |
|
||
| `post-feedback-monitor` | Opus | Post-publish 48h monitoring |
|
||
| `fact-checker` | Opus | Claim verification, post-cutoff web search (longform) |
|
||
| `editorial-reviewer` | Opus | Craft gate — prose + narrative architecture (longform) |
|
||
| `persona-reviewer` | Opus | Reader-persona skeleton / resonance / conversion gate (longform) |
|
||
| `voice-scrubber` | Opus | De-AI scrub + Norwegian-chronicle voice (longform) |
|
||
| `content-reviewer` | Opus | Cold/headless argument-integrity review (longform) |
|
||
| `language-reviewer` | Opus | Cold/headless Norwegian-language review (longform) |
|
||
| `fact-reviewer` | Opus | Cold/headless re-verification + pivot-risk (longform) |
|
||
|
||
---
|
||
|
||
## Boundaries (as of 2026-05)
|
||
|
||
LinkedIn Studio is honest about what it can and cannot do for a **personal profile**:
|
||
|
||
- **Post-level analytics via API** — exists, but is **partner-gated** (a vetted Community Management API app + a verified organization + a Page). Not self-serve for a solo profile, so the practical floor is the **CSV export** you drop into `/linkedin:import`. Per-post **saves** are visible in *native* post analytics (count-only, since ~Sept 2025) but absent from the CSV and have no self-serve API — the tool does **not** auto-track them, but you can add a `Saves` column to the CSV manually and `/linkedin:import` ingests it (omit it and saves stays *unknown*, never 0, never folded into engagement rate).
|
||
- **Auto-publish** — technically possible via the `w_member_social` scope, so this is a **design choice**, not an API limit: the OAuth/token overhead plus LinkedIn's terms on automated posting make copy-to-clipboard + you-paste the right default. The calendar's "publish" action marks a post **you** posted as published — it never posts on your behalf.
|
||
- **Dwell time** — internal to LinkedIn for organic posts; not exportable, not measured.
|
||
- **Also not covered:** real-time/streaming analytics, automated engagement (ToS), profile editing via API, and team/multi-user workflows. The plugin generates recommendations and drafts; you apply them.
|
||
|
||
---
|
||
|
||
## Content Quality Rules
|
||
|
||
Enforced through hooks and agent behavior, calibrated to documented topic-relevance signals:
|
||
|
||
| Rule | Threshold |
|
||
|------|-----------|
|
||
| Hook length | 110–140 characters |
|
||
| Post length (standard / quick) | 1,200–1,800 / 150–500 characters |
|
||
| No external links in body | body links correlate with lower reach → first comment |
|
||
| No corporate buzzwords | blocklist: leverage, synergy, paradigm shift, thought leader, disruptive, value proposition, ecosystem, holistic approach |
|
||
| Topic alignment | must align with your 5 core expertise areas |
|
||
| Topic rotation | no back-to-back same pillar; no pillar >50 % in 14 days (warn-only) |
|
||
| Voice consistency | AI-authenticity check + voice matching (voice-guardian hook) |
|
||
|
||
---
|
||
|
||
## Example Workflows
|
||
|
||
**Sunday content prep**
|
||
```
|
||
/linkedin:batch # one theme → 3–5 posts, varying angles, into the queue
|
||
/linkedin:calendar # review the upcoming week
|
||
```
|
||
|
||
**A long-form edition, done right**
|
||
```
|
||
/linkedin:newsletter # multi-session: skeleton → spine prose → voice scrub →
|
||
# fact-check → editorial craft → persona resonance →
|
||
# cold adversarial review → visual assets → lock → hook conversion
|
||
```
|
||
|
||
---
|
||
|
||
## Deeper Documentation
|
||
|
||
The README is the front door. The detail lives alongside it:
|
||
|
||
| For… | See |
|
||
|------|-----|
|
||
| Architecture — agent pipeline & selection, 9 hooks, 6 skills, personalization scoring, configuration, analytics internals | [CLAUDE.md](CLAUDE.md) |
|
||
| The 25-document knowledge base (algorithm signals, angles, frameworks, strategy guides) | [`references/`](references/) |
|
||
| Full version history and known gaps | [CHANGELOG.md](CHANGELOG.md) |
|
||
| Maintenance model, fork-and-own, what upstream provides | [GOVERNANCE.md](GOVERNANCE.md) |
|
||
|
||
---
|
||
|
||
## 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.*
|