Repository navigation
Releases: NovusEdge/readable-responses
Release list
v0.5.0: Hermes Agent plugin
Added
- Hermes Agent plugin in
.hermes-plugin/: per-prompt guidance and the previous-reply review throughpre_llm_call. Install it withhermes plugins install NovusEdge/readable-responses --enable. node hooks/check.js --jsonfor hosts that pass message text instead of a transcript.$HERMES_HOME/readable-responses.json(default~/.hermes) as a limits source.
Changed
- The guidance asks for connected prose in short answers, and scannable structure past about 150 words and in documents.
Fixed
- A limits file holding valid JSON that is not an object, such as
null, no longer breaks the hook; it is skipped.
v0.4.0: Codex plugin
Added
- Codex plugin manifest at
.codex-plugin/plugin.json, sharing the skill andhooks/hooks.jsonwith the Claude plugin. Installs withcodex plugin add;install.py --codexstays as an alternative, and using both runs the hook twice. - Description on the Claude marketplace manifest, so
claude plugin validate --strictpasses.
v0.3.0: contextual guidance and de-slopify
Changed
- Replaced mandatory sentence and paragraph caps with contextual review signals.
- Removed automatic table requirements and instructions to rewrite every future reply.
- Added tone guidance that preserves meaning, evidence, uncertainty, author voice, and the user's requested format. Progress updates can state the next action without inventing a finding.
- Reframed hook findings as passages to inspect. Detection thresholds and configuration precedence remain compatible.
Added
- Bundled the
de-slopifyediting skill, its review references, and Codex metadata. The skill now ships under the same version as the plugin. - Codex installation of the bundled skill, preserving existing personal copies and unrelated hooks.
- Regression coverage for advisory notices and skill installation.
Fixed
- Validate existing Codex hook JSON before replacing installed files.
v0.2.1 — fix plugin load
The Claude Code plugin failed to load. hooks/hooks.json loads automatically, and plugin.json also declared it, which Claude Code rejects as a duplicate.
Every Claude Code install since 0.1.0 was inert. Reinstall to pick up the fix.
The Codex path was never affected, since it registers through ~/.codex/hooks.json.
v0.2.0 — full rule coverage and Codex CLI support
Every rule the hook injects now has a check behind it, and the plugin runs on Codex CLI as well as Claude Code.
New rules
| Rule | Limit |
|---|---|
| buried lead | first sentence opens with a preamble (Let me, I'll, Sure,, Based on) |
| prose table | 3 or more consecutive Label: value lines outside a list |
| long list item | bullet or numbered item over paragraphWords |
prose table fires on the hand-rolled shape only. A comparison spread across flowing sentences goes unreported, because the broader heuristic hit ordinary prose.
Fixed
Bullets and numbered items were dropped before counting, so an overlong list item never reported.
The sentence splitter cut at e.g. The. That turned one long sentence into two short ones and hid the violation.
Codex CLI
Install with ./install.py --codex. Verified against the Codex binary at 0.153.4.
The hook registers under ~/.codex/hooks.json, emits hookSpecificOutput.additionalContext, and reads the rollout schema where the message nests under payload.
Config precedence
limits.json lives in the marketplace cache, which an update overwrites. Thresholds now resolve from .readable-responses.json in the project, then ~/.claude, then ~/.codex, then the shipped defaults.
Breaking
install.sh is gone. Use install.py, which covers both hosts and works on Windows.