← Back to Workflow
Skill

X.com Browsing Skill

Details how to scrape timelines, handle anti-bot walls via Edge DOM, and download media from X.com (Twitter) without breaking links.

X.com (Twitter) Browsing Skill

This skill defines rules for working with X (formerly Twitter) content. The general browsing policy (Section II) still applies — always prefer read_url_content or PowerShell over the visible browser when possible. Many X tasks (downloading videos, reading tweet text) don't need a browser at all.

Core Rules

  1. Anti-Bot Defenses: X has robust anti-bot measures. CRITICAL WARNING: As of May 2026, the visible browser (MCP server) is aggressively blocked by Cloudflare's "Attention Required" wall because it detects the Puppeteer/automation "I'm a bot" signal. Do NOT use the visible browser to browse X.com. If you need to interact with the DOM, you MUST fall back to the Edge DOM Bridge (which inherits the user's personal browser fingerprint and bypasses the block).
  2. Never Parrot Ephemeral URLs: NEVER save or share ephemeral search URLs like https://x.com/search?q=some%20query. These URLs break constantly and may not show the same results to the user. Always extract the direct URL to the status (e.g., https://x.com/username/status/123456789).
  3. Data Scraping Dashboard: If you are scraping a large number of tweets (e.g., 50+), do NOT dump the raw text into a markdown file. You MUST follow the 3-File Pipeline defined in data_scraping_dashboards workflow to output a beautiful dashboard.html.
  4. Computer Access URLs: When using full Win32 computer access (via Pillar 4), avoid having the AI type URLs character by character into the Edge address bar, as this often triggers search suggestions that steal focus. Pre-load the URL into the clipboard via PowerShell, then use Ctrl+V to paste it into the address bar.
  5. Unauthenticated Profile Viewing: Without login, X only shows a user's most popular tweets — NOT their chronological timeline. Don't scroll to find a specific tweet. Instead: ask the user to log in (or use the Edge DOM bridge if already logged in), or ask for the direct tweet link (individual tweets are viewable when logged out).
  6. Downloading Videos & Transcripts: Do NOT use the visible browser for this. No browser needed at all.
    1. read_url_contenthttps://twitsave.com/info?url=TWEET_URL (URL-encode the tweet URL). HTML has base64-encoded MP4 links.
    2. Decode the highest-res link: python -c "import base64; print(base64.b64decode('STRING').decode())".
    3. Download: Invoke-WebRequest -Uri "DECODED_URL" -OutFile "video.mp4".
    4. Transcribe: python -c "import whisper; model = whisper.load_model('base'); result = model.transcribe('video.mp4'); print(result['text'])" (Whisper + ffmpeg are installed).
    • Tweet text often truncates the video. Always transcribe — context changes meaning.

This is used in: