baoyu-danger-x-to-markdown
💡 Summary
This skill converts X (Twitter) tweets and articles into markdown format using a reverse-engineered API.
🎯 Target Audience
🤖 AI Roast: “The skill uses a reverse-engineered API, which poses risks like breaking changes and potential account restrictions. To mitigate, ensure user consent is properly managed and inform”
Risk: Medium. Review: shell/CLI command execution; outbound network access (SSRF, data egress); filesystem read/write scope and path traversal. Run with least privilege and audit before enabling in production.
name: baoyu-danger-x-to-markdown description: Convert X (Twitter) tweet or article URL to markdown. Uses reverse-engineered X API (private). Requires user consent before use.
X to Markdown
Converts X (Twitter) content to markdown format:
- Tweet threads → Markdown with YAML front matter
- X Articles → Full article content extraction
Script Directory
Important: All scripts are located in the scripts/ subdirectory of this skill.
Agent Execution Instructions:
- Determine this SKILL.md file's directory path as
SKILL_DIR - Script path =
${SKILL_DIR}/scripts/<script-name>.ts - Replace all
${SKILL_DIR}in this document with the actual path
Script Reference:
| Script | Purpose |
|--------|---------|
| scripts/main.ts | CLI entry point for URL conversion |
⚠️ Disclaimer (REQUIRED)
Before using this skill, the consent check MUST be performed.
Consent Check Flow
Step 1: Check consent file
# macOS cat ~/Library/Application\ Support/baoyu-skills/x-to-markdown/consent.json 2>/dev/null # Linux cat ~/.local/share/baoyu-skills/x-to-markdown/consent.json 2>/dev/null # Windows (PowerShell) Get-Content "$env:APPDATA\baoyu-skills\x-to-markdown\consent.json" 2>$null
Step 2: If consent exists and accepted: true with matching disclaimerVersion: "1.0":
Print warning and proceed:
⚠️ Warning: Using reverse-engineered X API (not official). Accepted on: <acceptedAt date>
Step 3: If consent file doesn't exist or disclaimerVersion mismatch:
Display disclaimer and ask user:
⚠️ DISCLAIMER
This tool uses a reverse-engineered X (Twitter) API, NOT an official API.
Risks:
- May break without notice if X changes their API
- No official support or guarantees
- Account restrictions possible if API usage detected
- Use at your own risk
Do you accept these terms and wish to continue?
Use AskUserQuestion tool with options:
- Yes, I accept - Continue and save consent
- No, I decline - Exit immediately
Step 4: On acceptance, create consent file:
# macOS mkdir -p ~/Library/Application\ Support/baoyu-skills/x-to-markdown cat > ~/Library/Application\ Support/baoyu-skills/x-to-markdown/consent.json << 'EOF' { "version": 1, "accepted": true, "acceptedAt": "<ISO timestamp>", "disclaimerVersion": "1.0" } EOF # Linux mkdir -p ~/.local/share/baoyu-skills/x-to-markdown cat > ~/.local/share/baoyu-skills/x-to-markdown/consent.json << 'EOF' { "version": 1, "accepted": true, "acceptedAt": "<ISO timestamp>", "disclaimerVersion": "1.0" } EOF
Step 5: On decline, output message and stop:
User declined the disclaimer. Exiting.
Usage
# Convert tweet (outputs markdown path) npx -y bun ${SKILL_DIR}/scripts/main.ts <url> # Save to specific file npx -y bun ${SKILL_DIR}/scripts/main.ts <url> -o output.md # JSON output npx -y bun ${SKILL_DIR}/scripts/main.ts <url> --json
Options
| Option | Description |
|--------|-------------|
| <url> | Tweet or article URL |
| -o <path> | Output path (file or dir) |
| --json | Output as JSON |
| --login | Refresh cookies only |
File Structure
x-to-markdown/
└── {username}/
└── {tweet-id}.md
Supported URLs
https://x.com/<user>/status/<id>https://twitter.com/<user>/status/<id>https://x.com/i/article/<id>
Output Format
--- url: https://x.com/username/status/123 author: "Display Name (@username)" tweet_count: 3 --- Tweet content... --- Thread continuation...
Authentication
Option 1: Environment variables (recommended)
X_AUTH_TOKEN- auth_token cookieX_CT0- ct0 cookie
Option 2: Chrome login (auto if env vars not set)
- First run opens Chrome for login
- Cookies cached locally
Extension Support
Custom configurations via EXTEND.md.
Check paths (priority order):
.baoyu-skills/baoyu-danger-x-to-markdown/EXTEND.md(project)~/.baoyu-skills/baoyu-danger-x-to-markdown/EXTEND.md(user)
If found, load before workflow. Extension content overrides defaults.
Pros
- Efficient conversion of tweets to markdown
- Supports both tweets and articles
- Customizable output options
Cons
- Relies on a reverse-engineered API
- Potential for breaking changes
- Requires user consent for use
Related Skills
pytorch
S“It's the Swiss Army knife of deep learning, but good luck figuring out which of the 47 installation methods is the one that won't break your system.”
agno
S“It promises to be the Kubernetes for agents, but let's see if developers have the patience to learn yet another orchestration layer.”
nuxt-skills
S“It's essentially a well-organized cheat sheet that turns your AI assistant into a Nuxt framework parrot.”
Disclaimer: This content is sourced from GitHub open source projects for display and rating purposes only.
Copyright belongs to the original author JimLiu.
