blog-post-writer

Compare original and translation side by side

🇺🇸

Original

English
🇨🇳

Translation

Chinese

Blog Post Writer Skill

博客文章撰写Skill

Operator Context

操作上下文

This skill operates as an operator for blog post creation, configuring Claude's behavior for structured, voice-consistent content generation. It implements the Pipeline architectural pattern -- Assess, Decide, Draft, Preview -- with Voice Integration via separate voice skills for stylistic patterns.
本Skill作为博客文章创建的操作器,配置Claude的行为以生成结构化、语音一致的内容。它实现了Pipeline架构模式——评估、决策、起草、预览——并通过独立的语音Skill实现Voice Integration,以应用风格化写作模式。

Hardcoded Behaviors (Always Apply)

硬编码行为(始终生效)

  • CLAUDE.md Compliance: Read and follow repository CLAUDE.md before writing
  • Over-Engineering Prevention: Write the post requested. No "bonus sections", no unsolicited additions, no extra content types
  • Banned Words Enforcement: NEVER use words from
    references/banned-words.md
    . Scan every draft before finalizing
  • Voice Compliance: Follow the specified voice skill's patterns exactly. Do not blend voices
  • Hugo Format: All posts use proper YAML frontmatter with correct syntax
  • Em-Dash Prohibition: NEVER use em-dashes. Use commas, periods, or sentence restructuring instead
  • CLAUDE.md合规性:撰写前需阅读并遵循仓库中的CLAUDE.md
  • 防止过度设计:仅撰写用户要求的文章内容。不得添加「额外章节」、主动补充未请求的内容或增加其他类型的内容
  • 禁用词强制执行:绝对不得使用
    references/banned-words.md
    中的词汇。定稿前需扫描每一份草稿
  • 语音合规性:严格遵循指定语音Skill的模式,不得混合多种语音风格
  • Hugo格式:所有文章需使用语法正确的YAML frontmatter
  • 禁止使用破折号:绝对不得使用破折号。改用逗号、句号或重构句子

Default Behaviors (ON unless disabled)

默认行为(启用状态,除非手动关闭)

  • Voice Required: Must specify a voice skill (user must configure a default voice or specify one)
  • Preview Before Write: Display full draft for approval before writing to file
  • Post-Draft Banned Word Scan: Verify zero banned words before finalizing
  • Structure Template: Use appropriate template from
    references/structure-templates.md
  • Specific Numbers: Include concrete numbers for all claims, not vague adjectives
  • 必须指定语音:必须指定语音Skill(用户需配置默认语音或手动指定)
  • 起草前预览:写入文件前需展示完整草稿供用户批准
  • 起草后禁用词扫描:定稿前需验证草稿中无禁用词
  • 结构模板:使用
    references/structure-templates.md
    中的合适模板
  • 具体数据要求:所有表述需包含具体数字,不得使用模糊形容词

Optional Behaviors (OFF unless enabled)

可选行为(关闭状态,除非手动启用)

  • Direct Write Mode: Skip preview and write directly to file
  • Outline Only: Generate structure without full draft
  • Multiple Variants: Generate 2-3 opening paragraphs for selection
  • 直接写入模式:跳过预览环节,直接写入文件
  • 仅生成大纲:仅生成文章结构,不生成完整草稿
  • 多版本开头:生成2-3个开头段落供用户选择

What This Skill CAN Do

本Skill可实现的功能

  • Write complete blog posts in any defined voice profile
  • Apply voice-specific patterns (metaphors, rhythm, structure, tone)
  • Generate proper Hugo frontmatter with correct YAML syntax
  • Coordinate with voice skills for stylistic consistency
  • Revise drafts based on user feedback
  • 以任意已定义的语音配置文件撰写完整博客文章
  • 应用特定语音的风格模式(隐喻、节奏、结构、语气)
  • 生成语法正确的Hugo YAML frontmatter
  • 与语音Skill协作以保持风格一致性
  • 根据用户反馈修改草稿

What This Skill CANNOT Do

本Skill不可实现的功能

  • Use banned words under any circumstances (see
    references/banned-words.md
    )
  • Write without a voice specification (redirect: specify
    --voice
    or accept default)
  • Add sections not requested by user (redirect: ask user before adding)
  • Create or modify voice profiles (redirect: use voice skill creation workflow)
  • Skip the banned word verification step

  • 在任何情况下使用禁用词(详见
    references/banned-words.md
  • 未指定语音时撰写文章(引导操作:指定
    --voice
    参数或使用默认语音)
  • 添加用户未请求的章节(引导操作:添加前需询问用户)
  • 创建或修改语音配置文件(引导操作:使用语音Skill创建工作流)
  • 跳过禁用词验证步骤

Instructions

操作流程

Phase 1: ASSESS

阶段1:评估

Goal: Understand the topic, select voice, and classify content type before writing.
Step 1: Analyze the topic
markdown
undefined
目标:撰写前明确主题、选择语音配置文件、分类内容类型。
步骤1:分析主题
markdown
undefined

Assessment

评估结果

  • Topic: [user-provided topic]
  • Scope: [narrow / medium / broad]
  • Audience: [beginner / intermediate / expert]
  • Estimated length: [short 500-800 / medium 1000-1500 / long 2000+]

**Step 2: Select voice**

Load the specified voice skill. If none specified, ask the user which voice to use.

Available voices can be found at `skills/voice-*/SKILL.md`. Create new voices with `/create-voice`.

**Step 3: Classify content type**

Choose from `references/structure-templates.md`:
- **Problem-Solution**: Bug fix, debugging session, resolution
- **Technical Explainer**: Concept, technology, how it works
- **Walkthrough**: Step-by-step instructions for a task

**Gate**: Topic analyzed, voice loaded, content type selected. Proceed only when gate passes.
  • 主题:[用户提供的主题]
  • 范围:[狭窄 / 中等 / 宽泛]
  • 受众:[初学者 / 中级用户 / 专家]
  • 预估长度:[短篇500-800字 / 中篇1000-1500字 / 长篇2000字以上]

**步骤2:选择语音配置文件**

加载指定的语音Skill。若用户未指定,需询问用户使用哪种语音。

可用语音配置文件位于`skills/voice-*/SKILL.md`。可通过`/create-voice`创建新的语音配置文件。

**步骤3:分类内容类型**

从`references/structure-templates.md`中选择:
- **问题解决型**:Bug修复、调试过程、问题解决方案
- **技术讲解型**:概念、技术原理、工作机制
- **操作指南型**:任务的分步操作说明

**准入条件**:完成主题分析、加载语音配置文件、确定内容类型。满足条件后方可进入下一阶段。

Phase 2: DECIDE

阶段2:决策

Goal: Plan post structure using voice patterns and structure templates.
Step 1: Plan opening
Read opening patterns from voice skill. Select the pattern that fits the topic.
markdown
undefined
目标:结合语音模式和结构模板规划文章结构。
步骤1:规划开头
阅读语音Skill中的开头模式,选择适合当前主题的模式。
markdown
undefined

Plan

规划方案

  • Opening pattern: [Provocative Question / News Lead / Bold Claim / Direct Answer]
  • Draft opening: [first sentence or question]

**Step 2: Plan extended metaphor** (if voice uses them)

```markdown
- Core metaphor: [conceptual lens]
- Development points: [where it recurs in the post]
Step 3: Plan sections (3-7 sections)
markdown
- Sections:
  1. [Section name]: [purpose]
  2. [Section name]: [purpose]
  ...
Step 4: Plan closing
Read closing patterns from voice skill. Select pattern and identify callback element.
markdown
- Closing pattern: [Callback / Implication / Crescendo]
- Callback element: [what from opening returns]
Step 5: Draft frontmatter
yaml
---
title: "Post Title Here"
slug: "post-slug-here"
date: YYYY-MM-DD
draft: false
tags: ["tag1", "tag2"]
summary: "One sentence description for list views"
---
Gate: Structure planned, opening and closing patterns selected, frontmatter drafted. Proceed only when gate passes.
  • 开头模式:[Provocative Question / 新闻式导语 / Bold Claim / 直接回答]
  • 开头草稿:[第一句话或问题]

**步骤2:规划延伸隐喻**(若语音配置文件包含此模式)

```markdown
- 核心隐喻:[概念视角]
- 应用节点:[隐喻在文章中出现的位置]
步骤3:规划章节(3-7个章节)
markdown
- 章节列表:
  1. [章节名称]:[章节目的]
  2. [章节名称]:[章节目的]
  ...
步骤4:规划结尾
阅读语音Skill中的结尾模式,选择合适的模式并确定呼应元素。
markdown
- 结尾模式:[呼应开头 / 引申意义 / 高潮式结尾]
- 呼应元素:[与开头呼应的内容]
步骤5:起草Frontmatter
yaml
---
title: "文章标题"
slug: "文章路径别名"
date: YYYY-MM-DD
draft: false
tags: ["标签1", "标签2"]
summary: "列表页展示的一句话描述"
---
准入条件:完成结构规划、确定开头和结尾模式、起草Frontmatter。满足条件后方可进入下一阶段。

Phase 3: DRAFT

阶段3:起草

Goal: Generate the post applying voice patterns from the selected voice skill.
Step 1: Write opening
  • Apply opening pattern from voice skill
  • Establish premise or hook
  • Plant callback element if using callback closing
Step 2: Write each section
  • Apply sentence rhythm from voice skill
  • Develop extended metaphors if voice uses them
  • Use second-person address if voice uses it
  • Include specific numbers for all claims
Step 3: Write closing
  • Apply closing pattern from voice skill
  • Return to callback element if planted
  • Build to emotional crescendo if appropriate for voice
Step 4: Banned word scan
  • Scan entire draft against
    references/banned-words.md
  • If ANY banned word found: rewrite the affected sentence immediately
  • Re-scan until zero violations
Step 5: Voice verification
  • Check patterns against voice skill requirements
  • Verify sentence rhythm matches voice
  • Confirm opening and closing styles match voice
  • Verify zero em-dashes in entire draft
Gate: Draft complete, zero banned words, voice patterns verified. Proceed only when gate passes.
目标:应用所选语音Skill的模式生成文章内容。
步骤1:撰写开头
  • 应用语音Skill中的开头模式
  • 确立文章主题或钩子
  • 若使用呼应式结尾,需在开头埋下呼应元素
步骤2:撰写各章节
  • 应用语音Skill中的句子节奏
  • 若语音配置文件包含延伸隐喻,需在章节中展开
  • 若语音配置文件使用第二人称,需保持一致
  • 所有表述需包含具体数字
步骤3:撰写结尾
  • 应用语音Skill中的结尾模式
  • 若开头埋下呼应元素,需在结尾呼应
  • 若语音风格适合,可营造情感高潮
步骤4:禁用词扫描
  • 对照
    references/banned-words.md
    扫描整篇草稿
  • 若发现任何禁用词:立即重写相关句子
  • 重新扫描直至无违规内容
步骤5:语音合规性验证
  • 对照语音Skill的要求检查模式应用情况
  • 验证句子节奏是否匹配语音风格
  • 确认开头和结尾风格与语音一致
  • 验证整篇草稿中无破折号
准入条件:草稿完成、无禁用词、语音模式验证通过。满足条件后方可进入下一阶段。

Phase 4: PREVIEW

阶段4:预览

Goal: Display full draft for user approval before writing to file.
Step 1: Present draft
Display the complete post with frontmatter. Show target file path.
Step 2: Show compliance report
markdown
undefined
目标:展示完整草稿供用户批准,批准后方可写入文件。
步骤1:展示草稿
展示包含Frontmatter的完整文章,并显示目标文件路径。
步骤2:展示合规性报告
markdown
undefined

Voice Compliance

语音合规性报告

  • Opening pattern: [pattern name] - PASS/FAIL
  • Sentence rhythm: [verified/issues] - PASS/FAIL
  • Extended metaphor: [present/n/a] - PASS/FAIL
  • Closing pattern: [pattern name] - PASS/FAIL
  • Banned words: [count] found - PASS/FAIL
  • Em-dashes: [count] found - PASS/FAIL
Target file: content/posts/{slug}.md

**Step 3: Await approval**

Wait for user confirmation before writing. If user requests changes, return to the appropriate phase.

**Gate**: User approves draft. Write to file. Task complete.

---
  • 开头模式:[模式名称] - 通过/未通过
  • 句子节奏:[验证结果/问题] - 通过/未通过
  • 延伸隐喻:[已应用/不适用] - 通过/未通过
  • 结尾模式:[模式名称] - 通过/未通过
  • 禁用词:[数量]个 - 通过/未通过
  • 破折号:[数量]个 - 通过/未通过
目标文件:content/posts/{slug}.md

**步骤3:等待用户批准**

等待用户确认后再写入文件。若用户要求修改,返回至对应阶段调整。

**准入条件**:用户批准草稿。写入文件,任务完成。

---

Error Handling

错误处理

Error: "No voice specified"

错误:「未指定语音配置文件」

Cause: User did not specify a voice parameter Solution:
  1. Default to the user's configured voice skill
  2. Notify user which voice is being used
  3. Proceed with Phase 1
原因:用户未指定语音参数 解决方案:
  1. 默认使用用户配置的语音Skill
  2. 告知用户当前使用的语音配置文件
  3. 进入阶段1继续操作

Error: "Voice skill not found"

错误:「语音Skill不存在」

Cause: Specified voice skill does not exist at expected path Solution:
  1. List available voice skills with paths
  2. Ask user to select from available voices
  3. If user needs new voice, redirect to voice skill creation
原因:指定的语音Skill不存在于预期路径 解决方案:
  1. 列出可用的语音Skill及其路径
  2. 请用户从可用列表中选择
  3. 若用户需要新的语音配置文件,引导至语音Skill创建工作流

Error: "Banned word found in draft"

错误:「草稿中发现禁用词」

Cause: Draft contains words from
references/banned-words.md
Solution:
  1. Identify the exact sentence containing the banned word
  2. Rewrite using alternatives from the banned words reference
  3. Re-scan entire draft to confirm zero violations
  4. Never suppress or ignore a banned word detection
原因:草稿包含
references/banned-words.md
中的词汇 解决方案:
  1. 定位包含禁用词的具体句子
  2. 使用禁用词参考文档中的替代表述重写
  3. 重新扫描整篇草稿以确认无违规内容
  4. 绝对不得忽略或隐藏禁用词检测结果

Error: "Topic too broad for target length"

错误:「主题范围与预估长度不匹配」

Cause: Topic scope exceeds estimated word count Solution:
  1. Ask user to narrow scope
  2. Suggest 2-3 specific angles derived from the topic
  3. Proceed once user selects a narrower focus

原因:主题范围超出预估字数限制 解决方案:
  1. 请用户缩小主题范围
  2. 基于原主题提供2-3个具体的写作方向
  3. 用户选定方向后继续操作

Anti-Patterns

反模式

Anti-Pattern 1: Writing Without Voice Skill Loaded

反模式1:未加载语音Skill即开始撰写

What it looks like: Starting to draft before reading the voice skill's patterns Why wrong: Post will not match the voice profile. Retrofitting voice is harder than starting with it. Do instead: Complete Phase 1 fully. Load and read the voice skill before writing any content.
表现:未阅读语音Skill的模式即开始起草内容 问题:文章将不符合语音配置文件的风格。事后调整风格比从一开始遵循风格更困难。 正确做法:完整完成阶段1的操作。撰写任何内容前需加载并阅读语音Skill。

Anti-Pattern 2: Ignoring Banned Word Scan

反模式2:忽略禁用词扫描

What it looks like: "The draft reads well, no need to scan for banned words" Why wrong: Banned words are AI fingerprints. A single occurrence undermines authenticity. Do instead: Run banned word scan on every draft. Zero tolerance.
表现:「草稿读起来没问题,不需要扫描禁用词」 问题:禁用词是AI生成内容的特征。即使出现一次也会降低内容的真实性。 正确做法:对每一份草稿进行禁用词扫描。零容忍。

Anti-Pattern 3: Adding Unsolicited Sections

反模式3:添加未请求的章节

What it looks like: Adding "Future Implications" or "Related Topics" sections the user did not request Why wrong: Over-engineering the content. User asked for a specific post, not a content hub. Do instead: Write exactly what was requested. Ask before adding anything extra.
表现:添加用户未请求的「未来展望」或「相关主题」等章节 问题:过度设计内容。用户要求撰写特定文章,而非内容枢纽。 正确做法:仅撰写用户请求的内容。添加任何额外内容前需询问用户。

Anti-Pattern 4: Skipping Preview Phase

反模式4:跳过预览阶段

What it looks like: Writing directly to file without showing the draft first Why wrong: User loses the opportunity to review and request changes. Rewrites are costlier than previews. Do instead: Always show full draft with compliance report unless Direct Write Mode is enabled.
表现:未展示草稿即直接写入文件 问题:用户失去了审核和请求修改的机会。事后重写比预览调整成本更高。 正确做法:除非启用直接写入模式,否则始终展示完整草稿及合规性报告。

Anti-Pattern 5: Blending Voice Patterns

反模式5:混合多种语音模式

What it looks like: Mixing one voice's extended metaphors with another voice's community warmth in one post Why wrong: Each voice has distinct patterns. Mixing creates an inconsistent, inauthentic voice. Do instead: Use exactly one voice profile per post. Follow that voice skill's patterns exclusively.

表现:在一篇文章中混合使用一种语音的延伸隐喻和另一种语音的社区温暖风格 问题:每种语音都有独特的模式。混合使用会导致风格不一致、内容不真实。 正确做法:每篇文章仅使用一种语音配置文件。严格遵循该语音Skill的模式。

References

参考资料

This skill uses these shared patterns:
  • Anti-Rationalization - Prevents shortcut rationalizations
  • Verification Checklist - Pre-completion checks
  • Wabi-Sabi Authenticity - Natural imperfections over synthetic perfection
  • Voice-First Writing - Voice-driven content patterns
本Skill使用以下共享模式:
  • 反合理化 - 防止寻找捷径的合理化行为
  • 验证清单 - 完成前的检查项
  • 侘寂真实性 - 优先自然的不完美,而非人工合成的完美
  • 语音优先写作 - 由语音驱动的内容创作模式

Domain-Specific Anti-Rationalization

领域特定反合理化

RationalizationWhy It's WrongRequired Action
"No banned words jumped out at me"Visual scan misses words in contextRun systematic scan against full banned list
"Close enough to the voice"Close ≠ matching the voice profileRe-read voice skill, verify each pattern
"The post is already long enough"Length ≠ completenessCheck all planned sections are present
"Em-dash here reads better"Em-dashes are absolutely forbiddenRewrite with comma, period, or restructure
"One extra section adds value"User did not request itWrite what was asked, nothing more
合理化借口问题所在要求操作
「我没看到禁用词」人工扫描会遗漏语境中的禁用词对照完整禁用词列表进行系统性扫描
「已经接近语音风格了」接近不等于匹配语音配置文件重新阅读语音Skill,验证每一项模式
「文章已经够长了」长度不等于完整性检查所有规划的章节是否都已包含
「这里用破折号读起来更好」绝对禁止使用破折号用逗号、句号或重构句子替代
「多一个章节更有价值」用户未请求该内容仅撰写用户要求的内容,不得额外添加

Reference Files

参考文件

  • ${CLAUDE_SKILL_DIR}/references/banned-words.md
    : Words and phrases that signal AI-generated content
  • ${CLAUDE_SKILL_DIR}/references/structure-templates.md
    : Templates for Problem-Solution, Technical Explainer, and Walkthrough content types
  • ${CLAUDE_SKILL_DIR}/references/banned-words.md
    :标识AI生成内容的词汇和短语
  • ${CLAUDE_SKILL_DIR}/references/structure-templates.md
    :问题解决型、技术讲解型、操作指南型内容的模板