Files
shared/skills/spec-time-log/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

41 lines
2.9 KiB
Markdown
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
---
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 — 共用時間戳與訊息格式規範
## 參考實作
- `shared/scripts/lib/{log.sh,log.py,log.mjs}` 是本規範在 bash/Python/Node(mjs)三種語言下的**唯一參考實作來源**(純參考、不會被其他 repo 跨 repo 呼叫)。其他 repo 的腳本要嘛直接複製其邏輯,要嘛在檔頭註明自己與這份參考實作的對應關係,禁止各自發明第三種時間戳或 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 的 `階段` 前綴,並**移除該包裹/橫幅本身**(僅移除標記,保留區塊內原有指令與行為)。
- **例外**:檔案開頭「用途/更新日期」的說明標頭(含外框分隔線)屬檔案標頭、不是階段區塊,必須原樣保留。
- **一行一則**:每則訊息必須是獨立的單行輸出指令;不得用多行字串、字串拼接或迴圈外包裹把多則訊息包成一個輸出。原本包成一坨的必須拆成逐行逐則,且每則仍套用統一格式。