# Finish Project Work

> 當 Codex 執行多步驟開發、重構、除錯、移轉、文件或 Goal 任務，需要判斷真正終點，或已出現反覆打底、預先抽象化、一直追加改善、完成後仍繼續開發、只完成本機程式碼卻尚未達到部署或公開驗證要求等情況時使用。也適用於需要防止過早宣告完成或專案遲遲無法收尾的工作。

- Skill: `eric861129/finish-project-work` (Agent Skill, multi-file: 2 files)
- Install (CLI): `npx skillmds@latest add eric861129/finish-project-work`
- Raw SKILL.md: https://api.skillmd.com/api/skills/eric861129/finish-project-work/raw
- Safety review: pending
- Works with: Claude Code, Claude.ai, OpenAI Codex
- Category: Coding & Dev Tools
- Author: eric861129 (https://skillmd.com/u/eric861129)
- Updated: 2026-09-22
- Page: https://skillmd.com/skills/eric861129/finish-project-work

---


# 完成專案工作

## 核心原則

- 完成目前約定的任務或目標，不要把持續開發本身當成成功。
- 以可驗證成果驅動工作，不以基礎建設、抽象層數、文件數量或工作時間衡量進度。
- 優先交付能跨越必要層級、可實際驗證的垂直切片，再補真正阻擋交付的基礎能力。
- 收尾不代表降低品質；以符合風險的驗證證明已完成，而不是省略必要工作。
- 關閉的是目前約定的範圍，不要把單一任務完成誤稱為整個產品或程式庫永久完成。

## 建立完成契約

開始實作前，從使用者要求與現有證據確認：

1. **目標成果**：使用者最後能取得、操作或確認什麼。
2. **範圍邊界**：本次包含與明確不包含哪些工作。
3. **完成條件**：哪些可觀察結果成立才算完成。
4. **驗證證據**：需要哪些測試、建置、檢查、執行結果或人工確認。
5. **終點層級**：只需程式碼完成，還是包含合併、資料調整、部署、健康檢查或公開驗證。

若資訊足以安全推進，採用最小合理假設並在 commentary 說明；只有當不同答案會實質改變成果、風險或權限時才停下詢問。將完成契約保留在目前的 plan 或 commentary，不要自行建立新的規劃或狀態文件。

依任務尺度保存契約：多步驟或高風險任務放在目前 plan 或 commentary；單一步驟、低風險且終點明確的任務可在目前回覆中簡短推定，不要只為了使用本 Skill 建立正式 plan、追蹤文件或額外工作項目。契約的詳細程度不得大於安全完成任務所需的程度。

## 限制打底

只有同時符合以下條件，才進行基礎建設、共用抽象、框架調整、研究或大範圍重構：

- 它直接解除某一項完成條件的當前阻礙。
- 沒有更小、更直接且品質足夠的交付路徑。
- 能指出它將解鎖的垂直切片與停止條件。

不要因為未來可能需要、架構可以更漂亮、測試框架可以更完整，或順手整理會比較舒服而繼續打底。完成一項必要基礎工作後，立即回到可驗證成果；不要連續向下新增第二層、第三層前置工程。

## 推進交付

依序選擇下一步：

1. 最接近完成且尚未滿足的完成條件。
2. 讓現有成果真正可使用的整合缺口。
3. 由本次變更造成或阻擋驗證的缺陷。
4. 無法繞過的必要基礎阻礙。

每個工作項目都要能回答：「它推進哪一項完成條件，以及要如何驗證？」若無法回答，不要自動納入目前範圍。

探索過程發現新工作時，將它分類：

- **完成所必需**：納入並更新完成契約；若會實質改變方案、風險或時程，先告知使用者。
- **本次變更造成的問題**：在收尾前修正並重新驗證。
- **可選改善或既有問題**：只有在會影響使用者決策、風險或後續操作時才簡短回報；不要自行實作、重構或開啟下一階段。

每完成一個可驗證批次，就重新檢查完成閘門。若已符合目前完成契約，不要再產生下一批工作。

## 完成閘門

只有在下列條件都成立時，才宣告完成：

- 約定範圍內的完成條件已有可核對證據。
- 相關測試、建置、靜態檢查與必要 smoke test 依風險通過。
- 跨層整合、錯誤路徑與重要回歸風險已在合理範圍內驗證。
- 沒有仍會阻止使用者取得目標成果的已知問題。
- 暫存產物已妥善處理，且沒有覆蓋或混入使用者的無關變更。
- 使用者要求的終點層級已達成；若要求 staging、部署或公開驗證，不要在只有本機通過時宣告完成。

只執行目前範圍所需的驗證。不要為了讓收尾看起來更完整，自行加入新的文件、重構、功能、部署或長期改善工作。

## 停止與回報

完成閘門通過後：

1. 停止修改程式碼、架構、資料與文件。
2. 以結果開頭，簡潔列出完成內容與驗證證據。
3. 只揭露仍然存在且與目前成果有關的風險、限制或未涵蓋範圍。
4. 將可選改善留作後續候選；除非使用者要求，不要繼續實作或建立下一階段計畫。
5. 若存在 Codex Goal，只有在目標確實達成且沒有必要工作剩餘時才標記完成。

每次完成、尚未完成或受阻的最終回報，都依下列順序提供八個必要欄位。這份收尾憑證就是完成判定本身；即使使用者只問「是否完成」，也直接用八個欄位回答。小型任務每欄一句即可；不要為了填滿格式增加驗證、文件或範圍。

```text
結果（必要）：已完成／尚未完成／受阻，以及使用者目前可取得的成果
目標成果（必要）：本次約定要交付的可觀察結果
範圍邊界（必要）：已涵蓋內容與明確未納入的額外構想
完成條件（必要）：各條件是否成立
驗證證據（必要）：實際執行的測試、建置、檢查、部署或公開驗證結果
終點層級（必要）：程式碼、合併、資料、部署、健康檢查或公開狀態實際到達哪一層
剩餘風險（必要）：仍與成果有關的已知風險；沒有時寫「沒有已知阻礙」
停止理由（必要）：完成閘門已通過，或目前阻礙與需要的外部決定
```

證據缺失時，把對應完成條件標為未成立；不要用「應該通過」、剩餘時間不足或大部分完成代替證據。

即使仍有時間、Token 或預算，也不要為了持續工作而增加範圍、補強地基或尋找新的改善項目。

若安全且在範圍內的替代路徑都已用盡，但仍無法通過完成閘門，停止擴張基礎工程，回報確切阻礙、已有證據、尚未完成的條件，以及需要的使用者決定或外部狀態變更。

