state-portability
State-Portability Skill
Goal
Make the entire working state portable across any coding agent or LLM. A user must be able to stop work in one agent (Claude Code, Cursor, Antigravity, OpenCode, Gemini, a raw LLM chat…) and continue in another without losing context — same memory, same instructions, same open tasks, same next action. Because GABBE's state and instructions are already plain Markdown, the portable format is just a well-defined, self-contained bundle that any agent can read.
Two operations:
- Dehydrate (export): capture the complete state into a portable bundle + a single human/LLM-readable handoff document.
- Hydrate (import): load such a bundle in any agent and resume continuously via
session-resume.skill.
This is the cross-agent counterpart to state-preserve.skill (which keeps state durable within one agent). Together they guarantee no progress is lost to a token cutoff, a time limit, or an agent switch.
What is portable (fully compatible export/import)
The bundle is agent-neutral and lossless:
- Instructions —
agents/AGENTS.md+agents/CONSTITUTION.md(the operating contract any agent must follow). - Memory — the entire
agents/memory/tree:PROJECT_STATE.md,CONTINUITY.md,AUDIT_LOG.md,RESUME_POINTER.md,episodic/,semantic/. - Tasks —
project/TASKS.md. - Config / posture —
project/gabbe.config.json(autonomy posture, budgets, preferred model tiers, enabled MCPs) if present. - A handoff manifest —
STATE_HANDOFF.md(below): one self-contained Markdown file embedding the resume pointer + state headers + a "how to continue in any agent" preamble. This single file is enough for a raw LLM with no filesystem access to keep going.
Skills/guides/templates/personas are kit content (installable anywhere) — the handoff references the kit version rather than copying all of it, but the bundle MAY include them for fully offline transfer.