К основному содержанию
скилл Claude Code CX Codex Cursor GitHub Copilot

baoyu-danger-x-to-markdown — скилл для Claude Code: установка

Конвертирует посты, треды и статьи из социальной сети X в файлы Markdown с YAML-заголовками. Пригодится для локального сохранения публикаций и медиафайлов.

Установить в Claude Code · Через Skills CLI (Vercel) Все способы и платформы ↓
npx skills add JimLiu/baoyu-skills --skill baoyu-danger-x-to-markdown -a claude-code
Открыть на GitHub

Что делает baoyu-danger-x-to-markdown

Скилл выгружает публикации из X через неофициальный обратный API и превращает их в Markdown. Перед началом работы инструмент запрашивает согласие пользователя и сохраняет отметку в локальный файл consent.json. Это защита от случайного запуска, так как сторонний API может перестать работать или вызвать ограничения аккаунта.

Для запуска требуются среды выполнения bun или npx. Скрипт разбирает параметры из файла конфигурации EXTEND.md. Пользователь может сразу настроить скачивание картинок и видео в отдельные локальные папки imgs/ и videos/ либо подтверждать загрузку медиа для каждого отдельного твита. Пути к файлам в итоговом документе заменяются на относительные.

Если вам нужен регулярный бэкап собственных длинных заметок или тредов на диск, скилл сэкономит ручной труд. Тем, кто боится санкций со стороны сервиса или ждет официальной стабильности, лучше обойтись без неофициальных парсеров.

Какие задачи решает

  • Перенести тред или отдельный пост из X в локальный Markdown-файл
  • Извлечь полный текст длинной статьи из X вместе с метаданными YAML
  • Скачать картинки и видеоролики к публикации в локальные папки
  • Заменить ссылки на внешние медиафайлы локальными относительными путями

Примеры запросов агенту

  • Сохрани этот твит в markdown с метаданными
  • Скачай тред по ссылке и сохрани все медиафайлы локально
  • Конвертируй статью из X в локальный markdown-документ

Как установить baoyu-danger-x-to-markdown

1Через Skills CLI (Vercel)

npx skills add JimLiu/baoyu-skills --skill baoyu-danger-x-to-markdown -a claude-code

2Вручную: положить файлы

~/.claude/skills/baoyu-danger-x-to-markdown/SKILL.md

Папка скилла целиком; для одного проекта — .claude/skills/baoyu-danger-x-to-markdown/

Из того же набора19

Весь набор →
baoyu-post-to-wechat JimLiu Публикует статьи и посты с картинками в WeChat Official Account через API или браузер Chrome по CDP. Пригодится для ведения китайского блога прямо из редактора кода. Claude Code CX Codex Cursor +1 34 400установок baoyu-image-gen JimLiu Генерация картинок через API OpenAI, Google, DashScope и других сервисов из агента. Подходит для отрисовки по референсам и параллельной пакетной генерации. Claude Code CX Codex Cursor +1 33 600установок baoyu-infographic JimLiu Скилл собирает инфографику из вашего текста: выбирает раскладку и стиль, пишет промпт и рендерит картинку. Claude Code CX Codex Cursor +1 32 800установок baoyu-markdown-to-html JimLiu Переводит Markdown в HTML с инлайн-CSS и темами под WeChat. Пригодится, когда статью нужно отдать в мессенджер или на площадку со своим оформлением. Claude Code CX Codex Cursor +1 32 200установок baoyu-cover-image JimLiu Скилл рисует обложку для статьи по пяти параметрам: тип, палитра, техника, текст и настроение. Пригодится, если нужна картинка к посту или лонгриду. Claude Code CX Codex Cursor +1 32 100установок baoyu-article-illustrator JimLiu Анализирует текст статьи, выбирает места для картинок и готовит иллюстрации в едином стиле. Пригодится, когда нужно визуально оформить материал прямо через агента. Claude Code CX Codex Cursor +1 31 900установок baoyu-slide-deck JimLiu Превращает текст в набор изображений слайдов: сначала план со стилем, потом отдельные PNG. Заточено под чтение и шаринг, не под живые выступления. Claude Code CX Codex Cursor +1 31 200установок baoyu-comic JimLiu Скилл собирает оригинальные образовательные комиксы с раскладкой панелей и пакетной генерацией изображений. Пригодится, если нужен комикс по теме, биографии или туториалу. Claude Code CX Codex Cursor +1 29 900установок

Похожие

documentation-writer официальный github Скилл для создания технической документации по фреймворку Diátaxis: туториалы, гайды, справки и объяснения. Предлагает структуру перед написанием. GitHub Copilot 27 757установок nature-data Yuan1z skill, refactored into static/dynamic layers Скилл помогает подготовить или проверить разделы о доступности данных и кода, маршруты доступа к наборам и FAIR-метаданные для рукописи. Claude Code CX Codex Cursor +1 15 300установок nature-academic-search Yuan1z0825 Ищет научные публикации, проверяет ссылки и собирает стратегии MeSH. Пригодится для работы с источниками и файлами библиографии. Claude Code CX Codex Cursor +1 15 200установок nature-response Yuan1z0825 Скилл для черновиков, аудита и правки ответов на замечания рецензентов, сопроводительных писем и размеченных рукописей. Claude Code CX Codex Cursor +1 15 100установок nature-reader Community contribution, refactored into static/dynamic layers Создаёт двуязычные китайско-английские ридеры научных статей с разметкой текста, таблиц и формул. Помогает разобрать публикацию целиком или ответить на точечный вопрос по источнику. Claude Code CX Codex Cursor +1 14 900установок grill-with-docs Matt Pocock Скилл проводит жёсткое интервью по плану или дизайну и по ходу создаёт ADR и глоссарий. Подойдёт перед началом сложной разработки. Claude Code 1 219 756установок skill-creator официальный anthropics Помогает создать новый скилл, доработать существующий и проверить результат через тестовые промпты и оценки. Claude Code Claude.ai 414 180установок setup-matt-pocock-skills Matt Pocock Скилл настраивает репозиторий для инженерных скиллов Matt Pocock: задаёт трекер задач, метки триажа и расположение доменной документации. Запустите его перед первым использованием остальных скиллов. Claude Code 1 052 851установок

Вопросы о baoyu-danger-x-to-markdown

Как установить baoyu-danger-x-to-markdown в Claude Code?

Выполните команду npx skills add JimLiu/baoyu-skills --skill baoyu-danger-x-to-markdown -a claude-code в терминале.

Что делает скилл baoyu-danger-x-to-markdown?

Он преобразует посты, ветки сообщений и статьи из X в форматированные Markdown-файлы с метаданными в блоке YAML. При необходимости скрипт также выкачивает прикрепленные медиафайлы.

Что требуется для работы baoyu-danger-x-to-markdown?

В системе должны быть установлены bun или npx. При первом запуске инструмент обязательно запросит подтверждение рисков использования неофициального API.

Исходный текст

SKILL.md · MIT
---
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.
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

```bash
# 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:
```json
{
  "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:

| Priority | Path | Scope |
|----------|------|-------|
| 1 | `.baoyu-skills/baoyu-danger-x-to-markdown/EXTEND.md` | Project |
| 2 | `${XDG_CONFIG_HOME:-$HOME/.config}/baoyu-skills/baoyu-danger-x-to-markdown/EXTEND.md` | XDG |
| 3 | `$HOME/.baoyu-skills/baoyu-danger-x-to-markdown/EXTEND.md` | User home |

| Result | Action |
|--------|--------|
| Found | Read, parse, apply settings |
| Not found | **MUST** 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](references/config/first-time-setup.md)

### Supported Keys

| Key | Default | Values | Description |
|-----|---------|--------|-------------|
| `download_media` | `ask` | `ask` / `1` / `0` | `ask` = prompt each time, `1` = always download, `0` = never |
| `default_output_dir` | empty | path or empty | Default output directory (empty = `./x-to-markdown/`) |

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

## Usage

```bash
${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

| Option | Description |
|--------|-------------|
| `<url>` | Tweet or article URL |
| `-o <path>` | Output path |
| `--json` | JSON output |
| `--download-media` | Download image/video assets to local `imgs/` and `videos/`, and rewrite markdown links to local relative paths |
| `--login` | Refresh cookies only |

## Supported URLs

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

## Output

```markdown
---
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:

| Setting | Behavior |
|---------|----------|
| `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.

© JimLiu · MIT · JimLiu/baoyu-skills

Смотрите также

Спонсоры проекта

Компании, которые помогают держать аналитику открытой