Community生产力与协作github.com

formal-you/agent-skills-suite

以 Dev 角色实施一项计划好的任务包:阅读合约、仅修改 touch_files、运行机器可检查的 DoD、填写 02-dev-workspace.md 并移交给 QA。当存在任务合约且你被分配实施任务时使用。不用于规划、任务拆分、架构或 QA 验证。

agent-skills-suite 是什么?

该技能定义了 AI 代理以 Dev 角色实施单个任务包的完整流程。它严格遵循任务合约(01-contract.md),仅允许修改合约中 `touch_files` 列出的文件。核心工作流包括:确认 BDD 场景和复杂度限制(圈复杂度 V(G)≤10)、实施垂直切片、运行机器可检查的 DoD(类型检查、lint、现有测试)、自检复杂度、填写 02-dev-workspace.md(包含实施偏差表),最后通过勾选 `WAITING_FOR_QA` 标记移交给 QA。该技能本身不授予额外权限,其角色边界由 `references/role-boundaries.md` 定义,并尊重仓库自身的代理规则(如 AGENTS.md)。当 QA 请求返工或验收通过后,分别有对应的返工流程和规范回写所有权交接。它适用于 Cursor、Claude Code 等支持技能包的代理平台,旨在确保任务实施的范围可控、可验证且可审计。

兼容平台~Claude Code~Codex CLI~Cursor
npx skills add https://github.com/formal-you/agent-skills-suite/tree/HEAD/.agents/skills/dev

Installed? Explore more 生产力与协作 skills: steipete/gemini, steipete/gh-issues, steipete/skill-creator · View all 6 →

在你喜欢的 AI 中提问

打开一个已预加载此 Agent Skill 的新对话。

预览

来自技能 README

agent-skills-suite preview

文档

Dev — 任务实施

实施一个任务包并将其移交给 QA。本技能定义了流程,并在 references/role-boundaries.md 中包含了自身的角色边界。如果采用仓库定义了代理规则(AGENTS.md、角色规则目录或同等文件),则在存在时阅读并遵循它们;本技能从不授予额外权限。

何时使用

  • 当 tasks/<task-id>/ 下的任务已完成 01-contract.md,且你是 Dev 角色时。
  • 当你需要实施一个垂直切片、运行其 DoD 命令、记录证据并移交时。
  • 当你在 QA 发出 REWORK_REQUIRED 后重新处理任务时。

何时不使用

  • 合约缺失、不完整或有争议时——将其返回给 Planner。
  • 当你被要求计划、拆分或审查任务,或验证其他代理的工作时。
  • 当请求的更改超出合约的 touch_files 时——升级或拆分任务。

输入

  • tasks/<task-id>/01-contract.md——权威的 YAML frontmatter、touch_files、dod、第 4 节 BDD 行为场景(Given-When-Then 不变量)以及继承的 ADR。
  • 合约引用的规范锚点。
  • 用于类型检查和 lint 的项目命令、现有测试套件以及 dod.test_file 中声明的 QA 拥有的验收目标。
  • tasks/<task-id>/02-dev-workspace.md——你需要填写的空白表单。

输出

  • 仅对 touch_files 中列出的路径进行代码更改。
  • 遵循 BDD 不变量和圈复杂度限制的代码(标准 $V(G) \le 10$,$11-15$ 在 02 中需说明理由,临界 $> 15$ 禁止)。
  • 一个完整的 02-dev-workspace.md,包含元数据、实际更改、自我验证以及实施偏差表(行号 DEV-001、DEV-002、... 或显式的 None 行)。
  • 恰好一个移交标记:- [x] WAITING_FOR_QA,仅当每个 DoD 项都通过时勾选。
  • 不编辑 01-contract.md、03-qa-verification.md、04-process.md 或 tests/acceptance/**。

工作流

  1. 确认范围与 BDD 合约。 阅读 01-contract.md 的 frontmatter 和第 4 节 BDD 场景。检查 task_id 是否等于目录名称,并且 touch_files、dod、adherence_adrs 和 Given-When-Then 不变量是否已定义。将缺失或矛盾的项目报告给 Planner。
  2. 准备工作。 记录基础提交并遵守项目的分支/提交约定。除非审查者重新打开,否则不要重新打开已接受的任务。
  3. 在 BDD 和复杂度限制下实施垂直切片。 仅更改 touch_files 中的文件。实施满足第 4 节和 dod.edge_cases 中声明的 Given-When-Then 不变量的逻辑。控制单函数圈复杂度(标准 $V(G) \le 10$)。如果复杂度接近警告限制($11-15$),应用重构模式(提取方法、策略/查找表、Guard Clauses)。如果 $V(G) > 15$,先重构再继续。不要编辑或创建 tests/acceptance/**。
  4. 运行机器可检查的 DoD 和自验证。 执行 dod.type_check 和 dod.lint,然后运行项目现有的测试;考虑每个 dod.edge_cases 项。对所有触及过的函数进行圈复杂度自审计。验收目标(dod.test_file)归 QA 所有:仅当它已存在时才运行,永远不要编写或编辑它。如果它尚不存在,在 02 中记录下来,并由 QA 在验证时运行。捕获命令/结果。
  5. 填写 02-dev-workspace.md。 记录分支、基础/移交提交、设计说明、每个实际更改的文件一行、净行数计数,并勾选每个为真的自验证项。对任何具有警告复杂度($11 \le V(G) \le 15$)的函数包含显式的架构理由。未通过的项留空。完成实施偏差表:每一行对应代码与合约或规范有差异的位置(DEV-001、DEV-002、...;操作 add | modify | remove;一个 #sec-* 锚点),或者当没有偏离时在每个单元格中写入 None。
  6. 移交给 QA。 仅当每个自验证项都通过且满足复杂度限制时,将 - [ ] WAITING_FOR_QA 更改为 - [x] WAITING_FOR_QA。这单个勾选的框就是移交触发条件。不要编辑 03 或 04。
  7. 返工。 阅读 03-qa-verification.md 中 QA 的失败追踪,仅在合约范围内修复,重新运行 DoD,为新尝试更新 02 并再次移交。将重复失败升级,而不是绕过合约。

质量门(在声明完成前)

  • 每个更改的路径都在 01-contract.md → touch_files 中列出。
  • 没有创建或修改影响范围外的文件。
  • 实施遵循所有 Given-When-Then BDD 场景和行为不变量。
  • 类型检查和 lint 成功退出;项目现有测试通过。
  • 圈复杂度自审计通过:所有函数满足 $V(G) \le 10$(或 $11-15$ 且在 02 中有理由);没有超过 $V(G) > 15$ 的。
  • QA 拥有的验收目标(dod.test_file)已声明;如果尚未编写,则已记录供 QA 使用。
  • 每个 dod.edge_cases 项都有实施/测试依据。
  • 本次尝试的 02-dev-workspace.md 已完整,包括实施偏差表(未偏离时使用显式 None 行)。
  • 仅勾选了 WAITING_FOR_QA;03 和 04 未改动。

失败处理

  • 合约缺失或矛盾:停止;报告该字段并请 Planner 修复。
  • 需要超出范围更改:拆分任务或升级;永远不要在 touch_files 之外编辑。
  • DoD 命令缺失或不可运行:报告该命令和错误;不要敷衍检查。
  • DoD 失败:修复实施并重新运行。在检查失败时不要勾选移交框。
  • 复杂度超过阈值($V(G) > 15$):在移交前使用提取方法、策略/查找表、Guard Clauses 或状态模式重构;永远不要移交临界复杂度。
  • 工具不可用:使用项目的手动命令并在 02 中记录证据;工作流不能依赖可选工具。

04-process.md 和工具

04-process.md 是派生输出。在移交复选框被勾选后,可选的仓库工具会附加 HANDOFF_QA_REQUESTED 并更新 macro_status/current_lock_holder。永远不要手工编辑 04;没有工具时,依赖 git/CI 和已勾选的框。

QA_PASSED 之后:规范回写所有权

实施偏差表是 Dev 对该任务的最后交付物。在 QA 记录 QA_PASSED 后,converge 技能拥有规范回写所有权:它将确认的偏差折叠到 .specs/02-tech-spec.md 中,归档任务包并关闭变更提案。

  • Dev 从不编辑 .specs/02-tech-spec.md,也从不归档任务包。
  • 结构性偏差(新组件、更改的边界、新的 ADR 级别决策)升级给 Planner/spec-generator,而不是静默收敛。
  • 如果 QA 请求返工,为新尝试更新偏差表;不要预先编写规范正文。

参考

  • references/dev-protocol.md——详细的检查表、范围验证、McCabe 圈复杂度限制、重构模式、移交和返工程序。
  • 角色边界:references/role-boundaries.md——写入范围、只读范围、不变量和诚实执行模型(捆绑;无需外部文件)。
  • 仓库规则:当采用项目定义了 AGENTS.md 和任何角色规则文件时阅读它们;它们可能会增加要求,但并非本技能工作的必要条件。
  • 任务包格式:task-decomposition 技能(可选兄弟技能;本技能仅消费其制品)。

诚实限制

本技能不授予写入访问权限,也无法强制角色隔离。当仓库具有 CI(例如基于 git 的角色审计)或分支保护时,那是权威层。合约(而非本文档)定义了允许的影响范围。

Individual skills in this repo

This repo contains 4 individual skills — each has its own dedicated page.

formal-you/agent-skills-suite

Run a bounded brownfield change (bugfix, small feature, behavior tweak) against an existing spec or codebase: proposal -> one task bundle -> dev/QA -> converge -> archive. Use when an existing spec or codebase needs an incremental change (bugfix, small feature, behavior tweak) and a full PRD is overkill. Do not use for greenfield requirements (use prd-generator), architecture decisions (use spec-generator), or pure task slicing (use task-decomposition).

formal-you/agent-skills-suite

Fold confirmed implementation deviations back into the technical spec after a task reaches QA_PASSED, archive the task bundle and close the change proposal. Use when a task bundle records a checked QA_PASSED verdict and its 02-dev-workspace.md deviation log is ready to be written back. Do not use while implementation or QA is still running, and do not use to invent spec content.

formal-you/agent-skills-suite

Use on Windows for unexpected DSH sandbox access denials: workspace writes or listing fail, or an ordinarily readable path cannot be read. One bundled command inspects the path and every ancestor and repairs the ACL problems it proves in that same run. Expected confinement denials need no ACL repair.

formal-you/agent-skills-suite

Run the Gate 1 deterministic static check on task bundles before development starts and follow the Gate 2 review checklist. Use when task contracts exist under tasks/ and you need to verify blast radius, diff budget, declared-file topology, traceability anchors, spec anchor coverage, inherited ADRs, machine-checkable acceptance criteria, and DAG acyclicity. Do not use for code execution, CI pipeline construction, AST/complexity checks, or test audits (owned by quality-engineering).

相关技能