What:依 jsc-meta:skill-check 的稽核結果修正技能與工具——補上每個步驟的可檢核完成條件、 把留在內文的標準輸入輸出流程下放 tools/、修正查表與退碼路由造成的誤判。 Why:稽核發現這些缺失會讓技能在實際執行時走錯分支或靜默通過。 完成條件缺漏是最常被違反的一項;退碼誤判與查表錯誤則會讓良性狀況被當成失敗。 How:逐項對照 references/guidelines.md 的審核檢查清單修正,新增的工具都有 documented exit codes,並以真實執行驗證每條路徑。 Who:jsc-meta:skill-check 例行稽核(2026-08-25)。 Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
33 lines
1.5 KiB
Bash
Executable File
33 lines
1.5 KiB
Bash
Executable File
#!/usr/bin/env sh
|
||
# session-timer.sh — 記錄工作階段花費時間(供 jsc-log:worklog 取用)。
|
||
# 用法:
|
||
# session-timer.sh start # SessionStart:記錄起始時間(已有紀錄就不動)
|
||
# session-timer.sh restart # SessionStart:一律覆寫起始時間
|
||
# session-timer.sh mark # Stop/SessionEnd:更新最後活動時間
|
||
# session-timer.sh report [sid] # 印出 {sid} {seconds};無紀錄印 0
|
||
#
|
||
# start 與 restart 的差別在「同一個 session id 會不會重複開始」:
|
||
# start 給 Claude 這種每個工作階段都有自己 session id 的 CLI。續接同一階段時
|
||
# SessionStart 會再觸發一次,覆寫起始時間會讓花費時間歸零。
|
||
# restart 給接不到 session id 的 CLI(kiro)。那些 CLI 的紀錄共用 default,
|
||
# 不覆寫就會把上一個工作階段的起始時間算進來,花費時間虛胖。
|
||
HERE=$(dirname "$0"); . "$HERE/lib.sh"
|
||
read_stdin
|
||
sid=$(session_id)
|
||
case "${1:-mark}" in
|
||
start)
|
||
f="$JSC_HOME/sessions/$sid.start"
|
||
[ -f "$f" ] || now_epoch > "$f" ;;
|
||
restart)
|
||
now_epoch > "$JSC_HOME/sessions/$sid.start"
|
||
rm -f "$JSC_HOME/sessions/$sid.end" ;;
|
||
mark)
|
||
now_epoch > "$JSC_HOME/sessions/$sid.end" ;;
|
||
report)
|
||
rsid="${2:-$sid}"
|
||
s=$(cat "$JSC_HOME/sessions/$rsid.start" 2>/dev/null || echo "")
|
||
e=$(cat "$JSC_HOME/sessions/$rsid.end" 2>/dev/null || now_epoch)
|
||
if [ -n "$s" ]; then echo "$rsid $((e - s))"; else echo "$rsid 0"; fi ;;
|
||
esac
|
||
exit 0
|