# Send Wip X 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. Then review README.md for any prerequisites, environment setup, or post-install checks. 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. Then review README.md for any prerequisites, environment setup, or post-install checks. Summarize what changed and any follow-up checks I should run.
```
## Machine-readable fields
```json
{
  "schemaVersion": "1.0",
  "item": {
    "slug": "wip-x",
    "name": "Wip X",
    "source": "tencent",
    "type": "skill",
    "category": "开发工具",
    "sourceUrl": "https://clawhub.ai/parkertoddbrooks/wip-x",
    "canonicalUrl": "https://clawhub.ai/parkertoddbrooks/wip-x",
    "targetPlatform": "OpenClaw"
  },
  "install": {
    "downloadUrl": "/downloads/wip-x",
    "sourceDownloadUrl": "https://wry-manatee-359.convex.site/api/v1/download?slug=wip-x",
    "sourcePlatform": "tencent",
    "targetPlatform": "OpenClaw",
    "packageFormat": "ZIP package",
    "primaryDoc": "SKILL.md",
    "includedAssets": [
      "CHANGELOG.md",
      "README.md",
      "SKILL.md",
      "auth.mjs",
      "cli.mjs",
      "core.mjs"
    ],
    "downloadMode": "redirect",
    "sourceHealth": {
      "source": "tencent",
      "status": "healthy",
      "reason": "direct_download_ok",
      "recommendedAction": "download",
      "checkedAt": "2026-05-07T17:22:31.273Z",
      "expiresAt": "2026-05-14T17:22:31.273Z",
      "httpStatus": 200,
      "finalUrl": "https://wry-manatee-359.convex.site/api/v1/download?slug=afrexai-annual-report",
      "contentType": "application/zip",
      "probeMethod": "head",
      "details": {
        "probeUrl": "https://wry-manatee-359.convex.site/api/v1/download?slug=afrexai-annual-report",
        "contentDisposition": "attachment; filename=\"afrexai-annual-report-1.0.0.zip\"",
        "redirectLocation": null,
        "bodySnippet": null
      },
      "scope": "source",
      "summary": "Source download looks usable.",
      "detail": "Yavira can redirect you to the upstream package for this source.",
      "primaryActionLabel": "Download for OpenClaw",
      "primaryActionHref": "/downloads/wip-x"
    },
    "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/wip-x",
    "downloadUrl": "https://openagent3.xyz/downloads/wip-x",
    "agentUrl": "https://openagent3.xyz/skills/wip-x/agent",
    "manifestUrl": "https://openagent3.xyz/skills/wip-x/agent.json",
    "briefUrl": "https://openagent3.xyz/skills/wip-x/agent.md"
  }
}
```
## Documentation

### wip-x

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

### 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-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-grok search_web or search_x instead)
Image generation (use wip-grok generate_image)
Video generation (use wip-grok generate_video)
Trending topic analysis (use wip-grok search_x for AI-summarized trends)

### 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.

### "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

X API v2: https://docs.x.com/x-api
XDK SDK: https://github.com/xdevplatform/xdk
Authentication: https://docs.x.com/resources/authentication
## Trust
- Source: tencent
- Verification: Indexed source record
- Publisher: parkertoddbrooks
- Version: 1.0.1
## Source health
- Status: healthy
- Source download looks usable.
- Yavira can redirect you to the upstream package for this source.
- Health scope: source
- Reason: direct_download_ok
- Checked at: 2026-05-07T17:22:31.273Z
- Expires at: 2026-05-14T17:22:31.273Z
- Recommended action: Download for OpenClaw
## Links
- [Detail page](https://openagent3.xyz/skills/wip-x)
- [Send to Agent page](https://openagent3.xyz/skills/wip-x/agent)
- [JSON manifest](https://openagent3.xyz/skills/wip-x/agent.json)
- [Markdown brief](https://openagent3.xyz/skills/wip-x/agent.md)
- [Download page](https://openagent3.xyz/downloads/wip-x)