Compare commits

..

2 Commits

Author SHA1 Message Date
a620906209 b20d6b1f57 Merge branch 'chore/claude-md-ac-test-rule'
Deploy Production / deploy (push) Successful in 6m56s
Run Tests / test (push) Successful in 36s
2026-10-14 20:55:59 +08:00
a620906209 eb9c7080af chore(claude): 新增 AC 對應測試規則與 branch-and-propose skill 2026-10-14 20:39:43 +08:00
2 changed files with 30 additions and 2 deletions
@@ -0,0 +1,26 @@
---
name: branch-and-propose
description: 開始規劃新功能時觸發,自動從 master 同步並建立新分支,接著進入 OpenSpec 提案流程。當使用者說「規劃新功能」「開新的 spec」「開始做 XXX 功能」「幫我開一個新分支做 XXX」時使用。
argument-hint: [功能名稱]
---
## Instructions
1. 確認目前 git 狀態是否乾淨(`git status`);若有未提交的變更,先詢問使用者要 stash 還是先提交,不可直接覆蓋。
2. 執行以下指令同步 master:
```
git checkout master
git pull VPS master
```
3. 若使用者的請求中沒有明確功能名稱,先詢問功能名稱,並轉換為符合團隊命名慣例的分支名稱(英文、kebab-case,例如 `feature/dive-log-export`)。
4. 建立並切換新分支:
```
git checkout -b feature/<功能名稱>
```
5. 分支建立完成後,向使用者確認分支已就緒,接著**必須**執行 `/opsx:propose <功能名稱>`(`<功能名稱>` 沿用步驟 3 決定的名稱)建立本次功能的 spec 提案草稿,不要自行用其他方式產生 proposal。
6. spec 草稿完成後,依照 CLAUDE.md 的「OpenSpec 工作流規則 → Task 執行前」清單,確認 Acceptance Criteria 是否已定義且對應測試任務,未對應者提醒使用者補上,不進入實作階段。
## Notes
- 這個 skill 只負責「開分支 → 交接給 OpenSpec 流程」,不涉及 spec 內容本身的產出邏輯,避免與 CLAUDE.md 裡的 OpenSpec 規則重複維護。
- 若專案的預設分支不是 `master`(例如 `main`),使用前請調整步驟 2、3 中的分支名稱。
+4 -2
View File
@@ -1,4 +1,4 @@
# CLAUDE.MD — 全域開發規則
# CLAUDE.MD
## 語言設定
@@ -21,6 +21,7 @@
- 禁止在未確認 spec 對應關係的情況下開始實作
- 禁止使用 raw SQL query(除非有明確說明理由)
- 禁止在前端直接使用 `innerHTML` 渲染未經處理的使用者輸入
- 禁止在 Acceptance Criteria 未對應測試任務的情況下開始實作
---
@@ -108,7 +109,7 @@
每次執行 task 前,先確認:
1. 這個 task 對應哪一條 spec?(必須能指向具體文件與段落)
2. Acceptance Criteria 是否已定義且可測量?
2. Acceptance Criteria 是否已定義且可測量?每一條是否已對應至少一項測試任務(單元測試或 Feature 測試)?未對應者禁止進入實作階段。
3. 這個 task 完成後,哪些 spec 文件需要同步更新?
### Task 執行後
@@ -118,6 +119,7 @@
- 實作結果是否與 spec 描述一致
- 如有偏差,列出偏差點並詢問是否更新 spec
- **必須告知 spec 同步狀態**:這個改動有沒有影響現有 spec 描述的行為?需要更新哪個文件?
- 測試是否涵蓋本次變更的 Acceptance Criteria?未涵蓋者需說明原因
---