Files
jiantw83andClaude Sonnet 5 1030f9d403 feat(shared): 新增14個共用spec、models/todo工具與樣板產生器,收斂跨repo重複規範
依 todo.md 執行的規範治理專案:新增 spec-preflight 等 14 個共用規範(含
conventional-commit/pull-request/git-push/issue-read/todo-list/ask-user/
subagent/no-scratch-files/skill-invocation/script-path/action-scaffold/
node-src-layout/plugin-cli/model),擴充 spec-git-safety 與 spec-gitea(token
優先序、機密遮蔽、Wiki 頁名轉義規則);新增可執行 skill `models`(模型能力
查詢與標籤)與 `todo`(依指定模型產生/附加 todo.md);新增 plugin.meta.json
單一事實來源與 gen-plugin-files.mjs 樣板產生器,統一四個 repo 的 manifest/
README/AGENTS.md 並移除寫死的本機使用者路徑;新增 shared/scripts/lib 的
log/機密遮蔽三語言參考實作。

Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
2026-08-11 06:02:30 +00:00

39 lines
3.2 KiB
Markdown
Raw Permalink Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
---
name: spec-no-scratch-files
description: JSC plugins 共用「不落地絕對準則」:全程不建立任何草稿檔/暫存檔(不寫 `.docs/`、不用本機檔案傳遞中間結果),中間成果一律留在對話內容、議題描述、留言,或 subagent 的回傳內容裡;唯一例外是處理 Gitea 議題附件(圖片、文件等)時可唯讀暫存下載到系統暫存目錄以讀取內容,讀取完畢立即刪除,不得累積成工作目錄垂圾、也不得用來傳遞其他中間成果。當其他 skill 內文引用 spec-no-scratch-files 或 /jsc-shared:spec-no-scratch-files、或執行任何 JSC skill 需要確認「是否可以落地檔案」時載入此 skill。單獨被使用者呼叫時,直接說明本規範內容。
---
# spec-no-scratch-files — 共用不落地絕對準則
所有 JSC skills 的絕對準則是**全程不落地任何草稿檔/暫存檔**。中間成果(需求彙整、TODO 排序、同步計畫、勾稽結果、進度摘要等)一律保存在**對話內容**、**議題描述**、**留言**,或**subagent 的回傳內容**裡,不得用本機檔案傳遞。
## 禁止事項
- **不建立任何草稿檔**:不寫 `.docs/`、不寫暫存檔、不用本機檔案傳遞中間結果。
- **不建立工作目錄垂圾**:不因為流程方便就在 repo 內或家目錄下新增暫存資料夾長期留存。
- **不依賴檔案交接 subagent**:分派給 subagent 的輸入與其回傳結果都走訊息內容,不透過檔案。
## 中間成果的合法保存位置
| 成果類型 | 保存位置 |
| --- | --- |
| 需求彙整、TODO 列表、排序結果 | 議題描述(`body`)或議題留言(comment) |
| 同步計畫、勾稽結果、待確認清單 | 對話內容,或 subagent 的回傳值 |
| 進度回報、驗證結果 | 議題留言 |
| 一次性分析過程 | 對話內容,不需保存 |
## 唯一例外:Gitea 議題附件
處理 Gitea 議題(含留言)的附件時,圖片、文件等二進位或需要另行讀取的內容,可能必須先落地才能讀取:
- **唯讀且用完即棄**:只為了讀取內容而暫存下載到系統暫存目錄(非工作目錄、非任何 repo 內),讀取完畢後**立即刪除**。
- **不得擴大用途**:不得把這個暫存目錄拿來傳遞其他中間成果,也不得留著給後續步驟重複使用。
- **文字類附件優先不落地**:Markdown、純文字、CSV、JSON 等文字類附件,直接以 `curl` 取得內容到對話中分析即可,不需要落地。
- **無法讀取就列出待確認**:格式無法讀取、或沒有下載權限時,在對話或議題內容中列出附件檔名與 URL 並標註「附件無法讀取,需人工確認」,不得臆測其內容,也不得為此保留暫存檔。
## 自我檢查
1. 流程中若出現 `Write`/`mkdir` 之類會在磁碟建立內容的動作,先確認是否為附件暫存的合法例外;不是則改用對話或議題留言保存。
2. 附件暫存檔在讀取完成後,同一輪流程內即刪除,不留到流程結束才清理。
3. subagent 之間交接的內容,全部走 SendMessage/回傳值,不出現「先寫檔案給下一個 subagent 讀」的設計。