# Send Twitter Autopilot to your agent
Hand the extracted package to your coding agent with a concrete install brief instead of figuring it out manually.
## Fast path
- Download the package from Yavira.
- Extract it into a folder your agent can access.
- Paste one of the prompts below and point your agent at the extracted folder.
## Suggested prompts
### New install

```text
I downloaded a skill package from Yavira. Read SKILL.md from the extracted folder and install it by following the included instructions. Tell me what you changed and call out any manual steps you could not complete.
```
### Upgrade existing

```text
I downloaded an updated skill package from Yavira. Read SKILL.md from the extracted folder, compare it with my current installation, and upgrade it while preserving any custom configuration unless the package docs explicitly say otherwise. Summarize what changed and any follow-up checks I should run.
```
## Machine-readable fields
```json
{
  "schemaVersion": "1.0",
  "item": {
    "slug": "twitter-autopilot",
    "name": "Twitter Autopilot",
    "source": "tencent",
    "type": "skill",
    "category": "AI 智能",
    "sourceUrl": "https://clawhub.ai/persnola1-sketch/twitter-autopilot",
    "canonicalUrl": "https://clawhub.ai/persnola1-sketch/twitter-autopilot",
    "targetPlatform": "OpenClaw"
  },
  "install": {
    "downloadUrl": "/downloads/twitter-autopilot",
    "sourceDownloadUrl": "https://wry-manatee-359.convex.site/api/v1/download?slug=twitter-autopilot",
    "sourcePlatform": "tencent",
    "targetPlatform": "OpenClaw",
    "packageFormat": "ZIP package",
    "primaryDoc": "SKILL.md",
    "includedAssets": [
      "SKILL.md",
      "references/content-strategy.md",
      "references/strategy-templates.md",
      "scripts/tweet.py"
    ],
    "downloadMode": "redirect",
    "sourceHealth": {
      "source": "tencent",
      "slug": "twitter-autopilot",
      "status": "healthy",
      "reason": "direct_download_ok",
      "recommendedAction": "download",
      "checkedAt": "2026-05-04T06:36:20.026Z",
      "expiresAt": "2026-05-11T06:36:20.026Z",
      "httpStatus": 200,
      "finalUrl": "https://wry-manatee-359.convex.site/api/v1/download?slug=twitter-autopilot",
      "contentType": "application/zip",
      "probeMethod": "head",
      "details": {
        "probeUrl": "https://wry-manatee-359.convex.site/api/v1/download?slug=twitter-autopilot",
        "contentDisposition": "attachment; filename=\"twitter-autopilot-1.3.1.zip\"",
        "redirectLocation": null,
        "bodySnippet": null,
        "slug": "twitter-autopilot"
      },
      "scope": "item",
      "summary": "Item download looks usable.",
      "detail": "Yavira can redirect you to the upstream package for this item.",
      "primaryActionLabel": "Download for OpenClaw",
      "primaryActionHref": "/downloads/twitter-autopilot"
    },
    "validation": {
      "installChecklist": [
        "Use the Yavira download entry.",
        "Review SKILL.md after the package is downloaded.",
        "Confirm the extracted package contains the expected setup assets."
      ],
      "postInstallChecks": [
        "Confirm the extracted package includes the expected docs or setup files.",
        "Validate the skill or prompts are available in your target agent workspace.",
        "Capture any manual follow-up steps the agent could not complete."
      ]
    }
  },
  "links": {
    "detailUrl": "https://openagent3.xyz/skills/twitter-autopilot",
    "downloadUrl": "https://openagent3.xyz/downloads/twitter-autopilot",
    "agentUrl": "https://openagent3.xyz/skills/twitter-autopilot/agent",
    "manifestUrl": "https://openagent3.xyz/skills/twitter-autopilot/agent.json",
    "briefUrl": "https://openagent3.xyz/skills/twitter-autopilot/agent.md"
  }
}
```
## Documentation

### Twitter Autopilot

End-to-end Twitter/X automation for AI agents running on OpenClaw.

### Credentials (all set as env vars)

VariableRequiredDescriptionTWITTER_API_KEY✅OAuth 1.0a consumer keyTWITTER_API_SECRET✅OAuth 1.0a consumer secretTWITTER_ACCESS_TOKEN✅OAuth 1.0a user tokenTWITTER_ACCESS_SECRET✅OAuth 1.0a user secretTWITTER_BEARER_TOKENOptionalOAuth 2.0 bearer (needed for reads/follows)

### Dependencies

tweepy (pip install)

### Files Read/Written

PathAccessPurposetwitter/MODE.mdReadDraft vs auto mode flagtwitter/queue.mdRead/WriteApproved tweets waiting to posttwitter/drafts/pending.mdRead/WriteUnapproved draftstwitter/posted-log.mdRead/WriteFull history of posted tweets (duplicate check)twitter/logs/WriteEngagement and posting logs

### Scope

⚠️ Posts tweets to Twitter/X (public, real-world impact)
Reads/writes local draft and log files
Can run autonomously via cron (check MODE.md to control)

### 1. Get API Keys

Go to developer.x.com → create a project + app
Set app permissions to Read and Write
Generate: API Key, API Secret, Access Token, Access Token Secret
Generate Bearer Token: curl -u "API_KEY:API_SECRET" -d "grant_type=client_credentials" "https://api.twitter.com/oauth2/token"

### 2. Set Environment Variables

TWITTER_API_KEY=your_api_key
TWITTER_API_SECRET=your_api_secret
TWITTER_ACCESS_TOKEN=your_access_token
TWITTER_ACCESS_SECRET=your_access_token_secret
TWITTER_BEARER_TOKEN=your_bearer_token

### 3. Install Dependency

pip install tweepy

### Usage

All commands via scripts/tweet.py:

# Post (auto-threads if >280 chars)
python tweet.py post "your tweet text here"

# Reply to a tweet
python tweet.py reply TWEET_ID "your reply"

# Quote tweet
python tweet.py quote TWEET_ID "your take"

# Retweet
python tweet.py retweet TWEET_ID

# Delete
python tweet.py delete TWEET_ID

# Follow / Unfollow
python tweet.py follow @username
python tweet.py unfollow @username

# Check mentions
python tweet.py mentions

# Account stats
python tweet.py me

### Long Tweets → Auto-Thread

Free API tier limits single tweets to 280 chars. The post command auto-splits at sentence boundaries into a thread when text exceeds 280 chars.

For manual threads, call thread from Python:

from tweet import thread
thread(["Tweet 1", "Tweet 2", "Tweet 3"])

### Draft Workflow

For agents that need human approval before posting:

Create twitter/MODE.md with content DRAFT or AUTO
Create twitter/drafts/pending.md for queued drafts
In cron jobs, check MODE.md before posting:

DRAFT → append to pending.md, notify human
AUTO → post directly, log to twitter/logs/

### Gotchas

Free tier: 280 char limit per tweet, rate limits on posting (~50/day write, reads limited)
401 on follows/reads: You need a Bearer Token (OAuth 2.0), not just OAuth 1.0a keys
403 on long tweets: Free tier rejects >280 chars — use auto-thread
Shell escaping: Avoid passing tweets with quotes via shell args — use Python directly for complex text
Rate limits: Add time.sleep(1) between batch operations (follows, thread posts)

### Strategy

See references/content-strategy.md for the full tweet writing playbook:

X algorithm breakdown (engagement hierarchy, peak times, dwell time)
6 hook formulas with examples (bold, specific result, curiosity gap, story, pattern interrupt, question)
6 tweet formats (listicle, contrarian, before/after, framework, universal experience, fill-in-blank)
Copywriting frameworks (PAS, BAB, AIDA)
Thread structure template (7-8 tweet sweet spot)
Growth tactics (30-day subtopic, reply strategy, 80/20 rule)
AI agent-specific tips

See references/strategy-templates.md for content pillars, engagement playbooks, and cron schedule templates.

### Key Lessons (from real usage)

AIs that BUILD things get followers. AIs that post thoughts don't.
Engage with the AI agent community — they engage back.
High volume matters early (5-10+ posts/day including replies).
Self-deprecating humor > motivational quotes.
Draft mode for new accounts — one bad tweet can tank trust.
ALWAYS check twitter/posted-log.md before posting — crons can reword the same topic and create duplicates. Compare ideas, not just exact text.
Say your human's name (e.g. "Alex"), not "my human" — sounds more personal and real.
Log EVERY posted tweet to twitter/posted-log.md with full text, ID, date, and source.
## Trust
- Source: tencent
- Verification: Indexed source record
- Publisher: persnola1-sketch
- Version: 1.3.1
## Source health
- Status: healthy
- Item download looks usable.
- Yavira can redirect you to the upstream package for this item.
- Health scope: item
- Reason: direct_download_ok
- Checked at: 2026-05-04T06:36:20.026Z
- Expires at: 2026-05-11T06:36:20.026Z
- Recommended action: Download for OpenClaw
## Links
- [Detail page](https://openagent3.xyz/skills/twitter-autopilot)
- [Send to Agent page](https://openagent3.xyz/skills/twitter-autopilot/agent)
- [JSON manifest](https://openagent3.xyz/skills/twitter-autopilot/agent.json)
- [Markdown brief](https://openagent3.xyz/skills/twitter-autopilot/agent.md)
- [Download page](https://openagent3.xyz/downloads/twitter-autopilot)