技能使用统计 (skill-usage)
技能概述
统计并展示已安装技能在指定时间段内的使用情况,包括:
- 每个技能的调用次数
- 使用频率排名
- 总使用次数
- 时间趋势分析
使用流程
- 选择统计时间段
- 扫描已安装技能列表
- 分析对话历史记录
- 以美观的表格形式展示统计结果
可用时间段
| 选项 | 描述 |
|---|---|
| 今天 | 统计从 00:00 到现在的使用情况 |
| 过去 7 天 | 统计最近一周的使用情况 |
| 过去 30 天 | 统计最近一个月的使用情况 |
| 过去 90 天 | 统计最近三个月的使用情况 |
| 全部 | 统计所有历史记录 |
输出格式
统计结果以 Markdown 表格 + 可视化条形图的形式展示:
📊 技能使用统计报告 (过去 7 天)
═══════════════════════════════════════
排名 | 技能名称 | 调用次数 | 使用频率
─────┼────────────────┼──────────┼──────────
1 │ auto-skills │ 42 │ ████████░░ 80%
2 │ idea-to-post │ 28 │ ██████░░░░ 60%
3 │ humanizer-zh │ 15 │ ███░░░░░░░ 30%
─────┼────────────────┼──────────┼──────────
│ 总计 │ 85 │
实现步骤
第一步:选择时间段
使用 AskUserQuestion 工具让用户选择统计时间段。
第二步:扫描已安装技能
列出 ~/.claude/skills/ 目录下的所有技能。
第三步:分析历史记录
解析以下文件:
~/.claude/history.jsonl(全局历史)~/.claude/projects/*/session.jsonl(项目会话)
查找匹配 /skill-name 模式的记录。
第四步:统计与展示
计算每个技能的使用次数,并按降序排列展示。
数据说明
- 技能识别:通过历史记录中的
display字段匹配/skill-name模式识别技能调用 - 时间过滤:
timestamp是毫秒级时间戳(数字),需要除以 1000 转换为秒 - 未使用技能:在结果中显示为 0 次
- 历史文件位置:
~/.claude/history.jsonl和~/.claude/projects/*/*.jsonl
执行指令
当用户调用此技能时,请按以下步骤执行:
- 首先使用
AskUserQuestion询问统计时间段 - 直接调用
~/.claude/skills/skill-usage/stats.py脚本,传入时间段参数 - 直接将脚本输出作为最终回复,不要做任何额外处理或包装
时间段参数映射:
| 用户选择 | 脚本参数 |
|---|---|
| 今天 | today |
| 过去 7 天 | past_7_days |
| 过去 30 天 | past_30_days |
| 过去 90 天 | past_90_days |
| 全部 | all |
调用示例:
python3 ~/.claude/skills/skill-usage/stats.py past_30_days
- 重要:将统计报告直接作为最终回复输出给用户,不要只输出"统计完成"等简短描述