RARS-oss

Custos — Development skill for Claude Code

Development community

Continuous, hook-driven session capture so an agent's history survives Claude Code's own context compaction and /clear -- Ed25519-signed checkpoints, verified live.

How to install Custos

This entry records only its repository, not the path inside it, so there is no exact command to give. Open RARS-oss/custos and copy the folder into ~/.claude/skills/, or the file into ~/.claude/agents/.

What Custos does

Continuous, hook-driven session capture so an agent's history survives Claude Code's own context compaction and /clear -- Ed25519-signed checkpoints, verified live.

Alternatives in Development

  • Claudeception — A Claude Code skill for autonomous skill extraction and continuous learning 2.2k ★
  • Continuous Claude — Run Claude Code in a continuous loop, autonomously creating PRs, waiting for checks, and merging 1.3k ★
  • /autopilot — Autonomous hunt loop with deterministic scope safety and configurable checkpoints 1.2k ★

README

custos

**Continuous, hook-driven session capture so an agent's history survives Claude Code's own context compaction and `/clear`.** Every turn is appended to a hash-chained ledger the moment it happens — not because the agent remembered to save it, but because a Claude Code hook did. Lifecycle boundaries (`PreCompact`, `SessionEnd`) get an Ed25519-signed checkpoint, ported from [`bulla`](https://github.com/RARS-oss/bulla)'s receipt shape, over everything captured since the last one.

Why

[`tabularium`](https://github.com/RARS-oss/tabularium) already solves durable, checkable memory for whatever an agent *chooses* to write. But "chooses to write" is the weak link: it depends on remembering to call it, turn after turn, for the whole session. This project exists because that weak link showed up live — a real session hit Claude Code's `/clear to save N tokens` prompt and the obvious question followed: what happens to everything not already saved? `custos` is a client of tabularium, not a competing memory engine: it makes capture automatic, and leaves curation (what's actually worth remembering) to `custos consolidate` and, ultimately, tabularium.

Scope — grounded in Claude Code's real hook surface, not assumed capability

Checked before writing a line of code (`docs/DESIGN.md` §3):

PreCompact / PostCompact Exist, but notification-only — cannot block or steer compaction. Used as a checkpoint trigger anyway: it's the only "something's about to happen" signal there is.
SessionEnd Gives a why (clear|resume|logout|prompt_input_exit|other) — the best lifecycle signal for "about to lose this session." Also a checkpoint trigger.
Stop / UserPromptSubmit / PostToolUse The actual capture surface — custos never parses Claude Code's internal transcript file (async, unsupported, versioned); these three hooks are the ground truth instead.
Token / context-usage API **Verified not to exist anywhere in t