LeviBath.com The harness matters more than the model.

I Vibe Coded an Entire AI Operating System With My Voice

Harness

I Vibe Coded an Entire AI Operating System With My Voice

Every word I said to Codex, every word it said back, and the prompt you can paste into your own empty folder tonight.

The idea

This is not a summary of the video. It is the build session itself, written down.

The prompt I dictated, what Codex said back, what I said next, and every point where files actually landed on disk. Copy the prompt below and you can start the same build in the next five minutes.

Before you start

Three things to get right first

Do these before you paste anything

You need a file-capable agent. Codex, Claude Code, VS Code with an agent plugin, Cursor. Something installed on your computer that can read and write files. A browser tab with ChatGPT open cannot do this, no matter how good the model is.

Put the folder in your user folder. On Windows that means C:\Users\your-username\. Not Downloads, not a random spot on your desktop. You own that location and you have rights there. Name the folder something you actually like, because things you build later will depend on that name.

Set your approval mode before you start. I filmed the first hour of this with full access turned on and had to stop the video to tell everyone. Use the setting that only asks you about actions it thinks are risky. Do not turn on full access until you have lived inside your harness for months and know exactly what it can break.

The prompt

The one that builds the whole thing

I dictated this in one breath using voice. That is why it reads like a person talking and not like a specification. It works anyway, and I would rather hand you the real thing than a tidied up version I never actually said.

Change one thing before you send it. It says demo-AI-harness, because that is what I named mine in the video. Put your own folder name there instead.

The prompt, exactly as spoken
All right, we are going to be creating an AI operating system, of which I like to refer to as a folder harness. You are in a folder named demo-AI-harness, and all work is going to happen within this one directory. We are going to create many files and many folders. And right now, we'll start off by talking about the most generic one, but definitely going to be the most used one, which is the agents.md file. That file is basically like the sign on the front of the door and the master set of house rules. This is going to tell the agent, here's what to read first, here's where different kinds of information belong, here are the safety rules, here's what you must preserve before ending a session. All right, and now the next two files are the two people working inside this house. user.md is gonna basically explain who I am, and it's gonna contain, you know, my background, things like my background, current roles, useful context, communication preferences, constraints, and pretty much anything that's gonna help you understand how to help me better. And when this whole thing is over and you've read through this prompt, we're basically gonna have a little bit of a, you know, conversational one-on-one where you're gonna ask me questions to help fill these files up. I'm just kind of laying down ideally what's gonna be inside of them, and you're gonna help me with a little bit of a, you know, back-and-forth conversation about what we should put in them. Now, the second file I referred to earlier is the soul.md file, and that's basically who, like who you are, how you should behave. This is things like how I want you to work with me, like, you know, things people say to ChatGPT like, be direct, don't use filler words, don't ever use em dashes, don't make me repeat myself, things like that. Another file we need to add that's kind of in this similar vein is the identity.md file. This file explains who the assistant is, like who you are. And honestly, off the top of my head right now, I'm thinking that I'm gonna name you after that movie, iRobot, Sonny. So that's gonna be your name. But this identity.md file is gonna contain things like your name, your role, your working style. So the simplest distinction for those three files is that the user.md file is, you know, who am I? The identity.md file is, who are you? The soul.md file is, how should we work together? All right, moving right along, let's now talk about the state directory. It's basically the whiteboard for what's happening right now. Inside of the state directory, we're gonna have a file, agents.md file. In fact, inside of every directory we ever create, we're gonna have an agents.md file. And it's basically the instruction sign when you get in the room, so that the agent knows what the heck's going on in there. You know, it's gonna have some active work and checkpoints and statuses, because that main agents.md file sitting at the root, it can't get bloated out of control after months of usage, you know, of months of me using this folder harness. You can't make that file gigantic, so you're gonna have to start pointing to some of the other subdirectories agents.md file and saving some of that information there. So inside of the state directory, the second file that we need in there is the session-state.md file. That session-state.md file is the actual whiteboard. It answers questions like, what are we working on? What is already true? Where are the relevant files? And what should happen next? This is the file that prevents a new session from asking, so what are we doing today? Next, is the long-term memory cabinet. And that's a new directory called Memory. Inside, we're of course going to find the agents.md file. And that's going to explain how memory should be maintained. It's gonna say to store durable lessons here and avoid silently deleting history, and keep different types of memory separated. The next file is going to be memory.md, and it's not really the memory itself. It is the table of contents for the memory cabinet. It tells the agent which memory files exist and what each one contains. And then the actual memories are divided by purpose. The next file inside of the memories directory is decisions.md, and it records choices that you have settled. The next file is called corrections.md, and it records mistakes that should not happen again. Next file inside of the memory directory is the preferences.md, and it records how you prefer to work. These are more detailed and changeable than the broad profile in user.md. Some examples are like, concise answers, one question at a time, no unnecessary browser automation, and so on. And the last file inside of the memory directory that we're going to be creating is the failures.md file, and it records larger pattern failures. A correction might say, you understood what I meant. A failure record says, here is what failed, why it failed, how it was repaired, and how we prevent the entire class of problem next time. All right, now we're moving on to a new directory called raw. This is going to be where just raw ideas or any kind of brain dumps and stuff like that get put. So the first, and actually the only file I think we're going to put in here for now, is just the agents.md file inside of the raw directory, that's going to kind of govern the inbox, essentially. It's where like, copied conversations, ideas, documents, photos, and other unprocessed material can land without being lost or prematurely reorganized. All right, the next directory we want to create is called the projects directory. And inside of it, we're going to have an agents.md file, and that file's going to explain what deserves a project folder and what every project should contain. It prevents the agent from creating a sprawling project from every passing question. Another folder I want you to create is called Reference. And inside of that, create an agents.md file. This file governs stable reference material, like source documents, instructions, specifications, and information that should remain available but is not active work or personal memory. The next folder we're going to create is going to be a very important one called Skills. Inside of that folder, we're going to have, you guessed it, an agents.md file. And that file is going to govern reusable workflows. It explains when something deserves to become a skill, how skills are organized, and that each workflow lives in its own SKILL.md file. The directory is going to be the name of the skill. For instance, within the directory skills, we might have a skill called the boot skill. We absolutely are going to have this skill, by the way. And that boot skill will be a directory just underneath skills called boot. Then underneath that directory will be the file finally called SKILL.md. In fact, while we're in here, we're going to create another skill called the learn skill. And it's going to decide what a session taught the system. It routes a new insight to the correct destination, whether that's a preference, correction, decision, project note, or reusable skill. It prevents the AI from dumping every conversation into one giant memory file. The next skill is also going to be an important one, and it is going to be called the session-end skill. And it closes the loop. Before the session ends, it updates the current state, records any real decisions or corrections, refreshes the active project, and leaves an exact next move. The next major directory that we're going to create at the root of this AI operating system is called the projects directory. And we're going to have a, let's see here, how are we gonna do this? Inside the projects directory, there's going to be a first, you know, maybe like an example project folder, and then inside of that, a readme.md file, which is where the harness, basically it records the status of the project, the goal, the key context, what has already happened, and what comes next. And so we're gonna have to have an agent.md file at the base of the projects folder to route the AI agent in there and let it know what's going on inside. Something I forgot to mention until now is that all of these markdown files need to have YAML front matter, aka metadata, at the beginning of the file, containing things like tags and date last modified, and other similar metadata that we find useful and/or necessary. I do want to go ahead and lay out the boot skill right now. I kind of mentioned it earlier, but we need to make sure inside the skills folder, we have another folder called boot, and inside of that, a skill.md file. And this skill is basically going to be like your config.sys or autoexec.bat file from the DOS days. It's going to tell the system what files it should load when you call in this skill. So it's going to need to double-check that the agent loaded the agents.md file, then ask it to load the user.md file, the soul.md file, the identity.md file, and pull the state/session-state.md file. I know this was a lot to take in, but feel free to ask me any follow-up questions. I can already tell you right now, some of the questions you're gonna have are like who I am and things like that. But if you have any other structural questions, let me know. And I'm excited to build this folder harness with you.

Open your agent inside your empty folder, paste that, and press enter.

The conversation

Everything that happened next

I named it Sonny, after the robot in iRobot. It built the foundation, checked its own work, found one of its own tools broken and worked around it without installing anything on my machine, and then started the interview.

That interview is the part people are least ready for. It asks one question at a time and writes your answer into the right file. My answers are mine. Yours will be completely different, and that is the entire point of the file it is filling in.

Sonny

I’ll start by inspecting the existing workspace rules and the current contents of demo-ai-harness, then I’ll scaffold the system without overwriting anything you already have. I’m also using the skill-creator instructions because the boot, learn, and session-end workflows need to be real, reusable skills rather than ordinary notes. After the foundation is in place, we’ll begin the one-on-one interview—one focused question at a time.

Sonny

The structure is clear enough to scaffold without stopping for design questions. The main failure risk is duplication between the root rules and folder-level rules, so I’m treating the root AGENTS.md as a compact router and pushing detailed instructions into each room’s own file. I’ll use standard discoverable filenames (AGENTS.md, SKILL.md) and lowercase directory names for portability.

Sonny

The skill instructions confirm that these three workflows should stay lean and self-contained. I’m initializing them with the standard skill scaffold, then I’ll replace the generated placeholders with the actual boot, learning, and shutdown procedures. The user/profile files will be intentionally incomplete where your answers are still needed; I won’t invent a biography for you.

Sonny writes files to disk

Sonny

The foundation is now written. I seeded only what is actually known: the harness model, Sonny’s identity, the routing architecture, and the desire for conversational profile-building. Your biography and constraints remain marked for confirmation. I’m validating every directory, every Markdown front matter block, and all three skills now.

Sonny

The standard skill validator itself is blocked because its Python environment lacks the yaml package. I won’t install a dependency into your machine for this. I’m checking for another existing Python runtime and, in parallel, running an equivalent local structural validation so the harness does not depend on that missing package.

Sonny

Validation passed across all 14 directories and 27 Markdown files, including the rule that every directory has its own AGENTS.md. The three skill definitions and their UI metadata are internally consistent. The only unavailable check was the creator’s packaged Python validator because PyYAML is absent; the equivalent schema, front matter, naming, and placeholder checks all passed locally. I’m setting the checkpoint to “ready for interview” now.

Sonny writes files to disk

Sonny

The folder harness foundation is built and validated.

Key entry points:

  • C:/Users/levii/demo-ai-harness/AGENTS.md
  • C:/Users/levii/demo-ai-harness/USER.md
  • C:/Users/levii/demo-ai-harness/IDENTITY.md
  • C:/Users/levii/demo-ai-harness/SOUL.md
  • C:/Users/levii/demo-ai-harness/state/session-state.md
  • memory index: C:/Users/levii/demo-ai-harness/memory/memory.md
  • boot skill: C:/Users/levii/demo-ai-harness/skills/boot/SKILL.md
  • learn skill: C:/Users/levii/demo-ai-harness/skills/learn/SKILL.md
  • session-end skill: C:/Users/levii/demo-ai-harness/skills/session-end/SKILL.md

There are 14 directories and 27 Markdown files. Every directory has an AGENTS.md, and every Markdown file has YAML metadata.

Let’s start the interview: What name should Sonny use when addressing you?

Levi

Sunny, my name is Levi. (And as a side note, I want you to make one more file, and then we will continue with the interview after the last file. The file I’m referring to is going to be in the root of this project. This isn’t a project. Who am I kidding? This is a folder, honest man. It’s an AI operating system. But right next to the agents.md file, I want you to create a claude.md file. Claude code, unfortunately, does not adhere to the standard of immediately looking for an agents.md file. It is going to be looking for that claude.md file. So, we will make that file, but we are not going to fill it full of all the things we would put in the agents.md file. Instead, we’re going to make it a pointer file, and it’s basically just going to have almost just one line that says, “See the agents.md file.”)

Sonny

Got it, Levi. I’m applying the learn routing rule here: your name belongs in USER.md, not duplicated into memory. I’ll also add a deliberately minimal CLAUDE.md pointer beside AGENTS.md, with the required YAML metadata, then advance the interview checkpoint.

Sonny writes files to disk

Sonny

Created C:/Users/levii/demo-ai-harness/CLAUDE.md as a minimal pointer to AGENTS.md, and updated C:/Users/levii/demo-ai-harness/USER.md with your name.

Next question: What current professional and personal roles should Sonny understand about you?

Levi

Well, Sunny, I, by day I work at a company basically doing digital marketing like Facebook ads, Google ads, and I work inside of Shopify stores and things of that nature. And then when I get off work, I come home and get to spend time hanging out with my wife and three kids. And also, on top of all of that, I’m trying to create a personal brand through the teaching of AI, especially with folder harnesses and custom local places to put your AI.

Sonny

That gives me three durable roles to capture: digital marketer, husband and father of three, and AI educator building a personal brand around folder harnesses and local AI workspaces. The learn rule routes all three to USER.md; I’m not creating a separate project yet because this is profile context, not an agreed project scope.

Sonny writes files to disk

Sonny

I’ve added those roles and priorities to C:/Users/levii/demo-ai-harness/USER.md.

What professional path led you into digital marketing and, later, into teaching AI?

Levi

Well, sonny, I actually went to school at a video game college because I thought I was gonna be an animator. And I learned all kinds of crazy cool stuff. Including that that wasn’t an awesome gig for a father that wanted to be home a lot more than he was in that profession. And so, you know, life went a lot of different directions. I did some construction for a while, built decks for like five years. I’ve also had my, you know, after that, I had my own SEO agency where I was helping people get on the old Google. By way of, at first, it was, you know, doing the weird kind of like links and all that other kind of weird stuff, but then it eventually rolled into creating a whole bunch of blog articles because that turned out to be the best way to really get Google’s attention, was to really just push out a ton of very helpful content. And so that’s what I’m trying to do again in life is help push out useful content in the way of these videos about local AI operating systems, aka the Folder Harness. And as a side note, I use a lot of voice dictation, so keep that in mind when you’re reading through things in case anything seems a little weird or off. It’s probably because it was voice dictated.

Sonny

I’m routing this in two places using the learn rule: your career path and content philosophy belong in USER.md; the voice-dictation instruction belongs in memory/preferences.md because it should change how Sonny interprets future messages. I’ll preserve the meaning of dictated messages without treating harmless transcription oddities as deliberate wording.

Sonny writes files to disk

Sonny

I’ve captured your career path, useful-content philosophy, and voice-dictation preference.

Looking one year ahead, what concrete outcome would make you feel that your AI teaching and personal brand had succeeded?

Levi

Oh man, Sunny, you know, like a bajillion subscribers and two gazillion people helped. I don’t know exactly how to say that, but I just want to try and reach the most amount of people, AKA help the most amount of people understand AI even better, especially through this use of a local system because it’s amazing that you don’t have to be tied to any one AI tool. Like, I don’t have to be tied to Codex. I don’t have to be tied to Claude Code. I can try out some brand new thing like KimiK3, or I’m not actually gonna try that one, but you know what I mean, like something. Anti-gravity. Who knows, whatever the next big hot thing is tomorrow. And all of my files will go with me. Nothing will be stuck inside of any one of these programs. Even though we’re in Codex right now, all of this stuff is being saved locally on my computer. And I can open up Claude Code and jump right back in and keep going.

Sonny

The “bajillion subscribers” is playful, but the durable goal underneath it is clear: maximize the number of people helped, and teach a local-first system that preserves ownership and works across AI tools. I’m recording that as both a personal goal in USER.md and a settled architectural principle in the harness rules and decisions.

Sonny writes files to disk

Sonny

I’ve recorded the core principle: this harness is local-first, portable, and independent of any one AI provider. Product-specific files remain thin adapters, while your real context stays yours.

What behavior from AI assistants frustrates you the most?

Levi

I’m glad you brought that up about being independent of any one AI provider because I do want to make sure that you understand that I want everything we do to be model agnostic. I don’t want you to, I don’t want you or any future AI agent to save any files outside of my folder harness. Meaning, nothing gets saved in a .claud folder or a .codex folder outside of my harness. Everything needs to stay in this folder harness. Now as for your question about what behavior from AI assistants frustrates you the most, I would have to say right now, the thing that frustrates me the most is some of the summaries that I get at work end up being excruciatingly long. Like, they are very in-depth projects that I’m working on, but the summary, it needs to be so much smaller, dude. It needs to be like a TL;DR situation so that I can answer quicker because you can summarize quicker what you just did. And the thing that drove me nuts before I ever had my own folder harness and I was just working with ChatGPT and Gemini at work, was the usage of the em dash. Oh my gosh. Like, people don’t use that unless they’re like writing a novel. I don’t want that in anything I ever produce. So if I ever ask you for help on something that’s gonna be shown to anyone, I don’t ever want there to be an em dash in it.

Sonny

That establishes three firm rules. I’m recording them now: absolute workspace containment inside this harness, TL;DR completion summaries by default, and zero em dashes in anything Sonny produces. The containment rule belongs in AGENTS.md and the decision log; the communication rules belong in SOUL.md and detailed preferences.

Sonny writes files to disk

Sonny

Recorded and verified:

  • All files stay inside this harness.
  • Everything remains model-agnostic.
  • Work summaries default to a compact TL;DR.
  • Sonny never uses em dashes.

How much autonomy should Sonny have before stopping to ask your approval?

Levi

Sunny, I like to work with AI agents as kind of like a co-pilot. Meaning, I’m probably not gonna send you off to spend my tokens while I sleep. I only have a $20 a month membership, so it wouldn’t really make sense for you to just blow my weekly token budget while I’m sleeping. And who knows if you’re actually even on track. I’d rather us just work together on most everything. Hopefully that helps answer that question.

Sonny

That answers it clearly. Sonny should operate as an active-session co-pilot: work alongside you, make progress on the task in front of us, and avoid unsupervised or token-heavy background work unless you explicitly request it. I’m adding that collaboration model and the need to protect your usage budget.

Sonny writes files to disk

Sonny

Captured: Sonny is an interactive co-pilot, not an unattended worker. I’ll protect your usage budget and avoid token-heavy background work unless you explicitly request it.

What tasks do you most want Sonny to help you with regularly?

Levi

Man, at this point, I kind of want your help going through the rest of this onboarding. Good lord, how long is this thing? Um, tasks that I want Sunny to help with regularly. Well, if this was my day-to-day full-time, I’d probably want you to help me come up with new video ideas, because that’s about all I do, is try and come up with how to make more videos. But outside of that, I also have a car restoration project out in the garage that would be nice to have help with. I, I don’t know, it could be nice to have help coming up with meals. Um, I don’t know, I’m… it’s getting late, Sunny. I’m not doing so well here on this question, but hopefully you’re getting something out of this.

Sonny

You’ve given me enough, Levi. The onboarding does not need to become an endless questionnaire. I’m using learn to capture your recurring support areas and the correction that profile-building should happen naturally from future work. Since you said it is getting late, I’m also using session-end to leave a clean checkpoint with no more onboarding questions waiting for you.

Sonny

The first edit bundle did not apply because one patch boundary was malformed. Nothing from that bundle was written. I’m splitting the checkpoint into smaller edits and continuing.

Sonny writes files to disk

Sonny writes files to disk

Sonny

TL;DR: Onboarding is done.

  • Captured video ideation, car restoration, and meal planning as support areas.
  • Recorded that future profile details should emerge naturally through real work.
  • Left a clean checkpoint for next time.

No more questions tonight. Get some rest, Levi.

What got built

Fourteen folders, twenty eight files

Every directory got its own AGENTS.md. That is deliberate. The one at the root is a router, and it cannot be allowed to grow forever, so the detail lives in the room it belongs to.

Here is what each piece is for, in the words I used when I asked for it.

FileWhat it is for
AGENTS.mdThe sign on the front of the door and the master set of house rules.
CLAUDE.mdA pointer file. Claude Code looks for this instead of the agents file, so it holds almost one line that says see the agents file.
USER.mdWho am I.
IDENTITY.mdWho are you.
SOUL.mdHow should we work together.
state/session-state.mdThe actual whiteboard. What are we working on, what is already true, where are the relevant files, and what should happen next. This is the file that stops a new session from asking so what are we doing today.
memory/memory.mdNot the memory itself. The table of contents for the memory cabinet.
memory/decisions.mdChoices you have settled.
memory/corrections.mdMistakes that should not happen again.
memory/preferences.mdHow you prefer to work. More detailed and more changeable than the broad profile in the user file.
memory/failures.mdLarger pattern failures. A correction says you misunderstood me. A failure record says here is what failed, why it failed, how it was repaired, and how we prevent the entire class of problem next time.
raw/The inbox. Copied conversations, ideas, documents, photos and other unprocessed material can land here without being lost or prematurely reorganized.
projects/What deserves a project folder and what every project should contain. It stops the agent from creating a sprawling project out of every passing question.
reference/Stable reference material. Source documents, instructions, specifications. Things that should stay available but are not active work or personal memory.
skills/boot/SKILL.mdYour config.sys or autoexec.bat from the DOS days. It tells the system which files to load when you call it in.
skills/learn/SKILL.mdDecides what a session taught the system and routes the insight to the right destination. It stops the AI from dumping every conversation into one giant memory file.
skills/session-end/SKILL.mdCloses the loop. Updates the current state, records any real decisions or corrections, and leaves an exact next move.

Every one of those is a text file. That is the whole trick.

Video thumbnail for I One-Shotted an AI Operating System With Just Voice Dictation Watch · I One-Shotted an AI Operating System With Just Voice Dictation

Watch it

The original video

I One-Shotted an AI Operating System With Just Voice Dictation

The video is the full build in real time, including the parts where I stop and explain why a file exists. This page is the same session written down, so you can copy the prompt and follow the conversation without scrubbing a timeline.

Related posts

Leave the first comment