Skip to content
Back to skills

Linkedin Company Page

ASecurity

Draft, publish, and verify a post on a LinkedIn company Page administered by the connected member. Use for an organization's LinkedIn feed, not a personal profile.

  • 17 stars
  • 0 votes
  • 0 copies
  • 0 views
  • Added October 17, 2026
ai-agentspythonbashapi

Works with

  • api

Security analysis

A100/100

Pro scans all 3 files and shows the line behind each finding

Scanned October 17, 2026

npx -y skills add AceDataCloud/Skills --skill linkedin-company-page --agent claude-code

Installs into .claude/skills of the current project.

Are you the author of Linkedin Company Page?

Add the live security badge to your README. It updates with every re-scan.

Security grade badge for Linkedin Company Page
[![Security: A — Skills Directory](https://www.skillsdirectory.com/api/skills/acedatacloud-linkedin-company-page/badge)](https://www.skillsdirectory.com/skills/acedatacloud-linkedin-company-page)

More formats (shields.io, HTML) on the badges page. Keep it an A: scan every change in CI with Pro.

Download with Pro
SKILL.md
---
name: linkedin-company-page
description: Draft, publish, and verify a post on a LinkedIn company Page administered by the connected member. Use for an organization's LinkedIn feed, not a personal profile.
when_to_use: |
  Use when the user explicitly targets a LinkedIn company Page. The member
  must administer the Page and the OAuth app must have Community Management
  API access with w_organization_social and r_organization_social.
connections: [linkedin/company-page]
allowed_tools: [Bash, publish_artifact]
license: Apache-2.0
metadata:
  author: acedatacloud
  version: "1.0"
---

# LinkedIn company Page

The OAuth token is injected as `$LINKEDIN_COMPANY_PAGE_TOKEN`. This is a
separate connection from the personal LinkedIn connector. The user must supply
the numeric organization ID of a Page they administer. The API rejects Pages
outside their authorized roles.

The script uses the official versioned Posts API. It defaults to a **dry run**;
`--confirm` performs the public write. Do not use a cookie or browser fallback.

```bash
SCRIPT="$SKILL_DIR/scripts/linkedin_company_page.py"
python3 "$SCRIPT" publish --organization-id 123456 --text-file post.txt
# Show the exact text and target Page to the user before this call:
python3 "$SCRIPT" publish --organization-id 123456 --text-file post.txt --confirm
```

The confirmed call returns the LinkedIn post URN from `x-restli-id`, then reads
the post back through `GET /rest/posts/{urn}`. Treat `201` alone as a submitted
post, not verified delivery. If the readback fails, report the URN as pending;
never retry the write until the existing post's status is established.

`LINKEDIN_API_VERSION` can override the default monthly API version if LinkedIn
retires it. The token and request headers must never be printed.

After a verified public URL is returned, record it once with
`publish_artifact(kind="article", channel="linkedin-company-page", title="<title>", url="<real URL>", status="delivered")`.

Official references: [Posts API](https://learn.microsoft.com/en-us/linkedin/marketing/community-management/shares/posts-api), [Organization Access Control](https://learn.microsoft.com/en-us/linkedin/marketing/community-management/organizations/organization-access-control).

Files in this skill

  • SKILL.md2.2 KB
  • scripts/linkedin_company_page.py4.2 KB
  • tests/test_linkedin_company_page.py1.9 KB

Attribution

Is this your skill, or is something wrong with this listing? Request removal or report an issue. Author removals are honored within 72 hours.

Comments

Loading comments…

Newsletter

Get the weekly list of safe new skills, and the ones we pulled.