SkillHub 开发工作流
为 SkillHub 开发者提供的从本地开发到代码评审的完整、分阶段的开发流程。
该技能仅指导开发工作流,不涉及外部副作用或敏感数据处理,权限需求低。但未明确确认步骤或数据流透明性,未提供回滚机制。发行者未经验证,信任仅基于文档完整性,未发现红旗。
技能提供的命令和步骤在文档中一致,但未提供测试或异常处理细节,依赖外部工具(如Docker、Java),关键路径未能在静态审查中复现。因此评分仅基于文档自洽性。
适用场景清晰(本地开发、测试、PR),但边界和触发条件未明确定义,未能完全防止误触发。无中文支持说明,但部署文档提及中国用户镜像,环境适配部分满足。
文档结构清晰,提供先决条件、常用命令、常见问题,但缺少版本号、变更日志、维护责任声明。许可证为Apache-2.0,但未说明更新路径。
技能能指导完成开发工作流,但用户仍需手动验证,输出未直接自动完成。核心任务完成,但边际价值取决于文档质量,未见实际验证。
没有提供测试结果或第三方执行证据,仅依赖文档和仓库中的CI,但该技能本身未被测试覆盖。关键声明无法独立验证。
- 技能中的命令可能因环境差异而失败,用户需自行排查。
- 文档未提供版本控制和变更日志,维护责任不明确。
- 未提供回滚或撤销步骤,如遇问题需手动处理。
这个 Skill 能做什么,适合哪些场景?
此技能通过定义本地开发、测试、暂存验证和拉取请求创建的分阶段工作流,引导 SkillHub 贡献者完成正确的开发流程。它提供了用于启动完整技术栈的 make 命令,在多个层级运行测试,验证容器化暂存环境,并生成带有规范提交消息的拉取请求。该技能还支持并行 agent 开发,使用 worktrees 实现隔离功能分支。
它执行如下的开发操作:运行 make dev-all 来启动完整的技术栈(Postgres、Redis、MinIO、扫描器、后端、前端),通过 make dev-server-restart 重启后端,通过 make test-backend 运行后端单元测试,通过 make test-frontend 运行前端 Vitest 测试,通过 make test-e2e-frontend 运行 Playwright 端到端测试,通过 make typecheck-web 进行类型检查,通过 make staging 构建 Docker 镜像和前端静态文件并执行冒烟测试,通过 make pr 创建拉取请求,并通过 make parallel-init 管理并行 worktrees。
- SkillHub 贡献者在本地修改 Java 或前端代码时要快速迭代,可使用命令 `make dev-all` 启动全部服务,并通过热重载或重启来查看更改。
- 开发者在推送前要验证更改,可运行 `make test-backend-app` 运行单元测试,`make test-frontend` 运行前端测试,`make typecheck-web` 检查类型。
- 开发者在合并前要验证容器化部署,可运行 `make staging` 构建镜像、启动暂存环境并运行冒烟测试。
- 开发者准备好合并功能时,可使用 `make pr` 推送分支并创建规范提交消息的拉取请求。
- 同时在多个功能上并行工作的 agent 团队,可使用 `make parallel-init TASK=feature-name` 创建隔离的 worktrees。
这个 Skill 有哪些优点和局限?
- 为整个开发周期提供全面的分阶段工作流
- 提供清晰的 Makefile 命令,便于操作
- 涵盖端到端测试(Playwright)和冒烟测试脚本
- 通过 worktrees 支持并行 agent 开发
- 规范提交消息约定促进了清晰的 git 历史
- 深度绑定 SkillHub 仓库结构;在其他项目中不可复用
- 需要完整的本地技术栈(Java、Node.js、Docker),设置繁琐
- 未记录该技能的自动测试套件
- make 命令假定 Unix 环境;Windows 用户可能需要调整
如何安装这个 Skill?
由于此技能是 SkillHub 仓库的一部分,请克隆仓库并导航至由 SKILL.md 定义的技能目录。该目录天然符合 Agent Skills 标准;您可以将 .agents/skills/dev-workflow 文件夹复制或链接到您选择的 agent 技能目录。
如何使用这个 Skill?
在仓库根目录触发此技能,例如提示:“按照 dev-workflow 技能操作:从 Stage 1 开始并运行 make dev-all。”它要求先决条件为 Java 21+、Maven wrapper、Node.js 和 pnpm、Docker 以及 gh CLI。请按照技能中描述的四个阶段进行操作:本地开发、测试、暂存回归和拉取请求。