Compose and post to LinkedIn from inside Claude Code. Claude interviews you, drafts in your voice, and publishes on your approval.
A Claude Code plugin that lets Claude draft and publish LinkedIn posts on your behalf.
Tell Claude what you want to share; it interviews you, writes a post in your voice, iterates until you're happy, and publishes to your feed. Text-only posts for now.
In Claude Code, add the marketplace and install the plugin:
/plugin marketplace add hemanthkrishna1298/linkAI
/plugin install linkai@linkai
Or clone the repo and copy plugins/linkai/skills/linkedin-posting/ into ~/.claude/skills/ if you prefer to use it as a personal skill without the plugin system.
You need a LinkedIn developer app so Claude can post on your behalf. Claude walks you through this the first time you ask for a post — or see plugins/linkai/skills/linkedin-posting/SETUP.md for the manual steps. The short version:
http://localhost:8765 as an authorized redirect URIClaude stores them at ~/.linkai/credentials.json (chmod 0600 on Unix). The first login opens your browser, you click Allow, and you're done.
Just tell Claude. Examples:
"Draft a LinkedIn post about the migration I finished last week."
"I want to share that I just joined a new team. Make it friendly, short."
"Post about my weekend project — a Claude Code plugin for LinkedIn. Tech-audience voice."
Claude asks a few questions, drafts, lets you edit, and publishes on your approval. It returns the post URL.
.claude-plugin/marketplace.json # marketplace catalog
plugins/linkai/
├── .claude-plugin/plugin.json # plugin manifest
└── skills/
└── linkedin-posting/
├── SKILL.md # Claude's playbook — interview, draft, publish
├── SETUP.md # One-time LinkedIn dev-app walkthrough
└── scripts/
├── linkai_auth.py # OAuth: setup / login / status / logout
└── linkai_post.py # POST /rest/posts with --text
No server, no daemon. Each script runs as a one-shot command. OAuth uses LinkedIn's standard Authorization Code flow with a short-lived local HTTP listener on 127.0.0.1:8765 to catch the callback — no paste-URL dance.
LinkedIn access tokens live 60 days and the plugin can't silently refresh them (LinkedIn only issues refresh tokens to Marketing Developer Platform partners). When your token expires, the next post will trigger a one-click browser re-authorization automatically.
MAIN_FEED, PUBLIC). No targeted or private posts.These are scope choices, not hard limits — happy to accept PRs that add them.
See LICENSE.
Own this plugin?
Verify ownership to unlock analytics, metadata editing, and a verified badge. GitHub access is read-only (username + org membership).
Sign in to claimOwn this plugin?
Verify ownership to unlock analytics, metadata editing, and a verified badge. GitHub access is read-only (username + org membership).
Sign in to claimBased on adoption, maintenance, documentation, and repository signals. Not a security audit or endorsement.
npx claudepluginhub hemanthkrishna1298/linkai --plugin linkaiUltra-compressed communication mode. Cuts ~75% of tokens while keeping full technical accuracy by speaking like a caveman.
Frontend design skill for UI/UX implementation
Comprehensive UI/UX design plugin for mobile (iOS, Android, React Native) and web applications with design systems, accessibility, and modern patterns
Memory compression system for Claude Code - persist context across sessions
Marketing skills for AI agents — conversion optimization, copywriting, SEO, paid ads, ad creative, and growth
Standalone image generation plugin using Nano Banana MCP server. Generates and edits images, icons, diagrams, patterns, and visual assets via Gemini image models. No Gemini CLI dependency required.