Why I stopped building AI agents as conversational sessions and started building them as text files with contracts. The Atomic Agents standard. Marcos Emowe has introduced Atomic Agents, a specification for building AI agents as text files with contracts rather than conversational sessions. The standard, running in production since August 2026, defines agents as ephemeral workers that handle a single card and die, ensuring reproducibility and portability. It includes components like profiles, skills, cards, boards, and a dispatcher, all implemented as Markdown files and a small Python script. An agent is not a running process. It's a contract written in plain language, plus a card that gives it permission to work. Author: Marcos Emowe · Version: 1.0 · Status: running in production since August 2026 This is a specification, not a framework. There is nothing to install. Everything below is Markdown files in a folder and one small Python script that carries no model. Most agent systems are conversations. You open a session, the agent loads its memory, its rules, its tool catalog, and then you ask it to do something. That works while you're sitting there. Three things break the moment you want the work to happen without you: It doesn't run when you're away. Someone has to start the session. The result isn't reproducible. It depends on what the session had loaded, so the same request gives different answers on different machines. You can't hand it to anyone. The agent lives inside one tool's syntax. It doesn't travel. Atomic Agents fixes all three by making the agent a file instead of a process. An atomic agent is an ephemeral worker that is born to handle one card, handles it, and dies. Three defining properties: No ambient context. It loads no persistent memory, no global rule files, no skill catalogs. Everything it knows arrives through two channels: its own PROFILE.md and the card it was given. Consequence: same profile + same card = same context = reproducible. Ephemeral. The process ends when the card closes. If it doesn't die, it's a zombie and the dispatcher reclaims its card. The worker is a day laborer, not an employee: it shows up for one job, does it, and leaves. Under contract. The profile declares what it handles, what it refuses, what it guarantees, and how it closes. The card asks ; the profile decides whether the request is its own. The opposite of an atomic agent is a continuous agent : the always-on session with the full backpack memory, vault, conversation , for work that needs implicit context. Rule of thumb: if the task fits in a card with inputs passed by reference, it's a worker's job. If writing the card makes you type "search my notes for…" or "you already know that…", it belongs to the continuous agent. | Piece | What it is | |---|---| Profile | The contract. Its name is a trade noun . Declares function, what it handles, inputs/outputs, guarantees, and which skills it mounts. Never contains know-how. | Skill | The know-how. Its name is a verb. Mounted by profiles, or by the continuous agent. Two doors, one body of knowledge. | Card | A unit of work and a production permit. A .md file on the board. No card, no worker. Its state IS the folder it lives in. | Board | The shared bus, made of folders. Agents never talk to each other: they drop and pick up files here. Integration happens on the board, not in code. | Dispatcher | The blind, deterministic runner. Each heartbeat it matches cards to profiles by string comparison, spawns the process, and rescues zombies. No model. No semantic judgment. | Vault | The knowledge base agents read from and write to. Folder indexes let skills infer where inputs live and where outputs go, even when nobody wired it. | AGENTS/