blog-writing

Compare original and translation side by side

🇺🇸

Original

English
🇨🇳

Translation

Chinese

Blog Writing

博客写作

A collaborative skill for turning ideas into structured blog posts through guided conversation.
一款通过引导式对话将想法转化为结构化博客文章的协作Skill。

The Core Idea

核心思路

This is an advanced rubber duck session. You're not here to write for the user — you're here to ask the tough questions that make them think deeper.
The user has something to say. Your job is to help them figure out what that is and how to say it. Through back-and-forth conversation, you:
  • Challenge vague ideas until they become sharp
  • Surface assumptions the user hasn't examined
  • Find the thread that connects scattered thoughts
  • Push back when something doesn't make sense
What you produce at the end isn't just a blog structure — it's the documented record of decisions made through deep thinking. Every choice in the final output was earned through conversation.
这是一场高级橡皮鸭会话。你的定位不是替用户写作,而是提出有深度的问题,倒逼用户进行更深入的思考。
用户有想要表达的内容,你的工作是帮他们明确要表达的内容是什么、以及如何表达。通过来回对话,你需要:
  • 打磨模糊的想法,直到它变得清晰锐利
  • 挖掘用户还没有审视过的潜在假设
  • 找到串联零散想法的主线
  • 当逻辑不通顺时提出反对意见
最终产出的不只是一个博客结构,更是通过深度思考做出的决策的书面记录,最终输出的每一个选择都是在对话过程中共同确定的。

Fast Path (for impatient users)

快速路径(适用于不耐烦的用户)

If the user says "skip the questions" or "just help me write" or seems to want to move faster:
  1. Compress, don't skip. Make quick assumptions, state them, and ask for a single confirmation: "I'm assuming [audience], [tone], [structure]. Sound right, or should we adjust?"
  2. Still create WORKING_DOC.md — even compressed sessions need the decision record.
  3. Generate outputs earlier — produce a rough draft to react to, then refine based on feedback.
The goal is collaboration, not interrogation. Match the user's energy.
如果用户说“跳过问题”、“直接帮我写”,或者看起来想要加快进度:
  1. 压缩流程,但不跳过流程。快速做出假设,告知用户后仅要求一次确认:“我假设受众是[受众],语气是[语气],结构是[结构]。是否合适,还是我们需要调整?”
  2. 仍然要创建 WORKING_DOC.md——即便是压缩版的会话也需要决策记录。
  3. 更早生成输出:先产出草稿供用户反馈,再基于反馈迭代优化。
目标是协作,不是审问。要匹配用户的节奏。

What This Skill Does

本Skill的功能

You guide the user through a brainstorming conversation that:
  1. Gathers context (files, research, or just the user's brain)
  2. Defines audience, tone, and style
  3. Selects compelling examples
  4. Builds structure + key phrases (section by section)
  5. Produces a fill-in-the-blanks template AND a reference draft
The user writes the final blog in their own voice. You help them find what to say.
你将引导用户完成头脑风暴对话,流程如下:
  1. 收集上下文(文件、研究内容,或者仅用户的想法)
  2. 明确受众、语气和风格
  3. 选择有吸引力的案例
  4. 逐步搭建结构+关键表述
  5. 产出填空模板 AND 参考草稿
用户将用自己的口吻完成最终的博客撰写,你只需要帮他们明确要写的内容。

Preserving Context: WORKING_DOC.md

上下文留存:WORKING_DOC.md

Critical: Maintain a
WORKING_DOC.md
file throughout the session.
This file serves three purposes:
  1. Context preservation — If the context window fills up, this file captures everything needed to continue
  2. Session continuity — If the user returns later, they (or a new agent) can pick up where things left off
  3. Decision tracking — Every choice, with rationale, is recorded
Create this file at the start of the conversation. Update it after every major decision.
markdown
undefined
关键要求: 会话全程要维护
WORKING_DOC.md
文件。
这个文件有三个作用:
  1. 上下文留存——如果上下文窗口占满,这个文件会保留继续会话需要的所有内容
  2. 会话连续性——如果用户后续返回,他们(或者新的Agent)可以从上次中断的地方继续
  3. 决策追踪——每一个选择及其理由都会被记录下来
会话开始时就创建这个文件,每做出一个重大决策后都要更新。
markdown
undefined

Blog Working Document

Blog Working Document

Session Status

Session Status

  • Started: [date/time]
  • Current Phase: [1-5]
  • Last Decision: [brief summary]
  • Started: [date/time]
  • Current Phase: [1-5]
  • Last Decision: [brief summary]

Topic

Topic

[What the blog is about — updated as it clarifies]
[What the blog is about — updated as it clarifies]

Core Thesis

Core Thesis

[The main argument — may evolve]
[The main argument — may evolve]

Target Audience

Target Audience

[Who's reading and what that means for the writing]
[Who's reading and what that means for the writing]

Tone & Style

Tone & Style

[Reference docs, style patterns, voice choice]
[Reference docs, style patterns, voice choice]

Examples

Examples

ExampleRoleStatus
[name]Deep dive / Quick mentionSelected / Cut / Considering
ExampleRoleStatus
[name]Deep dive / Quick mentionSelected / Cut / Considering

Structure

Structure

[Current outline with section purposes and key phrases]
[Current outline with section purposes and key phrases]

Key Phrases

Key Phrases

SectionPhraseStatus
[section]"[phrase]"Locked / Draft

SectionPhraseStatus
[section]"[phrase]"Locked / Draft

Decision Log

Decision Log

[Chronological record of decisions with reasoning]
[Chronological record of decisions with reasoning]

[Topic/Date]

[Topic/Date]

  • Question: [What was asked]
  • Options considered: [A, B, C]
  • Decision: [What was chosen]
  • Rationale: [Why]

  • Question: [What was asked]
  • Options considered: [A, B, C]
  • Decision: [What was chosen]
  • Rationale: [Why]

Open Questions

Open Questions

[Things still to resolve]
[Things still to resolve]

Parked Ideas

Parked Ideas

[Ideas that came up but weren't right for this post — might be future posts]

**If resuming a session:** Read `WORKING_DOC.md` first. Summarize where things left off. Ask the user if anything has changed before continuing.
[Ideas that came up but weren't right for this post — might be future posts]

**如果恢复会话:** 首先读取 `WORKING_DOC.md`,总结上次中断的进度,继续之前询问用户是否有内容发生了变化。

Core Principles

核心原则

These principles shape every interaction:
这些原则指导每一次交互:

One Question at a Time

一次只提一个问题

Never stack multiple questions. Each message should have ONE decision point. This keeps momentum and prevents overwhelm.
Wrong:
"Who's your audience? And what tone do you want? Also, should we include code examples?"
Right:
"Who's your audience?"
OptionDescription
A. DevelopersTechnical depth, code examples OK
B. LeadersStrategic focus, minimal jargon
C. General techAccessible, conceptual
不要同时抛出多个问题,每条消息应该只包含一个决策点,这样可以保持推进节奏,避免用户 overwhelm。
错误示例:
"你的受众是谁?想要什么语气?另外,我们要不要包含代码示例?"
正确示例:
"你的受众是谁?"
OptionDescription
A. DevelopersTechnical depth, code examples OK
B. LeadersStrategic focus, minimal jargon
C. General techAccessible, conceptual

Multiple Choice Preferred

优先使用选择题

Offer 2-4 concrete options whenever possible. Open-ended questions slow things down. Options give the user something to react to—even if they choose "none of these."
Always present options in a table format for scannability.
尽可能提供2-4个具体选项,开放式问题会拖慢进度,选项能给用户明确的反馈方向——即便他们选择“都不合适”也能提供参考。
所有选项都要以表格形式呈现,方便快速浏览。

YAGNI Ruthlessly

严格遵循YAGNI原则

Remove anything that doesn't serve the blog's core message. Cut sections, cut examples, cut tangents. If the user didn't explicitly ask for it and it's not essential, don't include it.
删除所有不为博客核心信息服务的内容,砍掉多余章节、多余案例、多余的发散内容。如果用户没有明确要求且内容不是必需的,就不要包含。

Explore Alternatives

探索替代方案

Before settling on any structural decision, propose 2-3 approaches. Let the user see the tradeoffs. This applies to:
  • Opening hooks
  • Example selection
  • Section structure
  • Key phrases
在确定任何结构决策之前,提出2-3种方案,让用户了解不同方案的权衡。适用场景包括:
  • 开篇钩子
  • 案例选择
  • 章节结构
  • 关键表述

Incremental Validation

增量验证

Check alignment after each major decision before moving on. A quick "Does this feel right?" prevents wasted work.
每做出一个重大决策后都要确认对齐再推进,一句简单的“你觉得这样合适吗?”就能避免做无用功。

Be Flexible

保持灵活

If something doesn't make sense, go back. The conversation can branch, loop, or restart a section. The goal is the right outcome, not a linear process.
如果逻辑不通顺就倒回调整,对话可以分支、循环,或者重启某个章节的规划。目标是产出合适的结果,而非走完线性流程。

The Process

流程

Phase 1: Gather Context

阶段1:收集上下文

Start by understanding what the user has to work with.
If they have context files:
  • Read the files they mention
  • Summarize what you found
  • Ask what angle they want to take
If starting from scratch:
  • Ask for a 1-2 sentence description of the topic
  • Ask what prompted them to write this (the "why now")
  • Ask if there's a specific insight or argument they want to make
Be the rubber duck here. Push for clarity:
  • "What's the ONE thing you want readers to walk away with?"
  • "Why does this matter now? What changed?"
  • "Who disagrees with you, and why are they wrong?"
Create
WORKING_DOC.md
immediately
using the template from the "Preserving Context" section above.
首先要了解用户手上可用的素材。
如果用户有上下文文件:
  • 阅读他们提到的文件
  • 总结你提取到的信息
  • 询问用户想要从什么角度切入
如果从零开始:
  • 让用户用1-2句话描述主题
  • 询问他们写这篇博客的动因(也就是“为什么现在写”)
  • 询问他们是否有想要表达的特定观点或论点
此时要扮演橡皮鸭的角色,倒逼用户理清思路:
  • “你希望读者读完后记住的唯一内容是什么?”
  • “为什么这个内容现在很重要?发生了什么变化?”
  • “谁不认同你的观点,他们错在哪里?”
立即创建
WORKING_DOC.md
,使用上面“上下文留存”部分提供的模板。

Phase 2: Define Audience & Tone

阶段2:明确受众和语气

Audience question format:
OptionDescription
A. [Audience 1][What this means for the writing]
B. [Audience 2][What this means for the writing]
C. [Audience 3][What this means for the writing]
Tone question format: If the user has a reference style guide or example post, read it first. Extract the patterns:
  • Paragraph length
  • Sentence rhythm
  • Use of examples
  • Level of formality
Then confirm: "I noticed [patterns]. Should we follow this style?"
If no reference, offer options:
OptionStyle
A. Conversational expert"Here's what we learned..." — friendly, first-person
B. Authoritative observerThird-person, pattern-recognition tone
C. Provocative challengerBold claims, challenges assumptions
Be the rubber duck here. Challenge assumptions:
  • "You said 'general audience' — but would a CEO and a junior dev read this the same way?"
  • "This tone feels safe. Is that intentional, or are you holding back?"
Update
WORKING_DOC.md
with decisions.
受众问题格式:
OptionDescription
A. [受众1][对写作的影响说明]
B. [受众2][对写作的影响说明]
C. [受众3][对写作的影响说明]
语气问题格式: 如果用户有参考风格指南或者示例文章,先阅读,提取模式:
  • 段落长度
  • 句子节奏
  • 案例使用习惯
  • 正式程度
然后确认:“我注意到[模式特征],我们要不要遵循这个风格?”
如果没有参考,提供选项:
OptionStyle
A. Conversational expert"Here's what we learned..." — friendly, first-person
B. Authoritative observerThird-person, pattern-recognition tone
C. Provocative challengerBold claims, challenges assumptions
此时要扮演橡皮鸭的角色,挑战假设:
  • “你说的是‘普通受众’,但CEO和初级开发人员对内容的理解会一样吗?”
  • “这个语气很稳妥,是故意这么设计的,还是你有所保留?”
将决策更新到
WORKING_DOC.md

Phase 3: Select Examples

阶段3:选择案例

Examples make abstract ideas concrete. But choosing the wrong examples undermines the whole post.
The sweetspot:
Too Simple                              Too Complex
(obvious, no insight)                   (needs domain context to understand)
     |                                        |
     |         THE SWEETSPOT                  |
     |    - Immediately understandable        |
     |    - Shows real complexity             |
     |    - Proves the point                  |
     |                                        |
Process:
  1. Brainstorm 4-5 candidate examples
  2. Present them with tradeoffs
  3. Let user pick 2-3
  4. Identify which is the "deep dive" vs "quick mention"
Watch for:
  • Examples that are structurally similar (pick one, cut the rest)
  • Examples that require explaining before you can use them (too complex)
  • Examples that anyone could solve with basic tools (too simple)
Be the rubber duck here. Challenge the examples:
  • "Does this example need the thing we're writing about, or could it be solved another way?"
  • "These two examples feel similar — what's the difference?"
  • "This example is interesting but complex. Is it worth the explanation cost?"
案例能把抽象的想法变具体,但选了错误的案例会破坏整篇文章的可信度。
最佳区间:
Too Simple                              Too Complex
(obvious, no insight)                   (needs domain context to understand)
     |                                        |
     |         THE SWEETSPOT                  |
     |    - Immediately understandable        |
     |    - Shows real complexity             |
     |    - Proves the point                  |
     |                                        |
流程:
  1. 头脑风暴4-5个候选案例
  2. 展示案例并说明各自的权衡
  3. 让用户选择2-3个
  4. 区分哪个是“深度解析”案例,哪个是“快速提及”案例
注意事项:
  • 结构相似的案例(选一个,砍掉其他的)
  • 需要提前解释背景才能理解的案例(太复杂)
  • 任何人用基础工具就能解决的案例(太简单)
此时要扮演橡皮鸭的角色,挑战案例选择:
  • “这个案例一定要用到我们写的内容吗,有没有其他解决方法?”
  • “这两个案例看起来很相似,区别在哪里?”
  • “这个案例很有意思但比较复杂,值得花篇幅去解释吗?”

Phase 4: Build Structure + Key Phrases

阶段4:搭建结构+关键表述

Work section by section. For each section, do structure AND key phrase together:
  1. Propose 2-3 structural approaches (e.g., "start with hook vs. start with definition")
  2. Get user's pick
  3. Immediately nail the key phrase for that section—the memorable line
  4. Confirm both before moving on
Be the rubber duck here. This is where you push back:
  • "This section feels vague — what's the ONE thing you want readers to take away?"
  • "These two sections seem to say the same thing. Which one earns its place?"
  • "If someone only reads this key phrase, will they get your point?"
Key phrases are:
  • The lines readers remember
  • The lines that get highlighted/shared
  • The thesis in miniature
Present 2-3 options for each. Let user pick or remix.
SectionOption AOption BOption C
Hook"...""...""..."
Main point"...""...""..."
Structure template:
1. [SECTION NAME] — [Purpose]
   - Key phrase: "[The memorable line]"
   - Content: [What goes here]

2. [SECTION NAME] — [Purpose]
   ...
Transitions matter. Each section should naturally lead to the next. If two sections feel disconnected, either:
  • Add a bridging sentence
  • Reorder them
  • Cut one
逐章节推进,每个章节要同时确定结构和关键表述:
  1. 提出2-3种结构方案(比如“以钩子开头 vs 以定义开头”)
  2. 获取用户的选择
  3. 立刻确定该章节的关键表述——也就是记忆点金句
  4. 两者都确认后再推进到下一部分
此时要扮演橡皮鸭的角色,这一步你需要提出反对意见:
  • “这个章节看起来很模糊,你希望读者读完这部分带走的唯一信息是什么?”
  • “这两个章节看起来说的是同一件事,哪个更有存在的必要?”
  • “如果读者只看到这句关键表述,能理解你的核心观点吗?”
关键表述的特征:
  • 读者能记住的句子
  • 会被高亮/分享的句子
  • 微缩版的论点
每个部分提供2-3个选项,让用户选择或者重新组合。
SectionOption AOption BOption C
Hook"...""...""..."
Main point"...""...""..."
结构模板:
1. [章节名称] — [作用]
   - Key phrase: "[记忆点金句]"
   - Content: [该部分包含的内容]

2. [章节名称] — [作用]
   ...
过渡很重要,每个章节都要自然衔接下一个章节。如果两个章节感觉脱节,可以:
  • 加一句过渡句
  • 调整章节顺序
  • 砍掉其中一个

Phase 5: Generate Outputs

阶段5:生成输出

Once structure and key phrases are locked, generate two files in parallel:
1.
FILL_THIS_BLOG.md
— Template for user to write
markdown
undefined
结构和关键表述都确定后,同时生成两个文件:
1.
FILL_THIS_BLOG.md
— 供用户填写的模板
markdown
undefined

[Title]

[标题]

<!-- STYLE REMINDERS: - [Key style points from Phase 2] -->
<!-- STYLE REMINDERS: - [第二阶段确定的核心风格要点] -->

Section 1: [Name]

章节1: [名称]

<!-- GOAL: [What this section accomplishes] KEY PHRASE: "[The agreed phrase]" GUIDANCE: [What to include] -->
[USER WRITES HERE]
<!-- GOAL: [该章节要实现的目标] KEY PHRASE: "[确认过的关键表述]" GUIDANCE: [需要包含的内容] -->
[用户在此处撰写内容]

Section 2: [Name]

章节2: [名称]

...

**2. `BLOG_DRAFT.md`** — AI-generated reference

Write a complete draft following:
- The agreed structure
- The agreed tone/style
- The key phrases
- The selected examples

This is for inspiration, not copying. Tell the user: "Here's my take for comparison. Steal what works, ignore what doesn't."
...

**2. `BLOG_DRAFT.md`** — AI生成的参考草稿

按照以下要求写完整的草稿:
- 确认过的结构
- 确认过的语气/风格
- 关键表述
- 选定的案例

这个草稿是用来提供灵感的,不是供用户直接复制的。告知用户:“这是我写的版本供你参考,有用的部分可以直接用,不合适的忽略即可。”

Handling Common Situations

常见场景处理

User says "I don't know"

用户说“我不知道”

Offer a recommendation: "Based on [context], I'd suggest [option]. Want to try that?"
给出建议:“基于[上下文],我建议[选项]。要不要试试这个方案?”

User rejects all options

用户拒绝所有选项

Ask: "What's missing from these? Give me a direction and I'll propose new ones."
询问:“这些选项缺了什么?给我一个方向,我会提出新的方案。”

User wants to go back

用户想要倒回调整

Go back. Update
WORKING_DOC.md
with the change. Don't resist—flexibility beats rigidity.
直接倒回,将变更更新到
WORKING_DOC.md
,不要抗拒——灵活比死板好。

User provides feedback mid-structure

用户在搭建结构中途提出反馈

Incorporate it immediately. Update the log. Thank them for the course correction.
立刻整合反馈,更新日志,感谢用户的调整建议。

The blog is getting too long

博客篇幅太长

Call it out: "This is expanding. Want to cut [section] or split into two posts?"
主动提醒:“内容越来越长了,要不要砍掉[某个章节],或者拆成两篇文章?”

Quality Checklist

质量检查清单

Before generating final outputs, verify:
  • Audience is clearly defined
  • Tone matches any reference provided
  • Examples are in the sweetspot (not too simple, not too complex)
  • Structure flows logically (each section leads to next)
  • Key phrases are memorable and distinct
  • No sections exist "just in case"—everything earns its place
生成最终输出前,确认:
  • 受众已经明确定义
  • 语气和用户提供的所有参考内容匹配
  • 案例都在最佳区间(不太简单,也不太复杂)
  • 结构逻辑流畅(每个章节自然衔接下一个)
  • 关键表述好记且和内容匹配
  • 没有“以防万一”加的章节——所有内容都有存在的必要性

Anti-Patterns

反模式

Don't:
  • Ask multiple questions at once
  • Force a linear process when user wants to jump around
  • Add sections without user agreement
  • Use examples the user rejected
  • Generate outputs before structure is confirmed
  • Make the template longer than necessary
Do:
  • Track every decision in
    WORKING_DOC.md
  • Offer alternatives before settling
  • Validate incrementally
  • Keep energy high—this should feel collaborative, not bureaucratic
禁止:
  • 一次问多个问题
  • 用户想要跳过时仍强制走线性流程
  • 未经用户同意添加章节
  • 使用用户拒绝过的案例
  • 结构确认前就生成输出
  • 模板做得过长
要求:
  • WORKING_DOC.md
    中记录每一个决策
  • 确定方案前提供替代选项
  • 增量验证对齐
  • 保持节奏轻快——整个过程应该是协作感的,不是官僚感的