A toolkit of Claude Code skills for long-form content creators — research, score, rewrite, and publish, end to end. 中文版: README.zh-CN.md 5 skills extracted from a real working writing setup. They are opinionated, narrow in scope, and meant to compose.
FAQ
claude-writing-skills is a Claude Code plugin with 5 hand-picked skills for content work, indexed on Flowy. Install it with the command on its page. It includes article-optimizer, publisher-wechatsync, research-collector. Its skills do not fire on their own yet. Request auto-invocation to have Flowy route them as you prompt. Free and open source.
> /plugin marketplace add xiaomoBoy/claude-writing-skills> /plugin install claude-writing-skills@claude-writing-skills
A toolkit of Claude Code skills for long-form content creators — research, score, rewrite, and publish, end to end.
中文版: README.zh-CN.md
5 skills extracted from a real working writing setup. They are opinionated, narrow in scope, and meant to compose. Each one does one thing.
Skill descriptions (frontmatter) are English so they trigger correctly. Skill bodies are written in Chinese — that's the author's working language. If you don't read Chinese, the script files and command examples are still usable, and the descriptions tell you what each skill does. PRs translating bodies welcome.
Add this repo as a Claude Code marketplace, then install:
/plugin marketplace add xiaomoBoy/claude-writing-skills
/plugin install claude-writing-skills@claude-writing-skills
That's it — you now have all 5 skills available.
Each skill may need its own upstream CLI (e.g. yt-dlp, nlm, codex, wechatsync). See INSTALL.md for the full per-OS install guide (macOS / Linux / Windows + verification + troubleshooting).
Not using Claude Code? See INTEGRATIONS.md for using these skills with Cursor, Aider, Codex CLI, the Claude API directly, or as standalone scripts.
| Skill | What it does | Depends on |
|---|---|---|
| research-collector | Collect YouTube videos + web articles for a topic, push into a NotebookLM notebook, run analysis queries, save results as markdown. | notebooklm-mcp-cli (nlm), yt-dlp |
| publisher-wechatsync | Publish a finished markdown article to 知乎 / 掘金 / CSDN / 公众号 etc. as drafts via the wechatsync CLI. Handles pre-flight checks, dry-run, and image-path normalization. | @wechatsync/cli + Chrome extension |
| article-optimizer | Score a single article against a fixed viral-content rubric, then iterate rewrites round by round to raise the score. | codex CLI |
| score-optimizer | Calibrate / improve the scoring rubric itself by batch-scoring a labeled sample set. The companion to article-optimizer when you want to tune the evaluator. | codex CLI |
| yt-dlp-direct | A pragmatic command-reference skill for the installed yt-dlp CLI — single videos, playlists, audio extraction, subtitles, cookies-from-browser. No reinvention, just operational knowledge. | yt-dlp |
I write long-form articles on my own publication and cross-post to several Chinese platforms. After a year of doing it with Claude Code, I had accumulated maybe 30 ad-hoc prompts and shell helpers. These 5 skills are the parts that survived the consolidation — the ones I actually use every week.
Two design principles run through all of them:
yt-dlp, nlm, wechatsync, codex), the skill wraps operational knowledge around it rather than reinventing in pure prompt.If you want the writing workflow as a whole (idea → outline → draft → style alignment), it's deeply coupled to my personal vault and not part of this release. These 5 are the parts I could cleanly extract.
You: 帮我收集 "Claude Code skills" 这个话题的素材,输出到 ./research/claude-skills
Claude: [invokes research-collector] → creates notebook, adds ~15 YouTube + ~40 web sources,
runs 3 analysis queries, saves summary markdown
You: 把 path/to/article.md 发到知乎和掘金(先 dry-run)
Claude: [invokes publisher-wechatsync] → checks auth, normalizes image paths,
runs dry-run, asks confirmation, then syncs
You: 给 path/to/article.md 跑一遍评分
Claude: [invokes article-optimizer] → returns 9-dimension score JSON
You: 评分器对 "title_score" 给得太松,帮我校准
Claude: [invokes score-optimizer] → re-runs prompt on labeled samples, compares
You: 把这个 YouTube 播放列表的音频下下来
Claude: [invokes yt-dlp-direct] → constructs the exact yt-dlp invocation, runs it
Most skills work with zero config. A few env vars are useful:
| Variable | Used by | Purpose |
|---|---|---|
CODEX_CLI_PATH | article-optimizer, score-optimizer | Override codex binary path if not on PATH |
RESEARCH_OUTPUT_DIR | research-collector | Default output directory (default: ./research/<topic>/) |
MD_VAULT_ROOT | publisher-wechatsync (image normalizer) | Fallback root for resolving relative image paths |
WECHATSYNC_TOKEN | publisher-wechatsync | Required, from the Wechatsync Chrome extension |
nlm, yt-dlp, codex, wechatsync) — install only the ones for skills you useFor full install instructions across macOS / Linux / Windows, see INSTALL.md.
.claude-plugin/
marketplace.json # marketplace definition (one plugin)
plugin.json # plugin manifest
.github/
ISSUE_TEMPLATE/ # bug + feature templates
PULL_REQUEST_TEMPLATE.md
skills/
research-collector/
publisher-wechatsync/
article-optimizer/
score-optimizer/
yt-dlp-direct/
docs/
USAGE.md # end-to-end walkthrough (EN)
USAGE.zh-CN.md # end-to-end walkthrough (ZH)
README.md # this file
README.zh-CN.md # Chinese landing
INSTALL.md # dependency install guide (EN)
INSTALL.zh-CN.md # dependency install guide (ZH)
INTEGRATIONS.md # use outside Claude Code (EN)
INTEGRATIONS.zh-CN.md # use outside Claude Code (ZH)
CONTRIBUTING.md # how to contribute
CHANGELOG.md # version history
LICENSE
| Doc | What's in it |
|---|---|
| README.md / README.zh-CN.md | Landing page, quick install, what's inside |
| INSTALL.md / INSTALL.zh-CN.md | Detailed install of every CLI dependency, per OS |
| INTEGRATIONS.md / INTEGRATIONS.zh-CN.md | Use these skills with Cursor, Aider, Codex CLI, Claude API SDK, or standalone |
| docs/USAGE.md / docs/USAGE.zh-CN.md | End-to-end scenario walkthrough |
| CONTRIBUTING.md | Contribution workflow + design principles |
| CHANGELOG.md | Version history |
Per-skill skills/<name>/SKILL.md | The actual playbook each skill follows |
Per-skill skills/<name>/README.md | GitHub-friendly skill summary |
Issues and PRs welcome. See CONTRIBUTING.md for the workflow + design principles.
Highest-impact PRs right now:
score-optimizer (the calibration loop is non-obvious if you haven't tried it)If you build something on top of these or extract a new skill, link back — happy to feature it in the README.
MIT — see LICENSE.
Built by @xiaomoBoy. I write about VPS, self-hosting, and AI workflows. If this is useful to you, a star helps me find time to keep maintaining it.
.claude-plugin/
marketplace.json
plugin.json
.github/
ISSUE_TEMPLATE/
bug_report.md
config.yml
feature_request.md
PULL_REQUEST_TEMPLATE.md
.gitignore
CHANGELOG.md
CONTRIBUTING.md
docs/
USAGE.md
USAGE.zh-CN.md
INSTALL.md
INSTALL.zh-CN.md
INTEGRATIONS.md
INTEGRATIONS.zh-CN.md
LICENSE
README.md
README.zh-CN.md
skills/
article-optimizer/
README.md
references/
optimize_program.md
score_prompt.md
scripts/
generate_optimize_chart.py
run_single_score.py
SKILL.md
publisher-wechatsync/
README.md
scripts/
normalize_image_paths.py
SKILL.md
research-collector/
README.md
SKILL.md
score-optimizer/
assets/
articles/
labels.example.json
samples/
README.md
README.md
references/
score_program.md
score_prompt.md
scripts/
evaluate.py
generate_score_chart.py
run_scoring.py
SKILL.md
yt-dlp-direct/
agents/
openai.yaml
README.md
references/
high-frequency-patterns.md
supported-sites-notes.md
SKILL.md© 2026 Flowy · Free and open source
Built for Claude Code · Not affiliated with Anthropic