# skill-usage > 统计已安装技能在指定时间段内的使用次数,以美观的 TUI 格式展示结果 - Author: akira82-ai - Repository: akira82-ai/skill-usage - Version: 20260201114407 - Stars: 0 - Forks: 0 - Last Updated: 2026-02-06 - Source: https://github.com/akira82-ai/skill-usage - Web: https://mule.run/skillshub/@@akira82-ai/skill-usage~skill-usage:20260201114407 --- --- name: skill-usage description: 统计已安装技能在指定时间段内的使用次数,以美观的 TUI 格式展示结果 version: 1.0.0 allowed-tools: - Bash - AskUserQuestion model: haiku --- # 技能使用统计 (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` | 调用示例: ```bash python3 ~/.claude/skills/skill-usage/stats.py past_30_days ``` 4. **重要**:将统计报告直接作为最终回复输出给用户,不要只输出"统计完成"等简短描述