
Viserys 是什么?
Viserys 是一套面向 AI 编码代理的自包含工程工作流集合。它不让代理为每个请求自行发明流程,而是提供可复用的 Markdown 指令、审查者角色、共享参考资料、生命周期命令、评估固件和验证脚本。
该项目将软件工作组织为六个阶段:
DEFINE -> PLAN -> BUILD -> VERIFY -> REVIEW -> SHIP每个工作流都位于一个 SKILL.md 文件中,并包含操作步骤、退出标准和反合理化指导。由于这些技能采用纯 Markdown 编写,因此既可由支持技能的编码代理加载,也可直接作为独立指令阅读。
主要功能
- 覆盖完整生命周期:工作流涵盖需求、规划、实现、测试、审查和发布准备。
- 26 个打包技能:
skills/目录包含可复用的工程工作流。 - 审查者角色:专用代理负责评估代码质量、测试、安全性和 Web 性能。
- OpenCode 集成:项目包含一个主模式 Viserys 代理,无需全局配置即可加载这些技能。
- 共享参考资料:检查清单可按需加载,无需永久放入代理上下文。
- 验证与评估:Node.js 脚本会检查技能、命令、产物路径、参考链接、版本和评估用例。
了解仓库结构
skills/包含技能工作流。agents/包含四个专业审查者角色。references/提供共享的按需检查清单。commands/定义生命周期命令。evals/包含技能评估用例和固件。scripts/包含验证器和评估运行器。hooks/提供会话生命周期钩子。docs/包含内部文档。.opencode/agent/viserys.md定义 OpenCode 代理。.opencode/opencode.json为 OpenCode 注册技能路径。
安装与设置
选项 1:在 OpenCode 中激活 Viserys
- 使用 Git 克隆 Viserys 仓库。
- 在 OpenCode 中打开克隆后的仓库文件夹。
- 按
Tab打开代理选择器。 - 选择
viserys。
随附的 Viserys 代理以主模式运行,因此会显示在 OpenCode 的代理列表中。它的提示词会在处理请求前检查是否有适用的技能,并通过项目生命周期来安排工作。仓库级 OpenCode 配置会注册所有已打包的技能,因此无需全局配置。
选项 2:将 Viserys 与其他支持技能的代理结合使用
对于 Claude Code、Cursor 或其他支持可复用技能的代理,请将代理指向仓库的 skills/ 目录。也可以将该目录复制到工具的原生技能目录中。
具体目标位置取决于所使用的编码代理。Viserys 不要求将其 Markdown 工作流转换为其他格式,但宿主工具必须知道在哪里发现这些工作流。
选项 3:将技能作为纯上下文使用
如果代理没有原生技能系统,请打开相关的 SKILL.md 文件,并将其内容作为上下文提供。每项技能都设计为可独立使用,因此你可以手动执行其中的步骤,也可以指示代理遵循这些步骤。
选择正确的工作流
如果不确定适用哪个工作流,请从元技能 using-agent-skills 开始。否则,请根据当前所处的生命周期阶段选择技能。
DEFINE:明确工作内容
- 当概念模糊、需要结构化探索时,使用
idea-refine。 - 当需要一次提出一个问题来收集需求时,使用
interview-me。 - 在没有规格说明的情况下启动项目、功能或重大变更前,使用
spec-driven-development。 - 当不存在质量标准,或仅为让构建通过而压制检查时,使用
constraint-driven-development。
PLAN:将规格说明转化为任务
需求稳定后,使用 planning-and-task-breakdown。它会将规格说明转换为按顺序排列、可验证且带有验收标准的任务。
BUILD:有计划地实现
incremental-implementation帮助跨多个文件的变更以小步迭代方式落地。- 在实现逻辑、修复缺陷或变更行为时,使用
test-driven-development。 context-engineering可帮助初始化会话、切换任务,或在输出质量下降时恢复状态。- 当正确性依赖最新的官方文档时,适合使用
source-driven-development。 doubt-driven-development鼓励在风险较高且立即检查的成本低于之后调试成本时进行验证。frontend-ui-engineering指导面向用户的界面开发。api-and-interface-design支持 API、模块边界和公共接口设计。
VERIFY:证明变更有效
- 对于基于浏览器的实现或调试,使用
browser-testing-with-devtools。 - 当测试失败、构建中断或运行时行为异常时,使用
debugging-and-error-recovery。
REVIEW:评估质量与风险
- 合并更改前应使用
code-review-and-quality。 - 当可运行的代码仍然难以理解或维护时,
code-simplification很有用。 security-and-hardening适用于用户输入、身份验证、数据存储和外部集成。- 当存在性能要求或怀疑发生回归时,适用
performance-optimization。
SHIP:准备投入生产
git-workflow-and-versioning指导代码更改和版本控制。ci-cd-and-automation支持构建和部署流水线的更改。deprecation-and-migration帮助移除旧系统或迁移用户。documentation-and-adrs记录架构决策和公共 API 更改。observability-and-instrumentation涵盖日志、指标、追踪和告警。shipping-and-launch指导最终的生产部署准备工作。
基本用法示例
假设你要求 AI 编程代理添加一个新的、需要身份验证的 API 端点。不要直接开始实现,而应按顺序执行以下生命周期。
- 定义:如果身份验证规则、输入或响应不明确,请运行
interview-me。然后使用spec-driven-development明确预期行为。 - 规划:应用
planning-and-task-breakdown生成有序任务和验收标准。 - 构建:使用
api-and-interface-design设计端点契约,并使用test-driven-development实现行为。如果必须修改多个文件,还应使用incremental-implementation。 - 验证:如果测试失败或端点行为异常,请遵循
debugging-and-error-recovery。 - 审查:由于该功能处理身份验证和输入,应应用
code-review-and-quality及security-and-hardening。 - 发布:在部署到生产环境前,使用适当的 Git、文档、可观测性和发布流程。
启用 OpenCode 集成后,Viserys 代理会先检查匹配的技能。在纯上下文设置中,你需要自行完成选择,并要求代理遵循每个选定的 Markdown 工作流。
使用审查者角色
Viserys 在 agents/ 中包含四个审查者角色,为生命周期技能提供互补的专注视角。
agents/code-reviewer.md按五个维度进行审查,并采用资深工程师的批准标准。agents/test-engineer.md使用“证明它”模式检查测试策略和覆盖率。agents/security-auditor.md涵盖漏洞检测、威胁建模和 OWASP 评估。agents/web-performance-auditor.md以快速或深入模式审查核心网页指标。
根据更改的风险选择角色。例如,在身份验证工作中,将安全审计员与 security-and-hardening 搭配使用;修改面向用户的界面后,则可使用网页性能审计员。
验证工作流包
更改技能、命令、引用、版本或评估固件后,运行随附的 Node.js 脚本:
node scripts/validate-skills.js
node scripts/validate-commands.js
node scripts/validate-artifact-paths.js
node scripts/validate-reference-links.js
node scripts/validate-versions.js
node scripts/run-evals.js这些命令会验证工作流包的内部结构并运行其评估套件。当你扩展 Viserys,而不仅仅是使用其现有工作流时,这些命令尤其重要。
高级技巧
组合技能,但不要跳过生命周期关卡
一项任务可能需要多个技能。例如,浏览器功能可以组合使用 frontend-ui-engineering、test-driven-development 和 browser-testing-with-devtools。确保每项技能的退出标准清晰可见,避免新增工作流变成无结构的提示。
仅在需要时加载引用
references/ 目录用于存放按需加载的共享检查清单。这有助于让代理的活动上下文保持专注,同时保留对详细指导的访问权限。
对依赖版本的工作使用官方来源
当实现细节依赖最新文档时,应用 source-driven-development。如果一个看似合理但错误的假设可能造成高昂代价,请将其与 doubt-driven-development 搭配使用。
代理质量下降时进行恢复
如果长时间会话变得不一致,请使用 context-engineering。它专门用于会话设置、任务切换以及输出质量下降的情况。
查阅随附文档
docs/README.md介绍工作流包及其生命周期映射。docs/skill-anatomy.md定义SKILL.md格式。evals/README.md介绍技能评估的工作方式。
在添加或重构工作流之前,先阅读技能结构规范,然后运行验证器和评估程序检查结果。
结论
Viserys 将 AI 辅助开发转变为可重复的工程流程。首先,将 skills/ 目录连接到兼容的代理,或在 OpenCode 中选择捆绑的 Viserys 代理。然后有条不紊地完成 DEFINE、PLAN、BUILD、VERIFY、REVIEW 和 SHIP,并在专业角色和验证脚本有帮助时使用它们。
