Build the harness, not loyalty

Three migrations in one year, and I called it progress

In partnership with

Every few months the same thing happens. Something better ships, I read the release notes, I get the itch, and I spend a weekend moving in. New interface, new custom instructions, new place to paste my brand voice for the hundredth time. Then I feel productive because the folder is tidy again.

I watched a video from Grace, a digital growth consultant, and about four minutes in she said the thing that made me put my coffee down. The risk was never picking the wrong model. Frontier models are converging in quality anyway. The risk is being locked into one.

Which means all that migration work I have been doing was not diligence. It was the tax on a setup I built in the wrong place.

Blu Dot surpasses 2,000% ROAS with self-serve CTV ads

Home furniture brand Blu Dot blew up on CTV with help from Roku Ads Manager. Here’s how:

After a test campaign reached 211,000 households and achieved 1,010% ROAS, the brand went all in to promote its annual sales event. It removed age and income constraints to expand reach and shifted budget to custom audiences and retargeting, where intent was strongest.

The results speak for themselves. As Blu Dot increased their investment by 10x, ROAS jumped to 2,308% and more page-view conversions surpassed 50,000.

“For CTV campaigns, Roku has been a top performer,” said Claire Folkestad, Paid Media Strategist, Blu Dot. “Comping to our other platforms, we have seen really strong ROAS… and highly efficient CPMs, lower than any other CTV partner we've worked with.”

Using Roku Ads Manager, the campaign moved from a pilot to a permanent performance engine for the brand.

*Ad

Model versus harness

She borrows Jensen Huang's line about what separates an agent from a chatbot: the loop. It takes an action, checks the result, and keeps going until the job is finished. A chatbot answers. An agent works.

And then she splits the thing in two, which is the part I have not stopped thinking about.

The model is the raw intelligence. Swap Claude for GPT and this is what changes.

The harness is everything that makes the agent yours. Your brand voice, your campaign data, your workflows, your rules, your definitions of good.

Swap the model and your marketing ability shifts a little. Everything that makes the thing useful to you specifically stays exactly where it is, assuming you built the harness somewhere the model cannot take it with it. That is the whole thesis and it fits on a napkin.

Here is the old way, which is my way: prompts, custom instructions, and context all set up inside one platform's interface, all of it living in that vendor's account. Something better ships, you start over, you re-explain your brand from scratch.

The new way: your agent workspace is a folder on your own machine. Plain files. You point whichever platform you like at that folder. The platform becomes disposable. Your work does not.

What actually lives in the folder

She breaks a portable workspace into five parts, and the ordering matters because it maps onto how hard each one is to move.

Knowledge and context. What the agent knows about you, your brand, your products, your customers.

Instructions and config files. How the agent should behave, plus the rules that apply in this specific workspace.

Agent skills. Repeatable workflows the agent can trigger on its own: copywriting, data viz, page audits.

Sub-agents. Specialized role definitions you call when you need them, like a data analyst or a growth specialist.

Tools. The live connections to your real systems. Analytics, CRM, Search Console.

Five parts. Notice that four of them are just text.

Stop Paying for 6 Tools. One AI Does It All.

Most e-commerce sellers juggle 6–8 tools and pay hundreds monthly to keep operations running. StoreClaw replaces the stack with one autonomous AI engine that monitors competitors, optimizes listings, automates marketing, and tracks profit 24/7. Connect your store and let AI handle the work — no prompts, no complex setup, no credit card required.

*Ad

The three buckets, and why two of them are free

This is the section that turned the idea from interesting to usable for me. Once you see the workspace as components instead of one blob, you stop asking "how do I rebuild all of this" and start asking "which pieces actually have to move."

Bucket one, fully portable. Your context and knowledge. These are documents. Grab and go. They work anywhere, because a text file does not care what is reading it.

Bucket two, needs light translation. Instructions, skills, sub-agents. Same content, but each platform names them and stores them a little differently. Mechanical work, not creative work.

Bucket three, needs reconnecting. Your tools. MCP connections and integrations have to be re-authorized on the other side. There is no way around this one and there probably never will be.

So two of the three buckets move for free, and the third is an afternoon of clicking OAuth screens. The thing I have been treating as a weekend rebuild is closer to a copy, a rename, and a login.

Three shapes this takes in practice

She walks through three real setups, and the pattern underneath them is the same.

A marketing team on one brand runs a single shared context folder so every agent pulls from the same brand truth, then separate project folders per channel: paid, content, email, SEO. Skills and sub-agents are shared across the team.

A functional team, say SEO, uses the identical shape but splits by type of work instead of by channel. Same skeleton, deeper rather than wider.

A solo consultant with many clients keeps every client in one workspace, each with their own context folder. Skills and agents sit at the top level and get inherited by default. A client only gets their own version of something when they genuinely need it to be different.

Inherit by default, override only what actually differs. That last one is the rule I would tape to the wall.

The best voice models, now with full orchestration. Build real-time voice and chat agents on one low-latency stack: any LLM, your tools and knowledge, testing, Guardrails, and omnichannel deployment.

*Ad

She actually moved it, on camera

The demo is where this stops being a diagram. She builds a workspace in Claude Code with a data analyst sub-agent and asks how the site performed in SEO over two weeks. Then you watch the loop run: pull Search Console data through MCP, call the data visualization skill, generate the charts, check them against the brand designer skill, save to the right folder. No hand-holding between steps.

Then she moves the whole project to Codex. Loads the same folder, and Codex detects the Claude configuration and offers a one-click import, mapping skills and config into its own structure. The skills carry over. The MCP connections need a manual check, exactly like bucket three said they would.

On the Codex side she builds a growth specialist agent and runs a full homepage audit. Her read is that Codex is noticeably faster and more accurate at browser control, and it screenshots the page at multiple resolutions to check UX across devices. Output is a formatted Word doc with findings, fixes, and an action list.

Then back to Claude, using an agent migration skill she built herself that handles the two-way conversion. It scans the project, proposes a plan, offers a backup, and syncs new skills and agents into the Claude structure. She suggests installing it at the user account level so every project can reach it.

One honest caveat she flags, and I appreciate that she flagged it: the migration skill does not yet sync agent memory files. Her workaround is pointing both platforms at a single memory source of truth.

That caveat is the tell, by the way. The only thing that did not move cleanly is the one thing that was not sitting in a plain file.

The version I would build this week

Nothing here needs a weekend. In order:

  1. Make one local folder for your marketing workspace. That is the whole first step.

  2. Put your brand context, product info, and voice guidelines in a shared context subfolder.

  3. Add a project instructions file at the root, something like CLAUDE.md or AGENTS.md depending on where you point it.

  4. Create a skills folder and drop in the workflows you already repeat by hand.

  5. Build sub-agents that reference those skills instead of restating them.

  6. Connect your tools last, because that is the part you will reconnect anyway.

  7. Back up before you run any migration. Always.

The sequence is doing real work there. Tools last is not a preference, it is the whole bucket-three insight turned into a to-do list.

The tax I was paying without noticing

What got me was not the technique. It was realizing I had been treating platform-switching as the cost of staying current, when it was actually the cost of building in the wrong place.

Every hour I spent re-explaining my brand to a fresh interface was an hour that produced nothing durable. The tidy folder felt like progress because it looked like progress. It was just the same work, again, in a different account.

The line she closes on is the one I keep repeating to myself: quit obsessing over model intelligence and build a foundation that compounds instead. Compounds is the operative word. A folder of plain files gets better every month you use it, no matter which model happens to be reading it that month.

Tonight, make the folder. One folder, one context file with your brand voice in it. That is fifteen minutes and it is the first thing you have built this year that the next model release cannot take away from you.