Files
shared/skills/spec-no-scratch-files/SKILL.md
T
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

3.2 KiB
Raw Blame History

name, description
name description
spec-no-scratch-files 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 讀」的設計。