mcpField
W
write-tbp

write-tbp

github.com/tldraw营销与增长51.1k165 次安装今天更新
代码仓库

关于 write-tbp

用于研究并撰写 tldraw 实现细节技术博客的技能。它帮助贡献者从代码中提炼问题与关键思路,形成结构清晰、供编辑审阅的朴实草稿。

主要功能

  1. 01调研实现及相关代码
  2. 02梳理问题与关键思路
  3. 03撰写结构化技术文章
  4. 04检查清晰度、具体性与篇幅

适用场景

  1. 01解释 tldraw 的某项实现
  2. 02将代码调研整理为文章草稿
  3. 03准备供编辑审阅的技术内容

安装

复制下面的命令,在终端中运行。

$npx skills add https://github.com/tldraw/tldraw --skill write-tbp

安装后在 Claude Code 中输入/write-tbp确认已加载。

附带文件assets/.gitignore

详细介绍

撰写技术博客文章

本技能介绍如何撰写关于 tldraw 实现细节的技术博客文章。

流程

1. 创建工作区

在本技能目录中为该主题创建一个 assets 文件夹:

assets/<topic>/
├── research.md   # Gathered context and notes
└── draft.md      # The blog post draft

使用简短、kebab-case 形式的主题名称(例如 scribbles、arrow-routing、dash-patterns)。

2. 研究主题

使用 Explore 子 Agent 收集所有相关信息:

Task (subagent_type: Explore, thoroughness: very thorough)

Find all code, documentation, and context related to [TOPIC] in the tldraw codebase.

Look for:
- Implementation files in packages/editor and packages/tldraw
- Type definitions in packages/tlschema
- Related examples in apps/examples
- Any existing documentation in apps/docs/content
- Tests that reveal behavior
- Comments explaining why things work the way they do

For each relevant file, note:
- What it does
- Key functions/classes
- Interesting implementation details
- Any "why" comments or non-obvious decisions

Output a comprehensive summary of how [TOPIC] works. This document will be read by another agent. No need to over-optimize for human readability.

将研究输出保存到 assets/<topic>/research.md。

3. 找出有趣的角度

在写作之前,根据研究回答以下问题:

  • 这解决了什么问题? 不是 "它做了什么",而是 "如果没有它,会出什么问题?"
  • 有什么令人惊讶或反直觉的地方? 那个行不通的显而易见的方法,或者隐藏的复杂性。
  • 关键洞察是什么? 让解决方案奏效的那个 "啊哈" 时刻。
  • 我们最初尝试了什么? 代码或注释中可见的任何历程或迭代。

如果你找不到有趣的角度,这个主题可能不适合写成技术博客文章。

4. 撰写草稿

按照 blog-guide 的结构创建 assets/<topic>/draft.md:

  1. 陈述问题 — 系统做什么,以及如果没有它会出什么问题
  2. 展示洞察 — 让它奏效的关键思路
  3. 逐步讲解实现 — 代码与解释,逐步增加复杂度
  4. 收尾 — 它位于何处、权衡取舍、相关文件的链接

目标为 800-1500 字。

平实地撰写

草稿是供人类编辑使用的原材料,而不是成稿。保持它干净,让内容本身来支撑。编辑会在他们希望的地方加入个性、轶事和冲击力;在一个平实、正确的草稿上做这些,比从一篇过度修饰的稿子中删减要容易得多。

具体来说:

  • 开篇直接说明系统做什么以及本文涵盖什么。不要用场景、轶事或假设的用户("你的火车驶入隧道……")开头。这些读起来像 AI 填充内容,编辑会删掉它们。
  • 从机制出发构建故事:每个部分解决什么问题,按照各部分相互依赖的顺序。张力来自设计(一次扫描看不到删除;修剪器过去会留下一个空洞),而不是来自文字。
  • 平实地陈述历程和 bug。"修剪器的早期版本没有推进水位线,因此过期的客户端收到了不含删除的 diff" 就够了。跳过 "我们是吃了苦头才学到这一点" 之类的叙述。
  • 不要金句、不要回文对偶、不要结尾的妙语。如果一句话的存在是为了好听而不是为了表达内容,就删掉它。
  • 每段最多一个破折号;通常为零。
  • 把观点留在收尾部分,并保持简短、具体("我们接受让离开时间足够长的客户端进行完整重新下载,以换取有界的元数据")。
  • 在属于人类创作的部分(开篇、来龙去脉、权衡取舍),让段落保持平实,而不是编造色彩。在你的交接说明中指出这些位置。
5. 自我评估

对照 blog-guide 检查清单检查草稿:

  • 开篇 — 是否在给出解决方案之前平实地陈述了问题,而没有编排的轶事?
  • 洞察 — 是否有一个清晰的关键思路,结构是否朝着它构建?
  • 具体性 — 是否扎根于 tldraw 的实际实现?
  • 代码 — 示例是否有助于理解,而不只是展示语法?
  • 语气 — 平实而直接?没有煽情、没有妙语,没有任何编辑会认作 AI 垃圾的东西?
  • 链接 — 是否指向仓库中的实际代码?
  • 长度 — 深度是否与主题相称?

修改草稿以弥补任何不足。

6. 输出

将最终草稿呈现给用户审阅,并指出人类编辑最可能想要添加色彩的地方(通常是开篇、任何来龙去脉或 bug 故事,以及权衡取舍)。草稿保留在 assets/<topic>/draft.md 中,直到用户满意,届时他们可以将其移动到合适的位置。

参考资料

  • 风格指南:有关语气、语调和结构,请参阅 ../shared/blog-guide.md。
  • 写作指南:有关通用写作规范,请参阅 ../../VOICE.md。

评论

支持 Markdown