MR
Mayur Rathi
@mayurrathi
⭐ 5 GitHub stars

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.

mkdir -p ./skills/linkedin-automation && curl -sfL https://raw.githubusercontent.com/mayurrathi/awesome-agent-skills/main/skills/linkedin-automation/SKILL.md -o ./skills/linkedin-automation/SKILL.md

Run in terminal / PowerShell. Requires curl (Unix) or PowerShell 5+ (Windows).

Skill Content

# 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*

🎯 Best For

  • Claude users
  • Knowledge workers
  • Remote teams
  • Professionals

💡 Use Cases

  • Using Linkedin Automation in daily workflow
  • Automating repetitive productivity tasks

📖 How to Use This Skill

  1. 1

    Install the Skill

    Copy the install command from the Terminal tab and run it. The SKILL.md file downloads to your local skills directory.

  2. 2

    Load into Your AI Assistant

    Open Claude and reference the skill. Paste the SKILL.md content or use the system prompt tab.

  3. 3

    Apply Linkedin Automation to Your Work

    Provide context for your task — paste source material, describe your audience, or share existing work to guide the AI.

  4. 4

    Review and Refine

    Edit the AI output for accuracy, tone, and completeness. Add human insight where the AI lacks context.

❓ Frequently Asked Questions

How do I install Linkedin Automation?

Copy the install command from the Terminal tab and run it. The skill downloads to ./skills/linkedin-automation/SKILL.md, ready to use.

Can I customize this skill for my team?

Absolutely. Edit the SKILL.md file to add team-specific instructions, examples, or workflows.

⚠️ Common Mistakes to Avoid

Not reading the full skill

Skills contain important context and edge cases beyond the quick start.

🔗 Related Skills