install
source · Clone the upstream repo
git clone https://github.com/openclaw/skills
Claude Code · Install into ~/.claude/skills/
T=$(mktemp -d) && git clone --depth=1 https://github.com/openclaw/skills "$T" && mkdir -p ~/.claude/skills && cp -r "$T/skills/akira82-ai/skills-usage" ~/.claude/skills/openclaw-skills-skill-usage && rm -rf "$T"
OpenClaw · Install into ~/.openclaw/skills/
T=$(mktemp -d) && git clone --depth=1 https://github.com/openclaw/skills "$T" && mkdir -p ~/.openclaw/skills && cp -r "$T/skills/akira82-ai/skills-usage" ~/.openclaw/skills/openclaw-skills-skill-usage && rm -rf "$T"
manifest:
skills/akira82-ai/skills-usage/SKILL.mdsource content
技能使用统计 (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 - 时间过滤:
是毫秒级时间戳(数字),需要除以 1000 转换为秒timestamp - 未使用技能:在结果中显示为 0 次
- 历史文件位置:
和~/.claude/history.jsonl~/.claude/projects/*/*.jsonl
执行指令
当用户调用此技能时,请按以下步骤执行:
- 首先使用
询问统计时间段AskUserQuestion - 直接调用
脚本,传入时间段参数~/.claude/skills/skill-usage/stats.py - 直接将脚本输出作为最终回复,不要做任何额外处理或包装
时间段参数映射:
| 用户选择 | 脚本参数 |
|---|---|
| 今天 | |
| 过去 7 天 | |
| 过去 30 天 | |
| 过去 90 天 | |
| 全部 | |
调用示例:
python3 ~/.claude/skills/skill-usage/stats.py past_30_days
- 重要:将统计报告直接作为最终回复输出给用户,不要只输出"统计完成"等简短描述