用 Codex 或 Claude 帮你安装 复制这段 Prompt,粘贴到 Codex、Claude 或其他助手里,让它检查 Skill 页面并帮你完成安装。
直接命令不会经过审查 Prompt;运行前请先检查来源。
npx skills add https://github.com/blueif16/2X --skill 2x-post-linkedin命令会保持在同一行。复制前请横向滚动并检查完整内容。
想先保存到本地?可下载 SkillsMP 当前能够提供的文件。
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.
正在显示 SKILL.md
基于 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}