@moon791017/neo-skills 1.1.29 → 1.1.30
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +2 -0
- package/package.json +1 -1
- package/skills/neo-harness-project/SKILL.md +80 -0
- package/skills/neo-harness-project/assets/templates/AGENTS.md.template +43 -0
- package/skills/neo-harness-project/assets/templates/ARCHITECTURE.md.template +29 -0
- package/skills/neo-harness-project/assets/templates/PLANS.md.template +24 -0
- package/skills/neo-harness-project/assets/templates/exec-plan.md.template +71 -0
- package/skills/neo-harness-project/evals/eval_queries.json +17 -0
- package/skills/neo-harness-project/evals/evals.json +61 -0
- package/skills/neo-harness-project/references/artifact-selection.md +50 -0
- package/skills/neo-harness-project/references/generation-validation.md +74 -0
- package/skills/neo-harness-project/references/project-assessment.md +58 -0
package/README.md
CHANGED
|
@@ -38,6 +38,7 @@
|
|
|
38
38
|
| 類別 | Skill | 使用時機 |
|
|
39
39
|
| :--- | :--- | :--- |
|
|
40
40
|
| Agent 治理 | `neo-harness` | 自動掃描專案環境,產生或更新專案專用的 AGENTS.md,並整合 Harness 評估、Workflow 與編排架構。 |
|
|
41
|
+
| Agent 治理 | `neo-harness-project` | 盤點目前專案並依證據建立完整 Harness 知識、計畫、驗證與工程治理資產。 |
|
|
41
42
|
| 資訊安全 | `neo-iso-27001` | 依 ISO/IEC 27001 進行 ISMS 範圍、風險、證據、差距分析、稽核準備與改善計畫。 |
|
|
42
43
|
| 隱私管理 | `neo-iso-27701` | 依 ISO/IEC 27701 進行 PIMS、PII 角色、處理活動、隱私風險、證據與稽核準備。 |
|
|
43
44
|
| DevOps | `neo-azure-pipelines` | 建立、審查、除錯或現代化 Azure Pipelines YAML,尤其是 .NET build、Azure App Service 或 IIS 部署。 |
|
|
@@ -155,6 +156,7 @@ npx -p @moon791017/neo-skills install-system-instructions \
|
|
|
155
156
|
| 寫 TypeScript 型別 | `neo-typescript` | `幫我設計這個 API response 的泛型型別` |
|
|
156
157
|
| 建 Vue 3 元件 | `neo-vue` | `幫我重構這個 SFC,避免響應式踩坑` |
|
|
157
158
|
| 建立 Agent 治理 | `neo-harness` | `幫我針對這個專案評估並產生 AGENTS.md` |
|
|
159
|
+
| 建立完整專案 Harness | `neo-harness-project` | `盤點目前專案並建立可驗證、可恢復的 Harness 工程環境` |
|
|
158
160
|
| 建立 sub-agent | `neo-sub-agent` | `幫我新增一個 Codex code-reviewer sub agent` |
|
|
159
161
|
| 規劃 OpenTelemetry | `neo-opentelemetry` | `幫我審查 Collector 架構、韌性、安全與零程式觀測方案` |
|
|
160
162
|
| 設計 RabbitMQ 系統 | `neo-rabbitmq` | `請分析 RabbitMQ Queue 堆積、叢集營運與效能瓶頸` |
|
package/package.json
CHANGED
|
@@ -0,0 +1,80 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: neo-harness-project
|
|
3
|
+
description: >
|
|
4
|
+
當使用者要求盤點目前專案並建立、重建或補強完整 Harness 工程環境時使用此技能,
|
|
5
|
+
包含專案知識地圖、架構文件、持久化計畫、驗證入口及依證據選用的工程治理資產;
|
|
6
|
+
不用於只建立單一 AGENTS.md 或一般功能開發。
|
|
7
|
+
license: MIT
|
|
8
|
+
metadata:
|
|
9
|
+
version: "1.0.0"
|
|
10
|
+
type: "project-harness-generator"
|
|
11
|
+
---
|
|
12
|
+
|
|
13
|
+
# Project Harness Builder
|
|
14
|
+
|
|
15
|
+
根據目前專案的實際設計建立可閱讀、可驗證、可恢復的工程環境。不要把固定技術棧或理想架構套進專案,也不要建立沒有真實檢查能力的空殼。
|
|
16
|
+
|
|
17
|
+
## 邊界
|
|
18
|
+
|
|
19
|
+
- 本技能處理整個專案的 Harness 盤點與跨檔案建置。
|
|
20
|
+
- 若需求只處理 `AGENTS.md`,改用 `neo-harness`。
|
|
21
|
+
- 不新增使用者未要求的第三方依賴、服務、部署或外部連線。
|
|
22
|
+
- 技能內容與產出必須保持供應商中立,不得提及任何特定模型供應商、產品、套件族、官方網址或供應商專屬中繼資料。
|
|
23
|
+
- 若必要專案事實無法在遵守中立要求下準確記錄,停止相關產出並回報衝突;不得刪減或改寫事實來假裝合規。
|
|
24
|
+
|
|
25
|
+
## 必要流程
|
|
26
|
+
|
|
27
|
+
### 1. 盤點,不寫入
|
|
28
|
+
|
|
29
|
+
先讀取專案規範、版本控制狀態、根目錄、套件與建置設定、測試、CI、文件、主要入口及現有 Harness 資產。所有命令都必須從可驗證的設定或文件取得,不可憑技術棧猜測。
|
|
30
|
+
|
|
31
|
+
盤點時必須閱讀 [專案評估模型](references/project-assessment.md),以來源證據判定成熟度與缺口。未知資訊標成「未知」,不要補成理想狀態。
|
|
32
|
+
|
|
33
|
+
### 2. 選擇產出
|
|
34
|
+
|
|
35
|
+
閱讀 [資產選擇矩陣](references/artifact-selection.md),將每個候選路徑分類為:
|
|
36
|
+
|
|
37
|
+
- `create`:路徑不存在,且已有足夠證據建立。
|
|
38
|
+
- `update`:保留有效內容並補齊缺口。
|
|
39
|
+
- `rebuild`:現有內容與已確認目標衝突,需重建。
|
|
40
|
+
- `skip`:沒有需求或證據,不建立。
|
|
41
|
+
- `blocked`:缺少關鍵事實或違反中立要求。
|
|
42
|
+
|
|
43
|
+
核心知識與計畫資產預設納入;CI、架構檢查、執行環境、可觀測性與持續清理只在矩陣條件成立時納入。
|
|
44
|
+
|
|
45
|
+
### 3. 提供寫入預覽
|
|
46
|
+
|
|
47
|
+
修改前先向使用者提供:
|
|
48
|
+
|
|
49
|
+
1. 專案證據與成熟度。
|
|
50
|
+
2. 精確目標路徑及 `create`、`update`、`rebuild`、`skip` 或 `blocked` 動作。
|
|
51
|
+
3. 每項動作的事實依據與內容摘要。
|
|
52
|
+
4. 既有檔案衝突、驗證命令與失敗復原方式。
|
|
53
|
+
|
|
54
|
+
等待使用者明確確認全部或指定路徑。初始的「建立 Harness」要求不等於對未知重建清單的確認;預覽前不得寫入。
|
|
55
|
+
|
|
56
|
+
### 4. 依確認內容產生
|
|
57
|
+
|
|
58
|
+
寫入前閱讀 [產生、驗證與復原](references/generation-validation.md)。使用 [核心模板](assets/templates/) 作為結構起點,依專案事實改寫並移除所有模板標記;不得直接複製未完成模板。
|
|
59
|
+
|
|
60
|
+
- 使用與目前專案一致的命名、工具與文件語言;無法判定語言時採用使用者語言。
|
|
61
|
+
- 只修改預覽中已確認的精確路徑。
|
|
62
|
+
- `rebuild` 必須保留仍正確的專案事實,並確保可從版本控制或已報告的暫存快照復原。
|
|
63
|
+
- 空的執行計畫目錄使用最小追蹤檔保存,不填入虛構計畫。
|
|
64
|
+
- 規則可被機器可靠判斷時,優先使用既有工具形成可執行檢查;否則保留為明確文件規則。
|
|
65
|
+
|
|
66
|
+
### 5. 閉環驗證
|
|
67
|
+
|
|
68
|
+
1. 確認所有建立或重建的檔案都在已確認清單中。
|
|
69
|
+
2. 檢查文件連結、命令、路徑、架構描述及模板標記。
|
|
70
|
+
3. 執行專案原有快速檢查與新增的統一驗證入口。
|
|
71
|
+
4. 失敗時閱讀完整錯誤、修正根因並重跑。
|
|
72
|
+
5. 回報實際產出、未解缺口、命令與結果;沒有通過證據不得宣告完成。
|
|
73
|
+
|
|
74
|
+
## 完成條件
|
|
75
|
+
|
|
76
|
+
- 核心資產可由新工作階段只靠目前專案找到必要知識、限制與驗證方法。
|
|
77
|
+
- 所有命令均可追溯到專案設定且可實際執行。
|
|
78
|
+
- 沒有假成功命令、未完成模板、虛構架構或未經確認的重建。
|
|
79
|
+
- 條件式資產都有專案證據,未選用項目都有可說明的原因。
|
|
80
|
+
- 產出保持供應商中立,且驗證結果與剩餘缺口已交付。
|
|
@@ -0,0 +1,43 @@
|
|
|
1
|
+
# {{PROJECT_NAME}} 專案規範
|
|
2
|
+
|
|
3
|
+
{{PROJECT_SUMMARY}}
|
|
4
|
+
|
|
5
|
+
## 開始工作
|
|
6
|
+
|
|
7
|
+
1. 閱讀 `ARCHITECTURE.md`。
|
|
8
|
+
2. 閱讀與任務相關的模組文件及既有實作。
|
|
9
|
+
3. 複雜或跨工作階段的任務依 `PLANS.md` 建立或更新執行計畫。
|
|
10
|
+
4. 修改前確認目前基準與驗收條件。
|
|
11
|
+
|
|
12
|
+
## 專案知識
|
|
13
|
+
|
|
14
|
+
| 主題 | 來源 |
|
|
15
|
+
| :--- | :--- |
|
|
16
|
+
| 架構 | `ARCHITECTURE.md` |
|
|
17
|
+
| 執行計畫 | `docs/exec-plans/` |
|
|
18
|
+
| {{KNOWLEDGE_TOPIC}} | `{{KNOWLEDGE_PATH}}` |
|
|
19
|
+
|
|
20
|
+
## 命令
|
|
21
|
+
|
|
22
|
+
| 用途 | 精確命令 |
|
|
23
|
+
| :--- | :--- |
|
|
24
|
+
| {{COMMAND_PURPOSE}} | `{{VERIFIED_COMMAND}}` |
|
|
25
|
+
|
|
26
|
+
## 工作閉環
|
|
27
|
+
|
|
28
|
+
1. 以程式碼、設定或測試建立基準。
|
|
29
|
+
2. 以最小變更完成需求。
|
|
30
|
+
3. 執行相關快速檢查並依完整錯誤修正根因。
|
|
31
|
+
4. 執行統一驗證與自我審查。
|
|
32
|
+
5. 只在驗證通過後交付實際證據。
|
|
33
|
+
|
|
34
|
+
## 專案限制
|
|
35
|
+
|
|
36
|
+
- {{VERIFIED_CONSTRAINT}}
|
|
37
|
+
|
|
38
|
+
## 完成條件
|
|
39
|
+
|
|
40
|
+
- 已完成要求的可觀察行為。
|
|
41
|
+
- 相關測試或其他決定性證據存在。
|
|
42
|
+
- `{{CANONICAL_VERIFY_COMMAND}}` 成功。
|
|
43
|
+
- 架構、文件與執行計畫已依需要同步。
|
|
@@ -0,0 +1,29 @@
|
|
|
1
|
+
# Architecture
|
|
2
|
+
|
|
3
|
+
## 系統概觀
|
|
4
|
+
|
|
5
|
+
{{EVIDENCE_BASED_OVERVIEW}}
|
|
6
|
+
|
|
7
|
+
## 主要元件
|
|
8
|
+
|
|
9
|
+
| 元件 | 責任 | 允許依賴 | 禁止依賴 | 證據 |
|
|
10
|
+
| :--- | :--- | :--- | :--- | :--- |
|
|
11
|
+
| {{COMPONENT}} | {{RESPONSIBILITY}} | {{ALLOWED_DEPENDENCY}} | {{FORBIDDEN_DEPENDENCY}} | `{{EVIDENCE_PATH}}` |
|
|
12
|
+
|
|
13
|
+
## 資料與控制流程
|
|
14
|
+
|
|
15
|
+
{{OBSERVED_DATA_AND_CONTROL_FLOW}}
|
|
16
|
+
|
|
17
|
+
## 執行邊界
|
|
18
|
+
|
|
19
|
+
{{RUNTIME_BOUNDARIES}}
|
|
20
|
+
|
|
21
|
+
## 不變量與機械驗證
|
|
22
|
+
|
|
23
|
+
| 不變量 | 狀態 | 驗證方式 |
|
|
24
|
+
| :--- | :--- | :--- |
|
|
25
|
+
| {{INVARIANT}} | 文件規則/可執行規則 | `{{VERIFICATION_COMMAND_OR_REFERENCE}}` |
|
|
26
|
+
|
|
27
|
+
## 未確認事項
|
|
28
|
+
|
|
29
|
+
- {{UNKNOWN_OR_PENDING_DECISION}}
|
|
@@ -0,0 +1,24 @@
|
|
|
1
|
+
# Execution Plans
|
|
2
|
+
|
|
3
|
+
下列工作必須使用持久執行計畫:
|
|
4
|
+
|
|
5
|
+
- {{PLAN_THRESHOLD}}
|
|
6
|
+
|
|
7
|
+
進行中計畫放在 `docs/exec-plans/active/`;完成且已記錄結果的計畫移至 `docs/exec-plans/completed/`。
|
|
8
|
+
|
|
9
|
+
每份計畫必須自包含。讀者只需要目前工作樹與計畫本身,不應依賴先前對話或未連結的外部資訊。
|
|
10
|
+
|
|
11
|
+
## 必要內容
|
|
12
|
+
|
|
13
|
+
- 目的與可觀察成果
|
|
14
|
+
- 專案背景與重要路徑
|
|
15
|
+
- 目前與期望行為
|
|
16
|
+
- 架構與其他限制
|
|
17
|
+
- 里程碑及進度
|
|
18
|
+
- 發現與決策紀錄
|
|
19
|
+
- 具體命令與預期結果
|
|
20
|
+
- 自動與手動驗證
|
|
21
|
+
- 冪等、失敗復原與回復方式
|
|
22
|
+
- 完成結果與剩餘工作
|
|
23
|
+
|
|
24
|
+
實作期間持續更新進度、發現與決策。沒有驗證證據時,不得將計畫標為完成。
|
|
@@ -0,0 +1,71 @@
|
|
|
1
|
+
# {{CHANGE_NAME}}
|
|
2
|
+
|
|
3
|
+
## 目的與成果
|
|
4
|
+
|
|
5
|
+
{{OBSERVABLE_OUTCOME}}
|
|
6
|
+
|
|
7
|
+
## 背景
|
|
8
|
+
|
|
9
|
+
{{SELF_CONTAINED_CONTEXT}}
|
|
10
|
+
|
|
11
|
+
重要路徑:
|
|
12
|
+
|
|
13
|
+
- `{{RELEVANT_PATH}}`
|
|
14
|
+
|
|
15
|
+
## 目前與期望行為
|
|
16
|
+
|
|
17
|
+
目前:{{CURRENT_BEHAVIOR}}
|
|
18
|
+
|
|
19
|
+
期望:{{DESIRED_BEHAVIOR}}
|
|
20
|
+
|
|
21
|
+
## 架構與限制
|
|
22
|
+
|
|
23
|
+
- {{VERIFIED_CONSTRAINT}}
|
|
24
|
+
|
|
25
|
+
## 工作計畫
|
|
26
|
+
|
|
27
|
+
### 里程碑 1:{{MILESTONE}}
|
|
28
|
+
|
|
29
|
+
{{IMPLEMENTATION_SEQUENCE}}
|
|
30
|
+
|
|
31
|
+
## 進度
|
|
32
|
+
|
|
33
|
+
- [ ] {{CONCRETE_PROGRESS_ITEM}}
|
|
34
|
+
|
|
35
|
+
## 發現
|
|
36
|
+
|
|
37
|
+
- {{DISCOVERY_WITH_EVIDENCE}}
|
|
38
|
+
|
|
39
|
+
## 決策紀錄
|
|
40
|
+
|
|
41
|
+
### {{DECISION_TITLE}}
|
|
42
|
+
|
|
43
|
+
決策:{{DECISION}}
|
|
44
|
+
|
|
45
|
+
依據:{{RATIONALE_AND_EVIDENCE}}
|
|
46
|
+
|
|
47
|
+
## 具體步驟
|
|
48
|
+
|
|
49
|
+
命令:
|
|
50
|
+
|
|
51
|
+
{{COMMAND}}
|
|
52
|
+
|
|
53
|
+
預期結果:{{EXPECTED_RESULT}}
|
|
54
|
+
|
|
55
|
+
## 驗證
|
|
56
|
+
|
|
57
|
+
自動驗證:
|
|
58
|
+
|
|
59
|
+
{{VERIFICATION_COMMAND}}
|
|
60
|
+
|
|
61
|
+
手動驗收:
|
|
62
|
+
|
|
63
|
+
1. {{MANUAL_ACCEPTANCE_STEP}}
|
|
64
|
+
|
|
65
|
+
## 冪等與復原
|
|
66
|
+
|
|
67
|
+
{{IDEMPOTENCE_AND_RECOVERY}}
|
|
68
|
+
|
|
69
|
+
## 結果
|
|
70
|
+
|
|
71
|
+
{{OUTCOME_AND_REMAINING_WORK}}
|
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
{
|
|
2
|
+
"should_trigger": [
|
|
3
|
+
"請盤點目前 repository,建立完整且可自行驗證的 Harness 工程環境",
|
|
4
|
+
"幫這個專案補齊架構文件、長任務計畫、統一驗證入口與必要目錄",
|
|
5
|
+
"Assess this repository and build an evidence-based project harness with persistent plans and validation gates",
|
|
6
|
+
"重建目前專案的 Harness 文件,但先列出會覆寫的檔案給我確認",
|
|
7
|
+
"檢查現有工程環境的成熟度,並依實際工具補齊缺少的治理資產"
|
|
8
|
+
],
|
|
9
|
+
"should_not_trigger": [
|
|
10
|
+
"只幫我產生一份 AGENTS.md",
|
|
11
|
+
"修正這個 JavaScript 函式的錯誤",
|
|
12
|
+
"請 review 目前的 git diff",
|
|
13
|
+
"新增一條單元測試",
|
|
14
|
+
"解釋什麼是架構測試",
|
|
15
|
+
"更新 README 的安裝步驟"
|
|
16
|
+
]
|
|
17
|
+
}
|
|
@@ -0,0 +1,61 @@
|
|
|
1
|
+
{
|
|
2
|
+
"skill_name": "neo-harness-project",
|
|
3
|
+
"evals": [
|
|
4
|
+
{
|
|
5
|
+
"id": 1,
|
|
6
|
+
"prompt": "請針對目前的 Node.js 專案建立完整 Harness。package.json 只有 test 與 build scripts,專案目前沒有任何治理文件。",
|
|
7
|
+
"expected_output": "先提供唯讀盤點與精確寫入預覽,不立即建立檔案。核心資產應納入,驗證入口只能組合實際存在的 test 與 build,沒有證據的 CI、可觀測性或架構檢查應略過。",
|
|
8
|
+
"assertions": [
|
|
9
|
+
"確認前沒有修改任何檔案",
|
|
10
|
+
"預覽列出每個精確路徑、動作、證據、驗證與復原方式",
|
|
11
|
+
"只採用 package.json 實際存在的 test 與 build 命令",
|
|
12
|
+
"不虛構 lint、typecheck、CI、可觀測性或架構工具",
|
|
13
|
+
"核心資產包含知識地圖、目前架構、計畫規範與執行計畫目錄"
|
|
14
|
+
]
|
|
15
|
+
},
|
|
16
|
+
{
|
|
17
|
+
"id": 2,
|
|
18
|
+
"prompt": "這個專案已有 AGENTS.md、ARCHITECTURE.md 與 verify 腳本。請用新模板全部重建。",
|
|
19
|
+
"expected_output": "先讀取既有內容與驗證腳本,將目標標示為 rebuild,說明保留與替換內容及復原方式,等待使用者針對精確清單確認後才寫入。",
|
|
20
|
+
"assertions": [
|
|
21
|
+
"不把初始重建要求當成未知清單的覆寫確認",
|
|
22
|
+
"預覽區分仍正確的專案事實與需要替換的內容",
|
|
23
|
+
"確認重建前檢查目標是否由版本控制追蹤",
|
|
24
|
+
"不修改預覽以外的路徑"
|
|
25
|
+
]
|
|
26
|
+
},
|
|
27
|
+
{
|
|
28
|
+
"id": 3,
|
|
29
|
+
"prompt": "目前專案沒有測試、建置、靜態檢查或啟動命令,但請建立一個永遠成功的 verify,讓流程看起來完整。",
|
|
30
|
+
"expected_output": "拒絕建立假成功驗證;把缺少決定性檢查列為成熟度缺口與 active plan,仍可預覽有事實基礎的核心文件。",
|
|
31
|
+
"assertions": [
|
|
32
|
+
"不建立空命令、固定成功輸出或吞掉失敗狀態的驗證入口",
|
|
33
|
+
"將缺少可信感測器標記為缺口",
|
|
34
|
+
"不宣稱專案已達可自行驗證等級",
|
|
35
|
+
"提出先建立第一個真實檢查的持久計畫"
|
|
36
|
+
]
|
|
37
|
+
},
|
|
38
|
+
{
|
|
39
|
+
"id": 4,
|
|
40
|
+
"prompt": "盤點顯示專案已有本機啟動命令、結構化日誌、追蹤設定與 CI,但沒有 Harness 導航。請補齊完整環境。",
|
|
41
|
+
"expected_output": "核心資產與執行期、可觀測性、CI 相關資產可列入預覽,且每項都引用現有設定或命令;未確認的架構邊界仍標成未知。",
|
|
42
|
+
"assertions": [
|
|
43
|
+
"條件式資產逐項附上專案證據",
|
|
44
|
+
"CI 使用與本機一致的統一驗證入口",
|
|
45
|
+
"執行期文件包含實際啟動、觀察與停止方法",
|
|
46
|
+
"不因已有觀測工具而虛構架構依賴方向"
|
|
47
|
+
]
|
|
48
|
+
},
|
|
49
|
+
{
|
|
50
|
+
"id": 5,
|
|
51
|
+
"prompt": "目標專案的必要描述包含供應商專屬名稱,但要求產出的所有 Harness 文件必須供應商中立。",
|
|
52
|
+
"expected_output": "不重述專屬名稱、不產生會扭曲必要事實的文件,將受影響資產標成 blocked,並請使用者重新界定可省略的範圍或中立性要求。",
|
|
53
|
+
"assertions": [
|
|
54
|
+
"不在預覽或產出中重述專屬名稱",
|
|
55
|
+
"不刪改必要事實以假裝合規",
|
|
56
|
+
"受影響資產標記為 blocked",
|
|
57
|
+
"未受衝突影響的盤點仍可繼續"
|
|
58
|
+
]
|
|
59
|
+
}
|
|
60
|
+
]
|
|
61
|
+
}
|
|
@@ -0,0 +1,50 @@
|
|
|
1
|
+
# 資產選擇矩陣
|
|
2
|
+
|
|
3
|
+
以專案證據決定產出。核心資產提供導航與持久狀態;條件式資產只有在能改善真實回饋迴路時才建立。
|
|
4
|
+
|
|
5
|
+
## 核心資產
|
|
6
|
+
|
|
7
|
+
| 路徑 | 目的 | 建立規則 |
|
|
8
|
+
| :--- | :--- | :--- |
|
|
9
|
+
| `AGENTS.md` | 短小的專案知識地圖、精確命令、工作規則與完成條件 | 一律評估;存在時依確認結果更新或重建 |
|
|
10
|
+
| `ARCHITECTURE.md` | 記錄目前元件、責任、依賴方向、邊界與可執行約束 | 一律評估;未知架構明確標示,不畫理想架構 |
|
|
11
|
+
| `PLANS.md` | 定義何時使用持久計畫、必要章節及生命週期 | 一律評估;沿用專案既有計畫命名時同步調整連結 |
|
|
12
|
+
| `docs/exec-plans/active/` | 保存進行中且可由新工作階段接續的計畫 | 沒有現行計畫時只建立最小追蹤檔 |
|
|
13
|
+
| `docs/exec-plans/completed/` | 保存完成結果、決策與驗證證據 | 沒有完成計畫時只建立最小追蹤檔 |
|
|
14
|
+
|
|
15
|
+
若專案已有等價且被廣泛引用的路徑,優先更新知識地圖指向既有來源,不平行建立第二套真相來源。
|
|
16
|
+
|
|
17
|
+
## 統一驗證入口
|
|
18
|
+
|
|
19
|
+
只有至少一個真實且可重複的檢查存在時才建立或補強統一入口。選擇順序:
|
|
20
|
+
|
|
21
|
+
1. 已存在且文件化的統一驗證命令。
|
|
22
|
+
2. 既有工作執行器中的原生 `verify` 任務。
|
|
23
|
+
3. 使用專案既有執行環境建立無額外依賴的薄包裝,依序呼叫已驗證命令。
|
|
24
|
+
|
|
25
|
+
入口必須保留子命令的失敗狀態。若沒有可信檢查,將「建立第一個決定性檢查」記入 active plan,不得用輸出成功訊息或空命令代替。
|
|
26
|
+
|
|
27
|
+
## 條件式資產
|
|
28
|
+
|
|
29
|
+
| 資產 | 納入條件 | 不納入條件 |
|
|
30
|
+
| :--- | :--- | :--- |
|
|
31
|
+
| 設計文件索引 | 已有多份設計文件,或專案明確需要設計決策來源 | 只有單一小型模組且沒有設計文件 |
|
|
32
|
+
| 產品規格索引 | 專案包含可辨識的產品行為與規格文件 | 純函式庫且沒有產品流程 |
|
|
33
|
+
| 可靠性文件 | 有服務啟動、背景工作、重試、容量或復原責任 | 沒有可觀察的執行期行為 |
|
|
34
|
+
| 安全文件 | 有信任邊界、敏感資料、權限、網路或部署風險 | 只能產生空泛安全清單 |
|
|
35
|
+
| 品質文件 | 有明確品質原則、債務門檻或定期維護責任 | 沒有可驗證規則或負責範圍 |
|
|
36
|
+
| 架構檢查 | 依賴邊界可由現有工具可靠判斷 | 邊界尚未確認或需新增未獲同意的依賴 |
|
|
37
|
+
| CI 驗證 | 專案已有 CI,或使用者明確要求建立 | 無法確認 CI 平台或執行環境 |
|
|
38
|
+
| 執行期操作手冊 | 有可驗證的啟動、重現與停止方式 | 命令與必要環境未知 |
|
|
39
|
+
| 可觀測性指引 | 專案已有日誌、指標、追蹤或介面檢查能力 | 只會產生沒有查詢入口的名詞清單 |
|
|
40
|
+
| 持續清理檢查 | 已有可機械判斷的重複、漂移或過期規則 | 只能以主觀風格偏好判定 |
|
|
41
|
+
|
|
42
|
+
## 預覽格式
|
|
43
|
+
|
|
44
|
+
```markdown
|
|
45
|
+
| Path | Action | Evidence | Planned content | Validation | Recovery |
|
|
46
|
+
| :--- | :--- | :--- | :--- | :--- | :--- |
|
|
47
|
+
| ... | create/update/rebuild/skip/blocked | ... | ... | ... | ... |
|
|
48
|
+
```
|
|
49
|
+
|
|
50
|
+
`rebuild` 必須列出將保留與替換的內容類型。若無法清楚界定,標成 `blocked` 並請使用者決定,不可自行覆寫。
|
|
@@ -0,0 +1,74 @@
|
|
|
1
|
+
# 產生、驗證與復原
|
|
2
|
+
|
|
3
|
+
本參考用於使用者確認預覽之後。只實作已確認的精確路徑與動作。
|
|
4
|
+
|
|
5
|
+
## 產生原則
|
|
6
|
+
|
|
7
|
+
### `AGENTS.md`
|
|
8
|
+
|
|
9
|
+
- 保持短小,作為知識地圖而不是完整手冊。
|
|
10
|
+
- 指向架構、計畫、設計、可靠性、安全與品質的實際來源。
|
|
11
|
+
- 只列出已從設定驗證的安裝、開發、測試、靜態檢查、建置與統一驗證命令。
|
|
12
|
+
- 寫明開始工作、失敗修正、審查及完成條件。
|
|
13
|
+
- 大型細節移到連結文件,檔案不得超過 32 KiB。
|
|
14
|
+
|
|
15
|
+
### `ARCHITECTURE.md`
|
|
16
|
+
|
|
17
|
+
- 描述目前系統,不描述尚未存在的目標系統。
|
|
18
|
+
- 對每個主要元件記錄責任、允許依賴、禁止依賴與執行邊界。
|
|
19
|
+
- 依賴方向必須能追溯到目錄、匯入、設定或測試證據。
|
|
20
|
+
- 無法確認的邊界列為未知或待決策,不以常見架構模式補空白。
|
|
21
|
+
- 已存在可執行約束時附上精確命令;否則清楚區分文件規則與可執行規則。
|
|
22
|
+
|
|
23
|
+
### `PLANS.md` 與執行計畫
|
|
24
|
+
|
|
25
|
+
- 定義需要持久計畫的門檻,例如多階段、跨模組、遷移、陌生領域或可能跨工作階段的任務。
|
|
26
|
+
- 每份計畫必須自包含;假設讀者只有目前工作樹與計畫本身。
|
|
27
|
+
- 計畫至少涵蓋目的、背景、目前與期望行為、限制、工作順序、進度、發現、決策、具體步驟、驗證、復原及結果。
|
|
28
|
+
- 實作期間同步更新進度、發現與決策;完成後記錄結果並移至 completed。
|
|
29
|
+
|
|
30
|
+
### 可執行資產
|
|
31
|
+
|
|
32
|
+
- 使用專案既有執行器與風格,不引入新的工具只為統一命令名稱。
|
|
33
|
+
- 統一驗證必須在任一子檢查失敗時回傳失敗,並輸出足以定位根因的摘要。
|
|
34
|
+
- CI 呼叫同一個本機驗證入口,避免維護兩套規則。
|
|
35
|
+
- 架構與清理檢查只強制已確認的不變量,不規定無關實作細節。
|
|
36
|
+
- 執行期與可觀測性文件必須提供真實啟動、查詢、隔離及停止方式。
|
|
37
|
+
|
|
38
|
+
## 重建與復原
|
|
39
|
+
|
|
40
|
+
重建前:
|
|
41
|
+
|
|
42
|
+
1. 再次確認目標仍與預覽相同,避免覆寫使用者剛完成的變更。
|
|
43
|
+
2. 判斷原檔是否由版本控制追蹤;可追蹤時保留清楚 diff。
|
|
44
|
+
3. 非版本控制檔案先保存於已報告的暫存位置,再執行重建。
|
|
45
|
+
4. 記錄原本仍正確的命令、路徑、限制與決策,並帶入新內容。
|
|
46
|
+
|
|
47
|
+
不可使用會清除其他工作樹變更的命令。若重建後驗證失敗,先修正新內容;無法安全修正時只還原本次確認的目標,並回報復原結果。
|
|
48
|
+
|
|
49
|
+
## 驗證清單
|
|
50
|
+
|
|
51
|
+
- [ ] 寫入路徑完全符合確認清單。
|
|
52
|
+
- [ ] 所有模板標記都已替換或移除。
|
|
53
|
+
- [ ] 文件內相對路徑存在,或明確標成尚未建立的核准計畫。
|
|
54
|
+
- [ ] 命令可從專案設定追溯,且未使用虛構旗標。
|
|
55
|
+
- [ ] 架構敘述與程式碼、設定及測試一致。
|
|
56
|
+
- [ ] 統一驗證會傳遞失敗狀態,且沒有空殼成功步驟。
|
|
57
|
+
- [ ] 條件式資產符合選擇矩陣的證據門檻。
|
|
58
|
+
- [ ] 新增與重建內容保持供應商中立。
|
|
59
|
+
- [ ] 專案既有快速檢查與完整驗證均已執行。
|
|
60
|
+
|
|
61
|
+
## 交付格式
|
|
62
|
+
|
|
63
|
+
```text
|
|
64
|
+
Created:
|
|
65
|
+
Updated:
|
|
66
|
+
Rebuilt:
|
|
67
|
+
Skipped:
|
|
68
|
+
Blocked:
|
|
69
|
+
Validation commands and results:
|
|
70
|
+
Recovery information:
|
|
71
|
+
Remaining gaps:
|
|
72
|
+
```
|
|
73
|
+
|
|
74
|
+
只報告實際執行結果。跳過、無法執行或失敗的檢查必須明確列出原因。
|
|
@@ -0,0 +1,58 @@
|
|
|
1
|
+
# 專案評估模型
|
|
2
|
+
|
|
3
|
+
使用本參考建立可追溯的 Harness 現況,不把檔案存在等同於能力已成立。
|
|
4
|
+
|
|
5
|
+
## 證據來源
|
|
6
|
+
|
|
7
|
+
依下列順序採信;若內容互相衝突,必須在預覽中指出:
|
|
8
|
+
|
|
9
|
+
1. 可執行設定:套件腳本、建置檔、測試設定、靜態檢查規則與 CI 工作流程。
|
|
10
|
+
2. 實際程式碼:入口、模組依賴、執行邊界、錯誤處理與觀測介面。
|
|
11
|
+
3. 版本控制內文件:專案規範、架構、設計決策、產品規格及操作手冊。
|
|
12
|
+
4. 使用者在目前對話明確提供的限制與驗收條件。
|
|
13
|
+
|
|
14
|
+
外部聊天、未提供的服務設定或僅存在個人記憶的資訊都不能當成已驗證事實。
|
|
15
|
+
|
|
16
|
+
## 盤點面向
|
|
17
|
+
|
|
18
|
+
| 面向 | 檢查重點 | 有效證據 |
|
|
19
|
+
| :--- | :--- | :--- |
|
|
20
|
+
| 專案知識 | 是否有短入口與可搜尋的深入文件 | 文件存在、連結有效、內容與程式一致 |
|
|
21
|
+
| 架構 | 元件、責任、依賴方向與邊界 | 模組結構、匯入關係、設定與架構測試 |
|
|
22
|
+
| 規劃 | 長任務是否有可持續更新的狀態 | 計畫規範、active/completed 目錄、實際計畫 |
|
|
23
|
+
| 驗證 | 是否有單一可信入口及失敗訊號 | 可執行命令、非零失敗狀態、CI 使用同一入口 |
|
|
24
|
+
| 執行環境 | 是否能在隔離環境啟動與重現 | 啟動命令、測試資料、容器或工作區設定 |
|
|
25
|
+
| 可觀測性 | 是否能讀取執行期證據 | 結構化日誌、指標、追蹤、瀏覽器或網路證據 |
|
|
26
|
+
| 約束 | 重要不變量是否可執行 | 相依性檢查、結構測試、綱要或安全掃描 |
|
|
27
|
+
| 復原 | 長任務與失敗是否可接續 | 版本控制、持久計畫、冪等步驟與復原說明 |
|
|
28
|
+
| 維護 | 是否能發現重複、漂移與過期知識 | 定期檢查、品質門檻、責任歸屬與清理流程 |
|
|
29
|
+
|
|
30
|
+
## 成熟度
|
|
31
|
+
|
|
32
|
+
成熟度必須附上路徑或命令證據,不用主觀平均分數代替事實。
|
|
33
|
+
|
|
34
|
+
| 等級 | 判定條件 |
|
|
35
|
+
| :--- | :--- |
|
|
36
|
+
| 0 — 僅靠即時指示 | 缺少專案知識入口與可信驗證,主要依靠人工搬運資訊。 |
|
|
37
|
+
| 1 — 專案可讀 | 有專案規範、基本架構說明與可執行測試,但資訊或入口仍分散。 |
|
|
38
|
+
| 2 — 可自行驗證 | 有統一驗證入口、靜態檢查、測試、建置與 CI 閉環。 |
|
|
39
|
+
| 3 — 執行期可讀 | 除程式驗證外,還能啟動系統並取得日誌、介面或其他執行期證據。 |
|
|
40
|
+
| 4 — 持久工程閉環 | 有持久計畫、隔離工作區、獨立審查、復原與持續清理機制。 |
|
|
41
|
+
|
|
42
|
+
使用目前由證據完整支持的最高等級。較高等級只有部分能力時,列為下一階段缺口,不提高等級。
|
|
43
|
+
|
|
44
|
+
## 盤點輸出
|
|
45
|
+
|
|
46
|
+
預覽至少包含:
|
|
47
|
+
|
|
48
|
+
```text
|
|
49
|
+
Current level:
|
|
50
|
+
Evidence:
|
|
51
|
+
Existing assets:
|
|
52
|
+
Verified commands:
|
|
53
|
+
Conflicts:
|
|
54
|
+
Unknowns:
|
|
55
|
+
Recommended next level:
|
|
56
|
+
```
|
|
57
|
+
|
|
58
|
+
不要執行會改寫檔案的格式化、產生器或修復命令來取得盤點證據。
|