Basanite — AI skill for Claude Code
Vocabulary-tic detector for Claude Code output — frequency drift over your own transcripts, WordNet specificity ladders, optional fenced-LLM judge for terms of art.
How to install Basanite
This entry records only its repository, not the path inside it, so there is no
exact command to give. Open justinstimatze/basanite and copy the folder into
~/.claude/skills/, or the file into ~/.claude/agents/.
What Basanite does
Vocabulary-tic detector for Claude Code output — frequency drift over your own transcripts, WordNet specificity ladders, optional fenced-LLM judge for terms of art.
Alternatives in AI
- Hindsight — State-of-the-art long-term memory for AI agents by Vectorize 6.7k ★
- Pixel Agents — Compressed Reference — VS Code extension with embedded React webview: pixel art office where AI agents (Claude Code terminals) are an 6.5k ★
- Mex — Persistent project memory for AI coding agents 672 ★
README
basanite
[](https://github.com/justinstimatze/basanite/actions/workflows/ci.yml)
A deterministic, local tool — **no LLM in the default path** — that detects **vocabulary tics** in your Claude Code sessions' output — words the model reaches for reflexively (`load-bearing`, `spine`, …) until overuse debases them. It measures frequency drift over the JSONL transcripts, then injects awareness of each tic, plus a ranked ladder of alternatives, at turn start. A fenced LLM judge handles the one judgment the deterministic stack can't — telling a term of art from a dilutable tic — and runs by default when an API key is configured (it falls back to deterministic without one).
Basanite is the dark stone an assayer streaks a sample against to judge it — a touchstone. Design rationale, including what was deliberately left out, lives in [DESIGN.md](DESIGN.md).
Commands
basanite scan # rank rising lemmas: recent window vs trailing baseline
basanite trend … # weekly rate per lemma — the effectiveness check
basanite ladder … # specificity ladder per sense, weakest → strongest
basanite vet … # judge candidates against your own past sentences
basanite report # full pipeline (scan→vet→ladder) → state file, ~1 min
# judges out terms of art by default; --judge=false for deterministic-only
basanite refresh # regenerate the state file if stale (runs from both hooks)
basanite hook # UserPromptSubmit entry: inject the report, ~4 ms
basanite display # MessageDisplay entry: show the demote rung instead of the tic
basanite glyphs -init # write ~/.config/basanite/glyphs.txt, the opt-in mark-instead-of-word table
basanite check |- # ad hoc: name the tics in a file or piped text, no hook envelope
basanite writecheck # PreToolUse entry: name tics in text about to enter a file, or a Linear
Related Skills
Fable Status
Report fable-mode posture — output style, model/effort, hook telemetry drift counts
AI Safe Driver
AI agent drift detection and recovery for Claude Code and OpenAI Codex—stop repeated tool-call, instruction-fo
Eval From Trace
Build an LLM-as-a-Judge eval grounded in real traces from the Progress Observability Platform.
Evolve Skill
SPIKE — GEPA/DSPy-style offline A/B evolution of ONE prompt-only skill's SKILL.md body against a small fixture
Cc Judge
Shared LLM-evals framework for running Claude Code agents in containers, scoring outcomes with an LLM judge, a
Add Eval
Add automated eval (LLM-as-judge or deterministic) for an AI-powered feature
Related Agents
Translate Researcher
Terminology-research agent. Before the translator panel runs, it works out the CORRECT vocabulary for the mate
LLM Evaluator
LLM evaluation specialist. Use when designing eval suites for LLM features, calibrating LLM-as-judge prompts,
Vocabulary Consistency Checker
Vocabulary consistency specialist for academic papers. Verifies that terms introduced in the paper carry consi