Files
shared/skills/spec-time-log/SKILL.md
T
JefferyandClaude Opus 5 db492e6ba7 refactor(plugin 命名空間): plugin 更名 jsc-generic、hooks 只註冊自己擁有的 role
- 五份 manifest 的 name 由 jsc 改為 jsc-generic
- hooks/hooks.json 由合併超集改為只註冊 SessionStart(role_load)與 Stop(role_capture):worklog 的 hook 交還 jsc-doc
- hook 腳本搜尋路徑改指 jsc-generic
- role skill 更新 hooks 說明:改名後各 plugin 名稱獨立、互不覆蓋,不再需要三份同步;並註明不可再把別的 plugin 的 hook 寫進自己的 hooks.json
- skill 名稱不變(role、spec-*),指令引用改為 /jsc-generic: 前綴
- 版號 0.0.8 → 0.0.9

Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
2026-07-28 17:07:14 +08:00

2.5 KiB
Raw Blame History


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-generic: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][階段][等級]: 訊息
  • 階段:選填,沿用該訊息所屬區塊的原始名稱並保留原文不翻譯;無對應階段則移除整個 [階段] 區塊。
  • 等級:限 INFWRNERRTRCDBG 其中之一。
  • 時間Asia/Taipei,固定 yyyy/MM/dd HH:mm:ss
  • 調整訊息格式僅限「訊息呈現方式」,不得改變訊息反映的實際行為或判斷邏輯

區塊階段命名與一行一則

  • 被格式化的 log 若包在有名稱的區塊內(原始碼的 #region 名稱、指令檔以「分隔線+標題+分隔線」宣告的橫幅段落),須將區塊名稱作為該段每則 log 的 階段 前綴,並移除該包裹/橫幅本身(僅移除標記,保留區塊內原有指令與行為)。
  • 例外:檔案開頭「用途/更新日期」的說明標頭(含外框分隔線)屬檔案標頭、不是階段區塊,必須原樣保留。
  • 一行一則:每則訊息必須是獨立的單行輸出指令;不得用多行字串、字串拼接或迴圈外包裹把多則訊息包成一個輸出。原本包成一坨的必須拆成逐行逐則,且每則仍套用統一格式。