What's New
📜 文言文 (Wenyan) Mode
Classical Chinese literary compression — same technical accuracy, different era, fewer tokens. Three levels: wenyan-lite, wenyan-full, wenyan-ultra.
English: "Your component re-renders because you create a new object reference each render."
Caveman: "New object ref each render. Wrap in useMemo."
Wenyan: "物出新參照,致重繪。useMemo Wrap之。"
🛠️ New Skills
- caveman-commit — terse commit messages in Conventional Commits format.
/caveman-commit - caveman-review — one-line PR review comments: location, problem, fix.
/caveman-review
📊 Eval Harness
Three-arm eval methodology that measures real token compression honestly — skill vs terse control, not skill vs verbose baseline. Run it yourself:
uv run python evals/llm_run.py
uv run --with tiktoken python evals/measure.py🔧 Fixes & Improvements
- caveman-compress: Anthropic SDK direct call support (bypasses subprocess when
ANTHROPIC_API_KEYis set) - caveman-compress: 500KB file size limit, path resolution, configurable model via
CAVEMAN_MODELenv var - caveman-compress: SECURITY.md addressing Snyk false positive
- caveman-compress: Backup overwrite protection — won't silently destroy existing
.original.md - caveman-compress: Fixed PATH_REGEX that was matching every English word as a file path
- Codex plugin: Windows install support, SVG icons, OpenAI agent config
- Evals: Fixed inverted sign in
fmt_pctoutput
🧹 Housekeeping
- Removed language-specific skill translations (caveman-cn, caveman-es, caveman-pt) — Claude already responds in the user's language
- Closed Abathur persona PRs — out of scope
- README restructured: hook → pitch → install → skills → benchmarks → evals