# Send X Extract 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": "x-extract",
    "name": "X Extract",
    "source": "tencent",
    "type": "skill",
    "category": "开发工具",
    "sourceUrl": "https://clawhub.ai/chunhualiao/x-extract",
    "canonicalUrl": "https://clawhub.ai/chunhualiao/x-extract",
    "targetPlatform": "OpenClaw"
  },
  "install": {
    "downloadUrl": "/downloads/x-extract",
    "sourceDownloadUrl": "https://wry-manatee-359.convex.site/api/v1/download?slug=x-extract",
    "sourcePlatform": "tencent",
    "targetPlatform": "OpenClaw",
    "packageFormat": "ZIP package",
    "primaryDoc": "SKILL.md",
    "includedAssets": [
      "CHANGELOG.md",
      "README.md",
      "SKILL.md",
      "references/selectors.md",
      "scripts/extract.mjs",
      "skill.yml"
    ],
    "downloadMode": "redirect",
    "sourceHealth": {
      "source": "tencent",
      "slug": "x-extract",
      "status": "healthy",
      "reason": "direct_download_ok",
      "recommendedAction": "download",
      "checkedAt": "2026-05-11T05:36:11.265Z",
      "expiresAt": "2026-05-18T05:36:11.265Z",
      "httpStatus": 200,
      "finalUrl": "https://wry-manatee-359.convex.site/api/v1/download?slug=x-extract",
      "contentType": "application/zip",
      "probeMethod": "head",
      "details": {
        "probeUrl": "https://wry-manatee-359.convex.site/api/v1/download?slug=x-extract",
        "contentDisposition": "attachment; filename=\"x-extract-1.0.0.zip\"",
        "redirectLocation": null,
        "bodySnippet": null,
        "slug": "x-extract"
      },
      "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/x-extract"
    },
    "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/x-extract",
    "downloadUrl": "https://openagent3.xyz/downloads/x-extract",
    "agentUrl": "https://openagent3.xyz/skills/x-extract/agent",
    "manifestUrl": "https://openagent3.xyz/skills/x-extract/agent.json",
    "briefUrl": "https://openagent3.xyz/skills/x-extract/agent.md"
  }
}
```
## Documentation

### X.com Tweet Extraction

Extract tweet content (text, media, author, metadata) from x.com URLs without requiring Twitter/X credentials.

### How It Works

Uses OpenClaw's browser tool to load the tweet page, then extracts content from the rendered HTML.

### 1. Validate URL

Check that the URL is a valid x.com/twitter.com tweet:

Must contain x.com/*/status/ or twitter.com/*/status/
Extract tweet ID from URL pattern: /status/(\\d+)

### 2. Open in Browser

browser action=open profile=openclaw targetUrl=<x.com-url>

Wait for page load (targetId returned).

### 3. Capture Snapshot

browser action=snapshot targetId=<TARGET_ID> snapshotFormat=aria

### 4. Extract Content

From the snapshot, extract:

Required fields:

Tweet text: Look for role=article containing the main tweet content
Author: role=link with author name/handle (usually @username format)
Timestamp: role=time element

Optional fields:

Media: role=img or role=link containing /photo/, /video/
Engagement: Like count, retweet count, reply count (in role=group or role=button)
Thread context: If tweet is part of thread, note previous/next tweet references

### 5. Format Output

Output as structured markdown:

# Tweet by @username

**Author:** Full Name (@handle)  
**Posted:** YYYY-MM-DD HH:MM  
**Source:** <original-url>

---

<Tweet text content here>

---

**Media:**
- ![Image 1](<media-url-1>)
- ![Image 2](<media-url-2>)

**Engagement:**
- 👍 Likes: 1,234
- 🔄 Retweets: 567
- 💬 Replies: 89

**Thread:** [Part 2/5] | [View full thread](<thread-url>)

### 6. Download Media (Optional)

If user requests --download-media or "download images":

Extract all media URLs from snapshot
Use exec with curl or wget to download:
curl -L -o "tweet-{tweetId}-image-{n}.jpg" "<media-url>"


Report downloaded files with paths

### Error Handling

If page fails to load:

Check if URL is valid
Try alternative: replace x.com with twitter.com (still works)
Some tweets may require login (controversial, age-restricted) - report to user

If content extraction fails:

X.com layout may have changed - check references/selectors.md
Provide raw snapshot to user for manual review
Report which fields were successfully extracted

### Common Selectors

See references/selectors.md for detailed CSS/ARIA selectors used by x.com (updated as layout changes).

### Limitations

No credentials: Cannot access protected tweets, DMs, or login-required content
Rate limiting: X.com may block excessive automated requests
Layout changes: Selectors may break if X updates their HTML structure
Dynamic content: Some content (comments, threads) may load lazily

### Examples

Extract single tweet:

User: "Extract this tweet: https://x.com/vista8/status/2019651804062241077"
Agent: [Opens browser, captures snapshot, formats markdown output]

Extract with media download:

User: "Get the tweet text and download all images from https://x.com/user/status/123"
Agent: [Extracts content, downloads images to ./downloads/, reports paths]

Thread extraction:

User: "Extract this thread: https://x.com/user/status/456"
Agent: [Detects thread, extracts all tweets in sequence, formats as numbered list]
## Trust
- Source: tencent
- Verification: Indexed source record
- Publisher: chunhualiao
- Version: 1.0.0
## 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-11T05:36:11.265Z
- Expires at: 2026-05-18T05:36:11.265Z
- Recommended action: Download for OpenClaw
## Links
- [Detail page](https://openagent3.xyz/skills/x-extract)
- [Send to Agent page](https://openagent3.xyz/skills/x-extract/agent)
- [JSON manifest](https://openagent3.xyz/skills/x-extract/agent.json)
- [Markdown brief](https://openagent3.xyz/skills/x-extract/agent.md)
- [Download page](https://openagent3.xyz/downloads/x-extract)