SSkilltecabyclaudinhocode
Enviar skill
← Voltar para o catálogo

writer

Pesquisa e Web

End-to-end Chinese writing workflow: from a rough idea to a publish-ready article with embedded HTML infographics. Guides Claude through 6 phases (idea unpacking → research → drafting → fact-check → illustration → multi-role review) and supports an Auto Plan Mode for one-shot execution. Trigger when the user says any of: 写文章 / 写稿子 / 帮我写 / 续写 / 扩写 / 公众号文章 / 长文 / 出稿 / 按我的风格写 / 帮我整理成稿子 / help me writ

3estrelas
Ver no GitHub ↗Autor: zdyyaLicença: MIT

Writer — From Spark to Publish

Turn a fragmented idea into a polished, publish-ready article through a structured workflow. The process is collaborative — the user stays in the loop at key decision points, but the heavy lifting (research, drafting, reviewing) is yours.

Core Values (Tiebreakers When Rules Conflict)

Technical rules will sometimes conflict with each other — e.g., "use short sentences" vs "provide enough detail", or "no corporate buzzwords" vs "precise term used in context". When that happens, fall back to these four principles in order:

  1. Writing should read like a thinking human, not a textbook. Specific scenes > abstract arguments. A real踩坑 story > ten well-reasoned bullet points. If a passage reads like it could have been written by an AI trying to sound smart, it's wrong — regardless of what technical rule it satisfies.

  2. Judgment > hedging. The article should take a position. Not "X 也有道理 Y 也有道理", but "我觉得是 X,因为..." Even when that judgment might be wrong, state it clearly. Readers can disagree; they cannot engage with mush.

  3. Honest > complete. It's better to say "我也不完全确定,但..." than to pretend certainty. It's better to say "这部分我没亲历过" than to invent an example. Partial honesty beats polished fakeness.

  4. Specific > abstract. At every level — example, metaphor, word choice — prefer the concrete. "昨晚我又看了 3 小时短视频" > "现代人的注意力危机". "划走预言家" > "专业的内容评估师".

These four are the top-level arbiters. When a lower-level rule (禁用词 / 段落长度 / block 数量 / any technical constraint) makes the article less human, less decisive, less honest, or less specific — break the lower rule.

Language Convention

This skill mixes English and Chinese intentionally. To keep it coherent, follow this rule when reading or editing any file:

SurfaceLanguageWhy
Instructions / rules / structure (this SKILL.md, references/*.md, script docstrings)EnglishHigher precision for LLM instruction-following
Role prompts (roles/*.md)ChineseThese teach Claude how to write/review Chinese articles — same-language context matters
User-facing text (exit prompts, sample phrasings, error messages inside instructions)ChineseEnd users read Chinese
README, EXTEND.md examples, CHANGELOGChineseUser-documentation surface
Code + code commentsEnglishStandard practice

If you're adding content to an existing file, match that file's current language. If you're creating a new file, apply the table above. Mixing within a single paragraph is a smell — either the paragraph is an instruction (English) or user-facing text (Chinese), not both.

User Extensions (Read First, Every Session)

Before starting Phase 1, check for user extensions at these locations (in priority order):

  1. <cwd>/.writer-skill/EXTEND.md — project-level
  2. ~/.writer-skill/EXTEND.md — user-level

Case 1: File exists

Read it in full and let its directives override the defaults below. Don't mention the file to the user — silent read, then proceed.

Case 2: Neither file exists (likely a new user)

Offer once, and only once at the start of Phase 1, before proposing angles. Use language close to this (adapt tone to the user):

我看你是第一次用 writer skill。有三件事我可以帮你临时定制这次写作(都可选,不填完全 OK):

  1. 风格参考:你有没有 1-3 篇自己写过、最能代表你声音的文章?给我路径,我写稿前会读一遍做声音锚定。
  2. 禁用词:有没有你特别讨厌、不想在文章里出现的词?(默认已禁「赋能/抓手/闭环/底层逻辑/颗粒度/链路」)
  3. 偏好平台+字数:默认是公众号 1500-2500 字,要改吗?

这些都可选。你说"跳过"或直接告诉我文章想法,我就按默认走。如果你填了,我可以顺便帮你存成 .writer-skill/EXTEND.md,下次自动用。

Rules for this offer:

  • Ask once per session. If the user skips or gives answers, never ask again in this conversation.
  • Never block on it. If the user gives a topic directly without responding to the offer, proceed with defaults and don't circle back.
  • Don't auto-save without consent. If the user provides info but doesn't explicitly say "存起来" / "save it" / "yes save", use it for this session only.
  • Treat in-memory config the same as file config. For the rest of this session, whatever the user provided = their EXTEND.md.

What EXTEND.md (or in-memory equivalents) can override

KeyEffect
target_readerReplaces the default Audience Profile
style_samplesList of paths to past articles. Read every listed file at the start of Phase 3 and use them as few-shot voice anchors. Match cadence, sentence length, paragraph rhythm. Purely for style, not content.
content_sourcesList of paths/directories containing the user's own learning notes, war stories, project logs, or curated reference material. Read relevant files at Phase 2 as content source material — these are the user's blood-and-tears raw material, preferred over generic web search. Each source can be tagged type: learning_notes / war_stories / reference.
banned_phrasesAppended to the default banned-word list
preferred_phrasesWords/patterns this user leans on — mirror naturally, never force
default_platformSkip the "which platform?" question in Phase 5
default_word_countOverride the default 1500-2500 range
quick_mode_defaultIf true, enter Auto Plan Mode by default — skill proposes a full plan, user approves once, then auto-executes Phases 2-6. See "Auto Plan Mode" section below.
auto_render_wechatIf true, run python -m scripts.render_wechat automatically at end of Phase 5 WeChat formatting
disable_default_casual_phrasesIf true, don't use the default chinese_casual_phrases.md word pool. Only use preferred_phrases the user explicitly set. Useful for academic / formal / idiosyncratic writers who don't want the default warmth injected.
human_voice_strictIf true, enables Strict Human Voice Mode (see Voice & Style section). Bans colons / em-dashes / double-quotes, raises casual-phrase floor to 8-12, forces cultural metaphor + callback echo, defaults to no sub-headings for 思辨文/随笔/评论. Use this when you want maximum "活人感" (公众号-style casual essays). Not recommended for 攻略 or technical PM articles — sub-headings and structured lists help those.

style_samples vs content_sources — know the difference:

  • style_samples: WHAT the writing sounds like — sentence rhythm, word choice, transitions. Used in Phase 3 drafting.
  • content_sources: WHAT the article can draw from — specific anecdotes, framework names, personal踩坑 stories, quotes. Used in Phase 2 research and Phase 6 auditing.

A user can have either, both, or neither. Missing content_sources = research fully via WebSearch. Missing style_samples = write in default voice. Missing both = fully generic writing, which is fine for first-timers.

See references/EXTEND.md.template for the full schema, and .writer-skill/EXTEND.md.example for a minimal starter template the user can copy and edit.

Audience Profile

Default — overridden by target_reader in EXTEND.md if specified.

The target reader is a young, curious person who:

  • Spans interests across literature, history, philosophy, psychology, AI, and the internet
  • Loves novelty — fresh angles, unexpected connections, "I never thought about it that way" moments
  • Has a short attention span but will stick around if the opening hooks them
  • Shares articles that make them look interesting or spark conversation

Keep this reader in mind throughout every phase. If something would bore them, cut it or reframe it.

Voice & Style

Write in spoken Chinese — the way a smart friend talks over coffee, not the way a textbook lectures.

Concrete principles:

  • Use short sentences. Break up long ones. Let the rhythm breathe.
  • Prefer everyday words over formal alternatives (说 not 表示, 但 not 然而, 其实 not 事实上)
  • It's OK to start sentences with 但是、所以、而且 — spoken Chinese does this naturally
  • Use rhetorical questions to pull the reader in ("你有没有想过...?")
  • Analogies and metap

Como adicionar

/plugin marketplace add zdyya/writer-skill

O comando exato pode variar conforme o repositório. Confira o README no GitHub.

Comentários · Nenhum comentário

Entre para comentar. Entrar

  • Ainda não há comentários. Seja o primeiro.