upscaler
uwg · Kit
Holds a set of image upscaling models gathered from the OpenModelDB community, for people who want to enlarge low-resolution pictures with AI on their own comp…

wshuyi’s skill for Claude Code that moves a Markdown file into X’s Articles editor. Claude drives the editor in a browser, pastes the formatted text, adds the images and saves a draft. You review it and publish.
X Article Publisher Skill is an open-source project on GitHub in the Writing category, listed by Mindket. It is free. This is version 2, last updated on . Install it from GitHub as its README says. Get Mindket’s setup notes on your Mindket account, as a zip.
git clone https://github.com/wshuyi/x-article-publisher-skill.git cp -r x-article-publisher-skill/skills/x-article-publisher ~/.claude/skills/
X Article Publisher is wshuyi’s skill for Claude Code. You give Claude a Markdown file, and Claude fills X’s Articles editor with it and saves a draft. Claude does the clicking in a browser through the Playwright MCP. Three small Python scripts parse the file, put text and images on your clipboard and draw a table as a picture. It never presses Publish.
People who write long posts in Markdown and publish them on X. Doing it by hand means setting every heading, bold word and link in the editor and adding each image with several clicks. It only fills X Articles, the long form, so it does not help with a regular short post.
Claude Code on a Mac or a Windows PC. The maker’s README says Linux support is still in progress.
Get it saves a zip of Mindket’s setup notes in your downloads folder, with both routes the README gives and a first-run guide.
| Need | Detail |
|---|---|
| Claude Code | The skill is written for it |
| Playwright MCP | Lets Claude drive a browser. Playwright MCP’s own README asks for Node.js 18 or newer |
| X Articles access | The README says X Premium Plus. Open x.com/compose/articles to see whether your account gets the editor |
| Python 3.9 or newer | With the packages for your system, listed below |
| Git | For the clone route |
| Mermaid CLI | Optional, only for articles with Mermaid diagrams |
git clone https://github.com/wshuyi/x-article-publisher-skill.git cp -r x-article-publisher-skill/skills/x-article-publisher ~/.claude/skills/
# macOS pip install Pillow pyobjc-framework-Cocoa # Windows pip install Pillow pywin32 clip-util # For Mermaid diagrams (optional) npm install -g @mermaid-js/mermaid-cli
The README lists the Playwright MCP as a requirement and gives no install line. Playwright MCP’s own README gives this one for Claude Code:
claude mcp add playwright npx @playwright/mcp@latest
The README’s second route is a plugin. Mindket found a plugin.json in the repository but no marketplace.json, which Claude Code’s docs say a marketplace needs. So treat these two lines as untested and prefer the clone route.
/plugin marketplace add wshuyi/x-article-publisher-skill /plugin install x-article-publisher@wshuyi/x-article-publisher-skill
Ask Claude Code to publish a Markdown file, in plain words or with the slash command. Claude then runs the whole sequence and stops at a draft.
| Your Markdown | In X Articles | Who does it |
|---|---|---|
| H1 heading | The article title, left out of the body | The parser script |
| H2 heading, bold, italic, link, quote, list | Kept as formatted text | The paste from the clipboard |
| First image | The cover | Claude, with the editor’s photo button |
| Other images | Placed where they sit in your file | Claude, pasting each from the clipboard |
| Three dashes | A divider | Claude, through X’s Insert menu |
| Table or Mermaid diagram | A picture | The table script or the Mermaid CLI, run by Claude |
You wrote a short article in Markdown with a cover image and two screenshots, and you want it in your X Articles drafts.
Help me post this article to X Articles: ~/Documents/my-post.md
Claude reads the file, opens the editor, uploads the cover, fills the title and pastes the body, inserts the two screenshots, and reports that a draft is saved for you to review.
If you are new. A skill is a folder with a SKILL.md that Claude reads when your request matches it. This one drives a real browser, so watch the first run. Try a short article with one image and no tables, then open the preview and compare it with your file.
For experts. The parser prints JSON with the title, the cover, each other image with a block_index, the dividers, the HTML and a total block count. Claude inserts images and dividers from the highest block_index to the lowest, so earlier positions stay valid. These are the SKILL.md’s own lines for the scripts:
python parse_markdown.py <markdown_file> [--output json|html] [--html-only] python copy_to_clipboard.py image /path/to/image.jpg [--quality 80] python copy_to_clipboard.py html --file /path/to/content.html python table_to_image.py <input.md> <output.png> [--scale 2]
The paste goes through the system clipboard. The SKILL.md says Playwright’s wait tool pauses for its time value before it checks a condition, so it tells Claude to wait on the “uploading” text alone. The README’s FAQ calls that time value a maximum instead.
It saves drafts only.
# X Article Publisher Skill: setup notes This kit holds setup notes written by Mindket. It does not contain the skill, its Python scripts or its guide. Those install from wshuyi’s repository: https://github.com/wshuyi/x-article-publisher-skill License: MIT, Copyright (c) 2024 wshuyi. Full text: https://github.com/wshuyi/x-article-publisher-skill/blob/main/LICENSE X Article Publisher Skill is a community project by wshuyi. It is not made or endorsed by X or by Anthropic. The pages these notes came from: the README (https://github.com/wshuyi/x-article-publisher-skill/blob/main/README.md), the skill’s SKILL.md (https://github.com/wshuyi/x-article-publisher-skill/blob/main/skills/x-article-publisher/SKILL.md), the guide (https://github.com/wshuyi/x-article-publisher-skill/blob/main/docs/GUIDE.md), the plugin file (https://github.com/wshuyi/x-article-publisher-skill/blob/main/.claude-plugin/plugin.json) and the three Python scripts in the skill’s scripts folder. The Playwright MCP line comes from Playwright MCP’s own README (https://github.com/microsoft/playwright-mcp). Facts about where Claude Code loads skills and plugins come from Claude Code’s own docs, named where they are used. Mindket copied every command and ran none of them. ## What it is One skill for Claude Code that publishes a Markdown file to X Articles. Claude reads the file with a Python script, opens X’s article editor in a browser it controls through the Playwright MCP, uploads the cover, fills the title, pastes the formatted text, adds the other images and the dividers, and saves a draft. In the README’s words, it only saves a draft and never publishes automatically. ## Who does what - You: write the Markdown, sign in to X in the browser Claude opens, check the draft and press Publish yourself. - Claude: runs the three scripts with its shell tool and clicks, types and pastes in the browser through the Playwright MCP. - The scripts: parse the Markdown into a title, images and HTML, copy HTML or an image to the system clipboard, and draw a Markdown table as a picture. ## Files in this kit - setup/claude-code.md: the README’s clone and copy route, the Python packages, the Playwright MCP line and a first-time checklist - setup/plugin.md: the README’s plugin route, and why Mindket doubts it - setup/first-run.md: what your Markdown becomes, the steps Claude takes, and fixes the SKILL.md gives ## What you need first - Claude Code, since the skill is written for it. - The Playwright MCP, which lets Claude drive a browser. Playwright MCP’s README asks for Node.js 18 or newer. - An X account that can open the Articles editor at x.com/compose/articles. The README says X Premium Plus is required. - Python 3.9 or newer with the packages for your system (setup/claude-code.md). - A Mac or a Windows PC. The README says Linux support is still in progress. - Git, for the clone route. - No API key for the skill. Claude itself runs on your Claude account. ## What installs where - Clone and copy: one folder, x-article-publisher, in ~/.claude/skills/. It holds the SKILL.md and a scripts folder with parse_markdown.py, copy_to_clipboard.py and table_to_image.py. - Plugin: Claude Code keeps the plugin’s files itself (setup/plugin.md). - Python packages and the Playwright MCP: installed on your machine by the lines in setup/claude-code.md. ## Your data The skill reads your Markdown file and the images it points to. It puts text and images on your clipboard and pastes them into the X editor in the browser Claude opens, so your article goes to X, which is the point. What you give Claude goes to Claude as in any other Claude work. Mindket read the imports of the three scripts: none loads a network library. ## Update and remove The README gives no update or removal step. Claude Code’s skills page says a personal skill is removed by deleting its folder, here ~/.claude/skills/x-article-publisher. The clone you made with git clone stays where you ran it until you delete it.
README.md 4 KB setup/claude-code.md 5 KB setup/first-run.md 5 KB setup/plugin.md 3 KB
Updated by Mindket to the current version of this kit.
Posts and comments that name this project on Hacker News, Bluesky, X, Reddit, Facebook and YouTube, found by a weekly search and on Trendshift. Mindket doesn’t write or check them. Open one to read it where it was posted.
uwg · Kit
Holds a set of image upscaling models gathered from the OpenModelDB community, for people who want to enlarge low-resolution pictures with AI on their own comp…
nerijs · Kit
A pixel art style add-on for Stable Diffusion XL that turns text prompts into pixel-style images, with an optional LCM LoRA for faster runs. For game makers, d…
microsoft · Kit
Turns written conversations into spoken audio with up to four speakers and about 90 minutes of speech, an open Microsoft text-to-speech model for research on p…
vennify · Kit
Rewrites English text with fewer grammar mistakes, using a T5 model trained on the JFLEG dataset. Made by vennify for writers, students and developers who want…
tencent · Kit
Translates between 33 languages on your own device with a 1.8B model squeezed to 1.25 bits, about 440 MB as GGUF files for llama.cpp. For developers adding off…
summerAIO · Kit
Summarizes, answers questions about and continues book-length text with a fine-tuned 27B model that uses Gated DeltaNet layers, in English and Japanese. For pe…