twitter-downloader · v2.0.0 · 2026-05-07 · sha256 6e0a0207fe9e1e78
twitter-downloader v2.0.0A
Immutable. This exact content is served forever at /api/v1/blob/6e0a0207fe9e1e78.
--- name: twitter-downloader version: 2.0.0 description: "Download Twitter/X tweet text, images, GIFs, and videos via fxtwitter/vxtwitter, then return a tweet summary plus Markdown-formatted Minis links. Trigger when users share twitter.com/x.com links or ask to download/summarize tweet media." --- # Twitter Downloader Skill Download and summarize Twitter/X posts, save media into Minis, and return chat-ready Markdown. ## When to Use - User provides a twitter.com or x.com status URL. - User asks to download Twitter/X images, GIFs, or videos. - User asks what a tweet says/contains. - User wants downloaded media inserted/displayed in chat as Markdown. ## What It Does 1. Parses username and tweet/status ID from Twitter/X URL variants. 2. Fetches structured JSON from `api.fxtwitter.com`, with fallback to `api.vxtwitter.com`. 3. Generates a short summary: - author - text - created time if available - sensitive flag - original media URLs 4. Downloads images, video thumbnails, GIF/video files by default. 5. Returns Markdown containing: - `## 推文摘要` - summary/raw JSON links - inline media syntax for images/thumbnails/videos/GIFs: `` ## Dependencies - `curl` - `jq` - `python3` The helper script auto-installs missing packages with `apk add --no-cache`. ## Helper Script Path: `/var/minis/skills/twitter-downloader/scripts/twitter_downloader.sh` Usage: ```sh /var/minis/skills/twitter-downloader/scripts/twitter_downloader.sh "<tweet_url>" ``` Options: ```sh --dir DIR Output directory, default /var/minis/workspace/tweet_media --images Download images/thumbnails only in addition to summary --video Download videos/GIFs only in addition to summary --all Download images/thumbnails and videos/GIFs; default when no media flag is provided --no-download Only fetch summary/JSON and return Markdown links for those files --json-only Fetch and print raw tweet JSON only; no Markdown output ``` Examples: ```sh # Default: download all available media and output Markdown /var/minis/skills/twitter-downloader/scripts/twitter_downloader.sh "https://x.com/user/status/123" # Summary only, no media downloads /var/minis/skills/twitter-downloader/scripts/twitter_downloader.sh "https://x.com/user/status/123" --no-download # Custom output directory /var/minis/skills/twitter-downloader/scripts/twitter_downloader.sh "https://x.com/user/status/123" --dir "/var/minis/workspace/tweet_media" ``` Generated files: ```text /var/minis/workspace/tweet_media/<tweet_id>.json /var/minis/workspace/tweet_media/<tweet_id>_summary.txt /var/minis/workspace/tweet_media/<tweet_id>/<media files> ``` ## Agent Workflow 1. Run the helper script with the tweet URL. 2. Paste stdout directly into chat. 3. Do not merely mention the folder path; include generated Markdown links. 4. Keep images, thumbnails, videos, and GIFs as inline media syntax: `` 5. Keep JSON/text summary files as normal links: `[filename](minis://...)` 6. If `Sensitive: True`, preserve that field and avoid adding explicit extra descriptions unless the user asks. ## Output Format The helper outputs Markdown similar to: ```md ## 推文摘要 - Author: ... - Text: ... - Created: ... - Sensitive: false - Media: - photo https://... - Downloaded images: 1, videos: 1 ## 文件链接 - [summary.txt](minis://workspace/...) - [raw.json](minis://workspace/...) ## 媒体   ``` ## Error Handling - If URL parsing fails, ask for a valid `twitter.com`/`x.com` status URL. - If both APIs fail, report that the tweet may be private/deleted or the API may be temporarily unavailable. - If no media is found, still return the tweet summary and JSON/summary links. ## Notes - Video/GIF downloads choose the best bitrate variant when available. - Video/GIF thumbnails are downloaded when image download is enabled. - Minis URLs are percent-encoded by the helper.