Eval
View and manage the evaluation harness — session metrics, baselines, trend analysis, and regression detection. The feedback loop that tells the system whether improvements actually improved things.From its SKILL.md
npx -y skills add Kastalien-Research/thoughtbox --skill evalAssembled from the repository path, not quoted from the project. Check it against their README if it does not work.
SKILL.md
2.7 KB, as published. Nobody here has run it
Evaluation harness: $ARGUMENTS
Commands
Parse the first word of $ARGUMENTS to determine the command:
metrics — Show current session metrics
Collect and display metrics for the current session:
- Count commits:
git log --oneline --since="today" | wc -l - Count test results: check for recent vitest output or
.eval/metrics/entries - Token usage: check LangSmith state file if available
- Pattern usage: check
.dgm/fitness.jsonfor patterns used this session - Session duration: check session start time from logs
Display as:
## Current Session Metrics
| Metric | Value | Baseline | Delta |
|--------|-------|----------|-------|
| Commits | 5 | 3.2 avg | +56% |
| Tests passing | 42/42 | 40/42 | +2 |
| Files changed | 12 | 8.5 avg | +41% |
| Patterns used | 7 | 5.3 avg | +32% |
baseline — Set or update baselines
- Read the last N session metric snapshots from
.eval/metrics/ - Calculate averages for each metric
- Write to
.eval/baselines.json - Report what changed
compare — Compare sessions
Usage: compare --last N or compare --session <id>
- Load metric snapshots from
.eval/metrics/ - Compare against baselines
- Highlight regressions (metric dropped >10% below baseline)
- Highlight improvements (metric improved >10% above baseline)
report — Generate weekly evaluation report
- Load all metrics from the past 7 days
- Calculate trends (improving, stable, declining)
- Identify top improvements and top regressions
- Generate recommendations based on trends
capture — Capture current session metrics
Write a metric snapshot to .eval/metrics/session-{timestamp}.json:
{
"session_id": "<session id>",
"timestamp": "<ISO 8601>",
"branch": "<git branch>",
"metrics": {
"commits": 0,
"tests_total": 0,
"tests_passing": 0,
"files_changed": 0,
"patterns_referenced": 0,
"assumptions_verified": 0,
"escalations": 0,
"spiral_detections": 0
},
"qualitative": {
"session_focus": "<what the session was about>",
"memory_usefulness": 0,
"knowledge_gaps_found": []
}
}
Notes
- If
.eval/baselines.jsondoesn't exist, skip baseline comparisons and suggest runningbaseline - Metric collection should be best-effort — missing data is noted, not an error
- Regressions trigger a structured escalation suggestion (not automatic action)