v0.8.0
Added
-
Skill preservation through compaction. Every
PostToolUse(Skill)invocation captures the loaded skill body to a persistent on-disk cache (data_dir()/skills, 5 MB LRU-evicted) keyed by(session, skill_name, content_sha). The compaction manifest gains an### Active Skillssection listing every loaded skill with atoken-goat skill-body <name>recall hint, and the post-compact recovery hint surfaces the same list under**Skills**:. Solves the "I forgot parts of the skill after compaction" problem — load-bearing prose (Ralph's DoD gates, /improve's iteration sequence, any multi-thousand-token protocol skill) is recoverable without re-invoking the skill, which would replay any side effects and pollute the conversation with a fresh tool-result block. Configurable viaconfig.toml [skill_preservation](enabled,max_cache_bytes) or disabled at runtime viaTOKEN_GOAT_SKILL_PRESERVATION=0. Default-on. -
token-goat skill-body <name>— retrieve a cached skill body by name. Defaults to a head+tail view for large bodies; pass--fullfor everything, or narrow with--head N,--tail N,--grep PATTERN. Falls back to reading the original~/.claude/skills/<name>/SKILL.md(or plugin-path equivalent) when the cache entry has been evicted but the source path was recorded. -
token-goat skill-history— list cached skill bodies (newest first) with their IDs, byte sizes, ages, and skill names. -
Skill marker (🧠) in the compaction manifest legend — joins
edited=✎,read=→,stale=⚠,cold=❄so the compaction LLM has a stable glyph vocabulary for every section type. -
4-section recovery hint allocator.
_allocate_recovery_slotsnow distributes 18 total slots across Files / Bash / Web / Skills with skill loads taking priority in the greedy expansion pass.