Skip to content

kilianpaquier/cave-talk

v0.7.0MIT and Apache-2.0

Ultra-compressed communication mode. Cuts output tokens while keeping full technical accuracy.

cave-talk

Ultra-compressed communication mode. Cuts output tokens while keeping full technical accuracy.

Uses Caveman, with no affiliation or endorsement from its author.

Hooks

EventScriptOutput
SessionStartscripts/caveman-activate.jsthe session level body, inlined into the script
UserPromptSubmitscripts/caveman-mode.jsnothing, it saves the mode change the prompt carries
UserPromptSubmitscripts/caveman-activate.jsa hint line naming the mode the session runs at

Caveman supports the following levels: caveman, ultracave, megacave, or off to disable. Within a session, /caveman <level> switches the level and stop caveman (or normal mode) turns it off.

By default the level for all session is caveman (manual to start inactive), but it can be changed with the following order precedence:

  • the CAVEMAN_DEFAULT_MODE environment variable
  • a .caveman/config.json or .caveman.json within a repository with defaultMode property
  • a ~/.config/caveman/config.json (or under $XDG_CONFIG_HOME/caveman/config.json) with defaultMode property

Skills

A subset of upstream skills is vendored as-is. The caveman, ultracave and megacave skills need no manual invocation, the SessionStart hook already inlines the session level body.

SkillUpstream
cavemanhttps://github.com/JuliusBrussee/caveman/blob/main/skills/caveman/SKILL.md
caveman-commithttps://github.com/JuliusBrussee/caveman/blob/main/skills/caveman-commit/SKILL.md
caveman-explorehttps://github.com/JuliusBrussee/caveman/blob/main/skills/caveman-explore/SKILL.md
megacavehttps://github.com/JuliusBrussee/caveman/blob/main/skills/megacave/SKILL.md
ultracavehttps://github.com/JuliusBrussee/caveman/blob/main/skills/ultracave/SKILL.md

Installation

[!warning] Nodejs is needed in PATH environment variable to work.

Native plugin (recommended):

my-agent plugin install cave-talk@one-for-all

APM package:

apm install kilianpaquier/ai-integration/plugins/cave-talk -g

APM plugin:

apm marketplace add kilianpaquier/ai-integration
apm install cave-talk@one-for-all -g

Compatibility table

Agent RuntimeManifestHook configuration
APMapm.yml.apm/hooks/hooks.json
Antigravityplugin.json-
Claude Code.claude-plugin/plugin.jsonhooks/claude.json
Codex.claude-plugin/plugin.jsonhooks/claude.json
Copilotplugin.jsoncom.github.copilot/hooks/hooks.json
Cursor.cursor-plugin/plugin.jsonhooks/cursor.json
Devin.claude-plugin/plugin.json-

[!note] APM merges .apm/hooks/hooks.json into the target agent runtime settings (e.g. ~/.claude/settings.json) and rewrites ${PLUGIN_ROOT} to the path it deployed the scripts to.

Limitations

[!warning]Mode hint not re-asserted on Copilot or Cursor Copilot and Cursor accept context back on SessionStart only, so the UserPromptSubmit hint naming the active mode never registers there: it would spawn a process per prompt and discard what it prints. The mode still persists through caveman-mode.js, it just isn't re-asserted mid-session.