Agent skill · Backend & API

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.com/twitter.com URLs for conversion.

guanyanggithub.com/guanyangGitHub ↗
claude-codeships scriptsMIT
Install
npx skills add guanyang/open-agent-hub --skill baoyu-danger-x-to-markdown --agent claude-code

Same command for any agent — swap --agent for codex, cursor, copilot.

Facts
Files in the skill folder: 20
SKILL.md size: 7 KB
Bundled scripts: yes
Version: 1.117.3
Path: skills/baoyu-danger-x-to-markdown/SKILL.md
Open the folder on GitHub →
Where it comes from
Stars: 940
Language: TypeScript

Weekly change comes from our own snapshots, not the repository page — it measures attention, not adoption.

From the SKILL.md

# 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*

What's inside
Steps it walks through
  1. User Input Tools
  2. Script Directory
  3. Consent Requirement
  4. Consent Flow
  5. Preferences (EXTEND.md)
  6. First-Time Setup (BLOCKING)
  7. Supported Keys
  8. Usage
  9. Options
  10. Supported URLs
  11. Output
  12. Media Download Workflow
  13. Ask-Each-Time Flow
  14. Authentication
Ships with 19 files
  • references/config/first-time-setup.md
  • scripts/bun.lock
  • scripts/constants.ts
  • scripts/cookie-file.ts
  • scripts/cookies.ts
  • scripts/graphql.ts
  • scripts/http.ts
  • scripts/main.ts
  • scripts/markdown.test.ts
  • scripts/markdown.ts
  • scripts/media-localizer.ts
  • scripts/package.json
  • scripts/paths.ts
  • scripts/referenced-tweets.ts
  • scripts/thread-markdown.ts
  • scripts/thread.ts
  • scripts/tweet-article.ts
  • scripts/tweet-to-markdown.ts
  • scripts/types.ts
Commands it runs
macOS
cat ~/Library/Application\ Support/baoyu-skills/x-to-markdown/consent.json
Linux
cat ~/.local/share/baoyu-skills/x-to-markdown/consent.json
More from open-agent-hub
All skills →
About this skill
What does the baoyu-danger-x-to-markdown skill 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.com/twitter.com URLs for conversion.

How do I install it?

Run `npx skills add guanyang/open-agent-hub --skill baoyu-danger-x-to-markdown --agent claude-code` — it drops the skill into your project so the agent can pick it up. Swap the --agent value for codex, cursor or copilot if you use one of those.

Where does this skill come from?

From guanyang/open-agent-hub, a repository with 940 stars. We read it straight from the repository tree rather than a submitted listing, so what you see here is what is actually published.

Is a popular skill a good skill?

Not necessarily. Stars measure attention, not adoption — a repository can trend for a week and be abandoned. That is why we show the weekly change from our own snapshots next to the total, instead of a single flattering number.

Keep going