--- 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 讀」的設計。