一键导入
2x-post-linkedin
Posts content to LinkedIn via browser automation. Reads local draft, posts, calls publish-draft.
用 Codex 或 Claude 帮你安装 复制这段 Prompt,粘贴到 Codex、Claude 或其他助手里,让它检查 Skill 页面并帮你完成安装。
菜单
Posts content to LinkedIn via browser automation. Reads local draft, posts, calls publish-draft.
用 Codex 或 Claude 帮你安装 复制这段 Prompt,粘贴到 Codex、Claude 或其他助手里,让它检查 Skill 页面并帮你完成安装。
Turn your daily activity into authentic social media posts across X, LinkedIn, and Reddit. Use when the user says '2x', '2x now', 'set up 2x', 'post to x/linkedin/reddit', or wants help turning their work into social media content.
Collects activity from configured sources, summarizes each independently, writes a local session index.
Generates a draft for ONE platform. Called once per platform by the orchestrator. Writes to local file — sync daemon handles cloud.
Posts or replies on Reddit via browser automation. Reads local draft, posts, calls publish-draft.
Posts content to X/Twitter via browser automation. Reads local draft, posts, calls publish-draft.
Onboarding wizard for the 2X skill. Configures platforms, data sources, browser logins, and cron schedule.
基于 SOC 职业分类
| name | 2x-post-linkedin |
| description | Posts content to LinkedIn via browser automation. Reads local draft, posts, calls publish-draft. |
| user-invocable | false |
Post a draft to LinkedIn via browser. Read local file, post, record via client.
cat ~/.openclaw/workspace/2x-sessions/{session_number}/drafts/linkedin.md
If file doesn't exist, stop: "No LinkedIn draft found."
browser open "https://www.linkedin.com/feed/"browser snapshot --interactivebrowser snapshot --interactiveLinkedIn uses a contenteditable div, NOT a regular input.
browser type <ref> "{content}"If browser type fails (content doesn't appear), fallback:
browser evaluate "document.querySelector('div[contenteditable=true].ql-editor, div[role=textbox][contenteditable=true]').innerText = `{content}`; document.querySelector('div[contenteditable=true].ql-editor, div[role=textbox][contenteditable=true]').dispatchEvent(new Event('input', {bubbles: true}))"
browser snapshot --interactive → verify content visiblebrowser click <ref>browser snapshot → verify modal closedLinkedIn doesn't redirect to the post. To find it:
browser open "https://www.linkedin.com/feed/"https://www.linkedin.com/feed/update/urn:li:activity:{id}/If extraction fails, report success without URL — not critical.
SESSION_UUID=$(cat ~/.openclaw/workspace/2x-sessions/{session_number}/.supabase_session_id)
node ~/.openclaw/workspace/skills/2x/db/client.js publish-draft \
--session "$SESSION_UUID" \
--platform linkedin \
--platform-post-id "{extracted_id_or_null}" \
--posted-url "{extracted_url_or_null}"
Local log:
echo '{"platform":"linkedin","post_id":"{id}","url":"{url}","posted_at":"'$(date -u +%Y-%m-%dT%H:%M:%SZ)'","session":{session_number}}' \
>> ~/.openclaw/workspace/2x-posted.jsonl
✅ Posted to LinkedIn: {url}
Or: ❌ LinkedIn posting failed: {reason}