【自荐】厌倦了 OpenSpec 的草台、Oh-My-OpenAgent 的过度设计、superpowers 的散装,我自己写了一套SKILL体系

本帖使用社区开源推广,符合推广要求。我申明并遵循社区要求的以下内容: 我的帖子已经打上 开源推广 标签: 是 我的开源项目完整开源,无未开源部分: 是 我的开源项目已链接认可 LINUX DO 社区: 是 我帖子内的项目介绍,AI生成、润色内容部分已截图发出: 是 以上选择我承诺是永久有效的,接受社...
【自荐】厌倦了 OpenSpec 的草台、Oh-My-OpenAgent 的过度设计、superpowers 的散装,我自己写了一套SKILL体系
【自荐】厌倦了 OpenSpec 的草台、Oh-My-OpenAgent 的过度设计、superpowers 的散装,我自己写了一套SKILL体系
本帖使用社区开源推广,符合推广要求。我申明并遵循社区要求的以下内容:
  • 我的帖子已经打上 开源推广 标签:
  • 我的开源项目完整开源,无未开源部分:
  • 我的开源项目已链接认可 LINUX DO 社区:
  • 我帖子内的项目介绍,AI生成、润色内容部分已截图发出:
  • 以上选择我承诺是永久有效的,接受社区和佬友监督:

以下为项目介绍正文内容,AI生成、润色内容已使用截图方式发出


缘由

我在开发一套新的 Harness Agent,源码在这 GitHub - liuzhengdongfortest/MA · GitHub 一开始当然是 VibeCoding,我只写我的设计,代码和问题都由 AI 来修改,这样一开始是非常 OK 的,也支撑我开发除了大部分的特性。直到有一天 Codex 反复解决不了一个我认为比较简单的问题,以及反复在同一个地方掉链子。我就知道项目需要一套工作流来维持它继续进行了。

我调研了 OpenSpec、SuperPowers、Oh-My-OpenAgent 这一类的工具。答案就是它们没有一个用着我觉得顺手的,原因很简单。OpenSpec 太简单了,没有 Compound 工程,而且生成的 Spec 很抽象,人类根本没法读。SuperPowers 没有流程来约束,我不知道该用哪个。Oh-My-OpenAgent 也太重。

所以我自己写了一套 EasySDD 体系。主要分为三大块:【Feature 工作流】 、【issue 工作流】以及【辅助工作流】。

Feature 工作流

Feature 工作流很常规:brainstorm → design → implement → acceptance

相信大家一看就知道了。头脑风暴、设计、实现、验收。这些大家如果自己 vibe 过或者用过其他框架应该很熟悉。

Issue 工作流

Issue 工作流参考了站内大佬的一些思路:report → analyze → fix,分别是汇报 bug、分析 bug、解决 bug。

那么 EasySDD 相比其他框架有什么特殊的?

EasySDD 有很多特殊的地方,让我一一道来。EasySDD 我认为最值得称道的是它的【辅助工作流】。首先可以看它的目录结构。

image

Architecture

系统架构所在地,这里就是整个系统架构的文档所在之处。在你实现完一个 feature 以后,的 acceptance 中,会自动将你的 feature 合并进架构文档里。

术语归一

这个说起来很复杂,简单来说就是把术语统一一下,确保人表述和 AI 理解的,AI 表述的和人理解的是一致的,这个大家用到的时候自己体会一下就知道了。

Compoud

这是 EasySDD 的重中之重,其中设计了大量的技能来归纳 compound,也就是所谓的复利工程,说白了就是积累知识,例如
easysdd-learning:从项目中学到什么
Easysdd-tricks:一些技巧
Easysdd-decisions:项目的决定
Easysdd-explore:项目探索。

那么归档以后如何召回呢?EasySDD 只在需要它的时候召回,例如在 easysdd-feature-design 中就显式地搜索了 compound 目录,easysdd-issue-analysis 也会显式地去查找。

这样整个系统就处于一种自洽状态,在 feature 和 issue 的过程中,积累知识会反哺到设计里,到最后越来越顺。

工作清单

跟 plan 不同,我在 design 以后会让模型生成一个 checklist 的 yaml 文件,实测起来遵从率居然比单纯的 markdown 和 csv 要高一些,我也不知道为啥。

image

Onboarding 技能

我专门做了一个上船技能,什么意思呢?就是帮你搭建 easysdd 的项目结构,一键启用。

image

Libdoc 和 guidedoc 技能

这两个技能都是我在写文档的时候会用到的,一个是维护库的 api 文档,一个是用来给用户和开发者写指南的技能,自用起来相当不错。

更多细节

总之,我认为 EasySDD 在逻辑上或者说工作流上已经达成了一种自洽的状态,细节很多,更多内容可以去项目里看,其实都是一系列的 SKILL 文件。

模型适配

由于我是在家和公司都用 EasySDD,所以我自己体感的是 Claude 模型和 glm 4.7 都适配,但是 Claude 可以一次性完成一个大颗粒的 feature,glm 4.7 只能小颗粒,而且每次 design 都得我去把一下关… 这个模型能力问题我真没办法。

设计上的权衡

有人会问,那 worktree,code-review 或者子代理开发这些技能呢?

这里就是设计上的权衡了,小到 openspec,大到 oh-my-openagent。它们都有各自的权衡。我并不想做一个大而全的框架,反而是够用就行,能帮我持续推进项目,让项目持续受控,让我感到安心就 OK。没有哪些复杂的 Subagent 和 hook 来污染你的 Claude 或者 Codex。

一些EasySDD 实际的例子

自动积累知识

在 feature 工作流的 acceptance 收尾阶段会自动积累相应的知识,同时会更新 architecture 的文档。

image

积累的关于 tauri 编译问题的知识

image

解决的 feature 和issue 文档显性化

有些时候需要往回翻阅当时解决了哪些 issue,所以我把 feature 和 issue 也留了一份存档。

image

最后

希望大家也不要全依赖 EasySDD,框架虽好也不能解决所有情况。像我只有觉得特性复杂度足够高的时候才会走 EasySDD的流程, 因为你既然约束了 AI 去按照流程办事,还是会多耗费一些 token 的。比如说一般我的一个 feature 需要 Claude Code 的 Opus 走完一个 200 k 的上下文才能完成。所以一般简单的 UI 调整呀我都是直接截图 vibe 就行了。

image

【安装】
npx skills add https://github.com/liuzhengdongfortest/easysdd

【github 链接】

github.com

GitHub - liuzhengdongfortest/EasySDD

通过在 GitHub 上创建帐户来为 liuzhengdongfortest/EasySDD 开发做出贡献。

16 个帖子 - 13 位参与者

阅读完整话题

来源: linux.do查看原文