Install
openclaw skills install linkedin-post-openclaw-browserDraft, prepare, and publish LinkedIn feed posts through OpenClaw browser automation. Use when a user wants to turn approved post copy into a real LinkedIn feed post, open the share composer, fill the final body, preview link unfurls, or publish after explicit approval. Also use when recurring LinkedIn posting workflow should be standardized into a safe prepare-then-post flow.
openclaw skills install linkedin-post-openclaw-browserUse this skill for LinkedIn feed posts.
Prerequisites:
OPENCLAW_GATEWAY_TOKEN or an openclaw.json config fileKeep the workflow strict:
Do not open the composer until the copy is settled enough to paste.
If the user is still iterating on tone or structure, finish that first.
Use OpenClaw browser CLI, not manual shell hacks.
The environment may need the gateway token even when browser support is enabled.
The helper script reads the token in this order:
OPENCLAW_GATEWAY_TOKEN--config~/.openclaw/openclaw.jsonIf browser commands fail unexpectedly, check:
openclaw browser status --profile <profile> succeedsUse scripts/linkedin_post.py for the normal workflow. It:
python3 scripts/linkedin_post.py --content-file /tmp/linkedin_post.txt
or
cat /tmp/linkedin_post.txt | python3 scripts/linkedin_post.py
If the token is not already exported, pass a config file explicitly:
python3 scripts/linkedin_post.py --content-file /tmp/linkedin_post.txt --config ~/.openclaw/openclaw.json
This fills the post body and stops before publishing.
python3 scripts/linkedin_post.py --content-file /tmp/linkedin_post.txt --publish
Only run --publish after the user clearly says to post it.
Preparing the composer is reversible. Publishing is external side effect.
Before --publish, make sure the user has already approved:
If approval is ambiguous, stop at prepare-only mode and ask.
https://www.linkedin.com/feed/?shareActive=true, not LinkedIn article publishing./post/new/ or /article/new/ are different flows. Do not confuse them with feed posting.openclaw CLI binary and browser subcommands being available on the host.