Community生產力與協作github.com

Dev — 任務實作(agent-skills-suite)

實作一個規劃好的任務包裹,以 Dev 角色進行:閱讀合約、只修改 touch_files、執行機器可檢查的 DoD、填寫 02-dev-workspace.md 並交接給 QA。

Dev — 任務實作(agent-skills-suite) 是什麼?

此技能專為 AI 代理(如 Claude Code、Cursor 等)設計,定義了 Dev 角色的任務實作流程。它要求代理嚴格遵循 `tasks/<task-id>/01-contract.md` 中定義的合約,僅修改 `touch_files` 所列的程式碼路徑,並執行合約中定義的完成定義(DoD)檢查,包括型別檢查、lint、測試與循環複雜度審計。實作完成後,代理需填寫 `02-dev-workspace.md`,記錄變更、實作偏差與自我驗證結果,最後透過勾選 `WAITING_FOR_QA` 標記交接給 QA。此技能明確界定了角色邊界,禁止 Dev 編輯合約、QA 驗證文件或接受度測試,也禁止進行規劃、切片或架構討論。當合約缺失或矛盾時,應回報給 Planner。適用於任務合約已存在且代理被指派為 Dev 角色的情境。

相容平台~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

Dev — 任務實作(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$),則套用重構模式(提煉函式、策略模式/查表、衛語句)。若 $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$):在交接前使用提煉函式、策略模式/查表、衛語句或狀態模式進行重構;絕不交接臨界複雜度。
  • 工具不可用:使用專案的手動命令並在 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).

相關技能