Skip to content

Hyperlex in Claude Code

Hermes is the primary skill host. Claude Code is an additional host. Same CLI, same settlement rule, same receipts. This is dual-runtime packaging — not a rewrite.

Two install shapes

Shape Path What Claude loads
Personal skill ~/.claude/skills/hyperlex/ Directory SKILL.md + bundled scripts/ / src/ for offline CLI
Local plugin ~/.claude/plugins/hyperlex/ .claude-plugin/plugin.json, root SKILL.md, slash commands/

The repo itself is already a single-skill plugin: root SKILL.md plus .claude-plugin/plugin.json. You can point Claude Code at this checkout instead of copying it.

Thin hyperlex init --target claude writes only SKILL.md and expects hyperlex on PATH. Prefer install.sh --claude when you want the offline CLI tree without a pip install.

bash install.sh --claude --dry-run
bash install.sh --claude
export HYPERLEX_SKILL_DIR="${HOME}/.claude/skills/hyperlex"
export HERMES_SKILL_DIR="${HERMES_SKILL_DIR:-$HYPERLEX_SKILL_DIR}"
export HLX="python3 $HYPERLEX_SKILL_DIR/scripts/hyperlex.py"
$HLX check && $HLX doctor && $HLX demo

--claude is additive. Hermes still installs to ~/.hermes/skills/hyperlex unless you pass --target. Sibling slash helpers land next to the personal skill:

~/.claude/skills/hyperlex/          # main contract + CLI
~/.claude/skills/hyperlex-demo/
~/.claude/skills/hyperlex-wizard/
~/.claude/skills/hyperlex-scan/
~/.claude/skills/hyperlex-analyze/
~/.claude/skills/hyperlex-pending/
~/.claude/skills/hyperlex-settle/

Reload Claude Code so it sees the new skills.

Local plugin dir

bash install.sh --claude-plugin --dry-run
bash install.sh --claude-plugin
# tree: ~/.claude/plugins/hyperlex
# enable via Claude plugin UI, or: claude plugin add ~/.claude/plugins/hyperlex

Plugin slash commands live in repo commands/ (/hyperlex-demo, …). The main /hyperlex skill is the root SKILL.md (single-skill layout — no duplicate engine under skills/hyperlex/).

You can also add this git checkout as a plugin path. CLAUDE.md at the repo root is project context only; Claude does not load it as plugin context.

First success (no Anthropic API)

$HLX demo
$HLX wizard --auto

Expect ok: true and brier: null. No paid keys. Settlement stays a human step: pending → operator decision → settlescore-series.

Differences from Hermes

Hermes Claude Code
Default skill path ~/.hermes/skills/hyperlex ~/.claude/skills/hyperlex
Env name HERMES_SKILL_DIR HYPERLEX_SKILL_DIR (may reuse Hermes)
Wrapper python3 $HERMES_SKILL_DIR/scripts/hyperlex.py scripts/claude_hlx.sh
Discovery Hermes scans SKILL.md Personal skills + optional plugin
Slash helpers Hermes procedure in SKILL.md .claude/skills/ and commands/
Contract Same SKILL.md Same SKILL.md + Claude section

Fail-closed rules do not change: no invented Brier, no auto-settle, no phenomenology claims. hyperlex doctor emits CLAUDE_SOT_CLEARED=true|false from the local pin references/claude-sot-cleared.json plus git/install provenance (not a live GitHub fetch). When Claude packaging is installed or claimed and the pin does not match, doctor fails.

See also