- 五份 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>
37 lines
2.5 KiB
Markdown
37 lines
2.5 KiB
Markdown
---
|
||
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`。取得方式:
|
||
|
||
```bash
|
||
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 的 `階段` 前綴,並**移除該包裹/橫幅本身**(僅移除標記,保留區塊內原有指令與行為)。
|
||
- **例外**:檔案開頭「用途/更新日期」的說明標頭(含外框分隔線)屬檔案標頭、不是階段區塊,必須原樣保留。
|
||
- **一行一則**:每則訊息必須是獨立的單行輸出指令;不得用多行字串、字串拼接或迴圈外包裹把多則訊息包成一個輸出。原本包成一坨的必須拆成逐行逐則,且每則仍套用統一格式。
|