원클릭으로
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 페이지를 검토하고 설치를 진행할 수 있습니다.
SOC 직업 분류 기준
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.
| 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}