Post and reply to X/Twitter and Farcaster with text and images. Features multi-account support, auto-variation to avoid duplicate content detection, draft preview, character validation, threads, replies, and image uploads. Consumption-based pricing for X API, pay-per-cast for Farcaster.
数据来源:ClawHub。 在 ClawSkills 查看
选择你使用的 Agent
方法一:命令行安装(推荐)
推荐(无需提前安装 clawhub)
npx clawhub@latest --dir ~/.claude/skills install social-post或使用 clawhub CLI(需提前安装)
clawhub --dir ~/.claude/skills install social-post⚠️ 需要 Node.js 18+,没有 Node?请使用下方方法二直接下载 ZIP。 安装 Node.js →
方法二:手动下载安装(无需 Node)
下载 ZIP,解压后将文件夹放到以下路径,重启 Agent 即可:
安装路径
~/.claude/skills/social-post/💡解压后将文件夹放到上方路径,重启 Agent 即可生效
--- name: social-post version: 1.4.0 description: Post and reply to X/Twitter and Farcaster with text and images. Features multi-account support, auto-variation to avoid duplicate content detection, draft preview, character validation, threads, replies, and image uploads. Consumption-based pricing for X API, pay-per-cast for Farcaster. author: 0xdas license: MIT tags: [twitter, farcaster, social, posting, automation, threads, x-api, consumption-based, multi-account, anti-spam] metadata: openclaw: requires: bins: [bash, curl, jq, python3, shuf] env: [X_CONSUMER_KEY, X_CONSUMER_SECRET, X_ACCESS_TOKEN, X_ACCESS_TOKEN_SECRET] ---
Post to Twitter and/or Farcaster with automatic character limit validation and image upload handling.
--vary flagRequired credentials (stored in /home/phan_harry/.openclaw/.env):
X_CONSUMER_KEY=your_consumer_key
X_CONSUMER_SECRET=your_consumer_secret
X_ACCESS_TOKEN=your_access_token
X_ACCESS_TOKEN_SECRET=your_access_token_secret
X_USERNAME=your_username
X_USER_ID=your_user_id
How to get credentials:
- Go to https://developer.twitter.com/en/portal/dashboard - Apply for Developer Access - Wait for approval (usually 1-2 days)
- Set up payment method (credit card) in Developer Portal - No subscription tiers - you pay only for actual API usage - Charged per API request (posts, reads, etc.) - No monthly minimums or fees
- In Developer Portal, create a new App - Name: "Social Post Bot" (or any name) - Set permissions to "Read and Write"
- Consumer Key & Secret: In "Keys and tokens" tab - Access Token & Secret: Click "Generate" under "Authentication Tokens" - Save all 4 credentials securely
```bash echo "X_CONSUMER_KEY=xxx" >> ~/.openclaw/.env echo "X_CONSUMER_SECRET=xxx" >> ~/.openclaw/.env echo "X_ACCESS_TOKEN=xxx" >> ~/.openclaw/.env echo "X_ACCESS_TOKEN_SECRET=xxx" >> ~/.openclaw/.env ```
Test your credentials:
# Dry run (won't post)
scripts/post.sh --twitter --dry-run "Test message"
You can manage multiple Twitter accounts by adding additional credentials with custom prefixes.
Example: Adding a second account
# Add credentials with custom prefix (e.g., MYACCOUNT_)
echo "MYACCOUNT_API_KEY=xxx" >> ~/.openclaw/.env
echo "MYACCOUNT_API_KEY_SECRET=xxx" >> ~/.openclaw/.env
echo "MYACCOUNT_ACCESS_TOKEN=xxx" >> ~/.openclaw/.env
echo "MYACCOUNT_ACCESS_TOKEN_SECRET=xxx" >> ~/.openclaw/.env
Usage:
# Post from default account (X_*)
scripts/post.sh --twitter "Message from default account"
# Post from custom account
scripts/post.sh --account myaccount --twitter "Message from second account"
# Reply from custom account
scripts/reply.sh --account myaccount --twitter TWEET_ID "Reply from second account"
Naming convention:
X_CONSUMER_KEY, X_CONSUMER_SECRET, etc.{PREFIX}_API_KEY, {PREFIX}_API_KEY_SECRET, {PREFIX}_ACCESS_TOKEN, {PREFIX}_ACCESS_TOKEN_SECRET--account flagRequired credentials (stored in /home/phan_harry/.openclaw/farcaster-credentials.json):
{
"fid": "your_farcaster_id",
"custodyAddress": "0x...",
"custodyPrivateKey": "0x...",
"signerPublicKey": "0x...",
"signerPrivateKey": "0x...",
"createdAt": "2026-01-01T00:00:00.000Z"
}
How to get credentials:
```bash # This will guide you through: # - Creating a wallet # - Registering FID # - Adding signer key # - Automatically saving credentials
# See: /skills/farcaster-agent/SKILL.md ```
- If you already have a Farcaster account - Export your custody wallet private key - Export your signer private key - Manually create the JSON file
```bash # Check current balance scripts/check-balance.sh
# Send USDC to custody address on Base chain # Minimum: 0.1 USDC (~100 casts) # Recommended: 1-5 USDC (1000-5000 casts) ```
```bash # Check credentials exist ls -la ~/.openclaw/farcaster-credentials.json
# Check wallet balance scripts/check-balance.sh
# Test posting (dry run) scripts/post.sh --farcaster --dry-run "Test message" ```
Security Notes:
.env file should have 600 permissions (read/write owner only)# Post to both platforms
scripts/post.sh "Your message here"
# Twitter only
scripts/post.sh --twitter "Your message"
# Farcaster only
scripts/post.sh --farcaster "Your message"
# Post to both platforms with image
scripts/post.sh --image /path/to/image.jpg "Your caption"
# Twitter only with image
scripts/post.sh --twitter --image /path/to/image.jpg "Caption"
# Farcaster only with image
scripts/post.sh --farcaster --image /path/to/image.jpg "Caption"
# Reply to a tweet
scripts/reply.sh --twitter TWEET_ID "Your reply"
# Reply with image
scripts/reply.sh --twitter TWEET_ID --image /path/to/image.jpg "Reply with image"
# Get tweet ID from URL: twitter.com/user/status/[TWEET_ID]
scripts/reply.sh --twitter 1234567890123456789 "Great point!"
# Reply to a cast
scripts/reply.sh --farcaster CAST_HASH "Your reply"
# Reply with image
scripts/reply.sh --farcaster 0xabcd1234... --image /path/to/image.jpg "Reply with image"
# Get cast hash from URL: farcaster.xyz/~/conversations/[HASH]
scripts/reply.sh --farcaster 0xa1b2c3d4e5f6... "Interesting perspective!"
# Reply to both (if you have corresponding IDs on both platforms)
scripts/reply.sh --twitter 123456 --farcaster 0xabcd... "Great discussion!"
post.sh (posting)--twitter - Post to Twitter only--farcaster - Post to Farcaster only--account - Twitter account to use (lowercase prefix from .env)--vary - Auto-vary text to avoid duplicate content detection--image - Attach image--thread - Split long text into numbered thread--shorten-links - Shorten URLs to save characters--truncate - Auto-truncate if over limit--dry-run - Preview without posting-y, --yes - Skip confirmation prompt (auto-confirm)reply.sh (replying)...
安装 Social Post 后,可以对 AI 说这些话来触发它
Help me get started with Social Post
Explains what Social Post does, walks through the setup, and runs a quick demo based on your current project
Use Social Post to post and reply to X/Twitter and Farcaster with text and images
Invokes Social Post with the right parameters and returns the result directly in the conversation
What can I do with Social Post in my marketing & growth workflow?
Lists the top use cases for Social Post, with example commands for each scenario
将技能文件夹放到 ~/.claude/skills/social-post/ 目录(个人级,所有项目可用),或 .claude/skills/social-post/(项目级)。重启 AI 客户端后,用 /social-post 主动调用,或让 AI 根据上下文自动发现并使用。
Social Post 支持 Claude、Cursor、OpenClaw,可与这些 AI 平台无缝集成,扩展其能力。
Social Post 可免费安装使用。请查阅仓库了解许可证信息。
Post and reply to X/Twitter and Farcaster with text and images. Features multi-account support, auto-variation to avoid duplicate content detection, draft preview, character validation, threads, replies, and image uploads. Consumption-based pricing for X API, pay-per-cast for Farcaster.
Social Post 属于「Marketing & Growth」分类,该分类的技能帮助 AI 智能体在此领域执行专业任务。
Automate my marketing & growth tasks using Social Post
Identifies repetitive steps in your workflow and sets up Social Post to handle them automatically