跳到主内容
智客 ZICQ

技能库 智客分类:其他 opentwitter OpenClaw

Opentwitter

推特/X数据通过6551API. 支持用户简介,微博搜索,用户微博,追随者事件,被删除的微博,以及KOL追随者.

840 安装量 · 27 星标

官方网址:ClawHub

技能介绍

先看中文介绍;官方 description 原文单独保留,不改写 SKILL.md。

做什么

推特/X数据通过6551API. 支持用户简介,微博搜索,用户微博,追随者事件,被删除的微博,以及KOL追随者.

何时用

官方 description 未单独写出 Use when。按规范,代理会在用户任务与这段 description 的关键词匹配时激活本技能。

代理如何加载

按 Agent Skills 渐进披露:启动时只加载 name 与 description(约 100 token);任务匹配后才读入整份 SKILL.md 正文;scripts/、references/、assets/ 仅在需要时再读。 本文件正文结构:Twitter/X Data Skill、Authentication、Twitter Operations、1. Get Twitter User Info、2. Get Twitter User by ID、3. Get User Tweets。

文件分析

文件分析:这是一份仅含 SKILL.md 的指令型技能,代理激活后整份正文进入上下文。 正文约 521 行,超过规范建议的 500 行,激活时仍会整份载入。

官方 description(原文)

Twitter/X data via the 6551 API. Supports user profiles, tweet search, user tweets, follower events, deleted tweets, and KOL followers.

Twitter/X Data SkillAuthenticationTwitter Operations1. Get Twitter User Info2. Get Twitter User by ID3. Get User Tweets4. Search TwitterTwitter Search Parameters5. Get Follower EventsGet new followersGet unfollowers6. Get Deleted Tweets

SKILL.md 与 Agent 调用

官方规范 ↗
name
opentwitter
description
Twitter/X data via the 6551 API. Supports user profiles, tweet search, user tweets, follower events, deleted tweets, and KOL followers.
  1. 发现技能客户端向 Agent 提供名称与描述目录。
  2. 匹配与调用用户指定或任务匹配后,载入 SKILL.md 指令。
  3. 按需加载按步骤读取参考文档、使用脚本与素材。

具体调用语法与可用工具以目标 Agent 客户端为准。 查看调用机制说明 ↗

安装这个技能

Skills CLI ↗

先选择目标 Agent 和安装范围,保留技能包的附属文件,安装后检查客户端能否发现该技能。

交给 Agent 安装

复制安装指令给支持 Agent Skills 的代理,确认其中的目标目录与客户端匹配。

把 Agent Skill「opentwitter」安装到我的项目:SKILL.md 原文与官方 description 见 https://zicq.com/zh/skills/skl-0a9e641377bf156f-Opentwitter.html
请存为 .cursor/skills/opentwitter/SKILL.md 或 .claude/skills/opentwitter/SKILL.md,frontmatter 的 name 与 description 保持原样,不要改写。

当前没有明确的 GitHub 技能包地址,请按来源页面的安装器说明操作。

ClawHub ↗

阅读排版

name: opentwitter description: Twitter/X data via the 6551 API. Supports user profiles, tweet search, user tweets, follower events, deleted tweets, and KOL followers.

user-invocable: true metadata: openclaw: requires: env: - OPENNEWS_TOKEN bins: - curl primaryEnv: OPENNEWS_TOKEN emoji: "\U0001F426" install: - id: curl kind: brew formula: curl label: curl (HTTP client) os: - darwin - linux - win32 version: 1.0.0

Twitter/X Data Skill

Query Twitter/X data from the 6551 platform REST API. All endpoints require a Bearer token via $OPENNEWS_TOKEN.

Get your token: http://app.newsliquid.com/mcp

Base URL: https://ai.6551.io

Authentication

All requests require the header:

Authorization: Bearer $OPENNEWS_TOKEN

Twitter Operations

1. Get Twitter User Info

Get user profile by username.

curl -s -X POST "https://ai.6551.io/open/twitter_user_info" \
  -H "Authorization: Bearer $OPENNEWS_TOKEN" \
  -H "Content-Type: application/json" \
  -d '{"username": "elonmusk"}'

2. Get Twitter User by ID

Get user profile by numeric ID.

curl -s -X POST "https://ai.6551.io/open/twitter_user_by_id" \
  -H "Authorization: Bearer $OPENNEWS_TOKEN" \
  -H "Content-Type: application/json" \
  -d '{"userId": "44196397"}'

3. Get User Tweets

Get recent tweets from a user.

curl -s -X POST "https://ai.6551.io/open/twitter_user_tweets" \
  -H "Authorization: Bearer $OPENNEWS_TOKEN" \
  -H "Content-Type: application/json" \
  -d '{"username": "elonmusk", "maxResults": 20, "product": "Latest"}'

| Parameter | Type | Default | Description | |------------------|---------|----------|--------------------------------| | username | string | required | Twitter username (without @) | | maxResults | integer | 20 | Max tweets (1-100) | | product | string | "Latest" | "Latest" or "Top" | | includeReplies | boolean | false | Include reply tweets | | includeRetweets| boolean | false | Include retweets |

4. Search Twitter

Search tweets with various filters.

Search with query:

curl -s -X POST "https://ai.6551.io/open/twitter_search" \
  -H "Authorization: Bearer $OPENNEWS_TOKEN" \
  -H "Content-Type: application/json" \
  -d '{"query": "from:VitalikButerin bitcoin -filter:replies", "maxResults": 20, "product": "Top"}'
curl -s -X POST "https://ai.6551.io/open/twitter_search" \
  -H "Authorization: Bearer $OPENNEWS_TOKEN" \
  -H "Content-Type: application/json" \
  -d '{"keywords": "bitcoin", "maxResults": 20, "product": "Top"}'

Search from specific user:

curl -s -X POST "https://ai.6551.io/open/twitter_search" \
  -H "Authorization: Bearer $OPENNEWS_TOKEN" \
  -H "Content-Type: application/json" \
  -d '{"fromUser": "VitalikButerin", "maxResults": 20}'

Search by hashtag:

curl -s -X POST "https://ai.6551.io/open/twitter_search" \
  -H "Authorization: Bearer $OPENNEWS_TOKEN" \
  -H "Content-Type: application/json" \
  -d '{"hashtag": "crypto", "minLikes": 100, "maxResults": 20}'

Twitter Search Parameters

| Parameter | Type | Default | Description | |------------------|---------|---------|-------------------------------------| | query | string | - | Complete search string; overrides other filters | | keywords | string | - | Search keywords | | fromUser | string | - | Tweets from specific user | | toUser | string | - | Tweets to specific user | | mentionUser | string | - | Tweets mentioning user | | hashtag | string | - | Filter by hashtag (without #) | | excludeReplies | boolean | false | Exclude reply tweets | | excludeRetweets| boolean | false | Exclude retweets | | minLikes | integer | 0 | Minimum likes threshold | | minRetweets | integer | 0 | Minimum retweets threshold | | minReplies | integer | 0 | Minimum replies threshold | | sinceDate | string | - | Start date (YYYY-MM-DD) | | untilDate | string | - | End date (YYYY-MM-DD) | | lang | string | - | Language code (e.g. "en", "zh") | | product | string | "Top" | "Top" or "Latest" | | maxResults | integer | 20 | Max tweets (1-100) |

If query is set, it is passed through as-is and the other search fields are ignored.

5. Get Follower Events

Get new followers or unfollowers for a user.

# Get new followers
curl -s -X POST "https://ai.6551.io/open/twitter_follower_events" \
  -H "Authorization: Bearer $OPENNEWS_TOKEN" \
  -H "Content-Type: application/json" \
  -d '{"username": "elonmusk", "isFollow": true, "maxResults": 20}'

# Get unfollowers
curl -s -X POST "https://ai.6551.io/open/twitter_follower_events" \
  -H "Authorization: Bearer $OPENNEWS_TOKEN" \
  -H "Content-Type: application/json" \
  -d '{"username": "elonmusk", "isFollow": false, "maxResults": 20}'

| Parameter | Type | Default | Description | |-------------|---------|---------|------------------------------------------| | username | string | required| Twitter username (without @) | | isFollow | boolean | true | true=new followers, false=unfollowers | | maxResults| integer | 20 | Max events (1-100) |

6. Get Deleted Tweets

Get deleted tweets from a user.

curl -s -X POST "https://ai.6551.io/open/twitter_deleted_tweets" \
  -H "Authorization: Bearer $OPENNEWS_TOKEN" \
  -H "Content-Type: application/json" \
  -d '{"username": "elonmusk", "maxResults": 20}'

| Parameter | Type | Default | Description | |-------------|---------|---------|--------------------------------| | username | string | required| Twitter username (without @) | | maxResults| integer | 20 | Max tweets (1-100) |

7. Get KOL Followers

Get which KOLs (Key Opinion Leaders) are following a user.

curl -s -X POST "https://ai.6551.io/open/twitter_kol_followers" \
  -H "Authorization: Bearer $OPENNEWS_TOKEN" \
  -H "Content-Type: application/json" \
  -d '{"username": "elonmusk"}'

| Parameter | Type | Default | Description | |------------|--------|---------|--------------------------------| | username | string | required| Twitter username (without @) |

8. Get Twitter Article by ID

Get Twitter article by ID.

curl -s -X POST "https://ai.6551.io/open/twitter_article_by_id" \
  -H "Authorization: Bearer $OPENNEWS_TOKEN" \
  -H "Content-Type: application/json" \
  -d '{"id": "article_id"}'

| Parameter | Type | Default | Description | |-----------|--------|---------|----------------------| | id | string | required| Twitter article ID |

9. Get Tweet by ID

Get a specific tweet by its ID, including nested reply/quote tweets.

This endpoint retrieves a tweet by ID and automatically fetches any tweets it replies to or quotes, providing complete context.

curl -s -X POST "https://ai.6551.io/open/twitter_tweet_by_id" \
  -H "Authorization: Bearer $OPENNEWS_TOKEN" \
  -H "Content-Type: application/json" \
  -d '{"twId": "2030318958512164966"}'

| Parameter | Type | Default | Description | |-----------|--------|---------|--------------------------------| | twId | string | required| Twitter tweet ID (numeric) |

Response includes:

  • Main tweet data
  • replyStatus: The tweet being replied to (if applicable)
  • quotedStatus: The tweet being quoted (if applicable)

10. Get Quote Tweets by ID

Get tweets that quote a specific tweet.

curl -s -X POST "https://ai.6551.io/open/twitter_quote_tweets_by_id" \
  -H "Authorization: Bearer $OPENNEWS_TOKEN" \
  -H "Content-Type: application/json" \
  -d '{"id": "2030318958512164966", "maxResults": 20}'

| Parameter | Type | Default | Description | |-------------|---------|---------|--------------------------------| | id | string | required| Twitter tweet ID (numeric) | | maxResults| integer | 20 | Max tweets (1-100) |

11. Get Retweet Users by ID

Get users who retweeted a specific tweet.

curl -s -X POST "https://ai.6551.io/open/twitter_retweet_users_by_id" \
  -H "Authorization: Bearer $OPENNEWS_TOKEN" \
  -H "Content-Type: application/json" \
  -d '{"id": "2030318958512164966"}'

| Parameter | Type | Default | Description | |-----------|--------|---------|------------------------------------------| | id | string | required| Twitter tweet ID (numeric) | | cursor | string | - | Pagination cursor for next page |

12. Get Twitter Watch List

Get all Twitter monitoring users for the current user.

curl -s -X POST "https://ai.6551.io/open/twitter_watch" \
  -H "Authorization: Bearer $OPENNEWS_TOKEN" \
  -H "Content-Type: application/json" \
  -d '{}'

13. Add Twitter Watch

Add a Twitter user to monitoring list.

curl -s -X POST "https://ai.6551.io/open/twitter_watch_add" \
  -H "Authorization: Bearer $OPENNEWS_TOKEN" \
  -H "Content-Type: application/json" \
  -d '{"username": "elonmusk", "remark": "Custom note", "newTweetBol": true, "newFlwBol": false}'

| Parameter | Type | Default | Description | |-----------------|---------|---------------|------------------------------------------| | username | string | required | Twitter username (without @) | | remark | string | - | Custom note for this watch entry | | newTweetBol | boolean | true (server) | Monitor new tweets | | newFlwBol | boolean | false (server)| Monitor new followers | | newUnFlwBol | boolean | false (server)| Monitor unfollowers | | newTweetReplyBol | boolean | true (server) | Monitor tweet replies | | newTweetQuoteBol | boolean | true (server) | Monitor quote tweets | | newRetweetBol | boolean | true (server) | Monitor retweets | | updateNameBol | boolean | true (server) | Monitor username changes | | updateDescBol | boolean | true (server) | Monitor bio/description changes | | updateAvatarBol | boolean | true (server) | Monitor profile picture changes | | updateBannerBol | boolean | true (server) | Monitor banner image changes | | newCaBol | boolean | false (server)| Monitor CA (contract address) events | | tweetToppingBol | boolean | false (server)| Monitor tweet pinning events |

14. Delete Twitter Watch

Delete a Twitter user from monitoring list by username.

curl -s -X POST "https://ai.6551.io/open/twitter_watch_delete" \
  -H "Authorization: Bearer $OPENNEWS_TOKEN" \
  -H "Content-Type: application/json" \
  -d '{"username": "elonmusk"}'

| Parameter | Type | Default | Description | |-----------|--------|---------|------------------------------------------| | username| string | required| Twitter username to delete (without @) |


WebSocket Real-time Subscriptions

Endpoint: wss://ai.6551.io/open/twitter_wss?token=YOUR_TOKEN

Subscribe to real-time events from your monitored Twitter accounts.

Heartbeat

To keep the connection alive, the client can send ping, and the server responds with pong.

Subscribe to Twitter Events

{
  "jsonrpc": "2.0",
  "id": 1,
  "method": "twitter.subscribe"
}

Response:

{
  "jsonrpc": "2.0",
  "id": 1,
  "result": {
    "success": true
  }
}

Unsubscribe

{
  "jsonrpc": "2.0",
  "id": 2,
  "method": "twitter.unsubscribe"
}

Server Push - Twitter Event

When a monitored account has activity, the server pushes:

{
  "jsonrpc": "2.0",
  "method": "twitter.event",
  "params": {
    "id": 123456,
    "twAccount": "elonmusk",
    "twUserName": "Elon Musk",
    "profileUrl": "https://twitter.com/elonmusk",
    "eventType": "NEW_TWEET",
    "content": "...",
    "ca": "0x1234...",
    "remark": "Custom note",
    "createdAt": "2026-03-06T10:00:00Z"
  }
}

Note: The content field structure varies by event type (see below).


**Event Types and Content Structure**:

#### Tweet Events
- `NEW_TWEET` - New tweet posted
- `NEW_TWEET_REPLY` - New reply tweet
- `NEW_TWEET_QUOTE` - New quote tweet
- `NEW_RETWEET` - Retweeted
- `CA` - Tweet with CA address

Content structure for tweet events:
```json
{
  "id": "1234567890",
  "text": "Tweet content...",
  "createdAt": "2026-03-06T10:00:00Z",
  "language": "en",
  "retweetCount": 100,
  "favoriteCount": 500,
  "replyCount": 20,
  "quoteCount": 10,
  "viewCount": 10000,
  "userScreenName": "elonmusk",
  "userName": "Elon Musk",
  "userIdStr": "44196397",
  "userFollowers": 170000000,
  "userVerified": true,
  "conversationId": "1234567890",
  "isReply": false,
  "isQuote": false,
  "hashtags": ["crypto", "bitcoin"],
  "media": [
    {
      "type": "photo",
      "url": "https://...",
      "thumbUrl": "https://..."
    }
  ],
  "urls": [
    {
      "url": "https://...",
      "expandedUrl": "https://...",
      "displayUrl": "example.com"
    }
  ],
  "mentions": [
    {
      "username": "VitalikButerin",
      "name": "Vitalik Buterin"
    }
  ]
}

Follower Events

  • NEW_FOLLOWER - New follower
  • NEW_UNFOLLOWER - Unfollower event

Content structure for follower events (array):

[
  {
    "id": 123,
    "twId": 44196397,
    "twAccount": "elonmusk",
    "twUserName": "Elon Musk",
    "twUserLabel": "Verified",
    "description": "User bio...",
    "profileUrl": "https://...",
    "bannerUrl": "https://...",
    "followerCount": 170000000,
    "friendCount": 500,
    "createdAt": "2026-03-06T10:00:00Z"
  }
]

Profile Update Events

  • UPDATE_NAME - Username changed (content: new name string)
  • UPDATE_DESCRIPTION - Bio updated (content: new description string)
  • UPDATE_AVATAR - Profile picture changed (content: new avatar URL string)
  • UPDATE_BANNER - Banner image changed (content: new banner URL string)

Other Events

  • TWEET_TOPPING - Tweet pinned
  • DELETE - Tweet deleted
  • SYSTEM - System event
  • TRANSLATE - Tweet translation
  • CA_CREATE - CA token created

Data Structures

Twitter User

{
  "userId": "44196397",
  "screenName": "elonmusk",
  "name": "Elon Musk",
  "description": "...",
  "followersCount": 170000000,
  "friendsCount": 500,
  "statusesCount": 30000,
  "verified": true
}

Tweet

{
  "id": "1234567890",
  "text": "Tweet content...",
  "createdAt": "2024-02-20T12:00:00Z",
  "retweetCount": 1000,
  "favoriteCount": 5000,
  "replyCount": 200,
  "userScreenName": "elonmusk",
  "hashtags": ["crypto", "bitcoin"],
  "urls": [{"url": "https://..."}]
}

Common Workflows

Crypto Twitter KOL Tweets

curl -s -X POST "https://ai.6551.io/open/twitter_user_tweets" \
  -H "Authorization: Bearer $OPENNEWS_TOKEN" \
  -H "Content-Type: application/json" \
  -d '{"username": "VitalikButerin", "maxResults": 10}'

Trending Crypto Tweets

curl -s -X POST "https://ai.6551.io/open/twitter_search" \
  -H "Authorization: Bearer $OPENNEWS_TOKEN" \
  -H "Content-Type: application/json" \
  -d '{"keywords": "bitcoin", "minLikes": 1000, "product": "Top", "maxResults": 20}'

Query Search

curl -s -X POST "https://ai.6551.io/open/twitter_search" \
  -H "Authorization: Bearer $OPENNEWS_TOKEN" \
  -H "Content-Type: application/json" \
  -d '{"query": "from:VitalikButerin bitcoin -filter:replies", "maxResults": 20, "product": "Top"}'

Notes

  • Get your API token at http://app.newsliquid.com/mcp
  • Rate limits apply; max 100 results per request
  • Twitter usernames should not include the @ symbol

相关技能

其他

Self Improving Agent

掌握学习、错误和校正,以便不断改进。 使用时间:(1) 命令或操作意外失败, (2) 用户更正 Claude ('No, that's wrong...', 'Actually...'), (3)用户请求具备不存在的能力,(4)外部API或工具失败,(5)克洛德意识到其知识已经过…

其他

Self Improving + Proactive Agent

自我反省+自我批评+自我学习+自我组织记忆. 特工评估自己的工作,发现错误,并永久改进. 当 (1) 命令,工具, API, 或操作失败时使用; (2) 用户纠正或拒绝您的工作; (3) 您意识到您的知识已经过时或不正确; (4) 您发现更好的方法; (5) 用户明确安装或引用当…

其他

Proactive Agent

将AI代理人从任务跟踪者转变为预先预测需要并不断改进的主动伙伴. 现在WAL协议,工作缓冲,自主克龙, 和战斗测试模式。 哈尔·斯塔克的一部分

其他

Multi Search Engine

多搜索引擎集成16个引擎(7个CN+9 Global). 支持高级搜索操作员,时间过滤器,站点搜索,隐私引擎,和WolframAlpha知识查询. 不需要 API 密钥 .