feat(hooks): 匯入 jsc-hooks 技能組
Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
This commit is contained in:
Executable
+22
@@ -0,0 +1,22 @@
|
||||
#!/usr/bin/env sh
|
||||
# skill-usage.sh — 記錄技能使用與呼叫鏈(供 jsc-log:stats 統計)。
|
||||
# Claude: PostToolUse(matcher=Skill) 接線;其他 CLI 由 wrapper 以
|
||||
# JSC_SKILL=<name> skill-usage.sh 呼叫。
|
||||
# 產出:
|
||||
# $JSC_HOME/usage/skills.jsonl {ts,cli,session,skill}
|
||||
# $JSC_HOME/usage/chains.jsonl {ts,cli,session,from,to}(同 session 內前一技能 → 本技能)
|
||||
HERE=$(dirname "$0"); . "$HERE/lib.sh"
|
||||
read_stdin
|
||||
skill="${JSC_SKILL:-$(json_str skill)}"
|
||||
[ -n "$skill" ] || exit 0
|
||||
sid=$(session_id); cli=$(cli_name); ts=$(now_iso)
|
||||
printf '{"ts":"%s","cli":"%s","session":"%s","skill":"%s"}\n' \
|
||||
"$ts" "$cli" "$sid" "$skill" >> "$JSC_HOME/usage/skills.jsonl"
|
||||
last_f="$JSC_HOME/sessions/$sid.lastskill"
|
||||
last=$(cat "$last_f" 2>/dev/null || echo "")
|
||||
if [ -n "$last" ]; then
|
||||
printf '{"ts":"%s","cli":"%s","session":"%s","from":"%s","to":"%s"}\n' \
|
||||
"$ts" "$cli" "$sid" "$last" "$skill" >> "$JSC_HOME/usage/chains.jsonl"
|
||||
fi
|
||||
printf '%s' "$skill" > "$last_f"
|
||||
exit 0
|
||||
Reference in New Issue
Block a user