how it feels

You ask questions. Claude reads the schema, writes SQL, and returns the answer. Flex gives Claude persistent memory — it indexes whatever sessions exist on disk at install time (~30 days of history), then captures everything going forward.

After flex init, open a new Claude Code session and try:

"Use flex: what did we build this week?"

Claude runs @orient to learn the schema, writes a query, and returns a summary. That's the whole UX.

Say "use flex" somewhere in your message so Claude knows to search your history. The exact format doesn't matter — use flex:, use flex., use flex search, and freeform all work.

file lineage

Ask about any file. Claude traces it through every session that ever touched it — who created it, when, what changed, what it became.

what session created this file?

"Use flex: what session created src/worker.py?"

Returns the session ID, timestamp, and context around why it was written.

full history of a file

"Use flex: show me every session that touched auth.py"

Lists every Read, Write, and Edit operation across all sessions, in order. Tracks the file across renames.

what changed and why?

"Use flex: what was the last change to config.py and why?"

Finds the most recent Edit, shows the diff, and pulls the surrounding conversation for context.

most-edited files

"Use flex: what are the most-touched files in this project?"

Hotspot analysis across all sessions. Shows which files get the most attention.

session history

Every Claude Code session is a unit of work. Flex indexes tool calls, user prompts, agent delegations, and files touched. Once indexed, sessions persist in the cell even after Claude prunes the source JSONLs.

what happened in a session?

"Use flex: tell me the story of session abc123"

Timeline with artifacts, tool usage breakdown, and key decisions.

what files did a session touch?

"Use flex: what files were modified in session abc123?"

Every file operation with tool name (Read/Write/Edit) and timestamps.

find sessions by what happened

"Use flex: which sessions involved database migrations?"

Semantic search across all sessions. Finds sessions by concept, not just keywords.

agent trees

"Use flex: show the delegation tree for session abc123"

If a session spawned sub-agents, shows the parent → child topology.

project activity

Flex maps sessions to repos automatically. Ask about activity across time.

weekly digest

"Use flex: what did we accomplish this week?"

Sessions grouped by day, tools used, files touched, project breakdown.

work sprints

"Use flex: show my recent work sprints"

Detects natural work blocks separated by 6+ hour gaps. Shows duration and density.

project breakdown

"Use flex: what projects am I working on?"

Session counts grouped by project, with recency.

hub sessions

"Use flex: what are the most important sessions for this project?"

Hub sessions have the highest centrality in the knowledge graph — they connect the most ideas.

decision archaeology

The hardest question in software: why was it done this way? Flex searches the actual conversations where decisions were made.

why did we choose X?

"Use flex: why did we switch from Redis to SQLite?"

Finds the session where the decision was discussed, with the reasoning.

trace a concept's evolution

"Use flex: trace the lineage of our authentication system"

Timeline of every session that touched the concept, ordered chronologically. Hub sessions first.

compare a concept across time

"Use flex: how did our deployment strategy change between January and February?"

Side-by-side comparison of a concept in two time periods.

what did we decide but never build?

"Use flex: what decisions from last month haven't been implemented?"

Cross-references decisions with file changes to find gaps.

presets

Presets are named queries that ship with Flex. Claude uses them automatically when they fit, but you can also ask for them by name.

PresetWhat it doesParameters
@orientFull cell orientation — shape, schema, graph intelligence, presets
@digestMulti-day activity summary — sessions, tools, filesdays (default: 7)
@fileFind sessions that touched a file (tracks renames)path (required)
@storySession narrative — timeline, artifacts, agentssession (required)
@sprintsWork sprints detected by time gapslimit (default: 20), gap_hours (default: 6)
@genealogyTrace a concept's lineage — timeline, hubs, key excerptsconcept (required)
@session-filesAll files touched in a session with operationssession (required)
@file-hotspotsMost-touched files across all sessionslimit (default: 30)
@delegation-treeRecursive parent → child agent treesession (required)
@bridgesCross-community connector sessions
@file-searchBM25 search over file content (Write/Edit/Read)query (required)
@healthPipeline health check — counts, coverage, queue depth
Claude discovers presets automatically via @orient. You rarely need to name them — just describe what you want.

tips

be specific

"Use flex: what did we do?" is too broad. "Use flex: what did we build this week in the auth module?" gets better results.

name files when you can

"Use flex: what's the history of worker.py?" uses the @file preset, which tracks the file across renames via SOMA identity. More precise than semantic search.

use flx-trace for deep dives

For complex research, delegate to flx-trace — a general-purpose retrieval sub-agent that runs multiple queries without filling your context window.

"Use flx-trace: reconstruct how the deployment pipeline evolved"
"Use flx-trace: what projects am I working on?"

cross-cell queries

If you have multiple cells (e.g. claude_code + a documentation corpus), you can ask Claude to query both in the same conversation. It runs them in parallel automatically.

"Use flex: search claude_code for auth sessions and flexsearch-context for auth design docs"

live capture

Sessions are captured in real time. The worker indexes within seconds of each tool call. No need to run flex index manually.

terminal access

You can also query from the terminal without Claude:

$ flex search "@digest days=3"
$ flex search "@file path=src/worker.py"