---
name: neo-harness-project
description: >
  當使用者要求盤點目前專案並建立、重建或補強完整 Harness 工程環境時使用此技能，
  包含專案知識地圖、架構文件、持久化計畫、驗證入口及依證據選用的工程治理資產；
  不用於只建立單一 AGENTS.md 或一般功能開發。
license: MIT
metadata:
  version: "1.0.0"
  type: "project-harness-generator"
---

# Project Harness Builder

根據目前專案的實際設計建立可閱讀、可驗證、可恢復的工程環境。不要把固定技術棧或理想架構套進專案，也不要建立沒有真實檢查能力的空殼。

## 邊界

- 本技能處理整個專案的 Harness 盤點與跨檔案建置。
- 若需求只處理 `AGENTS.md`，改用 `neo-harness`。
- 不新增使用者未要求的第三方依賴、服務、部署或外部連線。
- 技能內容與產出必須保持供應商中立，不得提及任何特定模型供應商、產品、套件族、官方網址或供應商專屬中繼資料。
- 若必要專案事實無法在遵守中立要求下準確記錄，停止相關產出並回報衝突；不得刪減或改寫事實來假裝合規。

## 必要流程

### 1. 盤點，不寫入

先讀取專案規範、版本控制狀態、根目錄、套件與建置設定、測試、CI、文件、主要入口及現有 Harness 資產。所有命令都必須從可驗證的設定或文件取得，不可憑技術棧猜測。

盤點時必須閱讀 [專案評估模型](references/project-assessment.md)，以來源證據判定成熟度與缺口。未知資訊標成「未知」，不要補成理想狀態。

### 2. 選擇產出

閱讀 [資產選擇矩陣](references/artifact-selection.md)，將每個候選路徑分類為：

- `create`：路徑不存在，且已有足夠證據建立。
- `update`：保留有效內容並補齊缺口。
- `rebuild`：現有內容與已確認目標衝突，需重建。
- `skip`：沒有需求或證據，不建立。
- `blocked`：缺少關鍵事實或違反中立要求。

核心知識與計畫資產預設納入；CI、架構檢查、執行環境、可觀測性與持續清理只在矩陣條件成立時納入。

### 3. 提供寫入預覽

修改前先向使用者提供：

1. 專案證據與成熟度。
2. 精確目標路徑及 `create`、`update`、`rebuild`、`skip` 或 `blocked` 動作。
3. 每項動作的事實依據與內容摘要。
4. 既有檔案衝突、驗證命令與失敗復原方式。

等待使用者明確確認全部或指定路徑。初始的「建立 Harness」要求不等於對未知重建清單的確認；預覽前不得寫入。

### 4. 依確認內容產生

寫入前閱讀 [產生、驗證與復原](references/generation-validation.md)。使用 [核心模板](assets/templates/) 作為結構起點，依專案事實改寫並移除所有模板標記；不得直接複製未完成模板。

- 使用與目前專案一致的命名、工具與文件語言；無法判定語言時採用使用者語言。
- 只修改預覽中已確認的精確路徑。
- `rebuild` 必須保留仍正確的專案事實，並確保可從版本控制或已報告的暫存快照復原。
- 空的執行計畫目錄使用最小追蹤檔保存，不填入虛構計畫。
- 規則可被機器可靠判斷時，優先使用既有工具形成可執行檢查；否則保留為明確文件規則。

### 5. 閉環驗證

1. 確認所有建立或重建的檔案都在已確認清單中。
2. 檢查文件連結、命令、路徑、架構描述及模板標記。
3. 執行專案原有快速檢查與新增的統一驗證入口。
4. 失敗時閱讀完整錯誤、修正根因並重跑。
5. 回報實際產出、未解缺口、命令與結果；沒有通過證據不得宣告完成。

## 完成條件

- 核心資產可由新工作階段只靠目前專案找到必要知識、限制與驗證方法。
- 所有命令均可追溯到專案設定且可實際執行。
- 沒有假成功命令、未完成模板、虛構架構或未經確認的重建。
- 條件式資產都有專案證據，未選用項目都有可說明的原因。
- 產出保持供應商中立，且驗證結果與剩餘缺口已交付。
