SpecForge:让不懂代码的人也能用 AI 做出完整项目 | 13 个 Skill 全流程分享

看到了 Trae 中文社区分享 Skill 的活动,刚好我自己正在使用一套自研的工作流 Skill,这是首发,分享给大家。

我使用过市面上大多数 AI 工作流,但体验往往达不到想要的效果。最初的思路来自 Kiro Spec 模式,但用下来发现它不够完美,于是我自己重新设计了一套,经过多个项目的实战测试和反复优化,发现特别好用,尤其适合我这种几乎没有编程基础的人。

本篇帖子不会逐个讲解 Skill 的内部实现,而是带你了解这套工作流的方法论和完整流程——为什么要这样做、每一步在解决什么问题、以及我在实际使用中积累的技巧。文章会比较长,但看完之后,你对 AI 编程的认知会完全不一样。

工作流和技巧会随着开发实践不断迭代,我也会持续分享给大家。如果你觉得有优化的地方,欢迎在 GitHub 上提交 PR——仅靠我一个人的视角远远不够,我需要大家的反馈和建议,才能把它打磨得更好。


个人介绍

我是一个几乎没有编程基础的人,只有初中学历。之前学过 Python 基础,但没深入下去——因为那时候正是 AI 编程爆火的时代,我辛辛苦苦写的程序,AI 只需要几分钟就能搞定。当时还没有什么 AI 编程工具,只能在网页上用,手动复制粘贴,后来才出来了 Cursor、Trae、Claude Code 这些。

我用 AI 写过多个程序和应用,今年还赚到了人生中第一个 1 万块,不算多,但我才 16 岁,真的很开心。目标是攒钱买 iPhone 18 Pro,因为我现在的手机真的太卡了 :sob: 要用就用好的,这是我的原则。

为什么要在自我介绍里说这些?我想证明一件事:每个人现在都有机会,你只需要去做。 但为什么很多人用 AI 开发到最后都做不出来?这就是本篇帖子要解决的问题。


开发顺序:大多数人是怎么失败的

假设你有一个想法:我想开发一个个人博客。

你会怎么跟 AI 说?大多数人要么直接丢一句"我想做个博客",要么会补充一些功能点,比如"要有发布文章功能、用户注册功能"。

这其实只是开发的前两个阶段:做什么有哪些功能。但后面还有更多阶段——注册用什么方式?邮箱还是手机号?手机号要对接什么接口?数据库怎么设计?

对于没有技术背景的人来说,越往后越不知道该怎么回答。而 AI 呢?它完全不了解你,你说"开发博客",它知道要做博客,但不知道博客里具体要什么功能,它只能靠猜。猜出来的东西跟你的想法不一样,开发到后面越偏越远,最后整个项目就乱了。

根本原因就是:没有一个系统的规划流程。


工作流全景:先看地图再上路

在逐个介绍 Skill 之前,先给你一张全景图,让你知道整套工作流长什么样。

这套工作流一共 13 个 Skill,分成三层:

第一层:项目级(启动时用一次)

从一个模糊的想法到一个可以开始写代码的项目骨架,走完这 7 步:

需求澄清 → 产品概述 → 技术栈选型 → 目录结构 → 开发规范 → 路线图规划 → 项目初始化

每一步的输出都是下一步的输入,像流水线一样环环相扣。走完之后,specs/ 目录下会有一整套项目文档,项目目录也搭好了。

第二层:功能级(反复使用)

项目骨架搭好之后,就按照路线图一个功能一个功能地做。每个功能走这 4 步:

功能需求澄清 → 技术方案设计 → 任务规划 → 编码实现

路线图里有 10 个功能?那就跑 10 遍。如果已完成的功能需要改动,还有一个专门的迭代 Skill:

功能迭代变更 → 编码实现

第三层:通用(随时使用)

遇到 BUG 了?直接调 BUG 修复 Skill,不管你在哪个阶段都能用。

一句话总结:项目级走一遍打地基,功能级循环跑盖楼,通用级随叫随到修补丁。

让这套流程真正跑起来的两个核心机制

光有 13 个 Skill 还不够。如果 AI 不守规矩——该做需求分析的时候偷偷写代码,换个新窗口就把你的项目忘得一干二净——那再好的流程也白搭。

所以这套工作流有两个"看不见但一直在起作用"的核心机制,每个 Skill 执行时都会自动加载它们:

机制一:边界守卫(GUARDRAILS)

AI 有个本能:你问它什么,它都想帮你做。听起来是好事,但在工作流里这反而是最大的隐患。

比如你在用需求澄清 Skill 的时候随口说了句"这个功能大概怎么实现?“,AI 的本能反应是直接给你写代码。但这时候需求还没想清楚呢,代码写了也是白写,甚至会把你带偏——你会觉得"既然代码都写了,需求就这样吧”,结果后面全是坑。

边界守卫就是来管这个事的。它给每个 Skill 划了一条硬线:你在这个阶段只能做这个阶段的事。 需求阶段只能聊需求,设计阶段只能出方案,编码阶段才能写代码。AI 想越界?直接拦住,然后告诉你"现在不是做这个的时候,我们先把当前阶段想清楚"。

这不是 AI 不帮你,恰恰相反——在错误的阶段做错误的事才是帮倒忙。 边界守卫强制 AI 在正确的时间做正确的事。

机制二:项目上下文协议(PROJECT-CONTEXT)

AI 最大的问题是什么?没有记忆。 你在一个窗口里跟它聊了两小时,切到新窗口,它对你的项目一无所知。

没有这个协议会怎样?AI 在一个用 Next.js + TypeScript 的项目里给你写 Vue + JavaScript 代码;项目里明明有现成的工具函数,它又重新写了一个;开发规范里说用 Tailwind,它给你写了一堆内联样式。

项目上下文协议的规则很简单:每个 Skill 执行前,AI 必须先读取 specs/ 目录下的所有文档,建立对项目的完整认知。 不读完不许开始干活。

这就是为什么前面说"开新窗口不怕丢上下文"——因为不管开多少个新窗口,AI 每次都会被强制重新读取项目文档。你的技术栈、开发规范、已有的功能设计,它全都知道。文档在,记忆就在。

下面开始逐个介绍每个 Skill。


Skill 1:project-requirements-clarification(需求澄清)

这个 Skill 就是来解决"没有系统规划流程"这个问题的。

当你有一个模糊的想法时,它会通过苏格拉底式的引导提问,从多个维度帮你把想法挖透——核心价值是什么、目标用户是谁、关键特征有哪些,最终生成一份标准化的项目描述。

为什么是"引导式"而不是让你自己填表?因为对于不知道细节的人来说,你让他自己说,他说不出来。他需要有人引导,一步一步往下问,答案自然就出来了。

这个 Skill 最厉害的地方在于:它像一个好奇的合伙人在跟你聊天,而不是一个冷冰冰的填表机器。就像你跟合伙人说"我想做个博客",合伙人肯定会追问你很多问题——AI 在这里扮演的就是这个角色。

而且你可以反复调用这个 Skill。比如第一次生成结果后,你觉得还不够完善,直接告诉 AI"我还想加更多功能",它会用同样的引导方式继续帮你深挖。

我在开发新项目时百分之百会用这个 Skill,对新手来说强烈建议从这里开始。

示例

你发送的信息:
/project-requirements-clarification 我想开发一个个人博客

AI 回复的信息:

这个想法很有趣!我来帮你把它想清楚。先聊几个关键问题:

为什么想做博客?

  • A:记录自己的技术学习过程,给自己看
  • B:写文章吸引读者,打造个人品牌
  • C:纯粹练手,学习全栈开发
  • 或者其他原因?

先告诉我这个,后面我再问你目标用户和核心功能。一步一步来,不着急。


Skill 2:project-product-overview(产品概述)

需求澄清完成后,你手上有了一份项目描述。但这份描述更像是"聊天记录的总结"——信息有了,但还不够结构化,拿去做技术选型或架构设计还差点意思。

没有这个 Skill 会怎样?你可能直接拿着模糊的需求就开始让 AI 写代码了。写到一半发现:这个功能到底归哪个模块?验收标准是什么?目标用户到底是谁?然后你开始回头补,补着补着发现前面的代码跟新的规划对不上,又得改。

这个 Skill 做的事情,就是把需求澄清的结果升级为一份正式的产品文档。它会帮你明确:项目愿景是什么、核心价值在哪、目标用户是谁、系统分成哪几个核心板块、验收标准怎么定。

AI 在这里扮演的是首席产品官的角色。信息不够的地方,它会用引导式提问帮你补上——问法很具体,给你举例子让你选,不会问那种让人懵的开放式大问题。

最终输出一份 specs/产品概述.md,这份文档就是后面所有 Skill 的"地基"。

示例

你发送的信息:
/project-product-overview 请基于需求澄清的结果生成产品概述

AI 回复的信息:

我已经读取了你的项目描述,大部分信息很清晰,但有几个关键点需要补充:

1. 核心价值还不够明确
你的博客和市面上其他博客的最大区别是什么?

  • A:主打 Markdown 写作体验,像 Typora 一样流畅
  • B:主打 SEO 和流量获取,帮你把文章推出去
  • C:主打极简部署,一键上线零运维
  • 或者你有其他想法?

2. 验收标准需要量化
第一版上线的标准是什么?我建议至少定两条:

  • 功能层面:比如"能发布文章、能按标签分类、有基础的阅读统计"
  • 性能层面:比如"首页加载 < 2 秒"

请告诉我你的选择,我来生成完整的产品概述文档。


Skill 3:project-tech-stack(技术栈选型)

产品概述定了,下一个问题就是:用什么技术来做?

这一步很多人要么自己去搜"最火的前端框架",要么直接跟 AI 说"你帮我选"。两种做法都有问题——追热门容易踩坑(新框架生态不全、文档不够、AI 训练数据少),全交给 AI 的话,它也不知道你的具体约束,容易推荐一个"技术上完美但你根本用不起来"的方案。

这个 Skill 的 AI 角色是 CTO,它做选型的逻辑是**“最合适"而不是"最热门”**。它会先读你的产品概述,分析项目规模、用户量级、实时性要求这些关键约束,然后主动给你推荐完整的技术组合——不是让你一个一个选,而是直接给你打包好的方案。

对于不懂技术的人来说,这里最贴心的设计是:当需要你做选择时,一定会给选项、给解释、给推荐。不会冷冰冰地问你"用什么数据库",而是告诉你每个选项适合什么场景,然后说"我建议选这个,因为…"。

最终输出 specs/技术栈.md

示例

你发送的信息:
/project-tech-stack 请进行技术选型

AI 回复的信息:

我已经读取了你的《产品概述》,这是一个个人博客项目,核心需求是 Markdown 写作 + SEO 友好 + 低运维成本。基于分析,我推荐以下方案:

推荐方案:Next.js + Supabase + Vercel

  • 前端/后端:Next.js 14(App Router)—— SSR 天然对 SEO 友好,前后端一把梭,不需要单独维护后端
  • 数据库:Supabase(PostgreSQL)—— 免费额度足够个人博客用,自带用户认证
  • 部署:Vercel —— Next.js 的亲儿子,推上去就能跑,零运维
  • 样式:Tailwind CSS —— 开发快,AI 写起来也最顺手

有一个细节需要确认:你需要评论功能吗?

  • A:不需要,保持极简
  • B:需要,用第三方服务(如 Giscus,基于 GitHub Discussions,零成本)
  • C:需要,自建评论系统(工作量会增加不少)
  • 我的建议:如果要做的话选 B,成本为零且不影响核心开发节奏。

Skill 4:project-structure(目录结构)

技术栈选好了,但你总不能直接开始写代码吧?代码放哪?文件怎么组织?模块之间怎么划分?

没有规划目录结构会怎样?一开始可能没感觉,文件少的时候随便放都行。但项目一大,你就会发现:组件和页面混在一起、工具函数散落在各个角落、一个功能的代码分散在五六个不相关的文件夹里。到后面不管是你还是 AI,想改一个功能都得满项目找文件。

这个 Skill 的 AI 角色是系统架构师。它会同时读取产品概述和技术栈文档,把"核心板块"映射成代码模块,再根据技术栈的最佳实践来设计目录。核心原则就一个:高内聚低耦合——相关的代码放在一起,不相关的严格隔离。

最终输出 specs/项目结构.md

示例

你发送的信息:
/project-structure 请设计项目目录结构

AI 回复的信息:

基于技术栈(Next.js 14 + Supabase)和产品概述中的三个核心板块(内容管理、用户系统、阅读体验),我设计了以下目录结构:

blog-project/
├── src/
│   ├── app/                  # Next.js App Router 页面
│   │   ├── (auth)/           # 登录/注册相关页面
│   │   ├── (blog)/           # 博客前台页面
│   │   └── admin/            # 后台管理页面
│   ├── modules/              # 业务模块(核心)
│   │   ├── auth/             # 用户认证
│   │   ├── posts/            # 文章管理
│   │   └── analytics/        # 阅读统计
│   ├── shared/               # 公共组件和工具
│   └── lib/                  # 第三方服务封装
├── specs/                    # 项目规格文档
├── docs/                     # 开发文档
└── public/                   # 静态资源

设计思路:采用特性架构(Feature-based),每个 modules/ 下的模块是独立的业务单元。后续开发时,AI 只需要聚焦到对应的模块目录即可。

你觉得这个结构 OK 吗?有需要调整的地方告诉我。


Skill 5:project-dev-standards(开发规范)

目录结构有了,但代码怎么写?变量怎么命名?Git 怎么提交?

这些如果不提前定好,后果就是——你让 AI 写了十个文件,每个文件的风格都不一样。有的用驼峰命名,有的用下划线;有的组件用箭头函数,有的用 function 声明;Git 提交信息更是五花八门。改起来的痛苦远比提前规定好要大得多。

这个 Skill 的 AI 角色是技术委员会,它会基于你的技术栈生成一份完整的开发规范,覆盖代码风格、命名约定、Git 工作流、错误处理,甚至包括 AI 协作协议——告诉 AI"你在这个项目里写代码必须遵守哪些规矩"。

这里有一个重要的设计:每条规则都具体到可以直接执行。不会出现"遵循最佳实践"这种废话,而是明确告诉你"组件文件用 PascalCase,工具函数用 camelCase",并且附带正确写法和错误写法的对比。

最终输出 specs/开发规范.md

示例

你发送的信息:
/project-dev-standards 请制定开发规范

AI 回复的信息:

已读取技术栈和项目结构文档,以下是定制的开发规范(节选):

命名约定

元素 风格 示例
组件文件 PascalCase PostCard.tsx
工具函数文件 camelCase formatDate.ts
目录名 kebab-case user-profile/

TypeScript 严格规则

// 错误 - 禁止使用 any
const data: any = await fetchPost()

// 正确 - 明确类型定义
const data: PostDetail = await fetchPost()

Git 提交规范

feat(posts): 添加文章标签筛选功能
fix(auth): 修复登录状态丢失问题

完整规范共 15 个章节,已全部生成。请确认后我保存到 specs/开发规范.md


Skill 6:project-roadmap-planning(路线图规划)

到这一步,你已经有了产品概述、技术栈、目录结构、开发规范——"怎么做"已经很清楚了。但还有一个问题:先做什么?

这个问题比你想象的重要。很多人的做法是"想到啥做啥",或者"从第一个页面开始做"。结果呢?做到用户管理的时候发现登录系统还没搭,做到文章详情页的时候发现数据模型还没定义。到处被依赖卡住。

这个 Skill 的 AI 角色是技术产品经理,它会做三件事:

  1. 分析模块依赖——哪些是地基(比如用户认证、公共组件),哪些是核心业务,哪些是锦上添花
  2. 划分里程碑——MVP 做什么、完整版做什么、增强版做什么
  3. 生成开发顺序——每个模块带具体的开发指令,做完一个勾一个

拿到路线图以后,你就不用纠结"接下来做什么"了,按顺序推进就行。

最终输出 specs/开发路线图.md

示例

你发送的信息:
/project-roadmap-planning 请规划开发路线图

AI 回复的信息:

基于产品概述和项目结构,我分析了模块间的依赖关系,规划如下:

里程碑一:MVP(核心闭环)

  • Phase 1.1:基础设施 —— auth + shared(地基,所有业务模块都依赖它)
  • Phase 1.2:核心业务 —— posts(文章的创建、编辑、发布、Markdown 渲染)
  • Phase 1.3:前台展示 —— 文章列表页、详情页、标签筛选(做完这步 MVP 就能用了)

里程碑二:完整版

  • Phase 2.1:阅读统计(analytics
  • Phase 2.2:后台管理(admin

里程碑三:增强版

  • Phase 3.1:SEO 优化(sitemap、Open Graph)
  • Phase 3.2:性能优化(图片懒加载、ISR)

建议从 Phase 1.1 开始,每完成一个 Phase 回来勾选进度。


Skill 7:project-initialization(项目初始化)

前面六个 Skill 全部是"规划"——生成的都是文档。到了第七个,终于要动手了

这是整套工作流里唯一一个"执行类"Skill。它的职责很简单:严格按照前面生成的文档,创建项目骨架。 注意是"严格按照"——它不会做任何文档里没定义的事情,不会自作主张加个框架或者改个配置。

它会读取你的技术栈、项目结构、开发规范文档,然后:创建所有目录、生成配置文件(.gitignore.env.exampleREADME.md 等)、初始化 Git 仓库。做完后输出一份初始化记录。

如果项目目录里已经有代码了(比如你是在现有项目上用这套工作流),它会自动检测到并跳过,不会覆盖任何东西。

最终输出:项目骨架代码 + docs/开发记录/初始化记录.md

示例

你发送的信息:
/project-initialization 初始化项目

AI 回复的信息:

开始执行项目初始化。

环境检查

  • specs/技术栈.md … 已就绪
  • specs/项目结构.md … 已就绪
  • specs/开发规范.md … 已就绪
  • 当前目录 … 空目录,可以初始化
  • Node.js v20.11.0 … 已安装

执行中…

  1. npm init -y … 完成
  2. 安装核心依赖 … 完成(next, react, typescript, tailwindcss…)
  3. 创建目录结构(共 14 个目录)… 完成
  4. 生成配置文件 … 完成(.gitignore, .env.example, tsconfig.json…)
  5. git init + 首次提交 … 完成

初始化完成。 详细日志已保存到 docs/开发记录/初始化记录.md

下一步:请按照 specs/开发路线图.md 中的 Phase 1.1 开始开发。


功能级工作流:开发具体功能

项目初始化完成后,你手里有了一整套文档和项目骨架。接下来就进入真正的开发阶段了:一个功能一个功能地做。

功能级工作流的流程跟项目级很像——先澄清需求、再设计方案、再拆任务、最后写代码。但区别在于,它是针对单个功能的闭环,而且你会反复使用它。路线图里列了 10 个功能?那你就跑 10 遍这个流程。

听起来很机械?但这恰恰是它好用的原因——每个功能都经过完整的思考链条,不会出现"做到一半发现需求没想清楚"的情况。


Skill 8:feature-requirements-clarification(功能需求澄清)

你可能会想:前面不是已经做过需求澄清了吗?为什么还要再来一遍?

因为项目级的需求澄清是"全局视角"——你想做什么产品、有哪些大板块。但具体到某个功能,细节差得远。

比如你说"我想做个评论功能",听起来很简单对吧?但你想过这些问题吗:谁能评论?评论能不能回复?要不要审核?评论被删了怎么处理?怎么算"做完了"?

这些你不想清楚,AI 就只能猜,猜出来的东西跟你脑子里想的完全不一样。

这个 Skill 扮演的是产品经理,全程不会出现任何技术术语——不聊数据库、不聊 API,只聊"用户要什么"、“流程是什么”、“边界在哪里”。最后输出一份功能需求文档到 specs/features/ 目录下。

示例

你发送的信息:
/feature-requirements-clarification 我想做一个评论功能

AI 回复的信息:

好的,我来帮你把评论功能的需求理清楚。先从场景开始聊:

评论主要出现在什么地方?

  • A:文章详情页(读者对文章发表看法)
  • B:商品页面(买家评价商品)
  • C:其他场景
  • 推荐:A,因为根据产品概述,你做的是内容平台

你先告诉我这个,我们再往下聊。


Skill 9:feature-tech-design(技术方案设计)

需求文档写好了,接下来该想"怎么实现"了。

没有这个 Skill 的时候,很多人直接让 AI 开始写代码。结果 AI 随便选了个实现方式,写到一半发现不合适又推倒重来。或者更糟——功能写完了,发现跟已有的代码架构冲突,改起来比重写还痛苦。

这个 Skill 扮演的是系统架构师,基于需求文档把 API 怎么设计、数据库表怎么建、核心逻辑怎么跑、异常怎么处理,全部想清楚写下来。而且它会逐条检查验收标准,确保每一条都有对应的技术实现。

如果某个点有多种方案,它会把选项列出来,告诉你优劣,然后给推荐——你不需要懂原理,看推荐理由然后说"行"就行。

示例

你发送的信息:
/feature-tech-design 评论功能

AI 回复的信息:

已读取需求文档 specs/features/评论功能.md,开始设计技术方案。

关于评论的嵌套回复,有两种实现方式:

  • 选项 A:邻接表模型(每条评论记录 parent_id)
    • 优点:实现简单,查询直观
    • 缺点:多层嵌套时递归查询性能差
  • 选项 B:路径枚举模型(每条评论记录完整路径 path)
    • 优点:查询性能好,排序方便
    • 缺点:路径字段维护稍复杂
  • 推荐:A,因为需求限制了最多 2 层嵌套,邻接表完全够用

确认后我继续设计数据库表结构和 API 接口。


Skill 10:feature-task-planning(任务规划)

技术方案有了,但你总不能直接丢给 AI 说"按技术方案写代码吧"。一个功能可能涉及十几个文件、五六个模块,让 AI 一口气全写了,它大概率会搞混、漏掉东西,因为上下文太长导致质量下降。

这个 Skill 扮演的是技术主管,把技术方案拆成一个个小任务——每个控制在 2 小时以内,单一职责,有明确的完成标准。而且会理清依赖关系:先建表,再写接口,再做页面。有风险的任务特别标出来,阻塞后续的关键任务优先安排。

拆完之后,你拿到的是一份像施工进度表一样的任务清单,按顺序交给下一个 Skill 执行就行。

示例

你发送的信息:
/feature-task-planning 评论功能

AI 回复的信息:

已读取技术方案和需求文档,拆解出 8 个开发任务,分 3 个阶段,预计总工时 320 分钟

第 1 阶段:数据层(3 个任务)

  • Task-01:创建 comments 表及索引 [30min]
  • Task-02:实现评论数据访问层 CRUD [45min]
  • Task-03:数据层单元测试 [30min]

第 2 阶段:接口层(3 个任务)

  • Task-04:实现发布评论 API [45min] ← 依赖 Task-02
  • Task-05:实现获取评论列表 API(含嵌套)[50min] ← 依赖 Task-02
  • Task-06:接口层集成测试 [30min]

第 3 阶段:表现层(2 个任务)

  • Task-07:评论列表组件 [50min] ← 依赖 Task-05
  • Task-08:发布评论组件 [40min] ← 依赖 Task-04

需要调整优先级或合并/拆分某些任务吗?确认后我生成任务规划文档。


Skill 11:feature-implementation(编码实现)

终于到写代码的环节了。

前面铺垫了这么多——需求、技术方案、任务规划——到这一步其实是最轻松的。因为 AI 要做什么已经写得清清楚楚了,它不需要猜、不需要自由发挥,照着文档一个任务一个任务执行就行。

这个 Skill 扮演的是高级开发工程师。你只需要说"完成评论功能的任务 第 1 阶段",它会自动读取任务规划,找到第 1 阶段的所有任务,按顺序执行。每完成一个任务,它会立刻写测试、跑测试,通过了才进入下一个。全部完成后,自动在任务规划文档里打勾,并生成阶段完成报告。

为什么一个阶段一个阶段来,不一口气全做完?第一,AI 的上下文窗口有限,塞太多东西质量会下降。第二,每个阶段做完你可以检查一下,发现问题及时纠正,不用等全做完了才发现第一步就错了。

示例

你发送的信息:
/feature-implementation 完成评论功能的任务 第1阶段

AI 回复的信息:

正在读取相关文档…

  • 需求文档:specs/features/评论功能.md :white_check_mark:
  • 技术方案:specs/features/评论功能_技术方案.md :white_check_mark:
  • 任务规划:specs/features/评论功能_任务规划.md :white_check_mark:

第 1 阶段:数据层,包含 3 个任务。前置检查通过,无依赖阻塞。

即将开始执行 Task-01:创建 comments 表及索引
涉及文件:migrations/003_create_comments.sql
参考:技术方案 3.1 节 - 数据库设计

是否继续?

(你回复"继续"后,AI 会执行代码、写测试、跑测试,一路推进到阶段结束,最后输出完成报告并更新任务状态。)


Skill 12:feature-evolution(功能迭代变更)

功能做完了,上线了,用了一段时间——然后你又有新想法了。“评论能不能加个点赞?”“能不能支持图片评论?”

这时候如果你直接对 AI 说"给评论加个点赞",它大概率会把已有代码搅得一团乱——因为它不知道之前的需求文档、技术方案里写了什么,只看到了现在的代码,然后"野蛮施工"。

这个 Skill 扮演的是产品架构师,专门处理对已完成功能的增量修改。它会先读取之前的所有文档,搞清楚现状,然后分析变更属于哪种类型:

  • 微调(Tweak):小改动,比如调整排序方式,不涉及新需求
  • 扩展(Extension):加新东西,比如加点赞功能,需要新增验收标准
  • 重构(Refactor):动了核心结构,比如改了评论的存储模型

然后增量更新文档(不是推倒重写),只生成变更相关的新任务。它有一条硬规则:只做分析和规划,绝对不写代码——代码的事交给 feature-implementation。

示例

你发送的信息:
/feature-evolution 我想给评论功能加一个点赞功能

AI 回复的信息:

已读取评论功能的全套文档,分析变更影响。

变更分类:扩展(Extension)
原因:需要新增"点赞"相关的验收标准、新增 API 接口和数据库字段,但不破坏现有评论结构。

影响分析:

  • 需求文档:新增 2 条验收标准(AC-06、AC-07)
  • 技术方案:新增 1 个 API,comments 表新增 like_count 字段
  • 已有代码:需修改 2 个文件,新增 3 个文件
  • 回归风险:低,不影响已有的评论发布和展示逻辑

需要新增 3 个开发任务(Task-09 到 Task-11),预计工时 90 分钟。

是否确认生成变更文档?


Skill 13:bugfix-workflow(BUG 修复)

遇到 BUG 了怎么办?大多数人的做法是把报错信息丢给 AI,说"帮我修了"。AI 看了看报错,猜了个原因,改了几行代码,告诉你"应该好了"。

好了吗?有时候好了,有时候没好,有时候旧 BUG 没了但新 BUG 来了。问题在哪?没有复现就开始改。 AI 根本不知道这个 BUG 在什么条件下触发,它只是根据报错信息猜了个可能的原因。

这个 Skill 强制执行一套严格的修复流程:复现 → 定位 → 修复 → 单元测试 → 验证 → 报告

最关键的硬规则:没复现出来,不准改代码。 信息不够复现?它会追问——在哪个页面?做了什么操作?期望结果是什么?实际结果是什么?一直问到能复现为止。

修完之后也不是说句"好了"就完事,它必须给你一份逐步的手动验证步骤——具体到"打开哪个页面、点哪个按钮、输入什么内容、看到什么结果"。还会自动写一个针对这个 BUG 的单元测试,防止同样的问题再冒出来。最后生成修复报告存到 docs/BUG修复文档/,方便追溯。

示例

你发送的信息:
/bugfix-workflow 评论发布之后页面没有刷新,还是显示旧的评论列表

AI 回复的信息:

收到,我需要先确认几个信息来复现这个问题:

  1. 发生在哪个页面?(文章详情页?个人中心?)
  2. 你做了哪些操作?(尽量细化到每一步)
  3. 发布评论后,页面完全没变化,还是过一会儿才刷新?
  4. 打开浏览器控制台,有没有报错信息?

请先回答这几个问题,我复现之后才开始定位和修复。


实战技巧:我踩过的坑和总结的经验

介绍完所有 Skill 之后,分享一些我在实际开发中积累的技巧。这些都是文档里不会告诉你、但用起来会反复遇到的问题。

技巧 1:功能级开发,规划和编码分开窗口

功能级工作流有 4 步:需求澄清 → 技术方案 → 任务规划 → 编码实现。

前三步(需求澄清、技术方案、任务规划)关联性很强,建议在同一个窗口里连着做完。因为需求讨论的细节会直接影响技术方案的设计,技术方案又直接决定任务怎么拆——在同一个窗口里 AI 对这些上下文记得最清楚。

但到了编码实现阶段,做法就不一样了:按任务规划里的任务来,一个任务开一个新窗口。 不要在一个窗口里连续做好几个任务,上下文堆积太多,AI 的回复质量会明显下降。

当然,具体还要看任务的复杂度——如果是几个特别简单的小任务,合在一个窗口里做也没问题。但遇到复杂任务,一定要给它一个干净的窗口。

你可能会担心:开新窗口不会丢失上下文吗?不会。因为每个 Skill 生成的文档都保存在了 specs/ 目录下,新窗口打开后,Skill 会强制 AI 先读取这些文档,重新建立完整的项目认知。

文档在,上下文就在。 所以不要舍不得开新窗口,该开就开。

技巧 2:项目级规划,尽量在一个窗口内完成

跟功能级相反,项目级的 7 个 Skill(需求澄清到路线图规划)我建议在一个窗口里连着做完——前提是你用的模型上下文窗口足够大。

为什么?因为项目级的 Skill 之间关联性很强,前一步的讨论细节会直接影响下一步的判断。比如需求澄清时你提到"要支持离线使用",这个信息在技术栈选型时非常关键。如果在同一个窗口里,AI 对这些细节记得很清楚;换了新窗口,虽然文档里会有记录,但聊天中那些微妙的上下文(你的偏好、你纠结过的点)就丢了。

当然,如果你的模型上下文不够大,或者中途聊了太多导致 AI 明显变迟钝了,那还是果断开新窗口,不要硬撑。

技巧 3:提示词先润色,然后存下来复用

你发给 AI 的每一句话,本质上就是一条提示词。同样的意图,表达方式不同,AI 给你的结果质量天差地别。

我的做法是:在发送给 AI 之前,先把你想说的话丢到网页版 AI(比如 ChatGPT、Claude)里润色一遍。 让它帮你把模糊的描述变成清晰、结构化的表述。你会发现润色后的提示词,AI 理解得更准,产出质量明显提升。

更重要的是:创建一个文档,专门存放你用过的提示词。 为什么?因为你开发到后面会发现,很多任务其实是类似的——同样是做一个列表页,同样是写一个接口。但你这次写的提示词可能没有上次写的好,如果有记录,直接把上次效果更好的提示词拿来改改就能用。

这个习惯一旦养成,你的提示词库会越来越强,效率也会越来越高。

技巧 4:feature-evolution 和重新走一遍怎么选?

功能做完之后要改需求,到底是用 feature-evolution 做增量变更,还是从 feature-requirements-clarification 重新走一遍?

判断标准很简单:改动范围。

  • 改动不超过原功能的 30% → 用 feature-evolution(增量更新文档 + 追加新任务)
  • 改动超过 70% → 基本等于重做了,用 feature-requirements-clarification 重新走流程
  • 30%-70% 之间 → 看复杂度,拿不准就先用 feature-evolution,它会自动判断变更类型并给你建议

技巧 5:一个阶段做完发现不对,怎么回退?

比如你完成了编码实现的第 1 阶段,结果发现技术方案里有个设计不合理。

不要慌,也不要直接改代码。正确的做法是:

  1. 回到技术方案 — 用 feature-evolution 提出变更,让它分析影响范围
  2. 更新文档 — 它会增量更新技术方案和任务规划
  3. 再执行变更任务 — 用 feature-implementation 执行新生成的增量任务

这样做的好处是所有改动都有据可查,文档和代码始终保持一致。直接改代码虽然快,但后面 AI 读到的文档和实际代码对不上,会越来越乱。

技巧 6:不懂就问,让 AI 等你的时候别闲着

说一段我的真实经历。我刚开始用 AI 开发的时候,什么都不懂——不知道后端是什么,不知道数据库是干嘛的,不知道 Next.js 和 Vue 有什么区别,甚至不知道 API 是什么意思。完全是一个小白。

但你想想,你现在已经在用 AI 了,AI 帮你干活的时候你在干嘛?刷手机?等着?

不如趁这个时间,把你不懂的东西问清楚。 比如 AI 在帮你写代码,你发现技术方案里提到了"中间件",你不知道那是啥——直接开个新窗口问 AI:"中间件是什么?用大白话给我解释一下。"然后让它把这些知识整理成一份文档存下来,以后遇到同样的概念直接翻文档就行,不用再问一遍。

你懂得越多,跟 AI 沟通就越高效,给出的需求就越精准,最后做出来的东西就越好。这是一个正向循环——AI 帮你干活的同时,你也在成长。 别浪费这个免费的老师。

技巧 7:文档不同步了,手动让 AI 去同步

这个问题你一定会遇到,我自己也经常遇到。

什么情况呢?AI 在按任务规划写代码的过程中,你临时加了个需求——比如"这个按钮改成红色的"、“列表加一个搜索框”。AI 照做了,代码改了,但是 specs/ 下面的需求文档、技术方案还是旧的。文档和实际代码不同步了。

这个问题如果不管,后面再开新窗口的时候,AI 读到的文档是旧的,它以为项目还是之前的样子,就会跟实际代码产生冲突。

我的解决办法很简单粗暴:直接手动告诉 AI,让它去同步文档。 比如跟它说"我刚才额外加了 XX 功能,请把需求文档和技术方案同步更新一下"。AI 会去对比当前代码和文档的差异,然后把文档补齐。

你可能会问:为什么不做一个专门的同步 Skill?因为这种情况太灵活了——你加的可能是一个小改动,也可能是一个大调整,涉及哪些文档、改多少内容,每次都不一样。我试过之后发现,直接用自然语言告诉 AI 反而是最高效的方式,比固定流程更灵活。

核心原则就一条:改了代码,就要同步文档。发现不同步,立刻补。拖得越久越难补。

技巧 8:AI 生成的文档,花两分钟过一遍

AI 生成的文档不要直接跳过,哪怕你看不懂技术细节也没关系,只需要花两分钟扫一遍

你不需要看懂每一行,但你能看懂的部分往往是最重要的——功能描述对不对?流程是不是你想要的?有没有漏掉你说过的某个需求?这些都是用大白话写的,新手也能判断。

为什么这一步很重要?因为文档是后面所有 Skill 的输入。需求文档写错了,技术方案就跟着错;技术方案错了,任务规划就跟着错;最后写出来的代码自然也是错的。越早发现问题,改起来越便宜。 在文档阶段改一句话,比写完代码再推倒重来轻松一百倍。

所以每次 AI 生成文档后,别急着进入下一步,先扫一眼。

技巧 9:跟 AI 沟通的黄金法则

用这套工作流的时候,跟 AI 说话有几个技巧能大幅提升效果:

  • 自己主动调用 Skill:比如手动输入 /feature-requirements-clarification 评论功能,不要丢一句"我想做个评论功能"然后等 AI 自己去找对应的 Skill。AI 不一定能准确识别你的意图,自己调用最稳
  • 一次只做一件事:不要在一条消息里说"帮我做评论功能,顺便把登录页面也改一下"。每个功能走自己的流程,互不干扰

技巧 10:AI 搞不定的任务,按这个顺序试

用 AI 开发一定会遇到它搞不定的任务,我自己就遇到过好多次。别死磕,按下面这个顺序一步步试:

第一步:换个模型。 不同模型擅长的东西不一样,Claude 搞不定的,GPT 可能一下就搞定了,反过来也一样。换个模型试试成本最低。

第二步:优化提示词。 有时候不是 AI 不行,是你没说清楚。把你的需求重新组织一下,描述得更具体、更结构化,可能就通了。

第三步:把任务拆小。 一个大任务 AI 做不出来,可能是太复杂了。试着把它拆成两三个小任务分别完成,然后自己组合起来。

第四步:去 GitHub 找参考。 让 AI 去 GitHub 上搜一下类似的功能,看看别人的开源项目是怎么实现的。有了参考代码,AI 照着改比从零开始容易多了。

第五步:搞清楚到底卡在哪。 前面几步都试过了还是不行,那就停下来想想:AI 给出的结果跟你的预期差在哪?是逻辑错了?还是方向就不对?问 AI 分析一下失败的原因,搞清楚了再决定——换个思路绕过去,还是干脆先放一放,等更强的模型出来了再回来做。

不要在一个死胡同里耗太久。 AI 技术在飞速进步,今天搞不定的任务,可能过几个月新模型出来就是一句话的事。先把能做的做了,搞不定的记下来,回头再来。


关于效率和未来计划

有一件事我想坦诚地说:目前这套工作流的开发效率确实不算快。

因为任务是一个一个串行完成的——做完 Task-01 再做 Task-02,做完 Task-02 再做 Task-03。我自己用的时候也明显感觉到了,尤其是任务多的时候,等待时间很长。

我不是没想过解决这个问题。之前尝试过让 AI 创建多个 Agent 同时开发多个任务——比如 Task-01 和 Task-02 如果没有依赖关系,完全可以并行跑。但试过之后发现了一个致命问题:没有审核机制,我根本不敢放手。

为什么?因为多个 Agent 同时写代码,A 那边偏了一点,B 那边也偏了一点,等你发现的时候已经两边都出了问题。你去修 A,发现 B 也要改;改完 B,A 又冒出新问题。没有一个自动审核的环节帮你把关,并行开发反而比串行更折腾。

所以审核 Skill 是必须做的,而且要做得足够可靠——它需要能自动检查代码质量、验证是否符合技术方案、发现问题后让 Agent 自己修正,形成一个闭环,但它非常消耗 token。

这套工作流最初是为我自己设计的。 没有任何资金支持,也没有厂商赞助,AI订阅全靠自己充。所以我选择了最省钱的方式——自己辛苦一点,一个任务一个任务地开发,虽然慢,但每一步都可控。

但从我把它分享出来的那一刻起,这就不再只是我一个人的事了。用这套 Skill 的人,可能有更充裕的预算,也可能对效率有更高的要求。串行开发对我来说可以忍,但不应该成为所有人的限制。

所以后续我会认真做这几件事:

  • 审核 Skill:让 AI 能自动审查代码质量,形成"开发 → 审核 → 修正"的闭环
  • 并行开发支持:在审核机制可靠之后,支持多任务同时开发
  • 配套教程:每个新能力都会附带详细的使用教程

这些不是画饼,是我自己在开发过程中切实感受到的痛点。做出来之后会第一时间分享给大家。


写在最后

回头看这整套工作流,核心理念就三个词:

文档驱动——所有决策都落到文档上,AI 换了窗口也不会"失忆",你隔一个月回来也能看懂当时为什么这么做。

阶段分离——每个 Skill 只干一件事,产品经理不碰代码,架构师不写实现,开发工程师不改需求。不会出现"问着问着需求突然开始写代码"的混乱场面。

引导式交互——不需要你是专家,你只需要回答问题、做选择。AI 会把选项摆出来,告诉你推荐哪个、为什么,你点头就行。

说白了,这套工作流就是把软件工程那套"需求 → 设计 → 开发 → 测试"的流程,用 Skill 的方式固化下来,让 AI 在每个阶段扮演对应的专业角色。你不需要懂技术,你只需要知道自己想要什么——剩下的,交给流程。
基础技巧 skills trae技巧便利店

121 个赞

厉害,我在看看文档,我有什么建议也会向你说

3 个赞

真不错看着

3 个赞

感谢分享!13个Skill的思路太清晰了,对新手太友好了 :+1: 果断收藏

3 个赞

学到了 :smiley: :+1:

3 个赞

谢谢! :smiling_face_with_three_hearts:

2 个赞

感谢大佬,自己是外贸行业零基础,因为公司需要做外贸网站,所以就使用TRAE做一个wordpress网站,踩了很多坑,基本上你说的都踩了一遍。在这里和大家再分享一些我的心得,算是一点小小的补充:

  1. 技术选型阶段,建议多AI交叉验证,同样一个项目需求,不同AI会给出不同的技术建议。AI给的不一定对,让AI给技术方案的时候,必须要要给出多套方案,然后进行对比,通过对比不同方案,让AI成为辅助你的角色,最后方案自己判断,而不是全部相信他。AI说的不一定对,所以后续假如方向错了的话,你自己肯定会发现,得及时改正

  2. 目录结构:有的时候前期会给你规划的过于复杂,有的结构是随着你项目的发展而增加出来的,需要根据不同阶段的需求来,所以AI给的建议还是需要选择性介绍

  3. 开发规范:因为开发wordpress前后端并没有可以参考的规范,所以前期AI只能给一些非常宽泛的原则,不过也避免了一些问题。对于新项目来说,开发规范是需要随着项目的发展,不断变化的,尤其是当你发现一个开发问题的时候,就把它添加进规范中。比如我有的时候让AI参考 一些设计稿的react代码,帮我转成PHP+html的时候,他经常会直接使用react的自闭合标签,导致严重的开发问题,这个时候就需要把这个点写进开发规范。

  4. 路线图规划:这个在我做第一个wordpress开发项目的时候,完全不知道,走一步搞一步。在第一个模块前后端样式还没正常的时候,就盲目做了其他模块,最后网站前端显然一团糟。后续这个项目做完后,我也是整理了 属于自己的wordpress开发步骤skill.

  5. 项目初始化: 如果前期的技术选型错了,初始化的网站结构多半会出问题。不过第一次搞夜难免,问题肯定会在某一刻出现的,到时候自己就会去想着怎么改了

9 个赞

感谢你的分享

2 个赞

这些skills都是你自己写的吗

3 个赞

Github 地址呢?

3 个赞

分享一下skills呗

2 个赞

这是我看过最长的一篇文章

1 个赞

是的,每一个SKill都是经过自己的测试

3 个赞

Github地址:GitHub - MingYuePop/SpecForge: SpecForge — 文档驱动的 AI 开发工作流。13 个 Skill 引导 AI 从需求澄清到编码实现,让不懂技术的人也能系统化地用 AI 做出完整项目。 · GitHub

12 个赞

放在回复区了

2 个赞

放在回复区了

2 个赞

太详细了,对我这个新手来说很有用,感谢分享

2 个赞

感谢同学的分享,我年长你不少,不过编程基础差不多,自己也在尝试开发软件,目前有做出东西,希望能进一步交流 :grinning_face:

2 个赞

感谢你的分享!有认认真真看完了文章,同样小白出发,有很多共通的地方,思路清晰了很多

2 个赞

感谢分享!!

2 个赞