Implement /usage command for session tracking (fc-005)

Components:
- commands/usage.md: Slash command with aliases (stats)
- skills/usage/SKILL.md: Query logic and report generation
- state/usage/config.json: Log level and preferences

Features:
- Parse history/index.json for session metadata
- Estimate duration from consecutive session starts
- Group by date, show summary stats
- Configurable log levels (minimal/standard/detailed)
- Extensible for future session content parsing

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
This commit is contained in:
OpenCode Test
2025-12-31 23:21:00 -08:00
parent 89b1a30b18
commit 4ca3365d55
3 changed files with 227 additions and 0 deletions

66
commands/usage.md Normal file
View File

@@ -0,0 +1,66 @@
---
name: usage
description: View model usage statistics and session history
aliases: [stats]
invokes: skill:usage
---
# /usage Command
View usage statistics across Claude Code sessions.
## Usage
```
/usage # Summary (last 7 days)
/usage today # Today's sessions
/usage week # Last 7 days (default)
/usage month # Last 30 days
/usage all # All time
```
## Grouping
```
/usage --by agent # Group by agent
/usage --by skill # Group by skill
/usage --by model # Group by model tier
```
## Configuration
```
/usage --set-level minimal|standard|detailed
/usage --show-config
```
## Log Levels
| Level | Data Captured |
|-------|---------------|
| `minimal` | Session ID, time, model |
| `standard` | + agents, skills, tokens (default) |
| `detailed` | + commands, delegations, errors |
## Example Output
```
📊 Usage Summary — Last 7 Days
Sessions: 12
Total time: 8h 32m
Model: opus (primary)
┌─────────────┬──────────┬────────┐
│ Agent │ Sessions │ Time │
├─────────────┼──────────┼────────┤
│ PA │ 12 │ 8h 32m │
│ sysadmin │ 4 │ 1h 15m │
└─────────────┴──────────┴────────┘
```
## Data Sources
- Session metadata from `~/.claude/state/personal-assistant/history/index.json`
- Configuration from `~/.claude/state/usage/config.json`
- Session content from `history/*.jsonl` (when available)