feat(hooks): 匯入 jsc-hooks 技能組

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
This commit is contained in:
2026-08-21 13:08:43 +08:00
co-authored by Claude Fable 5
parent 18a22ce640
commit b774df23ae
6 changed files with 134 additions and 0 deletions
+22
View File
@@ -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