From utility-skills
Converts X (Twitter) tweet threads or articles to markdown with YAML frontmatter via reverse-engineered API. Requires user consent check before use.
npx claudepluginhub xuanxuan1983/baoyu-xuanyi-skills --plugin ai-generation-skillsThis skill uses the workspace's default tool permissions.
Converts X (Twitter) content to markdown format:
Converts X (Twitter) tweets, threads, and articles to Markdown with YAML frontmatter using reverse-engineered API (requires consent). Triggers on x.com URLs or phrases like 'X to markdown', 'save tweet'.
Converts X (Twitter) tweets, threads, and articles to markdown with YAML front matter using reverse-engineered API. Requires user consent.
Posts text with images and long-form Markdown articles to X (Twitter) using real Chrome via CDP to bypass anti-bot detection. Supports preview and submit modes with bun scripts.
Share bugs, ideas, or general feedback.
Converts X (Twitter) content to markdown format:
Important: All scripts are located in the scripts/ subdirectory of this skill.
Agent Execution Instructions:
SKILL_DIR${SKILL_DIR}/scripts/<script-name>.ts${SKILL_DIR} in this document with the actual pathScript Reference:
| Script | Purpose |
|---|---|
scripts/main.ts | CLI entry point for URL conversion |
Before using this skill, the consent check MUST be performed.
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:
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.
# 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
| Option | Description |
|---|---|
<url> | Tweet or article URL |
-o <path> | Output path (file or dir) |
--json | Output as JSON |
--login | Refresh cookies only |
x-to-markdown/
└── {username}/
└── {tweet-id}.md
https://x.com/<user>/status/<id>https://twitter.com/<user>/status/<id>https://x.com/i/article/<id>---
url: https://x.com/username/status/123
author: "Display Name (@username)"
tweet_count: 3
---
Tweet content...
---
Thread continuation...
Option 1: Environment variables (recommended)
X_AUTH_TOKEN - auth_token cookieX_CT0 - ct0 cookieOption 2: Chrome login (auto if env vars not set)
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.