2.5 KiB
2.5 KiB
name: spec-time-log description: JSC plugins 共用「時間戳與輸出訊息格式規範」:更新時間一律台灣時區(Asia/Taipei)固定 yyyy/MM/dd HH:mm:ss、寫成檔內固定字串、流程完成後統一同步各處時間戳;輸出訊息統一為 [yyyy/MM/dd HH:mm:ss][階段][等級]: 訊息(等級 INF/WRN/ERR/TRC/DBG)、一行一則。當其他 skill 內文引用 spec-time-log 或 /jsc-shared:spec-time-log、或需要產生更新時間/統一 log 格式時載入此 skill。單獨被使用者呼叫時,直接說明本規範內容。
spec-time-log — 共用時間戳與訊息格式規範
更新時間
-
一律使用**台灣時區(Asia/Taipei)**並固定為
yyyy/MM/dd HH:mm:ss,例如2026/06/30 18:30:05。取得方式:TZ='Asia/Taipei' date +'%Y/%m/%d %H:%M:%S' -
寫入檔案(橫幅、標頭註解、README)的更新時間語意為「本檔最後由 skill 產生/更新的時間」,寫成檔內固定字串(非執行期動態時間)。
-
多階段流程中先寫入暫定時間戳即可;全部完成後以完成當下的時間回頭統一同步各處時間戳(橫幅、標頭註解區塊、README),確保各處一致。
輸出訊息格式
function 或指令檔若有輸出訊息(log、console 輸出、echo、提示訊息),格式必須統一為:
[yyyy/MM/dd HH:mm:ss][階段][等級]: 訊息
階段:選填,沿用該訊息所屬區塊的原始名稱並保留原文不翻譯;無對應階段則移除整個[階段]區塊。等級:限INF/WRN/ERR/TRC/DBG其中之一。時間:Asia/Taipei,固定yyyy/MM/dd HH:mm:ss。- 調整訊息格式僅限「訊息呈現方式」,不得改變訊息反映的實際行為或判斷邏輯。
區塊階段命名與一行一則
- 被格式化的 log 若包在有名稱的區塊內(原始碼的
#region 名稱、指令檔以「分隔線+標題+分隔線」宣告的橫幅段落),須將區塊名稱作為該段每則 log 的階段前綴,並移除該包裹/橫幅本身(僅移除標記,保留區塊內原有指令與行為)。 - 例外:檔案開頭「用途/更新日期」的說明標頭(含外框分隔線)屬檔案標頭、不是階段區塊,必須原樣保留。
- 一行一則:每則訊息必須是獨立的單行輸出指令;不得用多行字串、字串拼接或迴圈外包裹把多則訊息包成一個輸出。原本包成一坨的必須拆成逐行逐則,且每則仍套用統一格式。