Technical Article Writer
Write technical articles that developers actually want to read. This skill combines structural frameworks from technical writing, hook engineering from copywriting, and practitioner-tested patterns for developer content.
Core philosophy
Most technical articles fail because of structural problems, not bad ideas: burying the lede, mixing content types, weak openings, no clear motivation, or trying to cover too much.
Developer audiences have a built-in BS detector. The best technical content leads with specificity and honesty. It sounds like a smart colleague explaining something interesting, not a marketer pitching. Acknowledge your expertise level, solve a specific problem, use real examples.
Workflow
Follow these phases in order. Each phase produces a concrete artifact the user reviews before moving on. 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 1: Idea sharpening (interview)
Stop and ask. Before writing anything, 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. Ask the user (or extract from context and confirm):
- 1. Topic: What specific thing are you writing about?
- Objective: What's the concrete goal? Ask the user explicitly:
- Grow subscribers / build an audience?
- Drive signups or traffic to a product (SaaS, course, tool)?
- Establish authority / thought leadership in a niche?
- Something else? The objective shapes the CTA, how much you give away vs. tease, and where links and conversion points sit.
- 3. Audience: Who reads this? (junior devs, senior engineers, CTOs, general tech, DBA, frontend developer...)
- Content type: Which pattern fits? (see
references/article-structures.md for full templates)
- The Bug Hunt / We Rewrote It in X / How We Built It / Lessons Learned
- Thoughts on Trends / Benchmark / Tutorial / Explainer
- 5. Length target: Short (800-1200), Medium (1500-2500), Long (3000+)
- One-sentence thesis: The single claim or takeaway. If the user can't state this, help them.
If the user already provided most of this, extract from conversation and confirm. But if critical pieces are missing, stop and ask before proceeding. Don't guess at the audience, content type, or thesis. A wrong assumption here wastes an entire draft.
Specifically:
- - If the topic is vague ("write about Java performance"), ask what specific aspect and what the reader should walk away knowing.
- If the audience is unclear, ask. A post for junior devs has a completely different structure than one for senior engineers.
- If you can't infer a thesis, ask the user: "What's the one thing you want the reader to remember?" If they can't answer, help them find it through questions about what surprised them, what they'd tell a colleague, or what they wish they'd known earlier.
- If the content type is ambiguous (could be a tutorial or an explainer), ask which experience the reader should have: following along hands-on, or building a mental model.
Only proceed to Phase 2 once you have enough clarity on topic, audience, content type, and thesis to write a coherent outline. It's cheaper to ask one question now than to rewrite 2000 words later.
Idea quality filters. Apply these before investing in a draft:
Julia Evans's heuristic: the best technical content comes from what you struggled with, not what you mastered. If the topic feels too "textbook", push toward the specific struggle, surprise, or counterintuitive finding.
Julian Shapiro's novelty filter. The idea should fit at least one:
- - Counter-intuitive: "I never realized the world worked that way"
- Counter-narrative: "That's not how I was told it worked"
- Shock and awe: "I had no idea that was possible"
- Elegant articulation: "I always felt that way but couldn't put it into words"
- Makes you feel seen: "Finally someone gets my experience"
If the idea doesn't pass any filter, say so. Help the user find the angle that does.
Phase 2: Title generation
Generate 10 title variants using different hook strategies. Read references/hooks-and-titles.md for the full framework of 10 hook types and headline formulas.
Constraints for developer audiences:
- - 7-12 words optimal for LinkedIn/B2B sharing
- Specificity over cleverness ("How to profile Go allocations with pprof" > "Mastering Go Performance")
- Numbers and data signal rigor
- Avoid superlatives ("ultimate", "complete", "everything you need")
- Technical keywords attract the right audience
- Cognitive dissonance creates curiosity without clickbait
Present 10 titles ranked by assessment, with a brief note on why each works. Let the user pick or remix.
Phase 3: Hook and intro
Write the opening 2-4 paragraphs. Read references/hooks-and-titles.md for the ten hook types.
The intro must accomplish three things:
- 1. Hook (1-2 sentences): Create a reason to keep reading. Best for technical content: Credibility, Counter-narrative, Curiosity, or Surprise hooks.
- Stakes (1-2 sentences): Why should the reader care? What's the cost of not knowing this?
- Promise (1 sentence): What will the reader gain by the end?
Address three reader objections:
- - Untrustworthy: Why should I listen to you? (credibility hook or specific experience)
- Irrelevant: Why does this matter to me? (stakes)
- Implausible: Will this actually deliver? (promise + specificity)
Anti-patterns to avoid:
- - Starting with a dictionary definition
- "In today's fast-paced world..."
- "Have you ever wondered..."
- Burying the interesting part after 3 paragraphs of context
- Explaining what the article will cover instead of demonstrating value
Phase 4: Body structure
Choose structure based on content type. Read references/article-structures.md for detailed templates per content type.
General structural principles:
- - One idea per section. If a section does two things, split it.
- Show, then tell. Lead with the example, code snippet, or observation. Then explain.
- Progressive disclosure. Start with the simplest version, then add complexity.
- Every section earns the next. Each section should create enough momentum to pull the reader forward. If a section could be skipped, cut it.
For code-heavy articles:
- - Snippets < 20 lines, focused on one concept
- Always show "before" (problem) and "after" (solution)
- Annotate non-obvious lines
- Link to repo for full code, show only the interesting parts inline
For opinion/analysis:
- - Steelman the opposing view before arguing against it
- Concrete examples, not abstract reasoning
- Quantify claims ("2x faster" not "much faster")
Phase 5: Draft the full article
Write the complete article. Interleave hook, body sections, and conclusion.
For the conclusion, avoid restating the article. Instead pick one of:
- - Implication: What does this mean for the reader's work going forward?
- Open question: What's still unresolved or worth exploring?
- Call to action: What should the reader do next?
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. Developer audiences have a built-in BS detector; AI-sounding prose kills trust before the reader reaches the technical content.
Preserve the hook and title. The opening hook (Phase 3) and title (Phase 2) were deliberately engineered for curiosity and credibility. Instruct the humanizer to leave them intact — rewriting them for "naturalness" destroys the copywriting structure that earns the click and the first scroll.
Phase 6: Image suggestions
After the draft is complete, suggest 1-3 images with specific placement in the article. For each image, provide:
- - Placement: Where in the article (e.g. "as the hero/cover image", "after the intro", "between section X and Y")
- Purpose: What the image adds (break up a long text section, illustrate a concept, set the tone, visualize data)
- Description: What the image should depict
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 hero/cover images and wide illustrations (optimal for article headers), --ar 3:2 for smaller inline images. Refer to up-to-date Midjourney documentation for current prompt syntax and parameters.
Phase 7: Title finalization
Revisit titles from Phase 2. Now that the full piece exists, some titles fit better. Present top 3 with a recommendation.
Output format
Present the article in clean markdown with:
- - The chosen title as H1
- A subtitle or meta-description (1 sentence)
- The full article body
- Image suggestions with placement notes (and Midjourney prompts if accepted)
- A "Title alternatives" section at the end with 2-3 runner-up titles
- A social teaser (only if the user accepted — offer after the draft, don't auto-generate)
Reference files
Read these when the corresponding phase needs more depth:
- -
references/hooks-and-titles.md -- The 10 hook types, 6 copywriting frameworks (PAS, AIDA, BAB, FAB, PASTOR, 4Us), headline formulas, and research data. Read during Phase 2 and Phase 3. - INLINECODE8 -- Detailed templates for each of the 8 content types, Diataxis framework, structural anti-patterns, and transition techniques. Read during Phase 4.
技术文章撰写
撰写开发者真正愿意阅读的技术文章。这项技能融合了技术写作的结构框架、文案写作的钩子工程,以及经过实践检验的开发者内容创作模式。
核心理念
大多数技术文章的失败源于结构问题,而非创意不佳:埋没核心信息、混合内容类型、开头薄弱、缺乏明确动机,或试图涵盖过多内容。
开发者群体自带废话探测器。优秀的技术内容以具体性和诚实性为先导。它听起来像一位聪明的同事在解释有趣的事情,而不是营销人员在推销。承认自己的专业水平,解决具体问题,使用真实案例。
工作流程
按顺序执行以下阶段。每个阶段都会产出具体的成果,供用户在进入下一阶段前审阅。第一阶段是强制性的——在撰写任何内容之前,务必先向用户提出信息收集问题并等待回答。 如果用户已提供部分背景信息,提取可用信息,仅询问缺失的部分。
第一阶段:观点打磨(访谈)
停下来提问。 在撰写任何内容之前,将以下信息收集问题呈现给用户,并等待他们的回答。不要跳过此阶段,不要自行推断,在获得每个项目的明确回答或确认之前,不要开始起草。向用户提问(或从上下文中提取并确认):
- 1. 主题:你要写什么具体内容?
- 目标:具体目标是什么?明确询问用户:
* 增加订阅者/建立受众?
* 为产品(SaaS、课程、工具)带来注册或流量?
* 在特定领域建立权威/思想领导力?
* 其他?目标决定了行动号召、内容透露与保留的程度,以及链接和转化点的位置。
- 3. 受众:谁阅读这篇文章?(初级开发者、高级工程师、CTO、普通技术人员、DBA、前端开发者……)
- 内容类型:哪种模式适合?(完整模板请参见 references/article-structures.md)
* 缺陷排查 / 我们用X重写了它 / 我们如何构建它 / 经验教训
* 趋势思考 / 基准测试 / 教程 / 解释性文章
- 5. 篇幅目标:短篇(800-1200字)、中篇(1500-2500字)、长篇(3000+字)
- 一句话论点:核心主张或要点。如果用户无法陈述,请帮助他们。
如果用户已提供大部分信息,从对话中提取并确认。但如果关键部分缺失,在继续之前停下来提问。不要猜测受众、内容类型或论点。这里的一个错误假设会浪费整篇草稿。
具体来说:
- * 如果主题模糊(写写Java性能),询问具体是哪个方面,以及读者应该从中获得什么。
- 如果受众不明确,请提问。面向初级开发者的文章与面向高级工程师的文章结构完全不同。
- 如果你无法推断出论点,请询问用户:你希望读者记住的一件事是什么? 如果他们无法回答,通过询问他们感到惊讶的事情、他们会告诉同事的事情,或他们希望自己早点知道的事情来帮助他们找到论点。
- 如果内容类型不明确(可能是教程或解释性文章),询问读者应该获得哪种体验:动手实践,还是建立心智模型。
只有在主题、受众、内容类型和论点足够清晰,能够写出连贯大纲后,才能进入第二阶段。现在问一个问题,比以后重写2000字要划算。
观点质量过滤器。 在投入草稿之前应用这些过滤器:
Julia Evans的启发:最好的技术内容来自你曾经挣扎过的事情,而不是你精通的事情。如果主题感觉太教科书式,请转向具体的挣扎、惊喜或反直觉的发现。
Julian Shapiro的新颖性过滤器。观点应至少符合其中一项:
- * 反直觉:我从没意识到世界是这样运作的
- 反叙事:我被告知的不是这样
- 震撼与敬畏:我不知道这竟然可能
- 优雅阐述:我一直有这种感觉,但无法用语言表达
- 让你感到被理解:终于有人懂我的经历
如果观点不符合任何过滤器,请如实告知。帮助用户找到符合的角度。
第二阶段:标题生成
使用不同的钩子策略生成10个标题变体。阅读 references/hooks-and-titles.md 以获取完整的10种钩子类型和标题公式框架。
面向开发者受众的约束条件:
- * 7-12个单词最适合LinkedIn/B2B分享
- 具体性优于巧妙性(如何使用pprof分析Go内存分配 > 掌握Go性能)
- 数字和数据体现严谨性
- 避免最高级词汇(终极、完整、你需要的一切)
- 技术关键词吸引正确的受众
- 认知失调在不使用标题党的情况下引发好奇心
按评估排序呈现10个标题,并简要说明每个标题为何有效。让用户选择或重新组合。
第三阶段:钩子和引言
撰写开头的2-4个段落。阅读 references/hooks-and-titles.md 以了解十种钩子类型。
引言必须完成三件事:
- 1. 钩子(1-2句):创造继续阅读的理由。最适合技术内容的钩子:可信度、反叙事、好奇心或惊喜钩子。
- 利害关系(1-2句):读者为什么要在乎?不知道这个的代价是什么?
- 承诺(1句):读者最终会获得什么?
解决读者的三个异议:
- * 不可信:我为什么要听你的?(可信度钩子或具体经验)
- 不相关:这对我有什么意义?(利害关系)
- 不可信:这真的能实现吗?(承诺 + 具体性)
需要避免的反模式:
- * 以字典定义开头
- 在当今快节奏的世界里……
- 你是否曾想过……
- 在3段背景信息之后才埋下有趣的部分
- 解释文章将涵盖什么,而不是展示价值
第四阶段:正文结构
根据内容类型选择结构。阅读 references/article-structures.md 以获取每种内容类型的详细模板。
通用结构原则:
- * 每节一个观点。 如果一节做两件事,就拆分它。
- 先展示,后讲述。 以示例、代码片段或观察结果开头。然后解释。
- 渐进式披露。 从最简单的版本开始,然后增加复杂性。
- 每节都为下一节铺垫。 每节都应产生足够的动力来推动读者前进。如果一节可以被跳过,就删掉它。
对于代码密集型文章:
- * 代码片段少于20行,专注于一个概念
- 始终展示之前(问题)和之后(解决方案)
- 注释非显而易见的行
- 链接到仓库获取完整代码,内联仅展示有趣的部分
对于观点/分析类文章:
- * 在反驳之前,先以最有力的形式呈现反对观点
- 使用具体示例,而非抽象推理
- 量化声明(快2倍而非快很多)
第五阶段:撰写完整文章
撰写完整的文章。将钩子、正文部分和结论交织在一起。
对于结论,避免重述文章。而是选择以下之一:
- * 启示:这对读者未来的工作意味着什么?
- 开放性问题:还有什么未解决或值得探索的?
- 行动号召:读者下一步应该做什么?
第五阶段b:人性化处理
调用一个人性化处理技能(例如人性化、人性化处理、去模板化、自然写作检查、AI检测清理、像人类一样重写)来去除AI生成的模式——填充词、可预测的节奏、过度谨慎、空洞的过渡、夸张的语言。开发者群体自带废话探测器;听起来像AI的散文在读者接触到技术内容之前就破坏了信任。
保留钩子和标题。 开头的钩子(第三阶段)和标题(第二阶段)是经过精心设计以引发好奇心和可信度的。指示人性化处理技能保持它们不变——为了自然而重写它们会破坏赢得点击和首次滚动的文案结构。
第六阶段:图片建议
草稿完成后,建议1-3张图片,并指明在文章中的具体位置。为每张图片提供:
- * 位置:在文章中的位置(例如作为主图/封面图、引言之后、在X节和Y节之间)
- 目的:图片的作用(打断长文本段落、说明概念、设定基调、可视化数据)
- 描述:图片应描绘的内容
主动提出为每张建议的图片生成Midjourney提示词。如果用户接受,使用最新的Midjourney模型规范编写提示词。主图/封面图和宽幅插图(最适合文章标题)使用 --ar 16:9 或 --ar 3:1,较小的内联图片使用 --ar 3:2。参考最新的Midjourney文档以了解当前的提示词语法和参数。
第七阶段:标题定稿
重新审视第二阶段的标题。现在完整的文章已经存在,一些标题会更合适。呈现前3个并附上推荐。
输出格式
以清晰的Markdown格式呈现文章,包含:
*