LinkedIn Content Creation Skill by Reepl
Manage your LinkedIn presence with Reepl -- create drafts, publish and schedule posts, manage contacts and collections, generate AI images, create carousels, post to Twitter/X, and maintain your voice profile. Requires a Reepl account (reepl.io).
What this skill does
# LinkedIn Content Creation via Reepl
Full LinkedIn content management through Reepl's MCP integration. Write posts in your authentic voice, schedule content, manage drafts, generate AI images, create carousels, post to Twitter/X, browse your saved content library, and maintain contacts -- all from your AI assistant.
## Prerequisites
1. **Reepl account** -- sign up at [reepl.io](https://reepl.io)
2. **MCP connection** -- connect your account via OAuth (see Setup below)
3. **Gemini API key** (optional) -- required only for AI image generation, link at [Settings > AI Models](https://app.reepl.io/settings/ai-models-api)
## Setup
```
# 1. Visit the OAuth page to connect your Reepl account
https://mcp.reepl.io/oauth/authorize
# 2. Log in with your Reepl credentials (Google or email)
# 3. Copy the API key shown after authorization
# 4. Configure the MCP server endpoint
https://mcp.reepl.io/mcp?key=YOUR_API_KEY
```
If you receive authentication errors at any point, re-authenticate at the URL above.
---
## Available Tools (31 total)
| Tool | Purpose |
|------|---------|
| `create_draft` | Save a new LinkedIn post draft |
| `get_drafts` | List and search your drafts |
| `update_draft` | Edit an existing draft |
| `delete_draft` | Remove a draft |
| `publish_to_linkedin` | Publish a post to LinkedIn immediately |
| `schedule_post` | Queue a post for future publishing |
| `update_scheduled_post` | Change time, content, or settings of a scheduled post |
| `delete_scheduled_post` | Cancel and delete a scheduled post |
| `publish_now` | Immediately publish a scheduled post |
| `schedule_draft` | Schedule an existing draft for publishing |
| `get_published_posts` | View your published LinkedIn posts |
| `get_scheduled_posts` | View your scheduled post queue |
| `add_comment_to_post` | Add a comment to a published post |
| `get_user_profile` | Get your Reepl account info |
| `get_voice_profile` | Read your voice profile (writing style patterns) |
| `update_voice_profile` | Update voice profile with learned patterns |
| `get_contacts` | Browse saved LinkedIn contacts |
| `get_lists` | Browse your contact lists |
| `get_list_contacts` | Get contacts in a specific list |
| `add_contact_to_list` | Add a contact to a list |
| `get_collections` | Browse your saved post collections |
| `get_saved_posts` | Read posts from a specific collection |
| `get_templates` | Browse your post templates and ideas |
| `generate_image` | Generate an AI image for a post (requires Gemini API key) |
| `generate_carousel_content` | Generate AI slide content for a carousel |
| `list_carousel_drafts` | List your saved carousel drafts |
| `get_carousel_draft` | Fetch a specific carousel draft |
| `create_carousel_draft` | Save a new carousel draft |
| `update_carousel_draft` | Edit an existing carousel draft |
| `delete_carousel_draft` | Delete a carousel draft |
| `twitter_create_post` | Create or schedule a Twitter/X post or thread |
---
## Content Rules
All LinkedIn content MUST be plain text. Never use markdown formatting like **bold**, *italic*, or # headings. LinkedIn does not render markdown -- it will appear literally in the feed, looking AI-generated. Use line breaks, spacing, and natural punctuation for structure instead.
LinkedIn posts have a 3,000 character limit.
---
## Tool Reference
### 1. Create Draft
Save a post idea for later editing or publishing.
```json
{
"content": "Just wrapped up a deep dive into how AI is reshaping B2B sales.\n\nHere are 3 things I learned...",
"title": "AI in B2B Sales",
"mediaUrls": ["https://example.com/image.jpg"]
}
```
| Parameter | Required | Description |
|-----------|----------|-------------|
| `content` | Yes | Post text (plain text only) |
| `title` | No | Draft title for organization |
| `mediaUrls` | No | Array of image URLs to attach |
### 2. Get Drafts
List and search your saved drafts.
```json
{
"search": "AI sales",
"limit": 10
}
```
| Parameter | Required | Description |
|-----------|----------|-------------|
| `limit` | No | Number of drafts to return (default: 20) |
| `search` | No | Filter drafts by keyword |
### 3. Update Draft
Edit an existing draft's content, title, or images.
```json
{
"draft_id": "abc-123",
"content": "Updated post content here...",
"title": "New Title"
}
```
| Parameter | Required | Description |
|-----------|----------|-------------|
| `draft_id` | Yes | ID of the draft to update |
| `content` | No | Updated post text |
| `title` | No | Updated title |
| `mediaUrls` | No | Updated image URLs (replaces existing) |
### 4. Delete Draft
```json
{
"draft_id": "abc-123"
}
```
| Parameter | Required | Description |
|-----------|----------|-------------|
| `draft_id` | Yes | ID of the draft to delete |
---
### 5. Publish to LinkedIn
Publish a post to LinkedIn immediately. This action is irreversible -- always confirm with the user before calling.
```json
{
"content": "Excited to share that we just hit 10,000 users on Reepl!\n\nBuilding in public has been one of the best decisions we made.\n\nHere's what I'd tell founders who are hesitant to share their journey...",
"visibility": "PUBLIC"
}
```
| Parameter | Required | Description |
|-----------|----------|-------------|
| `content` | Yes | Post text (plain text only, max 3000 chars) |
| `mediaUrls` | No | Array of image URLs to include |
| `visibility` | No | `PUBLIC` (default) or `CONNECTIONS` |
### 6. Schedule Post
Queue a post for future publishing. Times are rounded to 15-minute intervals.
```json
{
"content": "Monday motivation: the best time to start was yesterday. The second best time is now.",
"scheduledFor": "2026-02-17T08:00:00Z",
"visibility": "PUBLIC"
}
```
| Parameter | Required | Description |
|-----------|----------|-------------|
| `content` | Yes | Post text (plain text only, max 3000 chars) |
| `scheduledFor` | Yes | ISO 8601 timestamp (e.g. `2026-02-17T08:00:00Z`) |
| `mediaUrls` | No | Array of image URLs |
| `visibility` | No | `PUBLIC` (default) or `CONNECTIONS` |
**Scheduling tips:**
- Ask the user for their preferred time rather than picking one yourself.
- If they want suggestions, recommend varied slots: early morning (7-8 AM), lunch (12-1 PM), or end of day (5-6 PM) in their timezone.
- Avoid scheduling all posts at the same time -- spread them for better engagement.
### 7. Update Scheduled Post
Change the time, content, visibility, or images on a post that's already scheduled.
```json
{
"post_id": "post-456",
"scheduledFor": "2026-02-18T12:30:00Z",
"content": "Updated content for the scheduled post..."
}
```
| Parameter | Required | Description |
|-----------|----------|-------------|
| `post_id` | Yes | ID of the scheduled post |
| `scheduledFor` | No | New ISO 8601 timestamp |
| `content` | No | Updated post text |
| `visibility` | No | Updated visibility |
| `mediaUrls` | No | Updated image URLs (replaces existing) |
### 8. Delete Scheduled Post
Cancel and remove a scheduled post. Only works on posts with status `scheduled`, `failed`, or `pending_approval`. Published posts cannot be deleted this way.
```json
{
"post_id": "post-456"
}
```
| Parameter | Required | Description |
|-----------|----------|-------------|
| `post_id` | Yes | ID of the scheduled post to delete |
### 9. Publish Now
Immediately queue a scheduled post for publishing by rescheduling it to now. The post will be picked up by the scheduler within a few minutes. Only works on scheduled posts.
```json
{
"post_id": "post-456"
}
```
| Parameter | Required | Description |
|-----------|----------|-------------|
| `post_id` | Yes | ID of the scheduled post to publish immediately |
### 10. Schedule Draft
Schedule an existing draft for LinkedIn publishing. Fetches the draft content and creates a new scheduled post. The original draft remains as a draft.
```json
{
"draft_id": "abc-123",
"scheduledFor": "2026-02-17T08:00:00Z"
}
```
| Parameter | Required | Description |
|-------Related 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.