A character sheet and skill tree for Claude Code.
Your skills drawn as a constellation, your CLAUDE.md as the sheet, your sessions as experience. A terminal editor over the plain files Claude Code already reads, and nothing more.
Press T to change the theme.
The sky, then the tree
You start on the horizon with your constellations laid out along it. Choose one, press up, and it zooms into a tree that grows from what you have earned toward what you could take. Every frame on this page is real output from constelate --render, not a screenshot.
┌─ CONSTELLATIONS ────────────────────────────────────────────────────────────────────────── 7 ┐ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ ◆ ◆ │ │ ▸ CODING ◂ WRITING RESEARCH OPS DESIGN PRINT ▸│ │ 6 5 4 4 4 1 │ │ ↑ enter constellation ← → choose │ ├──────────────────────────────────────────────────────────────────────────────────────────────┤ │ LVL 1 XP 900/1000 CTX ~690/4.0k tok │ └─ 1 CONSTELLATION · 2 CHARACTER · 3 LEDGER · ? keys · q quit · theme ansi ────────────────────┘
┌─ CODING ─────────────────────────── ◂ WRITING · RESEARCH · OPS · DESIGN · PRINT · UNSORTED ▸ ┐ │ │ │ ┌ gh cli ───────────────┐│ │ │ trust unlock 0/25 ││ │ │ locked ││ │ │ ││ │ │ rule: Bash(gh pr *) ││ │ │ ││ │ │ [enter] suggest allow… ││ │ │ ││ │ │ ││ │ │ ││ │ │ ││ │ │ ││ │ │ ││ │ │ ││ │ │ ││ │ react-testing────── typescript-strict │ ││ │ ╲ │ ││ │ nextjs-app-router── go-cli │ ││ │ ╱ │ ││ │ ◆ gh cli─────────────◆ git basics └────────────────────────┘│ │ installed managed available ◆ trust unlock esc sky │ ├──────────────────────────────────────────────────────────────────────────────────────────────┤ │ LVL 1 XP 900/1000 CTX ~690/4.0k tok │ └─ h/j/k/l move · enter detail · esc sky · tab next · 2/3 screens · q quit ────────────────────┘
Filled stars are installed, hollow ones are managed by a plugin or synced from claude.ai, circles are available, diamonds are trust unlocks.
Three screens, one keyboard
Everything is reachable with 1, 2 and 3. Vim keys or arrows move; enter opens and confirms; esc steps back; q leaves.
Constellation
Skills grouped into Coding, Writing, Research, Ops, Design, and any category you add, each drawn as a tree: trust unlocks at the base, installed skills above, managed and available skills at the top. Open a node to read what it does and what it costs, then install, disable or re-categorise it in place.
┌─ WRITING ─────────────────────────── ◂ CODING · RESEARCH · OPS · DESIGN · PRINT · UNSORTED ▸ ┐ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ docx───────────── pdf-tools │ │ ╲ │ │ release-notes │ │ ╲ │ │ blog-post──────── proposal-writer │ │ installed managed available ◆ trust unlock esc sky │ ├──────────────────────────────────────────────────────────────────────────────────────────────┤ │ LVL 1 XP 900/1000 CTX ~690/4.0k tok │ └─ h/j/k/l move · enter detail · esc sky · tab next · 2/3 screens · q quit ────────────────────┘
Character sheet
The agent’s name, the model from settings, and CLAUDE.md, editable here or in your own editor. User and project files sit side by side under u and p.
┌─ CHARACTER SHEET Wren ───────────────────────────────────────────────────────────────────────┐ │ NAME Wren MODEL claude-fable-5-1 (user) │ │ level 1 · 6 sessions · 6 completed · ctx budget 4.0k tok · theme ansi │ │ CLAUDE.md ▸ [u] user 13 lines [p] project (none) enter edit · ctrl+s save · e $EDITOR │ │ │ # Working rules for this machine │ │ │ │ │ │ You are **Wren**. Say in a line what you're about to do, then do it, and recap at │ │ │ the end. Don't commit or push unless asked. Prefer the smallest change that works. │ │ │ │ │ │ ## Start of session │ │ │ 1. Read the project's README and any notes under `docs/`. │ │ │ 2. Check open work with `gh issue list --assignee @me`. │ │ │ 3. Ask before touching anything under `infra/`. │ │ │ │ │ │ ## Style │ │ │ - Plain sentences, one idea each. No filler. │ │ │ - Name a file only when the reader has to open it. │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ ├──────────────────────────────────────────────────────────────────────────────────────────────┤ │ LVL 1 XP 900/1000 CTX ~690/4.0k tok │ └─ tab field · enter edit · u/p file · ctrl+s save · e $EDITOR · 1/3 screens · q quit ─────────┘
Ledger
XP per session, read from your transcripts as outcomes rather than tokens. When a command has succeeded enough times, the ledger suggests the matching allow rule. You confirm every one.
┌─ LEDGER level 1 · 900 xp total ──────────────────────────────────────────────────────────────┐ │ weights: session 50 · tool ok 2 · tool err 0 · prompt ok 5 (dormant: not in logs) │ │ SESSIONS date project tools err done xp │ │ 2026-09-20 home-wren-repos-atlas 51 1 ✓ 150 │ │ 2026-09-19 home-wren-repos-atlas 51 1 ✓ 150 │ │ 2026-09-18 home-wren-repos-atlas 51 1 ✓ 150 │ │ 2026-09-16 home-wren-repos-site 51 1 ✓ 150 │ │ 2026-09-14 home-wren-repos-site 51 1 ✓ 150 │ │ 2026-09-11 home-wren-repos-atlas 51 1 ✓ 150 │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ TRUST UNLOCKS after N successful calls, suggest an allow rule; you confirm every time │ │ ◆ git basics 0/25 Bash(git status *) granted │ │ ◆ gh cli 0/25 Bash(gh pr *) locked │ │ ◆ npm scripts 0/25 Bash(npm run *) locked │ │ │ │ │ ├──────────────────────────────────────────────────────────────────────────────────────────────┤ │ LVL 1 XP 900/1000 CTX ~690/4.0k tok │ └─ tab pane · j/k move · enter suggest rule · 1/2 screens · q quit ────────────────────────────┘
What it reads
Nothing of its own except a small config folder. Uninstall it and Claude Code keeps working exactly as before.
- skills
~/.claude/skills/*/SKILL.mdfor personal skills, the project’s.claude/skills/, and plugin or claude.ai-synced skills shown read-only.- character
CLAUDE.mdfor the user and the project, and the model named insettings.json.- trust
permissions.allowandpermissions.denymerged across the four settings files.- experience
- Session transcripts under
~/.claude/projects/. Outcomes only: sessions completed and tool calls that succeeded. Never token counts. - theme
- The active Omarchy theme’s
colors.tomlwhen there is one, plain ANSI colours anywhere else.
Nothing happens without you
- Every write shows a diff, asks for confirmation, and saves a timestamped backup with a manifest under
~/.config/constelate/backups/. --dry-rundescribes every write and makes none.- Skill folders are never deleted. Disabling moves them aside with a marker that says where they came from, so installing puts them back.
- Writes outside
~/.claude, the project’s.claudeand~/.config/constelateare refused.
Install
One Go binary, built from source in about a minute.
$ git clone https://github.com/signalandform/constelate
$ cd constelate && go build -o constelate .
$ ./constelateNeeds Go 1.24 or newer. Full install notes