360 Secure SkillHub
360 安全技能中心

Wip Xai X Private

通过 X 平台 API 提供传感器与执行器两类能力:读取推文详情、搜索近七天推文、查看书签与用户资料,并可发布、回复、引用、删除推文以及上传图片和视频媒体;需要 X API 凭证(Bearer 读取,OAuth 1.0a 读写)。

parkertoddbrooks
parkertoddbrooks
热度 54.37
最近更新 2026-05-17 14:57:56
分类:营销依赖:第三方 API / 代码执行 / 读写文件 / MCP 服务应用场景:社交媒体 / API 集成 / 自动化脚本 / 研究

安装技能

复制下面的话术发给你的 Agent,它会通过 secure-skills 检索并安装该技能。

执行命令安装此 skill: npx secure-skills-cli add wip-xai-x
Metadata
name
wip-xai-x
version
1.0.4
description
X Platform API. Read posts, search tweets, get bookmarks, post tweets, upload media.
homepage
https://github.com/wipcomputer/wip-xai-x
metadata
{"category":"social,api","api_base":"https://api.x.com/2","capabilities":["api","fetch-posts","search-tweets","bookmarks","post-tweets","upload-media"],"dependencies":["@xdevplatform/xdk"],"interface":"REST"}
openclaw
{"emoji":"🐦","install":{"env":["X_BEARER_TOKEN","X_API_KEY","X_API_SECRET","X_ACCESS_TOKEN","X_ACCESS_TOKEN_SECRET"]}}
author
{"name":"Parker Todd Brooks"}

wip-xai-x

X Platform API. Sensor (read) + Actuator (write). All X Platform functions in one tool.

When to Use This Skill

Sensor: Read

Use fetch_post for:

  • Getting the full content of a specific tweet by URL or ID
  • Reading replies, quotes, engagement metrics
  • Extracting tweet data for processing

Use search_recent for:

  • Finding tweets matching a query (last 7 days)
  • Searching by hashtags, mentions, or keywords
  • Getting raw tweet data (not AI-summarized... use wip-xai-grok search_x for that)

Use get_bookmarks for:

  • Reading the user's bookmarked tweets
  • Reviewing saved content

Use get_user for:

  • Looking up a user's profile, bio, follower count
  • Checking if an account exists

Actuator: Write

Use post_tweet for:

  • Posting new tweets
  • Replying to existing tweets
  • Quote-tweeting with commentary
  • Posting with images or video (upload first)

Use upload_media for:

  • Uploading images (PNG, JPG, GIF, WebP)
  • Uploading video (MP4)
  • Getting media IDs for use in post_tweet

Use delete_tweet for:

  • Removing a previously posted tweet

Use bookmark_post for:

  • Saving a tweet for later

Do NOT Use For

  • AI-powered search summarization (use wip-xai-grok search_web or search_x instead)
  • Image generation (use wip-xai-grok generate_image)
  • Video generation (use wip-xai-grok generate_video)
  • Trending topic analysis (use wip-xai-grok search_x for AI-summarized trends)

API Reference

fetch_post(options)

const result = await fetch_post({ id_or_url: 'https://x.com/user/status/123' });
// result: { data, includes, errors }

Options: id_or_url (required). Accepts tweet ID or full URL.

search_recent(options)

const result = await search_recent({ query: 'AI agents', max_results: 20 });
// result: { data, includes, meta, errors }

Options: query (required), max_results (10-100), start_time, end_time, sort_order

get_bookmarks(options)

const result = await get_bookmarks({ max_results: 20 });

Options: max_results, pagination_token. Requires OAuth.

get_user(options)

const result = await get_user({ username_or_id: 'parkertoddbrooks' });

Options: username_or_id (required). Accepts username (with or without @) or numeric ID.

post_tweet(options)

const result = await post_tweet({ text: 'Hello world', reply_to: '123', media_ids: ['456'] });
// result: { data: { id, text }, errors }

Options: text (required), reply_to, media_ids, quote_tweet_id. Requires OAuth.

upload_media(options)

const result = await upload_media({ file_path: './photo.jpg' });
// result: { data: { id }, errors }

Options: file_path (required), media_type (auto-detected), media_data (base64 alternative)

delete_tweet(options)

const result = await delete_tweet({ id: '123456' });

Options: id (required). Requires OAuth.

Troubleshooting

"X Platform API credentials not found"

Set X_BEARER_TOKEN for read-only, or all four OAuth tokens for read+write. 1Password: vault "Agent Secrets", item "X Platform API".

"Could not resolve authenticated user ID"

Bookmarks and write operations need OAuth 1.0a (all four tokens), not just bearer token.

403 Forbidden on post/delete

Your app needs "Read and Write" permissions in the X Developer Portal. Check at https://developer.x.com/en/portal/dashboard

Rate limits

X API v2 has per-endpoint rate limits. The SDK handles rate limit headers automatically. If you hit limits, back off and retry.

API Documentation