by vishesh9131
Local-first session continuity across AI coding harnesses
# Add to your Claude Code skills
git clone https://github.com/vishesh9131/elephantelephant is an open-source ai agents skill for AI coding assistants such as Claude Code, Codex CLI, and ChatGPT, built by vishesh9131. Local-first session continuity across AI coding harnesses. It has 0 GitHub stars.
elephant's catalog security scan is still queued. You can run an instant dependency and prompt-injection check now with the "Scan for vulnerabilities" button above.
Clone the repository with "git clone https://github.com/vishesh9131/elephant" and add it to your Claude Code skills directory (see the Installation section above).
elephant is primarily written in Python. It is open-source under vishesh9131 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 elephant against similar tools.
No comments yet. Be the first to share your thoughts!
Unlocks once the catalog security scan passes (runs nightly).
The deep catalog scan for this skill is still queued. Run an instant dependency check now instead.
You know the ritual.
Claude has the entire problem in its head. It has read the repo, found the bug, changed six files, failed one test, and finally understood why.
Then:
You've hit your usage limit.
You open another agent. It cheerfully asks what you are working on.
Now you are the context window.
Elephant removes that part.
Without Elephant:
Claude: You've hit your usage limit.
Codex: What would you like to work on?
You: Okay, so first you need to understand this 47-message conversation...
With Elephant:
Claude: You've hit your usage limit.
[open the same repo in Codex]
Elephant: Recovered the previous Claude Code session.
Objective: fix refresh-token rotation.
State: implementation complete; one integration test still fails.
Changed: auth/session.py, tests/test_rotation.py
Codex: I found the failing test. Continuing from there.
The dead model does not need to summarize anything. Elephant was already recording while it was alive.
Elephant is a plugin, not another command you babysit.
Every prompt, response, tool call, failure, and file change
│
▼
append-only local journal
│
completed turn / compaction /
interruption / quota failure
│
▼
recovery capsule
│
open the repo in another agent
│
▼
objective + state + Git evidence
It remembers:
Every capture-capable native shell writes the same versioned event format. They
share ~/.elephant/elephant.db, so Claude's memory is visible to Codex, Hermes,
Pi, OpenCode, Copilot, and every other Elephant adapter.
┌──────────────────────────────────────────────────────────────┐
│ Native shells │
│ Claude · Codex · Hermes · OpenCode · Pi · Copilot · Gemini │
├──────────────────────────────────────────────────────────────┤
│ Elephant kernel │
│ redact · journal · checkpoint · inspect Git · build capsule │
├──────────────────────────────────────────────────────────────┤
│ Continuation │
│ automatic startup injection · Elephant Resume │
└──────────────────────────────────────────────────────────────┘
One memory format. Thin native adapters. No universal fake CLI pretending every agent exposes the same API.
Install once in each harness you want to hand work between. Python 3.11+ must
be available as python3 for the local kernel and lifecycle hooks.
Send these as two separate prompts inside Claude Code:
/plugin marketplace add vishesh9131/elephant
/plugin install elephant@elephant
Elephant adds lifecycle capture, the local MCP recovery tools, automatic
startup recovery, and /elephant:resume.
codex plugin marketplace add vishesh9131/elephant
Open /plugins, choose the Elephant marketplace, and install Elephant.
Review and trust its local lifecycle hooks when Codex asks, then start a new
session.
copilot plugin marketplace add vishesh9131/elephant
copilot plugin install elephant@elephant
The same commands work interactively with a / prefix. Elephant captures all
nine Copilot CLI plugin lifecycle events and provides the resume skill.
gemini extensions install https://github.com/vishesh9131/elephant --ref=v0.2.0
Gemini loads Elephant's project context and resume skill. The public repo is
tagged for Gemini's extension gallery crawler.
pi install git:github.com/vishesh9131/elephant@v0.2.0
Requires Node.js 22.19+. Pi loads the native JavaScript extension, /resume,
and skill:resume.
hermes plugins install vishesh9131/elephant --enable
Restart Hermes after installing. Elephant registers native lifecycle hooks, the
elephant_recover tool, the resume skill, and /elephant.
Why /elephant instead of /resume? Hermes already owns /resume. The
elephant remembers names too.
From a checkout, point your opencode.json at Elephant's JavaScript plugin:
{
"plugin": ["/absolute/path/to/elephant/.opencode/plugins/elephant.mjs"]
}
The plugin captures prompts, responses, tool calls, compaction, idle, errors, and session end. The npm package is prepared but not published yet.
Not every harness exposes lifecycle hooks. Elephant says exactly what each one can do instead of painting “98% quota used” on a guess.
| Harness | Support | Surface |
|---|---|---|
| Claude Code, Codex, Hermes, OpenCode, Pi | Native continuity | Hooks/extensions capture automatically and inject recovery |
| GitHub Copilot CLI | Native recovery | Marketplace plugin, nine hooks, MCP, and skill |
| Gemini / Antigravity, Qoder, Devin, Grok Build | Native recovery | Extension/plugin manifest plus recovery skill |
| OpenClaw, Swival | Native recovery | Packaged skill collection |
| Cursor | Portable recovery | .cursor/rules + Elephant MCP |
| Windsurf | Portable recovery | .windsurf/rules + Elephant MCP |
| Cline | Portable recovery | .clinerules + Elephant MCP |
| Kiro | Portable recovery | .kiro/steering + Elephant MCP |
| CodeWhale, Amp, Jules, compatible hosts | Portable recovery | AGENTS.md |
See the full platform matrix for capability details and current conformance status.
Mostly, nothing special—and that is the point.
Most coding harnesses do not expose an exact subscription percentage.
Elephant never invents one. Quota signals are stored as exact, estimated,
or unknown.
Instead of gambling everything on a mythical “99% used” callback, Elephant:
If the quota dies without warning, the memory is already on disk.
Elephant has no account, cloud, analytics, telemetry, ad network, or mysterious “improve the product” upload.
~/.elephant/
├── elephant.db # append-only events + recovery capsules
└── transcripts/ # optional compressed transcript copies
Sensitive keys and common credential formats are redacted before persistence. Redaction is defense-in-depth, not magic: protect the machine and do not share the database casually.
Set ELEPHANT_DATA_DIR to move the store. Read the privacy notice
and security policy.
Automatic recovery happens when a native host starts a new session in a project that has an Elephant capsule from another session.
When you want to ask directly:
| Host | Command / skill |
|---|---|
| Claude Code | /elephant:resume |
| Codex | $resume or ask “resume my previous session” |
| Pi | /resume or skill:resume |
| Hermes | /elephant or plugin:resume |
| Other skill-capable hosts | resume |
Recovery compares the capsule's Git metadata with the live worktree. The files on disk win. Elephant remembers the past; it does not overwrite the present.
The conformance suite proves the same flow across adapters:
capture → checkpoint → switch harness → recover → verify Git state
The current release includes:
Run everything