← ClaudeAtlas

spike-firstlisted

在写任何代码或计划之前,对抓取/爬虫/API集成/第三方服务/自动化对接类任务强制做一道"可行性闸门"—— 先用一次性探针对真实目标验证最大未知点(先打靶再造枪),探针通过才放行到设计和实现,不通过当场喊停换方案。 Use this skill whenever the user asks to scrape a website, crawl data, integrate with an external or third-party API/service, build an automated data pipeline against a system you don't control, or any task where "can we even reliably get the data or access we need?" is still an open question — even if they don't explicitly ask for validation. 触发词:抓取、爬虫、采集、集成、对接、API、第三方服务、自动化对接、 反爬、scrape、crawl、integrate、webhook。务必在这类任务一出现就触发,不要等撞墙了才想起。 但以下情况**不要触发**(即使句子里带了上面的关键词):维护或调试**已经在跑**的抓取/集成代码、 处理已经拿到的数据、纯本地的重构或性能优化、跑测试(含"集成测试")、写文档、 纯概念问答(如"解释 REST 和 GraphQL 的区别")。判据只有一条——有没有一个开工前还不确定 "能不能稳定拿到"的外部数据或访问;没有,就不是这个 skill 的活。
AllenShi100/spike-first · ★ 0 · Data & Documents · score 62
Install: claude install-skill AllenShi100/spike-first
# Spike First(先打靶再造枪) ## 这个 skill 解决什么 抓取/集成类任务最大的浪费,是先把确定的那 80-95%(解析、存储、调度、测试)建得漂漂亮亮,最后才发现最不确定的那一环——**"到底能不能稳定拿到数据 / 拿到访问权"**——根本做不成,于是全部推翻重来。 绿灯越多,假信心越足:6 个单测全过、两轮代码审查通过,全都建立在"我能拿到数据"这个**没验证过**的假设上。 这个 skill 做一件事:**把"会不会白干"的判断,从几小时后提前到开工前几分钟。** ## 何时触发 任务里只要有一个"我控制不了的外部环节",就触发: - 抓取/爬取任何网站(尤其有反爬、登录态、JS 渲染的) - 对接第三方 API / 服务 / webhook(尤其文档不全、需鉴权、有配额的) - 自动化操作别人的系统(浏览器自动化、RPA、跨系统集成) - 任何"这事到底做不做得成"还是开放问题的任务 如果任务全在你自己可控的代码内(纯本地逻辑、纯算法、纯重构),**不触发**——那是 TDD/brainstorming 的场景,不是这个。 ## 强制流程(探针通过前,不准建任何生产代码) ### 第 1 步:点名最大未知点 点名之前先问一句:**目标有没有官方通道**(开放 API、导出功能、现成数据源)?有官方通道就优先走它——最大未知点会直接消失或换位(从"能不能抓到"变成"配额/权限够不够")。别在有正门的时候研究爬窗户。 然后问自己:**哪一个假设,如果是错的,整个方案就得推翻?** 通常是"我能否从这个真实目标,**稳定**拿到要的东西"。把它**一句话写出来**,明确告诉用户。这一步逼你诚实面对风险,而不是回避它去做简单的部分。 ### 第 2 步:对真实目标写一次性探针 写一个**丢弃式**脚本,对**真实目标**(真实 URL、真实 API、真实账号)验证第 1 步那个未知点。 **禁止用编造的样本。** 对自己捏造的 fixture 测出来的绿灯是假信心——真实页面/接口的结构、字段、反爬行为,你猜不准。先拿到**一份真实数据/真实响应**,再谈解析。 探针只为回答一个问题:"这条路走得通吗?"——丑没关系、临时没关系,能扔。 **探针工位纪律:** - 探针放在项目的 `.tmp/spike/` 里(确认 `.tmp/` 已进 `.gitignore`),或干脆放系统临时目录——**绝不混进主项目树**。 - 闸门过后,探针默认删除。唯一例外:探针拿回的**真实样本**可以留下当 parser 的测试 fixture——这是 fixture 唯一合法的来源。 ### 第 3 步:外部依赖类——连跑 3-5 次测成功率 抓取、反爬、第三方接口这类,生产要的是**稳定**,不是"成功过一次"。 **一次成功往往是运气。** 必须连跑 3-5 次,看成功率和数据完整度。如果 5 次里只成 1 次,那就是"不稳定",等于不通过——别自欺"它能成"。 ### 第 4 步:闸门判定 - **✅ 通过** → 放行到 brainstorming / writing-plans / 建码,并**说清你验证了什么**("3/3 都稳定拿到完整数据,可以建系统了")。 - **🚪 不通过** → **当场喊停**,把真正的风险摆给用户,给出选项(换方案 / 降级需求 / 上报阻塞)。**绝不在探针没过时,往下建任何生产代码。** ## 话术模板 对用户开口只说**未知点和行动**——"