Skills skill-usage

统计已安装技能在指定时间段内的使用次数,以美观的 TUI 格式展示结果

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.md
source content

技能使用统计 (skill-usage)

技能概述

统计并展示已安装技能在指定时间段内的使用情况,包括:

  • 每个技能的调用次数
  • 使用频率排名
  • 总使用次数
  • 时间趋势分析

使用流程

  1. 选择统计时间段
  2. 扫描已安装技能列表
  3. 分析对话历史记录
  4. 以美观的表格形式展示统计结果

可用时间段

选项描述
今天统计从 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

执行指令

当用户调用此技能时,请按以下步骤执行:

  1. 首先使用
    AskUserQuestion
    询问统计时间段
  2. 直接调用
    ~/.claude/skills/skill-usage/stats.py
    脚本,传入时间段参数
  3. 直接将脚本输出作为最终回复,不要做任何额外处理或包装

时间段参数映射:

用户选择脚本参数
今天
today
过去 7 天
past_7_days
过去 30 天
past_30_days
过去 90 天
past_90_days
全部
all

调用示例:

python3 ~/.claude/skills/skill-usage/stats.py past_30_days
  1. 重要:将统计报告直接作为最终回复输出给用户,不要只输出"统计完成"等简短描述