by tommy0103
Every past session, subagent, and workflow -- queryable by your agent, browsable by you
# Add to your Claude Code skills
git clone https://github.com/tommy0103/obeliskLast scanned: 8/3/2026
{
"issues": [
{
"type": "npm-audit",
"message": "brace-expansion: brace-expansion: DoS via unbounded expansion length causing an out-of-memory process crash",
"severity": "high"
},
{
"file": "README.md",
"line": 89,
"type": "remote-install",
"message": "Install command (remote install script piped to a shell — review the source before running): \"curl -fsSL https://raw.githubusercontent.com/tommy0103/obelisk/main/install.sh |\"",
"severity": "low"
},
{
"file": "SKILL.md",
"line": 38,
"type": "remote-install",
"message": "Install command (remote install script piped to a shell — review the source before running): \"curl -fsSL https://raw.githubusercontent.com/tommy0103/obelisk/main/install.sh |\"",
"severity": "medium"
}
],
"status": "WARNING",
"scannedAt": "2026-08-03T07:27:13.335Z",
"npmAuditRan": true,
"pipAuditRan": true,
"promptInjectionRan": true
}See how obelisk compares with popular alternatives.
obelisk is an open-source ai agents skill for AI coding assistants such as Claude Code, Codex CLI, and ChatGPT, built by tommy0103. Every past session, subagent, and workflow -- queryable by your agent, browsable by you. It has 833 GitHub stars.
obelisk returned warnings in SkillsLLM's automated security scan. It has no critical vulnerabilities, but review the flagged issues in the Security Report section before adding it to your workflow.
Clone the repository with "git clone https://github.com/tommy0103/obelisk" and add it to your Claude Code skills directory (see the Installation section above). obelisk ships a SKILL.md manifest, so compatible agents can discover and load it automatically.
obelisk is primarily written in JavaScript. It is open-source under tommy0103 on GitHub, so you can review or fork the full source.
Yes. SkillsLLM lists many other AI Agents skills you can browse and compare side by side. Open the AI Agents category from the badge at the top of this page, or use the Related Skills and comparison links further down to weigh obelisk against similar tools.
No comments yet. Be the first to share your thoughts!
Requires a passing catalog security scan.
⚠️ Third-Party Software Notice
This skill is third-party open-source software developed and hosted independently on GitHub. SkillsLLM is an informational directory and does not control or maintain the underlying repository.
Any security checks, ratings, or warnings displayed by SkillsLLM are automated and limited in scope. They do not constitute a security certification or guarantee that the software is safe, error-free, or free from malicious code, vulnerabilities, compromised dependencies, or prompt-injection risks.
Review the source code, permissions, dependencies, and configuration before installing or running any third-party skill. Use is at your own risk. To the maximum extent permitted by applicable law, SkillsLLM is not liable for losses arising from third-party software.
name: obelisk-installer
description: Install the official Obelisk CLI and then install the Obelisk agent skill. Use only for initial setup or repair when the obelisk command is missing.
allowed-tools:
This is a one-time bootstrap guide. It installs the local Obelisk runtime, then
uses that runtime to install the official agent skill from
github.com/tommy0103/obelisk-skill.
command -v obelisk >/dev/null 2>&1 && obelisk --version
If this succeeds, skip to step 3. Do not reinstall a working CLI unless the user asked to upgrade or repair it.
Installing a global command changes the user's machine. Show the command and get the user's approval before running one of these official installation methods.
With npm:
npm install --global @obelisk-apps/cli
On macOS, Linux, or WSL, the official installer performs the same CLI-only installation and never installs an agent skill:
curl -fsSL https://raw.githubusercontent.com/tommy0103/obelisk/main/install.sh | sh
Never use sudo, install a daemon, or download Obelisk from another source.
Verify the result:
obelisk --version
The standard skills installer defaults to the current project. Before running
it, tell the user about that default and ask whether /obelisk should be
installed:
Do not silently choose the current-project default. If the user already stated the scope explicitly, use that choice without asking again.
Run the command that matches the user's answer:
Current project:
obelisk install
Global:
obelisk install --global
Pass through any additional target options the user requested. The command uses the standard skills installer, so follow its prompts instead of copying skill files by hand.
After installation, tell the user to reload their agent if the new /obelisk
skill is not discovered immediately. This bootstrap document is not the query
skill and must not answer session-history questions itself.
Past Claude Code, Codex, GitHub Copilot, DeepSeek Harness, Hermes Agent, Kiro, Kimi Code, OMP, OpenCode, Pi, and ZCode sessions -- queryable by your agent, browsable by you.
English · 中文
Obelisk indexes your local coding-agent history into one SQLite database and serves it to two audiences:
obelisk CLI plus an agent skill that teaches coding agents
to search their own session history. The agent writes JS queries, runs them
locally, and answers in plain language.Both read the same ~/.obelisk/obelisk.sqlite, kept fresh by watching every
configured provider directory.
20K lines of scattered JSONL → something your agent can search() and sql()
against in milliseconds.
/obelisk 上次 auth bug 最后到底改了哪些文件,为什么这么改
/obelisk 这个文件最近在哪些 sessions 里被反复修改
/obelisk 找出最近失败的 tool calls,它们分别发生在哪些任务里
/obelisk 那个 review workflow 的 subagents 各自结论是什么
/obelisk recap this week
The shortest path is to give the bootstrap guide directly to a coding agent with shell access. Paste this as a prompt into Claude Code, Codex, or another agent — not into your terminal:
Install Obelisk by fetching and following this guide:
curl -fsSL https://raw.githubusercontent.com/tommy0103/obelisk/main/SKILL.md
The agent will ask before changing your machine, install and verify the CLI,
then ask whether the formal /obelisk skill should be installed for the current
project or globally. The bootstrap guide is only for one-time setup; it is not
the query skill itself.
Obelisk requires Node.js 22.13 or newer. Install the platform-neutral CLI (zero runtime npm dependencies — it uses Node's built-in SQLite):
npm install --global @obelisk-apps/cli
obelisk --version
On macOS, Linux, or WSL, the CLI-only installer is equivalent:
curl -fsSL https://raw.githubusercontent.com/tommy0103/obelisk/main/install.sh | sh
Then install the agent skill:
obelisk install
obelisk install delegates to the standard skills installer for
tommy0103/obelisk-skill. Then in any agent session: /obelisk <your question>.
First run builds the index (~5 seconds for 100 sessions); after that it
rebuilds incrementally.
You ask a question
↓
Agent writes a JS query against the SQLite index
↓
Runs it via obelisk --query <script>
↓
Reads the JSON result, answers in natural language
Default query surface (CLI 0.3.0+): overview(), sessions(), search(),
messages(), memories(), summaries(), and sql().
Specialized helpers and legacy script globals remain available.
Signatures, options, and query patterns live in the
API reference.
When a retrieval produces a conclusion worth keeping, the agent proposes a
markdown memory file. After your approval, it registers the file with
obelisk --attune <script>. Memories are recalled via memories() in future
sessions — a synthesis cache, not a replacement for raw evidence.
The optional /obelisk recap flow turns a period of sessions into shareable
weekly/monthly recap cards. It loads its references only for explicit recap
intent, starting at
skill-doc/references/recap/overview.md
and proceeding card by card.
Prebuilt releases are available for macOS and Linux amd64 from
Releases, with in-app updates
(Sparkle on macOS, DebUpdater on Debian installations). On macOS, Windows,
and Linux you can also run the app from source — Node.js 22.13+ for the build
tools; the app itself runs on Electron's embedded Node:
git clone https://github.com/tommy0103/obelisk.git
cd obelisk/app
npm ci
npm run dev
Debugging, packaging, and the release workflow are maintainer docs; they live in CONTRIBUTING.md.
Note: while the desktop app is running it owns index writes, so CLI invocations stay read-only.
Every provider projects into the same shared layers; a few layers exist only where the source tool has the concept:
| Layer | What's captured | Availability |
|---|---|---|
| Sessions | Title, project, timestamps, git branch, source | all providers |
| Messages | Full text, model, token usage, parent chain | all providers |
| Tool calls | Tool name, input, file paths | all providers |
| Subagents | Agent type, description, full conversation | Claude Code, Codex, DeepSeek Harness, Hermes Agent, Kiro V3, Kimi Code, OpenCode, ZCode |
| Summaries | Session summaries emitted by the provider | Kiro V3, Kimi Code, OpenCode |
| Workflows | Workflow script, result, and per-agent transcripts | Claude Code |
| Memories | Conclusions linked to source sessions | registered markdown files |
Full-text search via FTS5 covers all layers. Per-provider source locations are listed under Provider coverage.
Every provider indexes into the same schema; rows carry a source value and
non-Claude IDs are provider-prefixed so they cannot collide.
| Provider | Default source |
|---|---|
| Claude Code | ~/.claude/projects |
| Codex | ~/.codex/sessions, ~/.codex/archived_sessions |
| GitHub Copilot | VS Code User data roots (Chronicle store + workspace transcripts) |
| DeepSeek Harness | ~/.dsh/sessions (or $DSH_HOME/sessions) |
| Hermes Agent | ~/.hermes/state.db (or $HERMES_HOME/state.db) |
| Kiro | ~/.kiro/sessions and the platform kiro-cli/data.sqlite3 store |
| Kimi Code | ~/.kimi-code/sessions (or $KIMI_CODE_HOME/sessions) |
| OMP | ~/.omp/agent/sessions |
| OpenCode | ~/.local/share/opencode/opencode.db (or $XDG_DATA_HOME/opencode, $OPENCODE_DB, channel stores; V1/V2 SQLite, earlier JSON formats are not indexed) |
| Pi | ~/.pi/agent/sessions |
| ZCode | ~/.zcode/cli/db/db.sqlite |
Where a provider attests superseded history, Obelisk preserves it as inactive
rows that normal queries omit; supported query helpers can opt in with
includeInactive: true.
| Provider | Superseded-history support |
|---|---|
| Pi | Branch, leaf, and compaction state attests inactive history |
| OMP | Branch, leaf, and compaction state attests inactive history |
| ZCode | Rewind retention and compaction attest inactive history |
| Kimi Code | Undo/clear can attest supersession; preservation is a follow-up |
| Hermes Agent | Superseded history is not split: compaction-archived and rewound rows are both stored as inactive |
| OpenCode | Session revert state attests inactive history |
| Claude Code | The source does not attest rewind or current-leaf state |
| Codex | Sessions have no branching semantics |
Non-default locations — a Pi --session-dir, an OMP custom root, an OpenCode
data root (an explicit configured root overrides $OPENCODE_DB), the VS Code
Insiders User directory — can be selected in the app's Settings.
Adapter internals (identity hashing, supersession replay, per-provider root discovery) are documented in retrieval semantics and the ADRs.
Contributions are welcome. Read CONTRIBUTING.md before opening a PR — it is short, and it is written from what actually blocked past PRs rather than from generic style rules. The parts worth knowing up front:
shell.*, fs.*, innerHTML, or DDL is
deny-by-default.