博客调研
简报是博文与可核查断言之间的分水岭。博客中的每一个价格、每一句引用的抱怨、每一个“大多数工具止步于60帧”的说法,都是对某竞品产品的断言,而错误的断言会使页面上所有正确的断言都失去可信度。此技能负责生成供撰稿人使用的核查清单,仅此而已:它不撰写博文。
Prequel 的事实并非来自网络,而是来自代码仓库,下文中第一节说明了具体位置。搜索“Prequel screen recorder”找到的可能是过时的评测或另一个同名产品。
文件位置
| 路径 | 说明 |
|---|---|
.context/research/<slug>.md | 简报。已加入gitignore;仅为脚手架,不会发布。 |
apps/web/src/content/competitors.ts | 已确认的六个产品页面的价格和功能 |
.claude/skills/comparison-posts/assets/quotes.json | 已收录的所有Reddit引文 |
apps/web/src/content/posts.ts | 博客已覆盖的内容 |
简报不会被提交到版本控制,因为博文本身携带自己的证据:表格中带有检查日期的价格、引文处链接的Reddit帖子,以及任何需要比博文更持久的信息都会被移入competitors.ts或quotes.json。提交的简报在价格第一次变动且无人更新时就会过时,随后便成为与页面内容矛盾的第二个事实来源。
第一阶段:主题地图
在搜索任何内容之前,先写下博文是什么并加以确认。在回复中写出三行内容:
-
它要回答的搜索查询。“mac无水印录屏”、“mac录制系统音频”。博文是为这个查询而构建的,它决定了slug、定义性问题以及FAQ。
-
文章类型。综述文章转向
[[comparison-posts]];“最佳<竞品>替代品”文章转向[[alternatives-posts]];操作指南、解释性文章或支柱文章转向[[guide-posts]]。它们需要不同的调研:综述需要十款工具的价格,指南则需要macOS的事实和用户抱怨。 -
定义性问题。每篇博文都以
## 什么是<事物>?开头,该问题必须在博客中唯一。在提出新问题前,先grep现有文章:grep -h "^## What is\|^## How do you" apps/web/src/content/blog/*.mdx
然后是它所属的支柱类别,来自posts.ts。当前有三个支柱类别:screen-recording-on-mac、product-demo-videos、screen-recording-for-youtube。没有支柱类别的博文本身就是一个支柱,这需要由用户决定,而不是简报。
呈现以上内容并等待确认。在错误类型上进行调研等于浪费一个小时。
第二阶段:Prequel自身事实(来自仓库)
在访问网络之前先阅读这些内容,以便让简报将竞品与Prequel实际提供的功能进行对比,而非与搜索引擎记住的内容对比:
| 事实 | 来源 |
|---|---|
| 分辨率、帧率、编码、输出格式 | apps/web/src/components/landing/LandingBody.tsx中的SPECS |
| 自动第一遍处理的功能 | 同一文件中的ALREADY_DONE。除此之外没有任何操作是自动的。 |
| 价格、试用时长 | apps/web/src/lib/pricing.ts,绝不依赖记忆中的数字 |
| 产品常见问题解答 | apps/web/src/lib/faq.ts |
| 功能行及我们声称的内容 | competitors.ts中的FEATURE_ROWS |
| 系统要求 | Apple Silicon、macOS 14或更高版本、录屏权限 |
来自[[no-dead-air-claim]]和[[site-copy]]的两条规则同样适用于简报和博文本身。Prequel不剪切、修剪或删除静音;剪切是在时间轴上手动完成的。简报中不得将任何内容列为Prequel的缺点:若某竞品确实在某方面胜过Prequel,简报中记录该信息,让撰稿人知道不要提及此话题,并标记为请勿撰写。
第三阶段:搜索流
Firecrawl是搜索工具。firecrawl_search返回标题、摘要和URL;firecrawl_scrape将页面抓取为Markdown;firecrawl_map列出站点页面(当某个厂商将定价隐藏在三次点击之后时使用)。根据文章类型运行所需的搜索流:当需要覆盖的工具超过三个时,以子代理形式并行运行,否则内联运行。
搜索流1,厂商事实。 对于博文中提到的每个工具:抓取并阅读其官方定价页。记录每个套餐及其计费周期,因为仅引用月度价格而不提年度价格是比对中最具破坏性的错误,且用户一次点击即可核对。记录检查日期。如果页面是JS渲染且firecrawl_scrape返回空壳,则报告此情况并使用无头Chrome获取(从记忆中使用[[headless-chrome-screenshots]])。对于competitors.ts中已有的六个工具,将其当前价格与文件中的记录进行对比,标记任何差异;修复方法是编辑该文件,而非在简报中写入数字。
对本博客而言,每个工具需要关注的关键事实是Prequel占优的领域:各计划的最高分辨率和帧率、免费版或试用版的水印、录制时长上限、渲染方式(本地还是上传)、一次性许可证还是订阅、摄像头是否作为独立轨道以便在拍摄后重新构图。
搜索流2,用户抱怨内容。 通过firecrawl_search搜索Reddit(设置includeDomains: ["reddit.com"]),外加Hacker News、G2(重点看两星和三星评价,具体抱怨最集中)和X平台。对于替代品文章,需记录足够信息以生成卡片:原字标题、子版块或用户名、发布者、发布时间、评分、评论数、第一段。[[alternatives-posts]]会渲染这些卡片。firecrawl_scrape直接拒绝reddit.com域名,因此只能获得帖子的标题、摘要和URL,但这足以作为引文。有效的查询:"<工具> pricing" reddit、"<工具> alternatives"、"<工具> watermark"、"<工具> slow"、record system audio mac reddit。
优先选择真正的抱怨而非发布帖。搜索结果中几个Loom帖子实际上是创始人在宣布自己的替代产品,标题却看似抱怨。先检查quotes.json:已收录的帖子在public/blog/quotes/中有截图,无需重复工作。
搜索流3,博客已有内容。 阅读posts.ts和已有的MDX文件,查找任何与主题相关的内容。简报列出新博文应链接的文章(至少五篇,附带锚文本)、所属支柱类别,以及现有文章中任何与新博文矛盾的地方。两篇博文对Loom免费版的说法不一致,比其中单独一篇错误更糟糕。
搜索流4,macOS事实。 针对操作指南,从苹果官方支持页面(附带URL)获取当前macOS下QuickTime和Cmd+Shift+5的功能与限制。这些信息随系统版本变化,而博客是将其作为事实陈述的。
搜索流5,数据统计。 博文可能依赖的任何统计数据(如静音时观看时长、演示视频完成率),都需追溯到其原始来源、注明日期,若超过三年或追踪路径终结于另一博客,则直接舍弃。撰稿人无法链接的数据,即是无法使用的数据。
引文通过标准
- 正在运行,并加载了简报所述内容。用
firecrawl_scrape验证;返回200但内容为“暂时限制访问”的页面不是有效来源。G2、Capterra和Trustpilot均会以这种方式响应无头抓取,因此本博客无法使用。 - 厂商页面优于评测网站。详情页优于摘要页。两者不一致的频率比你预期的更高。
- 必须有日期。价格、统计数据和macOS行为都必须标注检查日期。
- Reddit或HN引文是帖子URL加上子版块或用户名。无链接的转述不是引文,截图也不是引文。
- 不得链接博文中将要引用的来源。 博客仅链接引文宿主网站:reddit.com、news.ycombinator.com、x.com、g2.com,以及用于数据规模的github.com或producthunt.com。厂商URL仅供简报验证使用,不得出现在别处。
第四阶段:简报
# 调研简报:<工作标题>
搜索查询:<查询>
文章类型:指南 | 综述 | 对比 | 支柱
定义性问题:## 什么是<事物>?(已确认唯一性)
支柱类别:<slug> | 无(此为支柱)
## 使用的Prequel事实
<项目符号,每个标注来源文件>
## 请勿撰写
<任何Prequel不如竞品的点,确保撰稿人避免提及此话题>
## 工具
### <工具>
价格:<每个套餐及计费周期>。检查日期:<日期>。<厂商URL>
事实:<分辨率、帧率、水印、时长上限、本地/上传、许可>
Prequel占优:<此部分应强调的对比点>
抱怨:<帖子标题>(r/<子版块>)<URL> <- 已在quotes.json中?是/否
## macOS事实
<项目符号,每项附带苹果URL和日期>
## 数据统计
<统计数据><原始来源URL><发布日期>
## 可链接的现有文章
/blog/<slug> "<锚文本>" (原因)
## 矛盾之处
<任何现有文章与新博文不一致的内容>
## FAQ候选
<用户输入搜索框的问题>(来源:帖子URL或PAA)
## 角度
<三至五个,来自用户问题与现有内容之间的差距>
将以上内容写入.context/research/<slug>.md文件,最后提出一个需要撰稿人回答的问题:下一步使用哪个技能,[[guide-posts]]还是[[comparison-posts]],以及角度列表是否需要先精简。