Guide · Agent skill
How to use the xueqiu-upload agent skill for Xueqiu long posts
Updated · written with AI from the project's own documentation and checked against our catalogue data
xueqiu-upload is an agent skill that lets an AI agent publish long articles to the Xueqiu (雪球) creator platform. It works by calling the existing sau command-line tool from the social-auto-upload project, so the agent does not write its own web uploader. This guide explains what the skill does, how to install it, how to ask for things in plain language, and what to check before anything goes public.
Quick start
- 1Set up the sau CLI. Install Python and the social-auto-upload repository, and make sure the sau command works. Check its help output for xueqiu upload-article.
- 2Install the skill. Download the ZIP from this page and unzip it into ~/.claude/skills/ or a project's .claude/skills/ folder, or upload it under Settings → Capabilities → Skills in the Claude apps.
- 3Log in once. Run the login command with an account alias and your expected nickname, then sign in in the Chrome window that opens. Your password is never put into a command.
- 4Ask the agent in plain language. Describe the article, file and visibility you want. The agent should confirm the declaration with you before publishing.
- 5Run a preview. Use --prepare-only to create the remote draft and preview without publishing. Review the draft in Xueqiu.
- 6Publish and save the result. Run the publish command once you are satisfied. Keep the result JSON file and screenshots.
- 7Verify if anything went wrong. If the status is submission_unknown, run the verify command with the saved result file instead of publishing again.
What is an agent skill, and what does this one do?
An agent skill is a folder of instructions and optional scripts that an AI agent loads when your request matches the skill's description. This one is described in its SKILL.md file and covers Xueqiu long-form posts only.
Once triggered, the agent can log in to a Xueqiu account, check that the login matches the expected user, upload an HTML, Markdown or TXT article, keep in-body images where they appear in your source file, set a separate cover image, and query the published work in the backend to confirm it went through.
- Accepted article formats: HTML, Markdown and TXT.
- Images inside the body stay at their positions in the source file.
- A separate cover image can be set with --cover.
- Not supported: scheduled posting, video, and articles with tables or code blocks.
Install the xueqiu-upload skill
Download the ZIP from the skill page on this site. You can install it in one of two ways.
For Claude Code, unzip the folder into ~/.claude/skills/ for all your projects, or into a project's .claude/skills/ folder for one project only. For the Claude apps, upload the ZIP under Settings → Capabilities → Skills.
The skill calls the sau CLI, so you also need the social-auto-upload repository set up with its sau command installed. The SKILL.md says that on Windows, if sau is not on your PATH, you can run .\.venv\Scripts\sau.exe from the repository root.
- Python and the social-auto-upload repository with the sau CLI installed.
- Google Chrome. Visible mode is the default.
- A Xueqiu creator account that you log in to yourself in the browser.
Log in and check your Xueqiu account
The first time you use an account, the agent runs a login command. A Chrome window opens and you sign in there. The tool saves the session and ties it to your real Xueqiu user ID. Passwords should never be typed into commands or source code.
The login command takes an expected display name, so the tool can confirm it is the right account. If you already have a saved account, the agent runs a check command instead. Check the --help output of the CLI before you run anything, because flags can change.
- First login: sau xueqiu login --account <alias> --expected-name "your nickname"
- Existing account: sau xueqiu check --account <alias>
- Note: a login made in another browser tool does not automatically create the CLI session file.
sau xueqiu login --account <alias> --expected-name "your nickname"
sau xueqiu check --account <alias>Prepare your article and choose the options
The agent needs four things: a non-empty single-line title, a UTF-8 content file in HTML, Markdown or TXT, a declaration that matches how the article was made, and a visibility setting. Visibility is either 公开 (public) or 私人 (private), and the default is public.
The declaration must match reality. The skill allows 不添加创作声明 (no creation declaration) or 本文包含AI生成内容 (contains AI-generated content). The agent should ask you rather than guess.
For images, write them in the article where they belong, using HTML img tags or Markdown image syntax. Relative paths are resolved from the article's folder. Images must be local GIF, JPEG or PNG files; remote URLs and data URLs are not accepted. Markdown is preferred. The first time you use Markdown, run sau article setup.
- Title: non-empty, one line.
- Content: HTML, Markdown or TXT, UTF-8.
- Between-paragraph image example: 
- Custom CSS is not guaranteed to be kept. Headings become platform subheadings, and lists become numbered or bulleted paragraphs.
sau article setupRun a draft first, then publish
The upload command publishes by default. To check the draft and preview without publishing, add --prepare-only. Xueqiu saves a remote draft automatically, so running the same command again can create more than one draft. If the editor already contains content, the tool refuses to overwrite it. Leave out --cover if you do not need a separate cover image.
The example below is taken from the skill. Replace the account alias, title, file names and declaration with your own. Run it only after you have reviewed the options.
- Preview only: add --prepare-only.
- Private post: --visibility 私人.
- Check the CLI help for the current options first: sau xueqiu upload-article --help
sau xueqiu upload-article --account <alias> --title "Your title" --content-file "article.md" --cover "cover.png" --visibility 私人 --declaration "本文包含AI生成内容"Read the result and recover from interruptions
The command saves a result JSON file and screenshots. Keep them. A status of prepared means the draft is ready. A status of published means the platform accepted the post and the tool checked the subject, title, visibility and body. The field management_verified: true means a backend query by the original work ID also passed. A private work shows as visible only to you.
If a result is recorded as submission_unknown, do not re-run the upload or click publish again, since that can create duplicates. Instead, run the verify command with the saved result file. It performs a read-only lookup of the original work ID and compares the backend content and images with your original article. If there is no ID, search 内容管理 (content management) by title, account and time.
- Keep the result JSON path and screenshots.
- Verify: sau xueqiu verify --account <alias> --result "result-file.json"
- Use --debug to save a screenshot when a step fails.
- Visible Chrome is the default. --headless is optional, and the skill notes that headless access was blocked by the platform in testing.
- A network timeout, a 403 error or a subject mismatch should be reported as-is. Do not assume your cookies have expired from that alone.
sau xueqiu verify --account <alias> --result "result-file.json"What people use it for
- Publishing a Markdown research note with charts placed between paragraphs and a separate cover image.
- Posting a private draft for a team to review before making it public.
- Re-checking an earlier post by its saved result file to confirm its content and visibility in the backend.
- Running the same article through a tested command with a saved result file for a repeatable publishing record.
Frequently asked questions
Is the xueqiu-upload skill free?
The listing for this skill gives its licence as MIT. However, the SKILL.md frontmatter says MIT-0, so check the license file in the repository before you reuse or redistribute it. The skill also depends on the social-auto-upload project and Google Chrome, which have their own requirements.
What do I need to use the xueqiu-upload skill?
You need Python, the social-auto-upload repository with its sau CLI installed, Google Chrome, and a Xueqiu creator account that you log in to yourself. The skill runs scripts and uses the network, so it should only be used on a machine you control.
Can the skill schedule Xueqiu posts?
No. The skill states that no scheduling option was observed in the full long-article form, so it cannot delay a post. Publish immediately or use the prepare-only option to save a draft.
Does the skill publish automatically?
Yes, by default the upload command publishes the article. Add --prepare-only to create the draft and preview without publishing. Always check the options before you run it.
Can it upload videos or articles with tables?
No. Video is not supported. Tables and code blocks are unverified structures, and the tool raises an error before it creates the remote draft.
What should I do if the upload fails or shows submission_unknown?
Do not run the upload again, because that can create duplicate works. Run the verify command with the saved result JSON file to look up the original work, or search content management by title, account and time.
Is there an alternative to this skill?
The skill itself is a wrapper around the sau CLI from social-auto-upload, so the same command-line tool can be used directly without an agent. Compare the options by whether you need an agent to drive the workflow.
New agent skills, repos and AI tools — every week
The best new skills and open-source projects, the fastest-growing repos, and one free prompt. Five minutes to read. Unsubscribe anytime.
Our verdict
This skill suits creators and small teams who publish long Xueqiu articles often, are comfortable with a command-line tool, and want a saved result file and a verification step. It is a poor fit if you need scheduled posting, video, or articles built mostly from tables or code blocks, or if you cannot risk an accidental public post.
Download the skill