Obelisk [![stars](https://img.shields.io/github/stars/tommy0103/obelisk?style=flat-square)](https://github.com/tommy0103/obelisk/stargazers) [![version](https://img.shields.io/github/v/tag/tommy0103/obelisk?label=version&style=flat-square)](https://github.com/tommy0103/obelisk/releases) [![license](https://img.shields.io/badge/license-MIT-blue.svg?style=flat-square)](LICENSE) Every past session, subagent, and workflow -- queryable by your agent, browsable by you.

## Two sides of the same index Obelisk has two sides that share one SQLite index: **Skill side** — a Claude Code skill that lets the agent search and query its own session history. The agent writes JS queries, runs them locally, answers in plain language. **App side** — an Electron desktop app for humans to browse sessions, manage memories, view usage stats, and see weekly recap cards. Both read from the same `~/.claude/obelisk.sqlite` database. The skill indexes; the app watches and renders. ## Skill: agent-first retrieval ``` /obelisk 上次 auth bug 最后到底改了哪些文件,为什么这么改 /obelisk 这个文件最近在哪些 sessions 里被反复修改 /obelisk 找出最近失败的 tool calls,它们分别发生在哪些任务里 /obelisk 那个 review workflow 的 subagents 各自结论是什么 /obelisk recap this week ``` ### Install ```bash npx skills add tommy0103/obelisk ``` Or manually: copy the skill into `.claude/skills/obelisk/`. ### How it works ``` You ask a question ↓ Agent writes a JS query against the SQLite index ↓ Runs it via node runtime.mjs --query