用途
Install Skill Tracker 用于在 Claude Code 项目中自动安装一套技能追踪系统。该系统借助 Claude Code hooks 自动记录所有技能调用、执行时长、token 用量以及触发技能的用户提示词,从而支持模式分析,识别可转化为新技能的高频重复工作流。
主要能力
- 自动记录技能名称与调用时间
- 记录执行时长(秒)
- 记录 token 用量指标:输入 token、输出 token、缓存读取 token、缓存创建 token、总 token
- 记录触发技能的用户提示词
- 记录会话 ID 用于关联
- 通过分析脚本生成使用报告,包括:技能使用频率、平均与总时长、token 用量指标、基于 token 的成本估算、缓存效率、提示词模式、使用历史与优化建议
使用方式
安装流程分为七步:
- 创建目录结构:
mkdir -p .claude/hooks .claude/scripts .claude/activity-logs
- 安装 hook 脚本(从技能的 scripts/ 目录复制到 .claude/hooks/):
- track-prompts.sh:记录用户提示词、时间戳与会话 ID
- track-skill-start.sh:记录技能开始执行
- track-skill-end.sh:记录技能完成并计算时长
赋予执行权限:
chmod +x .claude/hooks/*.sh
- 安装分析脚本(复制到 .claude/scripts/):
- analyze-skills.py:处理日志并生成使用报告
赋予执行权限:
chmod +x .claude/scripts/analyze-skills.py
-
配置 hooks:将 assets/ 目录中的 settings.json 模板复制到 .claude/settings.json,注册三个 hooks:UserPromptSubmit、PreToolUse(Skill matcher)、PostToolUse(Skill matcher)。
-
添加文档:将 assets/ 目录中的 README.md 复制到 .claude/README.md。
-
更新 .gitignore:
echo ".claude/activity-logs/" >> .gitignore
echo ".claude/settings.local.json" >> .gitignore
- 验证安装:
ls -la .claude/hooks/
ls -la .claude/scripts/
cat .claude/settings.json
安装后系统自动运行,日志以 JSONL 文件形式累积在 .claude/activity-logs/ 中。
分析命令:
- 模式与性能分析:
.claude/scripts/analyze-skills.py - token 用量与成本分析:
.claude/scripts/show-skill-tokens.sh
适用场景
- 在新项目或现有 Claude Code 项目中设置技能使用追踪
- 分析哪些技能使用最频繁
- 监控技能执行过程中的 API 成本与 token 用量
- 识别耗时较长、可能需要优化的技能
- 发现可通过新技能自动化的工作模式
- 追踪技能自动化带来的生产力提升与成本效率
- 理解提示词缓存效果与优化机会
限制与注意事项
- 所有追踪数据仅存储在本地,不向外部服务传输
- 日志保留在 .claude/activity-logs/,并通过 .gitignore 自动排除
- 删除所有追踪数据:
rm -rf .claude/activity-logs - 日志仅在技能使用后才会创建,分析前需先运行任意技能
- v1.1 修复:hook 脚本使用
jq -nc而非jq -n生成紧凑 JSON 输出,以确保 JSONL 格式正确 - 若日志文件为美化打印的 JSON,可用以下命令修复:
jq -c '.' .claude/activity-logs/prompts.jsonl > temp && mv temp .claude/activity-logs/prompts.jsonl
jq -c '.' .claude/activity-logs/skill-usage.jsonl > temp && mv temp .claude/activity-logs/skill-usage.jsonl
- 支持自定义:可将 settings.json 移至 ~/.claude/settings.json 并更新 hook 脚本中的 LOG_DIR 以实现全局追踪;也可扩展 hook 脚本以捕获所有工具使用、错误率、自定义元数据等
日志数据格式
系统创建两个 JSONL 日志文件:
prompts.jsonl 示例:
{"timestamp": "2025-11-22 14:23:45", "epoch": "1732299825", "session": "abc123", "prompt": "create a learning graph"}
skill-usage.jsonl 示例:
{"timestamp": "2025-11-22 14:23:46", "epoch": "1732299826", "session": "abc123", "skill": "learning-graph-generator", "event": "start"}
{"timestamp": "2025-11-22 14:26:20", "epoch": "1732299980", "session": "abc123", "skill": "learning-graph-generator", "event": "end", "duration_seconds": "154", "input_tokens": 12000, "output_tokens": 8500, "total_tokens": 84200, "cache_read_tokens": 62400, "cache_creation_tokens": 1300}
资源
技能包含:
- scripts/:track-prompts.sh、track-skill-start.sh、track-skill-end.sh、analyze-skills.py、show-skill-tokens.sh
- assets/:settings.json、README.md