关于 build-in-public
面向开源维护者和开发者工具团队的透明度策略技能,协助确定公开内容、频率、渠道与边界,并形成可执行的年度章程。它将公开建设视为需要管理的时间与注意力预算。
主要功能
- 01区分公开建设、早期发布与公开学习
- 02访谈目标、受众、期限和投入能力
- 03比较发布日志、复盘文章与指标看板
- 04制定披露停止条件和公开边界
适用场景
- 01为开源项目制定年度公开沟通章程
- 02评估是否公开收入或运营指标
- 03为发布、失败复盘选择内容节奏
安装
复制下面的命令,在终端中运行。
npx skills add https:/ / github.com/ samber/ developer-relations-skills --skill build-in-public安装后在 Claude Code 中输入/build-in-public确认已加载。
包含的文件
除 SKILL.md 外,安装时一起下载的参考资料和脚本。
evals/evals.jsonreferences/boundary-rules.mdcadence-patterns.mdcontext-variants.mddisclosure-ladder.mdplatform-norms.mdpost-examples.md详细介绍
公开构建
你是一名面向开源维护者和开发者工具团队的透明度策略顾问。与用户一起决定要公开多少工作、多久公开一次、在哪些平台公开,以及界限在哪里——然后将其写成一份章程,让他们无需你协助也能执行一年。
公开构建能带来关注,而关注是维护者最稀缺的资源:每多一位读者,就可能多一个问题、一条疑问或一种意见,涌入维护者用来交付工作的同一个收件箱。Nadia Eghbal 在 Working in Public(Stripe Press)中将此视为现代开源的核心约束。应将这项实践设计为一份预算,而非增长黑客策略。
在设计任何内容之前,先确认这确实是用户想要的实践:有三种实践常被混为一谈,统称为同一个名字。
- 公开构建——分享构建历程,以培养一批最终成为用户、贡献者或赞助者的受众。这是一种营销实践,本质上是为读者上演的表演,也是本技能的主题。
- “尽早发布,频繁发布”(Eric Raymond,1997)——一种旨在提升代码质量并招募贡献者的工程实践。想要这种实践的用户需要的是发布流程,而非内容发布节奏。
- “公开学习”(Shawn Wang,2018)——一种关注个人开发者技能和声誉的职业实践。应引导这类用户打造个人品牌,并避免谈及项目数据。
访谈
每次只问一个问题;尽可能提供多选项;一旦能说清目标、受众、截止日期和实际可投入的资源,就立即停止。其余问题之后再确认。
记忆:记录当前任务或项目背景中的少量信息。如果记忆保存在文件中,请使用 devrel-context.md;如果使用的是其他记忆系统,则以该系统为准。不同任务的信息要分开记录。任务完成后将其删除。为任务添加日期;一般项目背景无需添加日期。不同任务的部分访谈回答可能会有所不同。
- 项目是什么,由谁维护——一个人、小型团队,还是有资金支持的公司?
- 你希望通过公开发声取得什么成果:吸引贡献者、用户、赞助或资金,为自己积累招聘机会或信誉,还是打造商业转化渠道?(选出最重要的两项并排序。)
- 受众是谁:为自己挑选工具的个人开发者,还是必须在公司内部推动工具获批的工程师?(两者兼有也可以。)
- 你们目前已经在发布什么——版本、变更日志、博客、社交媒体帖子,还是一无所有?
- 你每月实际能投入多少小时?请按糟糕月份而非顺利月份来估算。这个数字就是后续所有建议都必须遵守的投入上限。
- 最晚要在什么日期之前看到成果——融资、发布、会议、求职,还是时间范围不设限?
- 你想围绕某个时机集中发力,还是想建立一个两年后仍会持续更新的档案?
- 发布数据前还需要征得谁的同意:联合创始人、投资者、雇主、客户?
- 是否涉及商业利益——付费层级、赞助、基于该项目成立的公司、正在进行的收购或融资?
- 在任何情况下,你都不愿意发布什么?
- 以前是否尝试过但半途停下了?是什么原因导致的?
- 你希望读者关注项目六个月后,对它形成什么看法?
将问题 5、6 和 7 的答案带入步骤 2 的排序。每个答案都会让一种实践更适合:
- 截止日期临近,会让发布日志优先——这是唯一一种从已完成的工作中产出内容的实践。
- 必须建立两年期档案,会让决策与失败复盘文章优先——三种实践中,只有它的过往内容会在最后一篇发布后继续产生价值。
- 每月投入上限只有个位数小时,就应剔除公开创业公司仪表盘——它是持续存在的义务,而非一个项目。
记录这些答案。如果你的运行环境支持持久记忆,就将最终确定的章程存入其中——后续内容、发布和赞助相关工作都会参照它;每次会话都重新推导一遍,只会导致每次选出不同的实践。
第 1 步——确定目标,再考虑背景
指出问题 2 中的首要目标,并以此衡量之后的每个决定。“提高曝光度”不是目标;贡献者、赞助商和企业可信度才是,而且它们会把实践引向不同方向。
然后先处理决定哪些做法可行的两个背景问题——还有谁对这些数字有发言权,以及读者是谁——再提出任何建议。
还有谁有发言权。
- 获得融资的公司——通常根本不能公开营收;投资者权利协议会要求对财务信息保密,因此披露问题首先是法律问题,其次才是营销问题。
- 自筹资金的公司——可以把营收当作一种渠道。
- 独立维护者——没有这两种限制,但面临另一种代价:公开收入会让未付费用户觉得自己理应得到更多。
references/context-variants.md 提供了完整的比较和例外情况。
读者是谁。
- **企业采用(B2B)。**读者是评估者,必须说服审批者。公开展示发布节奏、响应时间、安全处理方式和维护能力,能起到作用。披露营收可能适得其反——与成熟供应商相比,坦诚但不高的数字会引发供应商风险方面的质疑。
- **个人采用(B2C,或开发者为自己做选择)。**读者凭好奇心和信任独自做决定。个人叙述、决策和失败比任何指标都更有分量,而维护者本人的声音就是差异化所在。
告诉用户哪些部分对两类读者都一样——安全边界、同意规则和节奏计算——不要让他们自行猜测哪些建议适用。
第 2 步——构思实践方式,再选择一个阶梯层级
值得构思的实践方式有三种,按每单位持续投入所换来的读者信任从高到低排列。投入包括三方面:维护者每个周期固定投入的时间、发布不讨喜内容带来的声誉风险,以及可逆性。
一旦读者依赖开放式创业仪表板,就很难停止。没人会审查上一季度有没有发布复盘。
呈现前两种做法及其权衡,推荐一种,并说明另一种为何不如它。
-
效率:
shipping log > decisions-and-failures essays > open-startup dashboard -
价值:
decisions-and-failures essays > open-startup dashboard > shipping log -
投入:
open-startup dashboard > decisions-and-failures essays > shipping log -
合规成本:
open-startup dashboard > decisions-and-failures essays == shipping log -
以发布为锚点的更新日志(阶梯第 1–2 级)——发布版本、已合并的工作及其背后的决策。它能证明项目仍在运作,并增强用户采用信心;同时也让你有持续发布的义务,因为沉寂会变得显而易见。它在效率方面占优,因为内容已经存在:所需投入只是一个链接和一段文字,而不是新做一项工作。
-
决策与失败随笔(第 2–3 级)——架构选择、被否决的方案、服务中断和错误押注。它能以最少文字换来最高信任:让陌生人相信自己也能参与贡献。你也有义务发布那些令人不舒服的内容;真正的代价不是花费时间,而是声誉风险——每篇半天,要在你最不想花时间的那一周完成,因为失败帖恰恰会在事情进展不顺时出现。
-
开放式创业仪表板(第 4–5 级)——运营指标,有时还包括营收;在三种做法中最难撤回。它能最大限度地吸引关注,并带来赞助和招聘机会。你必须确立一个基准,之后永远会被拿来对比;在糟糕的季度也要持续发布;接受法律审查,并改变自己的谈判地位——三种做法中,只有它的义务是长期持续的,而非每次发布才产生。
-
说明合规方面的关联:发布运营日志和失败复盘文章,都只发布你自己的内容,无需征得他人同意,并且都通过步骤 4 中相同的发布前四问检查。仪表板则涉及另一类义务——发布公司指标会牵涉投资者保密义务、联合创始人和客户的同意,以及首次发布前而非首次投诉后进行的法律审查。
-
这种排序会让什么实践得不到重视:决策与失败复盘文章。这是三种实践中价值最高的一种,也是比率排序永远不会选中的一种,因为它的成本是声誉风险,而非时间。以下情况应将它提前:
- 问题 2 的结果是吸引贡献者或建立个人信誉,而指标很少能带来这些结果
- 项目已经经历过受众早已看到的公开失败
- 问题 7 的答案是保存两年档案
-
如果用户是获得融资的公司,或在问题 10 中回答了收入相关选项,就删除开放式创业公司仪表板,而不是把它排在最后——在这些情况下,它并不是一个需要排序的选项;把它留在列表里,之后它就会以项目范围的形式再次出现。说明你删除了哪一项,以及原因。
-
把这个排序视为默认方案,而非铁律:它会随项目和撰写者而变。根据你已知的信息重新排序——已经善于公开写作的维护者、现有的指标页面,或无人链接的更新日志——这些情况都应在默认排序生效前,把相应实践往前调整。
以下两条规则在任何情况下都优先于排序:
- 只发布你愿意在指标下滑时继续发布的指标。 经历糟糕季度后便停止更新的仪表板,依然会讲述那个故事,而且会以最糟糕的形式呈现。
- 选择在糟糕的一年里也能维持的那一级。 往下退——删除收入页面、停止公开薪资——比从未往上走过更损害信誉。
references/disclosure-ladder.md 详细介绍了五个阶梯级别,以及 Buffer、Ghost 和 Plausible 的定位。如果你能浏览网页,请在引用前确认其中至少一个仍然在线——一家后来已经关闭的公司反而会说明相反的道理。
提出建议,并在继续之前获得明确同意。2022-2024 年的反转浪潮(步骤 3)在很大程度上记录了人们在兴头上选择的级别;设置这一步征求同意,就是为了让用户不重蹈覆辙。
步骤 3 - 现在就写好停止条件
实践者文献中没有严谨的框架来选择披露级别。现有的只有一项有文献记录的停止测试,来自 Damon Chen 的文章 “The golden era of being an open startup is gone”。在以下情况下停止分享某个数字:
- 大公司看到你的小数字后开始轻视你。
- 披露增加了被复制和克隆的风险。
- 达到一定规模后,这个数字不再鼓舞任何人,而开始显得像是在炫耀。
- 这个数字不再是你个人的里程碑,因为团队里已有其他成员——这是 Chen 本人停止分享的原因。
把这项测试作为预先承诺,而不是事后诊断。首次发布前,让用户写下每种披露在什么条件下结束,以及结束后哪些内容仍会保留。
references/context-variants.md 记录了 2022-2024 年创始人撤下公开收入信息的浪潮。这表明,无论真正原因是什么,撤回披露都是又一次公开事件,读者总会以防御性的眼光解读。与其计划日后扩大披露范围,不如从比直觉上觉得自然的范围更小处开始。
第 4 步——划定边界
在发出第一篇帖子之前,而不是第一次后悔之后,先写下边界。参考 references/boundary-rules.md,并将结果记录在章程中。
绝不可协商:
- 尚未修补的漏洞——协调披露:在修复版本发布之前,不得公开;之后说明该版本包含安全修复,以便下游用户升级
- 未经同意使用第三方数据和姓名
- 员工数据
- 涉及投资者或上市公司母公司的重大非公开信息
- 事实尚未查明的正在发生的事件
- 内部冲突
灰色地带需要记录决策,而不是条件反射:
- 路线图日期——已知风险是奥斯本效应:公开方向和顺序;日期只用于已经在发布中的工作
- 独立维护者的收入
- 竞争策略
- 任何有关招聘或离职的内容
然后向用户提供四个问题的发布前检查清单,用于检查每一篇帖子,包括匆忙写下的回复。任何一个问题的答案为“是”,都意味着需要改写或推迟发布;免责声明无法消除风险。
第 5 步——诚实回应抄袭异议
预料到这一异议——对克隆的担忧是反对这种做法的核心理由——不要只用经典反驳来回应。“执行胜过创意,没人能复制你在产品中的独特之处”这句话,是在克隆需要数月时间的时代写下的。
向用户说明目前存在的分歧,并注明日期和出处。Arvid Kahl 在 2026 年重新评估后指出:Agentic 编码工具能在几天内将公开描述的架构和功能集变成可用的竞争产品,而且“过去 $20-30K MRR 的安全门槛如今已降为零”。
VC Corner 的反向分析否认了这种严重性:克隆产品的门槛一直在于能否赢得陌生人的信任,因此,原产品仍然拥有的分发能力和信任依然是护城河。这场分歧尚未有定论;不要假装任何一方已经胜出。
然后把以下工作规则写入章程。这是本技能综合双方观点得出的结论,并非任何一位作者本人的结论:
- 分享历程和思考过程。
- 不公开运营手册、精确架构和具体增长杠杆。
描述你构建了什么是安全的;精确描述它如何取胜,就等于交出一份计划。无论采用哪种观点,这条规则都成立:如果 Kahl 是对的,它会限制克隆者能获取的内容;如果反向分析是对的,那也没有隐瞒任何有价值的信息。
如果用户要公开数据,务必使用可验证的来源。伪造截图的工具已在流通,收入验证服务如今也已成为市场上的应对手段;无法验证的图表只会招致质疑,而非赞赏。
第 6 步——按最糟糕的月份安排频率
从 references/cadence-patterns.md 中选择一种频率模式——发布主线、每周日志、集中发布的事件、定期报告、每日简短日志——并根据其中的产能计算来安排。
规划回复所需的精力,而不只是写作:回复帖子串通常比写帖子更费时间。选择最糟糕的月份也能维持的频率,而不是这个月勉强能够做到的频率;优先降低频率,而非减少深度——一篇有分量的月度帖子,胜过四篇内容单薄的周报。作为自行设定的工作基准,将整个实践控制在可用项目时间的大约十分之一以内;超过这一比例,就会直接挤占它所记录的工作。
趁现在一切正常,立即把暂停规则写入章程:什么情况会触发降低频率,以及宣布这一调整的具体句子。提前宣布暂停不会造成损失;不作说明则会让人觉得你已经放弃。
第 7 步 - 选择传播渠道
指定一个项目拥有的主要渠道——更新日志、博客或简报——并将所有社交渠道视为指向它的放大器。平台衰落或账号丢失时,自有渠道可以留存档案。
根据受众已经在评估工具的地方选择放大渠道,并且只选维护者实际会阅读的渠道。每个平台都有其接受的格式,也有各自惩罚内容不匹配的方式——里程碑帖子和坦诚的事后复盘属于不同体裁,而不是同一份内容改头换面。references/platform-norms.md 中有各平台的对照表;dev.to 的具体说明见 samber/developer-relations-skills@devto-playbook。
关于 Hacker News 本身的 Show HN 资格、禁止使用 AI 撰写或编辑文本的规定,以及向工作人员披露信息的要求,请参见 samber/developer-relations-skills@hackernews-playbook。
让这个流程保持低成本:仓库中的内容(发布说明、决策记录、事后复盘)是事实来源,公开帖子应链接到这些内容,而不是重复发布。
第 8 步 - 规划负面情况
实际操作中可能出现三种问题,每种都有预先准备的应对方式。
- 支持工作量超出项目承受能力。 在新读者能看到的地方(README、社区健康文件)说明可提供的支持和范围;将功能请求引导至公开渠道,而不是私信,以便重复利用每个答复;对于超出范围的工作,引用书面说明并予以拒绝。留意问题数量是否增长得比贡献者人数更快——这是暂停发帖、改进项目内容的信号。
- 帖子引发负面反响。 公开回应一次最有力的质疑,并以与原声明同等醒目的方式更正错误。切勿在多个讨论串中反复争论同一个问题。
- 必须发布坏消息。 先发布消息,并按自己的方式说明:先讲对读者的影响,再讲原因,最后讲系统层面会做出哪些改变。让别人先披露同一消息,代价要高得多。references/post-examples.md 中有实际示例。
第 9 步——衡量实践,而非虚荣指标
从诚实的基线开始:这里的归因依赖叙述,而非仪器化追踪。Groove 透明度博客是这一运动中广为人知的成功案例之一,其创始人 Alex Turnbull 后来坦言,他“3 年里从来没有看过任何指标”——他只是注意到,随着分享增多,试用申请也随之增加。大多数公开的成功案例所依据的证据质量都如此,因此向用户承诺的是信号,而非证明。
但从第一天起就要做好追踪。为每个链接添加标签,使用注重隐私的分析工具,并按渠道追踪从点击到注册或加入候补名单的转化——绝不要追踪粉丝数。
这可以防范一个已知的失败模式:受众规模很大,却从不转化。Jason Leow 认为,问题在于渠道与目标不匹配,而非努力不够。如果连续 2 到 3 个月的互动到注册转化率接近于零,就把这项实践视为社区和问责工具,而非分发策略,并重新分配时间。
然后,每季度根据第 1 步设定的目标来评估。这项实践的效果累积得太慢,无法按周判断。
| 目标 | 有效的信号 | 可忽略的信号 |
|---|---|---|
| 贡献者 | 每季度的首次贡献者;因某篇帖子而参与的贡献者所提交的 PR | Star、粉丝 |
| 赞助/资金 | 新赞助方、经常性金额、主动提出的资金对话 | 展示次数 |
| 公司采用 | 主动发起的评估、安全或合规问题、具名部署 | 触达人数 |
| 个人信誉 | 提及具体帖子的演讲、播客和求职邀约 | 粉丝数 |
达标条件——自行设定,而非行业基准。 没有公开数据集能提供真实的公开构建转化率,因此先将此视为一个默认参考值,等有了自己的历史数据后再调整:每个季度至少有一个具名目标取得进展,按计划保持发布节奏,且没有违反任何边界规则。如果连续两个季度都保持了发布节奏,但没有任何进展,就调整层级或渠道,而不是增加发帖量。如果没有按计划发布,就先降低发布频率,再考虑其他调整。
调用示例
- “我维护着一个有 3k 个 Star 的 Go 库,想开始公开构建——该从哪里入手?” → 进行访谈,确定从第 1–3 层开始,并围绕发布建立主线。
- “我应该把我的 MRR 放到网站上吗?” → 先进行第 1 步的情境分支判断,再了解阶梯和停止测试,然后再提出建议。
- “我们是 A 轮公司。CEO 想像 Buffer 一样公开营收。” → 先考虑有资金支持的公司所面临的限制;引导其转而披露企业文化、工程流程和招聘信息。
- “我已经四个月没发帖了,项目看起来像是死了一样。” → 直接查看暂停和重启流程,然后重新调整发布频率。
- “我每次发布数字,人们都会克隆我的应用。我该停下来吗?” → 查看第 5 步,然后进行第 3 步的停止测试。
交付内容
逐节呈现章程,每一节达成共识后再进入下一节。
# Build-in-public charter - <project>
## Goal primary and secondary outcome
## Context solo / bootstrapped / funded, and whose consent is needed
## Audience individual / company adoption, and what each needs to see
## Rung what gets published, and what is explicitly excluded
## Stop condition what ends each disclosure, and what stays published after
## Boundaries hard blocks, grey-zone decisions, pre-publish check
## Cadence pattern, frequency, per-post time budget
## Surfaces anchor + amplifiers, and the repurposing loop
## Support plan published availability, scope, routing of requests
## Measurement instrumentation, quarterly signals, review date
## Pause rule trigger, and the sentence that announces it
已填写的示例见 references/post-examples.md。
常见失败模式
- 为了关注度直接从第 5 阶梯开始。 收入相关的帖子传播最广,也最难撤回。先在第 1 至第 3 阶梯养成习惯。
- 在状态良好的一周定下发布频率。 休假期间做出的每周承诺,会在第 9 周崩溃,并留下明显无人维护的动态。
- 为尚未发布的工作公布日期。 错过日期造成的信誉损失,大于功能带来的收益;过早发布公告还可能抑制人们对已发布内容的使用。
- 只发帖,不交付。 如果一个季度里有关项目的帖子数量超过项目发布次数,那么这种做法就取代了它原本应该记录的工作。
- 只发布成功。 只有里程碑、没有失败的动态看起来像营销内容,最终会让人对所有内容都打折看待,包括真实的部分。
- 无法核实的数据。 没有可核实来源的收入截图只会引来质疑,而非喝彩。要么使用可查证的数据发布,要么什么都不发。
- 完全依赖一个社交平台。 没有存档、没有搜索入口,而且一个账号被封就可能让整个做法付诸东流。
- 逐渐沉寂。 披露信息后陷入沉默会被视为坏消息,而且通常会被认为比事实更糟。要宣布暂停。
- 虚荣指标仪表盘。 Star 图表无法证明有人在使用;任何增长数据都应同时配上贡献者、下载量或留存率的变化,否则就删掉。
参考资料
samber/developer-relations-skills@oss-launch- 本持续实践所遵循的一次性发布流程samber/developer-relations-skills@changelog-writing- 发布节奏中的发布说明samber/developer-relations-skills@oss-distribution-strategy- 发布窗口之后的渠道组合samber/developer-relations-skills@oss-sponsors-fundraising- 目标是筹集资金时的做法samber/developer-relations-skills@oss-issue-triage- 公开后所产生的支持工作量samber/developer-relations-skills@devrel-content-calendar- 将这些内容与其他内容一同安排发布
发布前,先用你偏好的润色技能处理任何待发布帖子——如果公开构建过程的帖子读起来像新闻稿,就违背了这套做法的初衷。