/skill-usage-report - Skill Usage Report
Generate a D3 visualization of skill skill invocations from the current session or project history.
Purpose
Track and visualize which skills (expert skills) were invoked during development. Provides insights into:
- •Which expertise domains were leveraged
- •How skills were combined for different tasks
- •Usage patterns and frequencies
When to Use
- •End of a development session to review expert guidance used
- •Before PR review to document design decisions
- •Project retrospectives to analyze methodology
- •Any time you want to see skill interaction patterns
Workflow
Step 1: Gather Skill Invocations
Search the current session or .claude/ logs for skill invocations:
bash
# Patterns to find: # - "SKILLS INVOKED: /components, /react-test, ..." # - "Invoking /skillname" # - "/skillname" mentions in context
Step 2: Categorize by Domain
Map each skill to its domain:
| Domain | Skills |
|---|---|
| UI/UX Design | /components, /visual, /usability, /mobile, /motion, /interaction, /tokens, /typography, /design |
| Testing & Quality | /react-test, /js-safety, /js-internals, /java, /simplicity, /async |
| Architecture | /resilience, /failure |
| Code Quality | /react-state, /typescript |
| Documentation | /docs |
| Workflow | /plan, /review-hard |
Step 3: Generate Report Files
Create two files in .claude/:
- •canon-masters.json - Structured data:
json
{
"session": {
"timestamp": "2024-01-15T10:30:00",
"source": "manual-session"
},
"skills": [
{"name": "/components", "count": 3, "domain": "ui-ux"},
{"name": "/react-test", "count": 2, "domain": "testing-quality"}
],
"connections": [
{"source": "/components", "target": "/visual", "weight": 2}
]
}
- •skill-usage-report.html - D3 visualization with:
- •Force-directed graph of skill relationships
- •Nodes colored by domain
- •Node size by frequency
- •Connections for co-occurrences
- •Stats summary
- •Skills table
Step 4: Output
code
Canon Masters Report Generated Files: .claude/canon-masters.json .claude/skill-usage-report.html Open report: open .claude/skill-usage-report.html Summary: Skills Used: 8 Total Invocations: 24 Domains: UI/UX (4), Testing (2), Architecture (1), Documentation (1)
Report Generation Script
Use this bash script to generate the report from session data:
bash
#!/bin/bash
# Generate skills report from session logs
CANON_LOG=".claude/canon-masters.json"
CANON_REPORT=".claude/skill-usage-report.html"
mkdir -p .claude
# Find skill invocations from various sources
skills_raw=""
# Check ralph log if exists
if [ -f ".claude/ralph-log.txt" ]; then
skills_raw+=$(grep -oE '/[a-z]+-?[a-z]*' ".claude/ralph-log.txt" 2>/dev/null)
fi
# Check recent Claude session transcripts
for f in ~/.claude/projects/*/conversations/*.jsonl; do
[ -f "$f" ] || continue
# Only check files modified in last 24 hours
if [ $(find "$f" -mtime -1 2>/dev/null | wc -l) -gt 0 ]; then
skills_raw+=$'\n'$(grep -oE '/[a-z]+-?[a-z]*' "$f" 2>/dev/null)
fi
done
# Count and sort
echo "$skills_raw" | sort | uniq -c | sort -rn
D3 Visualization Features
The generated HTML report includes:
- •Interactive Force Graph: Drag nodes to explore relationships
- •Domain Color Coding:
- •Pink: UI/UX
- •Green: Testing
- •Orange: Architecture
- •Blue: Code Quality
- •Purple: Documentation
- •Gray: Workflow
- •Node Size: Proportional to invocation count
- •Connection Lines: Skills used together on same task
- •Stats Cards: Quick metrics overview
- •Skills Table: Sortable list of all invocations
Example Output
After running /skill-usage-report:
code
Canon Masters Report ==================== Session: 2024-01-15 Development Session Duration: 2 hours Skills by Domain: UI/UX Design: /components (3), /visual (2), /usability (1) Testing: /react-test (4), /js-safety (1) Architecture: /resilience (2) Documentation: /docs (2) Co-occurrence Patterns: /components + /visual: 2 times (component styling) /react-test + /docs: 2 times (test documentation) /resilience + /failure: 1 time (system design) Report saved to: .claude/skill-usage-report.html
Integration
This report is automatically generated by:
- •Ralph: At end of autonomous PRD loop
- •Manual: Run
/skill-usage-reportanytime
The JSON data can be used for:
- •Team analytics dashboards
- •Project documentation
- •Methodology tracking
- •Training analysis