Personal skill genome tracker with auto-generated daily practice cycles.
graph TD
subgraph Dashboard["React SPA (index.html)"]
UI[Dashboard UI] --> CYCLE[Cycle Generator<br/>lib/generate-cycle.js]
UI --> DATA[data/projects.json<br/>Skills + levels]
end
subgraph Algorithm["Blended Scoring"]
CYCLE --> LVL[Level Weight<br/>Lower = priority]
CYCLE --> STALE[Staleness<br/>Days since assessed]
CYCLE --> HIST[History<br/>Less practiced = higher]
CYCLE --> DIV[Diversity<br/>Max 2 per project]
end
subgraph Output["Daily Cycle"]
LVL --> TOP5[Top 5 Skills]
STALE --> TOP5
HIST --> TOP5
DIV --> TOP5
end
AI[Claude Code<br/>daily-cycle.json] -.->|Override if today's date| UI
style Dashboard fill:#1e293b,stroke:#f97316,color:#fff
style Algorithm fill:#1e293b,stroke:#22d3ee,color:#fff
style Output fill:#1e293b,stroke:#a78bfa,color:#fff
make install # install test dependencies
make serve # serve at localhost:8080Open index.html in a browser (or use make serve for full functionality).
The dashboard auto-generates a daily 5-skill practice cycle using a blended scoring algorithm:
- Level weight — lower-level skills get priority (growth potential)
- Staleness — skills not assessed recently bubble up
- History — less-practiced skills score higher
- Diversity — max 2 skills per project to spread practice
If a Claude Code-generated data/daily-cycle.json exists with today's date, it takes priority (AI-curated). Otherwise, the client-side generator kicks in automatically on page load.
make test # run tests
make test-watch # watch mode
make test-coverage # with coverage reportindex.html # React SPA (standalone, CDN dependencies)
lib/
generate-cycle.js # Cycle generation algorithm (UMD — browser + Node)
data/
projects.json # Source of truth: projects and skills
session-log.json # Auto-tracked activity feed
tests/
generate-cycle.test.js # Vitest tests (27 cases)
Cycle generation accepts options:
| Option | Default | Description |
|---|---|---|
date |
today | Reference date (YYYY-MM-DD) |
count |
5 | Skills per cycle |
maxPerProject |
2 | Diversity cap per project |