Publish LinkedIn Post
Publish a LinkedIn feed post or long-form article through the local Frevana daemon and Chrome Extension session.
Purpose
This skill uses the Chrome Extension-backed Frevana MCP tool frevana_publish with fixed provider linkedin.
Inputs:
text(required) - final post text; for article mode this is the article bodymode(optional) -postorarticle, defaults toposttitle(optional) - required whenmodeisarticlecover_image(optional) - article cover image URL or data URLformat(optional) -textorjson, defaults totexttimeout(optional) - Frevana tool timeout in milliseconds
Publishing is a side effect. Use this skill only when the user explicitly asks to publish.
What This Skill Needs
- final post or article text
- bundled
scripts/setup.shwrapper, which downloads and runs the latest official Frevana setup script - Frevana local daemon running after setup, default port
12306 - Chrome connected through the Frevana Chrome Extension
- active LinkedIn login in Chrome
curlbashpython3
This is a Chrome Extension skill. It uses the local daemon and Chrome Extension session.
Execution Order
- Confirm the user explicitly asked to publish and provided final text.
- For article mode, require
title. - Prefer the script over ad hoc
frevana callcommands. - Let the script run bundled
scripts/setup.shbefore every Frevana tool call. - If setup reports Chrome disconnected, stop and tell the user to open Chrome, connect the Frevana extension, and retry.
- If publishing fails because LinkedIn is unavailable or not logged in, tell the user to log in to LinkedIn in Chrome.
- Return text output by default. If
formatisjson, return structured JSON withtool,provider, andresult. - Save output with
--outputwhen useful.
Commands
bash <skill-path>/scripts/publish_linkedin_post.sh \
--text "Just shipped a new feature."
bash <skill-path>/scripts/publish_linkedin_post.sh \
--mode article \
--title "My article title" \
--text-file ./article.txt \
--cover-image "https://example.com/cover.jpg" \
--timeout 180000
Fixed Tool Call Shape
The script calls:
frevana call frevana_publish '<json_args>'
The JSON arguments use this shape:
{
"provider": "linkedin",
"mode": "article",
"title": "My article title",
"text": "Article body...",
"cover_image": "https://example.com/cover.jpg",
"timeout": 180000
}
Always send provider: "linkedin". Do not pass unsupported fields. LinkedIn article bodies are typed into LinkedIn's editor; do not expect HTML tags to render as rich formatting.
Notes
--textand--text-fileare mutually exclusive.- Use plain text for feed posts.
- Use plain text with newlines for LinkedIn articles.
--modemust bepostorarticle; default ispost.--titleis required for article mode.--formatmust betextorjson; default istext.--timeoutmust be a positive integer when provided.scripts/setup.shdownloads and executes the latest official setup script fromhttps://raw.githubusercontent.com/FinpeakInc/frevana-cli-releases/refs/heads/main/skills/frevana/scripts/setup.sh.