source-driven-development

以官方文档为每一个实现决策提供依据。当你希望使用带有权威来源引用、避免过时模式的无偏差代码时使用。当你在任何框架或库中进行构建、且正确性至关重要时使用。

安装

热度:36

下载并解压到你的 skills 目录

复制命令,发送给智能体自动安装:

下载并安装这个技能 https://openskills.cc/api/download?slug=addyosmani-skills-source-driven-development&locale=zh&source=copy

源驱动开发(Source-Driven Development)技能详解

技能概述

源驱动开发是一个确保框架代码决策基于官方文档的技能,通过检测版本、获取权威文档、遵循文档模式、添加引用链接的完整流程,帮助开发者编写可验证、符合最新最佳实践的代码。

适用场景

  • 框架特定功能开发:当你需要实现涉及框架特定 API 的功能时(如表单处理、路由配置、状态管理、身份验证),技能会自动检测项目依赖的框架版本,并从官方文档获取正确的使用模式,避免使用已弃用的 API。
  • 代码质量提升与重构:在审查现有代码或进行技术债务清理时,技能能识别出过时的框架用法,提供当前版本的官方推荐实现方式,并为每个改动附上可验证的文档来源。
  • 最佳实践模板创建:当你需要为团队创建可复用的代码样板时,技能确保每个模式都有官方文档背书,防止将过时或错误的模式作为模板传播到整个项目中。
  • 核心功能

  • 自动版本检测与文档获取:从项目的依赖文件(package.json、requirements.txt、go.mod 等)自动识别框架和库的精确版本,然后直接获取对应版本的官方文档页面,确保代码实现与项目实际使用的版本完全匹配。
  • 权威性源码引用:为每个框架特定的代码决策添加完整的官方文档链接,优先使用带有锚点的深度链接(如 /useActionState#usage),使你能够快速验证每个 API 用法的正确性,并支持浏览器兼容性数据的引用。
  • 冲突识别与验证:当官方文档与现有代码模式存在冲突时(如 React 19 推荐的 useActionState 与代码中使用的 useState),技能会明确标出差异,提供现代方案与传统方案的选项,并在无法找到官方文档支持时明确标记为"未验证"。
  • 常见问题

    什么是源驱动开发,为什么需要它?

    源驱动开发是一种确保所有框架特定代码决策都基于官方文档的开发方法。AI 训练数据中的知识会过时,API 会变更,最佳实践会演进——依赖记忆或网络教程可能引入已弃用的模式。源驱动开发通过直接引用权威来源,让你获得可验证、可靠的代码实现。

    如何自动检测项目使用的框架和版本?

    技能会读取项目的依赖文件来识别精确版本:Node/React 项目读取 package.json,Python 项目读取 requirements.txt 或 pyproject.toml,Go 项目读取 go.mod,PHP 项目读取 composer.json 等。在识别版本后,技能会明确说明检测到的框架栈(如"React 19.1.0、Vite 6.2.0、Tailwind CSS 4.0.3"),并获取对应版本的官方文档。

    为什么不使用 Stack Overflow 或博客教程作为代码来源?

    Stack Overflow 和博客教程可能反映过时的实践或特定版本的解决方案,而官方文档是框架维护者直接发布、与当前版本同步更新的权威来源。技能按权威性层级优先级使用来源:官方文档 > 官方博客/更新日志 > Web 标准参考(MDN、web.dev) > 浏览器兼容性资源(caniuse.com)。

    如何为代码添加正确的官方文档引用?

    技能使用完整的 URL 并优先使用带锚点的深度链接,例如 https://react.dev/reference/react/useActionState#usage 而不是 https://react.dev/reference/react/useActionState。对于非显而易见的决策,会在代码注释中引用相关段落,并包含浏览器/运行时支持数据。如果找不到文档支持,会明确标记为"未验证"。

    源驱动开发适用于哪些场景?

    适用场景包括:用户需要遵循框架当前最佳实践的代码、构建会被复制到项目各处的样板代码或模式、实现框架推荐方式很关键的功能(如表单、路由、数据获取、状态管理、身份验证)、审查或改进使用框架特定模式的代码,以及任何你即将从记忆编写框架特定代码的时候。

    如何处理官方文档之间的冲突?

    当官方文档之间存在冲突(例如迁移指南与 API 参考矛盾)时,技能会向用户标出差异,并验证哪种模式实际适用于检测到的版本。当文档与现有代码冲突时,技能会提供选项:使用符合当前文档的现代模式,或匹配现有代码以保持一致性,然后询问你倾向哪种方案。

    源驱动开发能避免哪些常见的代码问题?

    通过直接验证官方文档,能避免:使用已弃用的 API、基于过时训练数据编写的代码、依赖 Stack Overflow 答案时可能引入的版本不匹配问题、在框架更新后继续使用旧模式、以及无法验证来源的"凭感觉"实现。每个决策都有可追溯的权威来源支持。

    如何确保代码符合当前框架版本的最佳实践?

    技能从依赖文件检测精确版本(而非猜测),然后直接获取该版本的官方文档页面。在实现时,使用文档中显示的 API 签名而非记忆;当文档展示新方式时使用新方式;当文档弃用模式时不使用旧版;当文档未覆盖内容时标记为未验证。所有非平凡决策都附带完整的文档来源链接。