.claude/skills/session-trends/SKILL.md
Analyze trends across session metrics. Computes windowed aggregates, deltas, and compares against MEMORY.md findings. Use periodically for progress tracking.
npx skillsauth add oliver-kriska/claude-elixir-phoenix session-trendsInstall this skill globally with one command. Works with Claude Code, Cursor, and Windsurf.
3 of 9 scanners reported clean
Some scanners were skipped, did not run, or reported a non-clean status. Review each row below.
Analyze trends from the metrics ledger. Computes windowed aggregates, fingerprint distributions, and compares against MEMORY.md baselines.
Requires .claude/session-metrics/metrics.jsonl from /session-scan.
/session-trends # All windows (7d, 30d, all)
/session-trends --window 30d # Specific window only
/session-trends --project enaia # Filter by project
/session-trends --compare MEMORY.md # Compare against memory baseline
Extract from $ARGUMENTS:
--window WINDOW: Time window — 7d, 30d, or all (default: show all three)--project NAME: Filter metrics by project name--compare PATH: Path to MEMORY.md for baseline comparison
(default: auto-detect from .claude/ project memory)Read .claude/session-metrics/metrics.jsonl.
If empty or missing:
No metrics found. Run
/session-scanfirst.
If --project specified, filter entries by project field.
python3 .claude/skills/session-scan/references/compute-metrics.py \
--trends .claude/session-metrics/metrics.jsonl \
--memory {MEMORY_PATH}
Capture the JSON output.
Format the JSON output as a readable report:
Total sessions: {N} ({backfilled} backfilled from v1)
Date range: {earliest} to {latest}
| Metric | 7 days | 30 days | All time |
|-------------------------|--------|---------|----------|
| Sessions | 12 | 45 | 165 |
| Avg friction | 0.28 | 0.24 | 0.22 |
| Max friction | 0.72 | 0.72 | 0.89 |
| Avg opportunity | 0.35 | 0.30 | 0.28 |
| Tier 2 eligible | 40% | 33% | 30% |
| Plugin adoption | 12% | 10% | 8% |
| Type | 7d | 30d | All |
|---------------|-----|-----|------|
| bug-fix | 4 | 15 | 52 |
| feature | 3 | 12 | 48 |
| exploration | 2 | 8 | 30 |
| maintenance | 1 | 5 | 18 |
| review | 1 | 3 | 10 |
| refactoring | 1 | 2 | 7 |
Compare measured values against MEMORY.md claims:
| MEMORY.md Claim | Measured | Match? |
|------------------------------|-------------|--------|
| Plugin adoption: 8-12% | 10.2% | Yes |
| Minimal friction in 40+ of 74| 68% smooth | Yes |
Write computed trends to .claude/session-metrics/trends.json.
Based on trends:
/session-deep-dive --from-scan to investigate"| File | Purpose |
|------|---------|
| .claude/session-metrics/trends.json | Computed trend data |
See references/trend-queries.md for interpreting specific trend patterns.
tools
Scope or freeze which files Claude can edit during debugging, a refactor, or review. Use when edits should stay in specific dirs, or for a read-only investigate lock. Backed by a sentinel + PreToolUse hook.
development
Ash Framework — resources, actions, policies, aggregates, calculations, AshPhoenix.Form, LiveView, migrations. Use when generating resources via mix ash.codegen, editing changes, checks, types, validations, or domain code interfaces.
development
Reduce mix output noise (5-15% token savings) by installing rtk filters that compress mix test/credo/dialyzer/compile output before it reaches Claude. Use when long mix output floods context.
development
Narrow bare rescue in Elixir so real errors like KeyError and typos propagate instead of being swallowed. Use to audit rescues and refactor error handling.