add-feishu
Add Feishu (飞书/Lark) as a channel. Uses WebSocket long connection mode — no public URL needed. Bot responds to all messages (no…
Publish Markdown articles to X (Twitter) Articles editor with proper formatting. Use when user wants to publish a Markdown file/URL to X Articles, or mentions "publish to X", "post article to Twitter", "X article", or wants help with X Premium article publishing. Handles cover
$ npx -y skills add sugarforever/01coder-agent-skills --skill publish-x-article --agent claude-codeHow it fires
How this skill gets triggered: by you, by Claude, or both.
/publish-x-articleContext preview
The summary Claude sees to decide when to auto-load this skill.
Publish Markdown articles to X (Twitter) Articles editor with proper formatting. Use when user wants to publish a Markdown file/URL to X Articles, or mentions "publish to X", "post article to Twitter", "X article", or wants help with X Premium article publishing. Handles cover
name: publish-x-article description: Publish Markdown articles to X (Twitter) Articles editor with proper formatting. Use when user wants to publish a Markdown file/URL to X Articles, or mentions "publish to X", "post article to Twitter", "X article", or wants help with X Premium article publishing. Handles cover image upload, converts Markdown to rich text, and automatically converts unsupported elements (tables, mermaid diagrams, deep headers) to images.
Publish Markdown content to X (Twitter) Articles editor, preserving formatting with rich text conversion. Automatically handles X Premium limitations by converting unsupported elements to images.
This skill is inspired by and based on [wshuyi/x-article-publisher-skill](https://github.com/wshuyi/x-article-publisher-skill). Thank you to the original author for the foundational work.
**IMPORTANT**: Before processing the article, ask the user about their X subscription type if not already known.
Before publishing, I need to know your X subscription type to handle formatting correctly: 1. **X Premium** - Basic tier ($8/month) 2. **X Premium+** - Plus tier ($16/month) Which subscription do you have? (Premium / Premium+)
For Chinese users:
在发布之前,我需要了解您的 X 订阅类型以正确处理格式: 1. **X Premium** - 基础版 ($8/月) 2. **X Premium+** - 高级版 ($16/月) 您使用的是哪个版本?(Premium / Premium+)
Once the user answers, remember their subscription type for the rest of the session. Don't ask again unless they explicitly want to change it.
| Feature | X Premium | X Premium+ | |---------|-----------|------------| | H1 headers (`#`) | Title only | Title only | | H2 headers (`##`) | Yes | Yes | | H3+ headers (`###`, etc.) | **No** | Yes | | Markdown tables | **No** | Yes | | Mermaid diagrams | **No** | **No** (not supported by X) | | Code blocks | Blockquotes | Blockquotes | | Bold, italic, links | Yes | Yes | | Lists | Yes | Yes | | Blockquotes | Yes | Yes | | Images | Yes | Yes |
**X Premium (Basic):**
**X Premium+ (Plus):**
Located in `~/.claude/skills/publish-x-article/scripts/`:
Parse Markdown and extract structured data:
python parse_markdown.py <markdown_file> [--output json|html] [--html-only]
Returns JSON with: title, cover_image, content_images (with block_index for positioning), html, total_blocks
Copy image or HTML to system clipboard:
# Copy image (with optional compression) python copy_to_clipboard.py image /path/to/image.jpg [--quality 80] # Copy HTML for rich text paste python copy_to_clipboard.py html --file /path/to/content.html
Convert Mermaid diagrams and Markdown tables to PNG images via diagramless.xyz API:
node ~/.claude/skills/diagram-to-image/scripts/diagram-to-image.mjs /tmp/table.md -o /tmp/table.png node ~/.claude/skills/diagram-to-image/scripts/diagram-to-image.mjs /tmp/diagram.mmd -o /tmp/diagram.png --theme ocean
**Before** publishing, scan the Markdown for unsupported elements and convert them to images.
# Check the markdown file for unsupported elements cat /path/to/article.md
Look for: 1. **Deep headers (H3+)**: `###`, `####`, etc. 2. **Markdown tables**: Lines with `|` characters forming table structure 3. **Mermaid code blocks**: ` ```mermaid`
When a table is detected:
# 1. Extract table to temp file cat > /tmp/table.md << 'TABLE_EOF' | Column 1 | Column 2 | Column 3 | |----------|----------|----------| | Data 1 | Data 2 | Data 3 | TABLE_EOF # 2. Convert to image via diagramless.xyz API node ~/.claude/skills/diagram-to-image/scripts/diagram-to-image.mjs /tmp/table.md -o /tmp/table-001.png # 3. Replace table in markdown with image reference # 
When a mermaid block is detected:
# 1. Extract mermaid to temp file
cat > /tmp/diagram.mmd << 'MERMAID_EOF'
flowchart TD
A[Start] --> B[Process]
B --> C[End]
MERMAID_EOF
# 2. Convert to image via diagramless.xyz API
node ~/.claude/skills/diagram-to-image/scripts/diagram-to-image.mjs /tmp/diagram.mmd -o /tmp/diagram-001.png
# 3. Replace mermaid block in markdown with image reference
# **Goal:** Preserve the article's logical structure and readability while working within X Premium's H2-only limitation.
**Guidelines for the AI:**
When you encounter H3, H4, or deeper headers in a Premium user's article, think about what the author intended:
A marketplace of agent skills by VerySmallWoods — content creation, publishing, analytics, and security scanning. Works with Claude Code, Codex, Cursor, Windsurf, and any other coding agent that supports the skills.sh format.
Add Feishu (飞书/Lark) as a channel. Uses WebSocket long connection mode — no public URL needed. Bot responds to all messages (no…
Manage Claude Code session transcripts from local JSONL storage, including listing candidate sessions, exporting full or selected…
Use when an agent needs to delegate a task to the OpenAI Codex CLI from another agent environment such as Claude Code, OpenClaw,…
Manage local Codex session transcripts, including listing candidate sessions, exporting full or selected sessions to organized…
Design typography-driven video cover images using HTML/CSS + Chrome DevTools screenshot. Generates covers in all needed aspect…
Generate elegant cover images for articles. Analyzes content and creates eye-catching hand-drawn style cover images with multiple…