源驱动开发
将以下提示词粘贴到你的 AI 对话框中:
请根据 https://skillhub.cn/install/skillhub.md,安装 @user_3c6cb52e/source-driven-development-uqmu。
技能介绍
这个技能解决什么问题
大模型写框架代码时,往往从训练数据里"回忆"API 签名。问题在于训练数据会过期:React 的 useActionState 取代了旧的 useFormState,Next.js 的 Server Actions 改写了表单提交的常规写法,Vue 3 的组合式 API 与 Vue 2 的选项式写法在类型检查和生命周期上完全不同。一个看起来合理的签名,可能在当前版本直接运行时报错,或者悄悄用了已废弃的参数。
这类错误的成本不止一行代码——开发者把这段代码复制进十个组件,之后才发现官方早已推荐了新写法。
核心工作方式
这个技能把"查文档"从可选项变成强制流程:
- 读取依赖文件确定版本:先从
package.json/requirements.txt等文件读取精确版本号,版本不明时直接向用户提问,而不是猜测。 - 拉取官方文档的具体页面:只抓取与当前功能相关的那一页,不是首页也不是整站。
- 按来源层级取信:官方文档 > 官方博客 / changelog > 标准规范(MDN、web.dev)> 浏览器 / 运行时兼容表。Stack Overflow 回答、第三方教程、AI 生成的摘要都不算权威来源,训练数据更不算。
- 按文档写代码:API 签名以文档为准;文档展示了新写法就用新写法,文档标注废弃的就不写。
- 每条决策附引用:代码注释和对话中都要给出完整 URL,优先带锚点的深链接。
- 暴露冲突:文档之间相互矛盾、或文档与现有项目代码不一致时,指出冲突而不是静默选一个。
适用边界
这个技能不适用于所有场景:
- 与版本无关的改动,比如改变量名、修拼写、移动文件
- 纯逻辑代码,循环、条件判断、数据结构在不同版本中行为一致
- 用户明确要求"先快速做出来"的场景
还有一点值得说明:如果某个模式在官方文档里找不到对应说明,技能会明确标记为未验证,而不是用"大概是这样"来兜底。坦诚的不确定性比虚假的确定性更有用。
使用场景
- 接手一个 Next.js 项目,要为路由写数据加载逻辑,不确定当前版本官方推荐的做法
- 给新项目搭脚手架,需要按官方文档生成表单提交和路由的样板代码,避免沿用过时写法
- 评审同事提交的 React 代码,怀疑使用了已废弃的 API,需要对照官方迁移指南逐项核查
- 项目从旧版本框架升级,重写组件时需要按官方文档确认哪些写法已被替代
适合人员
- 前端工程师:编写 React/Vue/Next.js 组件时要求每个框架特定写法都能追溯到官方文档来源
- 全栈开发者:搭建项目脚手架时需要依赖当前版本的最佳实践,防止过时样板代码扩散到多个模块
- 技术负责人:评审团队代码时关注框架 API 用法是否有官方依据,需要识别并阻止已废弃写法
- 开源维护者:库要同时支持多个框架版本,需要逐一核对各版本文档中的推荐写法再实现