Substack Ghostwriting & Content Optimization
A skill for writing Substack content — both newsletter issues (email-first) and web posts (web-first articles/essays) — that grows subscribers and converts readers. Handles two voice modes (own voice, ghostwriting) and two format modes (newsletter issue, web post).
Core philosophy
Substack is not a blog with an email list. It's a social-media-newsletter hybrid with an algorithm that optimizes for subscriptions, not engagement. This changes everything about how you write, format, and distribute content on the platform.
The algorithm's incentives genuinely align with quality. Substack's revenue comes from subscription cuts (not ads), so gaming engagement metrics doesn't help. What helps: writing content good enough that readers convert to paid subscribers and recommend you to others.
For ghostwriting specifically: the job is capturing someone's existing insights in their voice, not generating insights from scratch. As Nicolas Cole frames it: clients are "insights-rich and time-poor", writers are "time-rich but insights-poor." The art is extraction and voice matching.
Platform formatting constraints
Substack is a social-media-newsletter hybrid with an algorithm that optimizes for subscriptions, not engagement. Revenue comes from subscription cuts (not ads), so quality genuinely wins. For ghostwriting: the job is capturing someone's existing insights in their voice — clients are "insights-rich and time-poor."
Read references/platform-constraints.md for post fields, Notes limits, special content blocks, and media embeds.
Mode detection
Determine two dimensions:
Voice dimension:
- - Own voice — the user writes/publishes under their own name. Go directly to the Writing Workflow.
- Ghostwriting — writing in someone else's voice, or preparing content for a client. Complete the Ghostwriting Workflow first, then the Writing Workflow.
Format dimension:
- - Newsletter issue (email-first) — sent to subscribers' inboxes. Subject line and email formatting matter most. Read
references/email-formatting.md during Phase 3. - Web post (web-first) — published as a Substack article/essay, discoverable via search and Substack's feed. SEO and web formatting matter most. Read
references/web-post-formatting.md during Phase 3.
If unclear, ask the user. Default to newsletter issue when they say "newsletter" or "issue"; default to web post when they say "article", "essay", "post", or "evergreen content".
Ghostwriting Workflow
When writing for someone else, voice matching comes before content. Read references/voice-matching.md for the full extraction process — it covers sample collection (transcripts > writing > media), voice marker extraction, building a voice guide (10-15 markers with examples), and iteration with the user.
Complete the voice guide and get user validation before proceeding to the Writing Workflow.
Writing Workflow
Phase 1 is mandatory — always ask the user the intake questions and wait for answers before writing anything. If the user already provided some context, extract what you can and ask only about missing pieces.
Phase 0: Voice calibration (own voice mode)
Skip this phase if ghostwriting (the Ghostwriting Workflow handles voice separately).
Ask the user for their existing Substack URL. If they have one, fetch 2-3 recent posts and extract tone markers: formality level, sentence rhythm, humor style, paragraph length, how they open and close, recurring phrases. Summarize the voice in 5-7 bullet points and confirm with the user before writing.
If they don't have an existing Substack, ask: "How do you want to sound? Casual and conversational, professional and authoritative, or something else?" Use their answer plus any other writing samples they can share.
Phase 1: Content planning (interview)
Stop and ask. Present the intake questions below to the user and wait for their answers. Do not skip this phase, do not infer silently, and do not start drafting until you have explicit answers or confirmation on every item.
- 1. Topic: What's this about? If vague, ask what specific angle or story the reader should walk away with.
- Format: Newsletter issue (email-first) or web post (web-first)? See mode detection above.
- Audience: Who reads this? (developers, founders, marketers, general tech, niche community...) A newsletter for junior devs reads very differently than one for CTOs.
- Objective: What's the concrete goal?
- Grow subscribers (free or paid)?
- Drive signups/traffic to an external product (SaaS, course, tool)?
- Establish authority / thought leadership?
- Nurture existing subscribers toward a paid tier?
- Something else? The objective shapes the CTA, the hook angle, and where depth goes vs where the paywall or link sits.
- 5. Context: Part of a series? What have recent posts covered?
- Length: Short (500-800 words), Standard (1000-1500), Deep dive (2000+)
If critical pieces are missing (especially topic, audience, objective, or format), ask and wait — don't guess. A wrong assumption wastes an entire draft.
If the user has Notes data (which Notes got engagement), use that to validate topic selection. Notes function as a cheap testing pipeline for long-form content.
Phase 2: Title and hook selection
Generate 5 title/subject line variants and 3 hook options (opening 2-3 sentences each). Present them together and ask the user to pick or remix before proceeding. Do not write the body until the user has validated a title and hook direction.
Title principles:
- - Specificity beats vagueness
- Promise a clear benefit or reveal
- 6-10 words (readable on mobile and in search results)
- For dev audiences: technical keywords filter for the right audience; "How to" and numbers perform well; avoid urgency/scarcity tactics
Hook types — write 3 distinct hooks using different strategies (e.g. credibility, counter-narrative, curiosity, surprise, data). Each hook should be 2-3 sentences that could open the piece. Present them labeled (Hook A, Hook B, Hook C) with a brief note on the strategy used.
Newsletter issue — subject line + preview text:
- - The subject line is the headline. The preview text (first ~90 chars of the email) is the subhead. Together they determine open rate.
- Preview text should complement, not repeat, the subject line.
Web post — SEO + discoverability:
- - Keep the main title punchy for the feed. Use the separate SEO title field for a keyword-rich version (under 60 chars).
- Write a dedicated SEO description (150-160 chars) — don't rely on the subtitle fallback, it's usually too short.
- Suggest a URL slug: short (3-6 words), keyword-rich, no dates.
- Assign to a publication section if applicable.
- Read
references/web-post-formatting.md for detailed SEO guidance.
Wait for the user to choose a title and hook before moving to Phase 3.
Phase 3: Write the content
Using the chosen title and hook, write the full piece. The hook opens the article, then continue with:
- 1. Hook (chosen from Phase 2)
- Context (1-2 paragraphs): Why this matters now. What prompted this.
- Body (bulk): The actual content. Structure depends on content type.
- Takeaway (1-2 sentences): The one thing the reader should remember.
- CTA (1-2 sentences): Ask for a specific action. Questions that invite replies are strongest (replies are an algorithm signal).
Newsletter issue formatting — read references/email-formatting.md for full rules:
- - Paragraphs: 2-3 sentences max (email clients make long paragraphs feel like walls)
- Code blocks: < 10 lines (link to Gist for longer code)
- Images: sparingly (many email clients block them by default)
- TL;DR at top for issues > 1500 words
Web post formatting — read references/web-post-formatting.md for full rules:
- - Paragraphs: 3-4 sentences acceptable (full-width web rendering is more forgiving)
- Longer code blocks OK (up to 30-40 lines with full syntax highlighting)
- Images and embeds render reliably — use more liberally
- Table of contents for posts > 2000 words
Shared formatting rules:
- - Subheadings every 200-400 words. Bold key phrases so skimmers catch the argument.
- Descriptive anchor text on links, not "click here."
Phase 4: Growth-optimized elements
Add elements that leverage the Substack algorithm. Read references/substack-algorithm.md for the full mechanics.
- 1. Reply prompt: End with a genuine question. Replies signal engagement to the algorithm.
- Share prompt: "If you found this useful, forward it to a colleague who [specific situation]." Specificity increases share rate.
- Recommendation hook: If the user has recommendation partnerships, weave in natural cross-references.
- Notes teaser: Write a 2-3 sentence version for Substack Notes. Notes should stand alone as valuable, not just be a link to the issue.
Phase 5: Paid vs. free strategy
If the user has a paid tier, advise on the free/paid split:
- - Free issues should be your best work (they drive growth and recommendations)
- Paid issues should offer depth, exclusivity, or access (not just a paywall on normal content)
- The most effective model: free issues that demonstrate value so clearly that readers want more
Common mistake: paywalling too early. At < 1000 subscribers, everything should be free. Growth compounds faster than paid conversion at small scale.
Phase 5b: Humanize
Invoke a humanizer skill (e.g. "humanize", "humanizer", "de-slop", "natural writing check", "AI detection cleanup", "rewrite like a human") to strip AI-generated patterns — filler words, predictable cadence, over-hedging, hollow transitions, inflated language. Substack readers pay for authentic voice; AI-sounding prose kills trust and cancels subscriptions.
Preserve hooks and subject lines. The hook and title/subject line (Phase 2) were deliberately engineered for open rate and curiosity. Instruct the humanizer to leave them intact — rewriting them for "naturalness" destroys the copywriting structure that drives opens and first-scroll retention.
Phase 6: Image suggestions
After the content is drafted, suggest 1-3 images with specific placement. For each image, provide:
- - Placement: Where in the issue (e.g. "as the cover image", "after the hook", "between section X and Y")
- Purpose: What the image adds (set the tone, break up a long section, illustrate a concept, reinforce the emotional beat)
- Description: What the image should depict
For newsletter issues: use images sparingly — many email clients block them by default. Prioritize a strong cover image and at most 1-2 inline images. For web posts: images render reliably — use more freely (diagrams, charts, screenshots).
Offer to generate a Midjourney prompt for each suggested image. If the user accepts, use the latest Midjourney model conventions to write the prompt. Use --ar 16:9 or --ar 3:1 for cover images and wide illustrations (optimal for Substack headers and social sharing), --ar 3:2 for smaller inline images. Refer to up-to-date Midjourney documentation for current prompt syntax and parameters.
Phase 7: Social distribution posts (optional — offer, don't auto-generate)
After the content is written, ask the user if they want social distribution posts. Do not generate them automatically. If accepted, write a LinkedIn post and/or a Twitter/X post to promote it. These are not summaries — they are standalone pieces of content that create enough curiosity or value to drive clicks.
Read references/social-distribution.md for LinkedIn and Twitter/X post templates.
Output format
Newsletter issue:
- - Subject line (chosen) + 2 alternatives
- Preview text
- Full issue in markdown, formatted for email readability
- Image suggestions with placement notes (and Midjourney prompts if accepted)
- A Notes teaser (2-3 sentences)
- LinkedIn + Twitter/X distribution posts (only if the user accepted)
- If ghostwriting: the voice guide used
Web post:
- - Title (chosen) + 2 alternatives
- Subtitle / meta description
- Suggested URL slug
- Full post in markdown, formatted for web readability
- Image suggestions with placement notes (and Midjourney prompts if accepted)
- A Notes teaser (2-3 sentences)
- LinkedIn + Twitter/X distribution posts (only if the user accepted)
- If ghostwriting: the voice guide used
Adapting existing content
When the user wants to convert a blog post, talk, or thread into Substack content:
- 1. Choose the right format. Evergreen source material (reference, tutorial, deep dive) → web post. Timely source (commentary, announcement, reaction) → newsletter issue.
- Don't just copy-paste. Substack readers expect a different voice and format than blog readers.
- Add the personal layer. Substack is more personal than a blog. Add context: why you're sharing this, what prompted it, your take.
- Front-load the value. Blog posts can have a slow build. Substack content must hook in the first 2 sentences (the email preview or search snippet).
- Shorten for newsletters. Cut 30-50% of blog post length for newsletter issues — email tolerance for length is lower. Web posts can preserve more depth.
- Add the CTA. Blog posts can end quietly. Substack content should ask for something.
Reference files
Read these for deeper platform knowledge:
- -
references/voice-matching.md -- Detailed ghostwriting voice extraction process, interview techniques, voice guide templates, and iteration workflow. Read when ghostwriting. - INLINECODE13 -- Email client rendering constraints, formatting rules, mobile optimization, and code block handling. Read during Phase 3 for newsletter issues.
- INLINECODE14 -- SEO optimization, web-first formatting rules, evergreen vs timely content strategy, sections/categories, and rich media usage. Read during Phase 3 for web posts.
- INLINECODE15 -- How the algorithm works (from Substack's ML lead), Notes ranking signals, Recommendations system, growth levers ranked by impact, and monetization math. Read during Phase 4 or for strategic planning.
Substack 代笔写作与内容优化
一项用于撰写 Substack 内容的技能——包括新闻通讯(邮件优先)和网页文章(网页优先的文章/随笔)——旨在增加订阅者并转化读者。处理两种声音模式(个人声音、代笔写作)和两种格式模式(新闻通讯、网页文章)。
核心理念
Substack 不是一个带邮件列表的博客。它是一个社交媒体与新闻通讯的混合体,其算法优化的是订阅量而非互动量。这彻底改变了你在该平台上撰写、格式化和分发内容的方式。
该算法的激励机制确实与质量保持一致。Substack 的收入来自订阅分成(而非广告),因此玩弄互动指标毫无帮助。真正有效的是:写出足够优质的内容,让读者转化为付费订阅者,并向他人推荐你。
具体到代笔写作:工作是用他人的声音捕捉其现有见解,而非从零开始生成见解。正如 Nicolas Cole 所概括的:客户见解丰富但时间匮乏,写作者时间充裕但见解贫乏。关键在于萃取和声音匹配。
平台格式限制
Substack 是一个社交媒体与新闻通讯的混合体,其算法优化的是订阅量而非互动量。收入来自订阅分成(而非广告),因此质量真正胜出。对于代笔写作:工作是用他人的声音捕捉其现有见解——客户见解丰富但时间匮乏。
阅读 references/platform-constraints.md 了解文章字段、Notes 限制、特殊内容块和媒体嵌入。
模式检测
确定两个维度:
声音维度:
- - 个人声音——用户以自己名义撰写/发布。直接进入写作工作流程。
- 代笔写作——以他人声音撰写,或为客户准备内容。先完成代笔写作工作流程,再进入写作工作流程。
格式维度:
- - 新闻通讯(邮件优先)——发送至订阅者收件箱。主题行和邮件格式最为重要。在阶段三阅读 references/email-formatting.md。
- 网页文章(网页优先)——作为 Substack 文章/随笔发布,可通过搜索和 Substack 信息流发现。SEO 和网页格式最为重要。在阶段三阅读 references/web-post-formatting.md。
如果不明确,请询问用户。当用户说新闻通讯或期号时,默认为新闻通讯;当用户说文章、随笔、帖子或常青内容时,默认为网页文章。
代笔写作工作流程
为他人写作时,声音匹配先于内容。阅读 references/voice-matching.md 了解完整的萃取过程——涵盖样本收集(转录稿 > 写作 > 媒体)、声音标记提取、构建声音指南(10-15 个标记及示例),以及与用户的迭代。
完成声音指南并获得用户验证后,再进入写作工作流程。
写作工作流程
阶段一是强制性的——在写任何内容之前,务必先向用户提出信息收集问题并等待回答。 如果用户已提供部分背景信息,提取已有信息并仅询问缺失部分。
阶段零:声音校准(个人声音模式)
如果是代笔写作,跳过此阶段(代笔写作工作流程已单独处理声音)。
询问用户其现有 Substack 网址。如果有,获取 2-3 篇近期文章并提取语气标记:正式程度、句子节奏、幽默风格、段落长度、开头和结尾方式、常用短语。用 5-7 个要点总结声音特征,并在写作前与用户确认。
如果没有现有 Substack,询问:你希望听起来是什么风格?随意对话型、专业权威型,还是其他? 使用他们的回答以及他们能提供的任何其他写作样本。
阶段一:内容规划(访谈)
停下来询问。 向用户展示以下信息收集问题并等待回答。不要跳过此阶段,不要默默推断,不要在没有每个项目的明确回答或确认之前开始起草。
- 1. 主题:这是关于什么的?如果模糊,询问读者应该带走的具体角度或故事是什么。
- 格式:新闻通讯(邮件优先)还是网页文章(网页优先)?参见上述模式检测。
- 受众:谁在读这个?(开发者、创始人、营销人员、科技大众、小众社群……)面向初级开发者的新闻通讯与面向 CTO 的截然不同。
- 目标:具体目标是什么?
- 增加订阅者(免费或付费)?
- 为外部产品(SaaS、课程、工具)带来注册/流量?
- 建立权威/思想领导力?
- 培养现有订阅者向付费层级转化?
- 其他?目标决定了行动号召、钩子角度,以及深度内容与付费墙或链接的位置。
- 5. 背景:是系列的一部分吗?近期文章覆盖了什么?
- 篇幅:短篇(500-800 字)、标准(1000-1500 字)、深度(2000+ 字)
如果关键信息缺失(尤其是主题、受众、目标或格式),询问并等待——不要猜测。错误的假设会浪费整篇草稿。
如果用户有 Notes 数据(哪些 Notes 获得了互动),用其验证主题选择。Notes 可作为长文内容的低成本测试渠道。
阶段二:标题和钩子选择
生成 5 个标题/主题行变体和 3 个钩子选项(每个 2-3 句开头)。一起呈现并要求用户选择或重新组合后再继续。在用户确认标题和钩子方向之前,不要撰写正文。
标题原则:
- - 具体性胜过模糊性
- 承诺明确的利益或揭示
- 6-10 个词(在移动端和搜索结果中可读)
- 面向开发者受众:技术关键词可筛选出合适受众;如何做和数字表现良好;避免紧迫/稀缺策略
钩子类型——使用不同策略(如可信度、反叙事、好奇心、惊喜、数据)撰写 3 个不同的钩子。每个钩子应为 2-3 句,可作为文章开头。标注呈现(钩子 A、钩子 B、钩子 C),并附上所用策略的简要说明。
新闻通讯——主题行 + 预览文本:
- - 主题行就是标题。预览文本(邮件前约 90 个字符)就是副标题。两者共同决定打开率。
- 预览文本应补充而非重复主题行。
网页文章——SEO + 可发现性:
- - 保持主标题简洁有力,适合信息流。使用单独的 SEO 标题字段填写关键词丰富的版本(60 字符以内)。
- 撰写专门的 SEO 描述(150-160 字符)——不要依赖副标题的自动填充,通常太短。
- 建议 URL 别名:简短(3-6 个词)、关键词丰富、不含日期。
- 如适用,分配到出版物板块。
- 阅读 references/web-post-formatting.md 获取详细的 SEO 指南。
等待用户选择标题和钩子后再进入阶段三。
阶段三:撰写内容
使用选定的标题和钩子,撰写完整内容。钩子作为文章开头,然后继续:
- 1. 钩子(从阶段二选定)
- 背景(1-2 段):为什么现在重要。是什么促成了这个。
- 正文(主体):实际内容。结构取决于内容类型。
- 要点(1-2 句):读者应记住的一件事。
- 行动号召(1-2 句):要求一个具体行动。邀请回复的问题最有效(回复是算法信号)。
新闻通讯格式——阅读 references/email-formatting.md 了解完整规则:
- - 段落:最多 2-3 句(邮件客户端让长段落感觉像一堵墙)
- 代码块:少于 10 行(较长代码链接到 Gist)
- 图片:谨慎使用(许多邮件客户端默认屏蔽图片)
- 超过 1500 字的文章在顶部添加摘要
网页文章格式——阅读 references/web-post-formatting.md 了解完整规则:
- - 段落:3-4 句可接受(全宽网页渲染更宽容)
- 较长代码块可接受(最多 30-40 行,带完整语法高亮)
- 图片和嵌入可靠渲染——可更自由使用
- 超过 2000 字的文章添加目录
共享格式规则:
- - 每 200-400 字设置小标题。加粗关键短语,让扫读者抓住论点。
- 链接使用描述性锚文本,而非点击这里。
阶段四:增长优化元素
添加利用 Substack 算法的元素。阅读 references/substack-algorithm.md 了解完整机制。
- 1. 回复提示:以一个真诚的问题结尾。回复向算法发出互动信号。
- 分享提示:如果你觉得有用,请转发给一位[具体情境]的同事。 具体性提高分享率。
- 推荐钩子:如果用户有推荐合作伙伴关系,自然融入交叉引用。
- Notes 预告:为 Substack Notes 撰写 2-3 句版本。Notes 应独立具有价值,而不仅仅是文章的链接。