Co-Pilot
Updated a month ago

baoyu-danger-x-to-markdown

JJimLiu
2.0k
JimLiu/baoyu-skills/skills/baoyu-danger-x-to-markdown
78
Agent Score

💡 Summary

This skill converts X (Twitter) tweets and articles into markdown format using a reverse-engineered API.

🎯 Target Audience

Content creators looking to repurpose tweetsDevelopers needing markdown outputs from social mediaResearchers analyzing Twitter dataSocial media managers documenting postsWriters compiling references from tweets

🤖 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

Security AnalysisMedium Risk

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:

  1. Determine this SKILL.md file's directory path as SKILL_DIR
  2. Script path = ${SKILL_DIR}/scripts/<script-name>.ts
  3. 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 cookie
  • X_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):

  1. .baoyu-skills/baoyu-danger-x-to-markdown/EXTEND.md (project)
  2. ~/.baoyu-skills/baoyu-danger-x-to-markdown/EXTEND.md (user)

If found, load before workflow. Extension content overrides defaults.

5-Dim Analysis
Clarity8/10
Novelty7/10
Utility9/10
Completeness8/10
Maintainability7/10
Pros & Cons

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
toolCode Lib
92/ 100

“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
toolCode Lib
90/ 100

“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
toolCo-Pilot
90/ 100

“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.