linkedin-automation
Automate LinkedIn tasks via Rube MCP (Composio): create posts, manage profile, company info, comments, and image uploads. Always search tools first for current schemas.
About this skill
This skill empowers AI agents to seamlessly interact with LinkedIn, automating a wide array of social media management tasks. Leveraging the Rube MCP (Managed Component Provider) framework and Composio's specialized LinkedIn toolkit, the agent can perform actions such as crafting and publishing new posts, updating personal or company profiles, managing comments on posts, and uploading images. The integration with Rube MCP ensures a streamlined and secure connection to LinkedIn, abstracting away complex API interactions. Before any operation, the agent is instructed to dynamically retrieve the latest tool schemas via `RUBE_SEARCH_TOOLS` to ensure compatibility and access to current functionalities.
Best use case
• **Content Scheduling and Publishing**: An agent can create and schedule LinkedIn posts with text and images, ideal for marketing teams or individuals maintaining a professional presence. • **Profile Management**: Keeping a LinkedIn profile updated with new experiences, skills, or contact information. • **Company Page Updates**: Publishing news, updates, or job postings on a company's LinkedIn page. • **Engagement Automation**: Responding to comments on posts or initiating new discussions.
Automate LinkedIn tasks via Rube MCP (Composio): create posts, manage profile, company info, comments, and image uploads. Always search tools first for current schemas.
• A new post successfully published on LinkedIn with the specified text and image. • Updated profile information (e.g., bio, experience) or company details reflected on LinkedIn. • A comment successfully posted on a LinkedIn entry. • Confirmation from the AI agent that the requested LinkedIn task has been completed or failed with a relevant error message.
Practical example
Example input
Please create a new LinkedIn post announcing our latest product launch, 'QuantumFlow AI,' with the text: 'Exciting news! We've just launched QuantumFlow AI, revolutionizing data processing. Discover more on our website!' Also, attach an image from `https://example.com/quantumflow-ai-banner.jpg`.
Example output
I have successfully created and published your LinkedIn post about 'QuantumFlow AI' with the provided text and image. You can view it on your LinkedIn profile.
When to use this skill
- • When a user needs to quickly draft and publish a LinkedIn post with specific content and an image. • When an agent is tasked with updating a LinkedIn profile or company page. • When an agent needs to comment on an existing LinkedIn post. • When automating routine social media management tasks for LinkedIn. • When the user explicitly asks to "post to LinkedIn," "update my LinkedIn profile," or "manage LinkedIn comments."
When not to use this skill
- • When sensitive, private, or unauthorized actions are requested on LinkedIn. • When the user is asking for analytics or data extraction beyond what the "manage" and "create" actions imply (e.g., "analyze engagement metrics"). • When the request pertains to social media platforms other than LinkedIn. • If Rube MCP is not connected or the LinkedIn toolkit is not active within Rube. • For tasks requiring human judgment, complex interaction, or policy adherence that an automated tool might not fully grasp.
Installation
Claude Code / Cursor / Codex
Manual Installation
- Download SKILL.md from GitHub
- Place it in
.claude/skills/linkedin-automation/SKILL.mdinside your project - Restart your AI agent — it will auto-discover the skill
How linkedin-automation Compares
| Feature / Agent | linkedin-automation | Standard Approach |
|---|---|---|
| Platform Support | Claude | Limited / Varies |
| Context Awareness | High | Baseline |
| Installation Complexity | easy | N/A |
Frequently Asked Questions
What does this skill do?
Automate LinkedIn tasks via Rube MCP (Composio): create posts, manage profile, company info, comments, and image uploads. Always search tools first for current schemas.
Which AI agents support this skill?
This skill is designed for Claude.
How difficult is it to install?
The installation complexity is rated as easy. You can find the installation instructions above.
Where can I find the source code?
You can find the source code on GitHub using the link provided at the top of the page.
Related Guides
Top AI Agents for Productivity
See the top AI agent skills for productivity, workflow automation, operational systems, documentation, and everyday task execution.
AI Agents for Coding
Browse AI agent skills for coding, debugging, testing, refactoring, code review, and developer workflows across Claude, Cursor, and Codex.
Best AI Skills for Claude
Explore the best AI skills for Claude and Claude Code across coding, research, workflow automation, documentation, and agent operations.
SKILL.md Source
# LinkedIn Automation via Rube MCP Automate LinkedIn operations through Composio's LinkedIn toolkit via Rube MCP. ## Prerequisites - Rube MCP must be connected (RUBE_SEARCH_TOOLS available) - Active LinkedIn connection via `RUBE_MANAGE_CONNECTIONS` with toolkit `linkedin` - Always call `RUBE_SEARCH_TOOLS` first to get current tool schemas ## Setup **Get Rube MCP**: Add `https://rube.app/mcp` as an MCP server in your client configuration. No API keys needed — just add the endpoint and it works. 1. Verify Rube MCP is available by confirming `RUBE_SEARCH_TOOLS` responds 2. Call `RUBE_MANAGE_CONNECTIONS` with toolkit `linkedin` 3. If connection is not ACTIVE, follow the returned auth link to complete LinkedIn OAuth 4. Confirm connection status shows ACTIVE before running any workflows ## Core Workflows ### 1. Create a LinkedIn Post **When to use**: User wants to publish a text post on LinkedIn **Tool sequence**: 1. `LINKEDIN_GET_MY_INFO` - Get authenticated user's profile info [Prerequisite] 2. `LINKEDIN_REGISTER_IMAGE_UPLOAD` - Register image upload if post includes an image [Optional] 3. `LINKEDIN_CREATE_LINKED_IN_POST` - Publish the post [Required] **Key parameters**: - `text`: Post content text - `visibility`: 'PUBLIC' or 'CONNECTIONS' - `media_title`: Title for attached media - `media_description`: Description for attached media **Pitfalls**: - Must retrieve user profile URN via GET_MY_INFO before creating a post - Image uploads require a two-step process: register upload first, then include the asset in the post - Post text has character limits enforced by LinkedIn API - Visibility defaults may vary; always specify explicitly ### 2. Get Profile Information **When to use**: User wants to retrieve their LinkedIn profile or company details **Tool sequence**: 1. `LINKEDIN_GET_MY_INFO` - Get authenticated user's profile [Required] 2. `LINKEDIN_GET_COMPANY_INFO` - Get company page details [Optional] **Key parameters**: - No parameters needed for GET_MY_INFO (uses authenticated user) - `organization_id`: Company/organization ID for GET_COMPANY_INFO **Pitfalls**: - GET_MY_INFO returns the authenticated user only; cannot look up other users - Company info requires the numeric organization ID, not the company name or vanity URL - Some profile fields may be restricted based on OAuth scopes granted ### 3. Manage Post Images **When to use**: User wants to upload and attach images to LinkedIn posts **Tool sequence**: 1. `LINKEDIN_REGISTER_IMAGE_UPLOAD` - Register an image upload with LinkedIn [Required] 2. Upload the image binary to the returned upload URL [Required] 3. `LINKEDIN_GET_IMAGES` - Verify uploaded image status [Optional] 4. `LINKEDIN_CREATE_LINKED_IN_POST` - Create post with the image asset [Required] **Key parameters**: - `owner`: URN of the image owner (user or organization) - `image_id`: ID of the uploaded image for GET_IMAGES **Pitfalls**: - The upload is a two-phase process: register then upload binary - Image asset URN from registration must be used when creating the post - Supported formats typically include JPG, PNG, and GIF - Large images may take time to process before they are available ### 4. Comment on Posts **When to use**: User wants to comment on an existing LinkedIn post **Tool sequence**: 1. `LINKEDIN_CREATE_COMMENT_ON_POST` - Add a comment to a post [Required] **Key parameters**: - `post_id`: The URN or ID of the post to comment on - `text`: Comment content - `actor`: URN of the commenter (user or organization) **Pitfalls**: - Post ID must be a valid LinkedIn URN format - The actor URN must match the authenticated user or a managed organization - Rate limits apply to comment creation; avoid rapid-fire comments ### 5. Delete a Post **When to use**: User wants to remove a previously published LinkedIn post **Tool sequence**: 1. `LINKEDIN_DELETE_LINKED_IN_POST` - Delete the specified post [Required] **Key parameters**: - `post_id`: The URN or ID of the post to delete **Pitfalls**: - Deletion is permanent and cannot be undone - Only the post author or organization admin can delete a post - The post_id must be the exact URN returned when the post was created ## Common Patterns ### ID Resolution **User URN from profile**: ``` 1. Call LINKEDIN_GET_MY_INFO 2. Extract user URN (e.g., 'urn:li:person:XXXXXXXXXX') 3. Use URN as actor/owner in subsequent calls ``` **Organization ID from company**: ``` 1. Call LINKEDIN_GET_COMPANY_INFO with organization_id 2. Extract organization URN for posting as a company page ``` ### Image Upload Flow - Call REGISTER_IMAGE_UPLOAD to get upload URL and asset URN - Upload the binary image to the provided URL - Use the asset URN when creating a post with media - Verify with GET_IMAGES if upload status is uncertain ## Known Pitfalls **Authentication**: - LinkedIn OAuth tokens have limited scopes; ensure required permissions are granted - Tokens expire; re-authenticate if API calls return 401 errors **URN Formats**: - LinkedIn uses URN identifiers (e.g., 'urn:li:person:ABC123') - Always use the full URN format, not just the alphanumeric ID portion - Organization URNs differ from person URNs **Rate Limits**: - LinkedIn API has strict daily rate limits on post creation and comments - Implement backoff strategies for bulk operations - Monitor 429 responses and respect Retry-After headers **Content Restrictions**: - Posts have character limits enforced by the API - Some content types (polls, documents) may require additional API features - HTML markup in post text is not supported ## Quick Reference | Task | Tool Slug | Key Params | |------|-----------|------------| | Get my profile | LINKEDIN_GET_MY_INFO | (none) | | Create post | LINKEDIN_CREATE_LINKED_IN_POST | text, visibility | | Get company info | LINKEDIN_GET_COMPANY_INFO | organization_id | | Register image upload | LINKEDIN_REGISTER_IMAGE_UPLOAD | owner | | Get uploaded images | LINKEDIN_GET_IMAGES | image_id | | Delete post | LINKEDIN_DELETE_LINKED_IN_POST | post_id | | Comment on post | LINKEDIN_CREATE_COMMENT_ON_POST | post_id, text, actor | ## When to Use This skill is applicable to execute the workflow or actions described in the overview.
Related Skills
instagram-automation
Automate Instagram tasks via Rube MCP (Composio): create posts, carousels, manage media, get insights, and publishing limits. Always search tools first for current schemas.
discord-automation
Automate Discord tasks via Rube MCP (Composio): messages, channels, roles, webhooks, reactions. Always search tools first for current schemas.
monday-automation
Automate Monday.com work management including boards, items, columns, groups, subitems, and updates via Rube MCP (Composio). Always search tools first for current schemas.
mixpanel-automation
Automate Mixpanel tasks via Rube MCP (Composio): events, segmentation, funnels, cohorts, user profiles, JQL queries. Always search tools first for current schemas.
miro-automation
Automate Miro tasks via Rube MCP (Composio): boards, items, sticky notes, frames, sharing, connectors. Always search tools first for current schemas.
microsoft-teams-automation
Automate Microsoft Teams tasks via Rube MCP (Composio): send messages, manage channels, create meetings, handle chats, and search messages. Always search tools first for current schemas.
make-automation
Automate Make (Integromat) tasks via Rube MCP (Composio): operations, enums, language and timezone lookups. Always search tools first for current schemas.
mailchimp-automation
Automate Mailchimp email marketing including campaigns, audiences, subscribers, segments, and analytics via Rube MCP (Composio). Always search tools first for current schemas.
linkedin-cli
Use when automating LinkedIn via CLI: fetch profiles, search people/companies, send messages, manage connections, create posts, and Sales Navigator.
linear-automation
Automate Linear tasks via Rube MCP (Composio): issues, projects, cycles, teams, labels. Always search tools first for current schemas.
klaviyo-automation
Automate Klaviyo tasks via Rube MCP (Composio): manage email/SMS campaigns, inspect campaign messages, track tags, and monitor send jobs. Always search tools first for current schemas.
jira-automation
Automate Jira tasks via Rube MCP (Composio): issues, projects, sprints, boards, comments, users. Always search tools first for current schemas.