---
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 資產，包括 `docs/scripts.md` 與 `docs/exec-plans/` 的既有檔案。命令必須來自可驗證的設定或文件，不得依技術棧猜測。

盤點時必須閱讀 [專案評估模型](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` 必須保留仍正確的專案事實，並可從版本控制或已報告的暫存快照復原。
- 空的執行計畫目錄以最小追蹤檔保存，不填入虛構計畫。
- 新建立的執行計畫檔名必須使用 `YYYYMMDDHHmmss_<原計畫檔名>.md`；時間戳取建立當下執行環境的本地時間，從 `active` 移至 `completed` 時保留原時間戳。
- 既有未加時間戳的計畫不批次改名；更新既有計畫時沿用原檔名。
- `docs/scripts.md` 必須只含 `指令`、`用途` 兩欄的 Markdown table，收錄專案設定或文件可驗證的所有命令；沒有可驗證命令時只保留空表頭。
- 沒有可驗證的統一驗證命令時，從 `AGENTS.md` 移除統一驗證命令與相應完成條件，不保留模板標記。
- 規則可由機器可靠判斷時，優先使用既有工具建立可執行檢查；否則明確記錄為文件規則。

### 5. 閉環驗證

1. 確認建立或重建的檔案均在確認清單中。
2. 檢查文件連結、命令、路徑、架構描述及模板標記。
3. 驗證新計畫檔名的時間戳格式，以及 `docs/scripts.md` 的兩欄 Markdown table 格式。
4. 執行專案原有快速檢查及新增的統一驗證入口。
5. 失敗時讀取完整錯誤，修正根因後重跑。
6. 回報產出、未解缺口、命令與結果；沒有通過證據不得宣告完成。

## 完成條件

- 新工作階段只靠目前專案即可找到核心資產所需的知識、限制與驗證方法。
- `docs/scripts.md` 列出完整且可追溯的專案命令。
- 新建立的計畫檔案可依時間戳前綴排序，且在生命週期中移動時保留前綴。
- 所有命令均可追溯至專案設定並可執行。
- 沒有假成功命令、未完成模板、虛構架構或未經確認的重建。
- 條件式資產都有專案證據，未選用項目都有明確原因。
- 產出保持供應商中立，並交付驗證結果與剩餘缺口。
