Staying coupled to the harness is the most expensive dependency you're not pricing. The fix is smaller than the problem: a context layer you own, so any model plugs in within ~5 minutes.
Here are the 3 dangers of staying locked in:
1. You start from scratch. Run a harness for months, switch models, and every learned preference is gone. 2. Your skills are hostage. Couple your business logic to one harness's keywords, and your custom logic breaks or quietly degrades on the next tool. 3. You're billed at their mercy. Your plan can be pulled, gated behind pay-as-you-go, repriced "from $200 to $1,000 overnight" or the most powerful model taken away (the Fable story).
High switching friction means you can't leave.
Owning your context layer removes all 3. Here is the fix:
1. Detach memory into a single store you control. Start simple with files and move to a unified database that handles text, vector, and graph together (MongoDB in my case), not 3 databases. 2. Serve the memory and business logic as MCP tools or skills. So "swap the harness, keep the memory" is a one-line config change. I moved from Codex to Claude Code, and my memory came with me. 3. Add an organic way to write/read data into your memory as you interact with the agent. This should come from all your sources: your conversation, your notes, URLs, videos, whatever. The idea is to have 0 friction so everything naturally flows into your memory with 0 maintance.
With this design, the data from the context layer is easily portable between harnesses. My biggest issue is with skills glued to a harness's conventions. The only solutions I see are to either make the skills super generic (losing some functionality) or to move everything to an MCP server, which adds complexity.
At the moment, some of my skills are still coupled to Claude Code's workflows and agents' logic.
Curious how you make your skills more portable between harnesses?
To learn more, here is the full architecture of my context layer: https://www.decodingai.com/p/the-context-layer