Now liveThe Skillselion MCP - thousands of ranked skills, loaded into your agent mid-task. No install.Get it →
jimliu avatar

Baoyu Danger X To Markdown

  • 25.9k installs
  • 24.2k repo stars
  • Updated July 4, 2026
  • jimliu/baoyu-skills

baoyu-danger-x-to-markdown is an agent skill that Converts X (Twitter) tweets and articles to markdown with YAML front matter. Uses reverse-engineered API requiring user consent. Use when user mentions "X to ma.

About

Converts X (Twitter) tweets and articles to markdown with YAML front matter. Uses reverse-engineered API requiring user consent. Use when user mentions "X to markdown", "tweet to markdown", "save tweet", or provides x.com/twitter.com URLs for conversion. --- name: baoyu-danger-x-to-markdown description: Converts X (Twitter) tweets and articles to markdown with YAML front matter. Uses reverse-engineered API requiring user consent. Use when user mentions "X to markdown", "tweet to markdown", "save tweet", or provides x.com/twitter.com URLs for conversion. version: 1.117.3 metadata: openclaw: homepage: https://github.com/JimLiu/baoyu-skills#baoyu-danger-x-to-markdown requires: anyBins: - bun - npx --- # X to Markdown Converts X content to markdown: - Tweets/threads → Markdown with YAML front matter - X Articles → Full content extraction ## User Input Tools When this skill prompts the user, follow this tool-selection rule (priority order): 1. **Prefer built-in user-input tools** exposed by the current agent runtime - e.g., `AskUserQuestion`, `request_user_input`, `clarify`, `ask_user`, or any equivalent.

  • Tweets/threads → Markdown with YAML front matter
  • X Articles → Full content extraction
  • **Prefer built-in user-input tools** exposed by the current agent runtime - e.g., `AskUserQuestion`, `request_user_inp
  • **Fallback**: if no such tool exists, emit a numbered plain-text message and ask the user to reply with the chosen numbe
  • `{baseDir}` = this SKILL.md's directory

Baoyu Danger X To Markdown by the numbers

  • 25,868 all-time installs (skills.sh)
  • +364 installs in the week ending Jul 28, 2026 (Skillselion tracking)
  • Ranked #19 of 2,209 Security skills by installs in the Skillselion catalog
  • Security screen: MEDIUM risk (skills.sh audit)
  • Data as of Jul 28, 2026 (Skillselion catalog sync)
At a glance

baoyu-danger-x-to-markdown capabilities & compatibility

Capabilities
tweets/threads → markdown with yaml front matter · x articles → full content extraction · **prefer built in user input tools** exposed by · **fallback**: if no such tool exists, emit a num · `{basedir}` = this skill.md's directory
Use cases
documentation
From the docs

What baoyu-danger-x-to-markdown says it does

--- name: baoyu-danger-x-to-markdown description: Converts X (Twitter) tweets and articles to markdown with YAML front matter.
SKILL.md
Uses reverse-engineered API requiring user consent.
SKILL.md
Use when user mentions "X to markdown", "tweet to markdown", "save tweet", or provides x.com/twitter.com URLs for conversion.
SKILL.md
**Prefer built-in user-input tools** exposed by the current agent runtime — e.g., `AskUserQuestion`, `request_user_input`, `clarify`, `ask_user`, or any equivalent.
SKILL.md
npx skills add https://github.com/jimliu/baoyu-skills --skill baoyu-danger-x-to-markdown

Add your badge

Show developers this skill is listed on Skillselion. Paste this into your README.

Listed on Skillselion
Installs25.9k
repo stars24.2k
Security audit0 / 3 scanners passed
Last updatedJuly 4, 2026
Repositoryjimliu/baoyu-skills

What problem does baoyu-danger-x-to-markdown solve for developers using this skill?

Converts X (Twitter) tweets and articles to markdown with YAML front matter. Uses reverse-engineered API requiring user consent. Use when user mentions "X to markdown", "tweet to markdown", "save twee

Who is it for?

Developers who need baoyu-danger-x-to-markdown patterns described in the cached skill documentation.

Skip if: Skip when docs are empty or the task is outside the skill's documented scope.

When should I use this skill?

Converts X (Twitter) tweets and articles to markdown with YAML front matter. Uses reverse-engineered API requiring user consent. Use when user mentions "X to markdown", "tweet to markdown", "save twee

What you get

Actionable workflows and conventions from SKILL.md for baoyu-danger-x-to-markdown.

  • EXTEND.md preferences
  • Markdown exports from X content

By the numbers

  • Blocking setup must complete before any conversion or URL prompts

Files

SKILL.mdMarkdownGitHub ↗

X to Markdown

Converts X content to markdown:

  • Tweets/threads → Markdown with YAML front matter
  • X Articles → Full content extraction

User Input Tools

When this skill prompts the user, follow this tool-selection rule (priority order):

1. Prefer built-in user-input tools exposed by the current agent runtime — e.g., AskUserQuestion, request_user_input, clarify, ask_user, or any equivalent. 2. Fallback: if no such tool exists, emit a numbered plain-text message and ask the user to reply with the chosen number/answer for each question. 3. Batching: if the tool supports multiple questions per call, combine all applicable questions into a single call; if only single-question, ask them one at a time in priority order.

Concrete AskUserQuestion references below are examples — substitute the local equivalent in other runtimes.

Script Directory

Scripts located in scripts/ subdirectory.

Path Resolution: 1. {baseDir} = this SKILL.md's directory 2. Script path = {baseDir}/scripts/main.ts 3. Resolve ${BUN_X} runtime: if bun installed → bun; if npx available → npx -y bun; else suggest installing bun

Consent Requirement

Before any conversion, check and obtain consent.

Consent Flow

Step 1: Check consent file

# macOS
cat ~/Library/Application\ Support/baoyu-skills/x-to-markdown/consent.json

# Linux
cat ~/.local/share/baoyu-skills/x-to-markdown/consent.json

Step 2: If accepted: true and disclaimerVersion: "1.0" → print warning and proceed:

Warning: Using reverse-engineered X API. Accepted on: <acceptedAt>

Step 3: If missing or version mismatch → display disclaimer:

DISCLAIMER

This tool uses a reverse-engineered X API, NOT official.

Risks:
- May break if X changes API
- No guarantees or support
- Possible account restrictions
- Use at your own risk

Accept terms and continue?

Use AskUserQuestion with options: "Yes, I accept" | "No, I decline"

Step 4: On accept → create consent file:

{
  "version": 1,
  "accepted": true,
  "acceptedAt": "<ISO timestamp>",
  "disclaimerVersion": "1.0"
}

Step 5: On decline → output "User declined. Exiting." and stop.

Preferences (EXTEND.md)

Check EXTEND.md in priority order — the first one found wins:

PriorityPathScope
1.baoyu-skills/baoyu-danger-x-to-markdown/EXTEND.mdProject
2${XDG_CONFIG_HOME:-$HOME/.config}/baoyu-skills/baoyu-danger-x-to-markdown/EXTEND.mdXDG
3$HOME/.baoyu-skills/baoyu-danger-x-to-markdown/EXTEND.mdUser home
ResultAction
FoundRead, parse, apply settings
Not foundMUST run first-time setup (see below) — do NOT silently create defaults

EXTEND.md supports: Download media by default, default output directory.

First-Time Setup (BLOCKING)

CRITICAL: When EXTEND.md is not found, you MUST use `AskUserQuestion` to ask the user for their preferences before creating EXTEND.md. NEVER create EXTEND.md with defaults without asking. This is a BLOCKING operation — do NOT proceed with any conversion until setup is complete.

Use AskUserQuestion with ALL questions in ONE call:

Question 1 — header: "Media", question: "How to handle images and videos in tweets?"

  • "Ask each time (Recommended)" — After saving markdown, ask whether to download media
  • "Always download" — Always download media to local imgs/ and videos/ directories
  • "Never download" — Keep original remote URLs in markdown

Question 2 — header: "Output", question: "Default output directory?"

  • "x-to-markdown (Recommended)" — Save to ./x-to-markdown/{username}/{tweet-id}.md
  • (User may choose "Other" to type a custom path)

Question 3 — header: "Save", question: "Where to save preferences?"

  • "User (Recommended)" — ~/.baoyu-skills/ (all projects)
  • "Project" — .baoyu-skills/ (this project only)

After user answers, create EXTEND.md at the chosen location, confirm "Preferences saved to [path]", then continue.

Full reference: references/config/first-time-setup.md

Supported Keys

KeyDefaultValuesDescription
download_mediaaskask / 1 / 0ask = prompt each time, 1 = always download, 0 = never
default_output_diremptypath or emptyDefault output directory (empty = ./x-to-markdown/)

Value priority: 1. CLI arguments (--download-media, -o) 2. EXTEND.md 3. Skill defaults

Usage

${BUN_X} {baseDir}/scripts/main.ts <url>
${BUN_X} {baseDir}/scripts/main.ts <url> -o output.md
${BUN_X} {baseDir}/scripts/main.ts <url> --download-media
${BUN_X} {baseDir}/scripts/main.ts <url> --json

Options

OptionDescription
<url>Tweet or article URL
-o <path>Output path
--jsonJSON output
--download-mediaDownload image/video assets to local imgs/ and videos/, and rewrite markdown links to local relative paths
--loginRefresh cookies only

Supported URLs

  • https://x.com/<user>/status/<id>
  • https://twitter.com/<user>/status/<id>
  • https://x.com/i/article/<id>

Output

---
url: "https://x.com/user/status/123"
author: "Name (@user)"
tweetCount: 3
coverImage: "https://pbs.twimg.com/media/example.jpg"
---

Content...

File structure: x-to-markdown/{username}/{tweet-id}/{content-slug}.md

When --download-media is enabled:

  • Images are saved to imgs/ next to the markdown file
  • Videos are saved to videos/ next to the markdown file
  • Markdown media links are rewritten to local relative paths

Media Download Workflow

Based on download_media setting in EXTEND.md:

SettingBehavior
1 (always)Run script with --download-media flag
0 (never)Run script without --download-media flag
ask (default)Follow the ask-each-time flow below

Ask-Each-Time Flow

1. Run script without --download-media → markdown saved 2. Check saved markdown for remote media URLs (https:// in image/video links) 3. If no remote media found → done, no prompt needed 4. If remote media found → use AskUserQuestion:

  • header: "Media", question: "Download N images/videos to local files?"
  • "Yes" — Download to local directories
  • "No" — Keep remote URLs

5. If user confirms → run script again with --download-media (overwrites markdown with localized links)

Authentication

1. Environment variables (preferred): X_AUTH_TOKEN, X_CT0 2. Chrome login (fallback): Auto-opens Chrome, caches cookies locally

Extension Support

Custom configurations via EXTEND.md. See Preferences section for paths and supported options.

Related skills

Forks & variants (1)

Baoyu Danger X To Markdown has 1 known copy in the catalog totaling 24 installs. They canonicalize to this original listing.

How it compares

Use baoyu-danger-x-to-markdown to import X content; use baoyu-post-to-x to publish Markdown back to X Articles.

FAQ

What does baoyu-danger-x-to-markdown do?

Converts X (Twitter) tweets and articles to markdown with YAML front matter. Uses reverse-engineered API requiring user consent. Use when user mentions "X to markdown", "tweet to markdown", "save tweet", or provides x.co

When should I use baoyu-danger-x-to-markdown?

Converts X (Twitter) tweets and articles to markdown with YAML front matter. Uses reverse-engineered API requiring user consent. Use when user mentions "X to markdown", "tweet to markdown", "save tweet", or provides x.co

Is baoyu-danger-x-to-markdown safe to install?

Review the Security Audits panel on this page before installing in production.

Securityappsec

This week in AI coding

Five minutes, every Monday - the tools, releases and tactics for developers.

unsubscribe anytime.