| 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
- Parses username and tweet/status ID from Twitter/X URL variants.
- Fetches structured JSON from
api.fxtwitter.com, with fallback to api.vxtwitter.com.
- Generates a short summary:
- author
- text
- created time if available
- sensitive flag
- original media URLs
- Downloads images, video thumbnails, GIF/video files by default.
- Returns Markdown containing:
## 推文摘要
- summary/raw JSON links
- inline media syntax for images/thumbnails/videos/GIFs:

Dependencies
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:
/var/minis/skills/twitter-downloader/scripts/twitter_downloader.sh "<tweet_url>"
Options:
--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:
/var/minis/skills/twitter-downloader/scripts/twitter_downloader.sh "https://x.com/user/status/123"
/var/minis/skills/twitter-downloader/scripts/twitter_downloader.sh "https://x.com/user/status/123" --no-download
/var/minis/skills/twitter-downloader/scripts/twitter_downloader.sh "https://x.com/user/status/123" --dir "/var/minis/workspace/tweet_media"
Generated files:
/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
- Run the helper script with the tweet URL.
- Paste stdout directly into chat.
- Do not merely mention the folder path; include generated Markdown links.
- Keep images, thumbnails, videos, and GIFs as inline media syntax:

- Keep JSON/text summary files as normal links:
[filename](minis://...)
- If
Sensitive: True, preserve that field and avoid adding explicit extra descriptions unless the user asks.
Output Format
The helper outputs Markdown similar to:
## 推文摘要
- 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.